### 操作系统概述 #### 一、操作系统定义与基本概念 **操作系统**(Operating System, OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。 **特征:** - **并发**:指操作系统能同时处理多个事件的能力。 - **虚拟**:通过虚拟技术将一个物理实体转换为多个逻辑实体,例如将一台物理机模拟成多台虚拟机。 - **共享**:系统中的资源可供多个用户或进程共同使用。 - **异步**:在操作系统中,进程可以独立地开始、运行和完成任务,无需按照严格的顺序执行。 #### 二、操作系统的最基本目标和功能 操作系统的最基本目标是: - **计算机资源的分配和调度**:有效地管理和分配硬件资源,如处理器时间、内存空间等。 - **向用户提供简单易用的接口**:为用户提供友好的交互界面,简化用户操作过程。 主要功能包括: - **资源管理**:包括处理器管理、存储器管理、设备管理、文件管理等。 - **控制程序执行**:监控并控制程序的执行流程。 - **实现内部协调**:确保各个系统组件之间的协调工作。 - **扩充硬件功能**:通过软件手段提升硬件的功能和性能。 #### 三、运行机制:中断和异常 **中断**是一种使CPU暂停当前正在执行的任务,并转去执行相应中断处理程序的机制。根据来源不同,可分为两大类: 1. **外中断**:“外中断”是指与CPU当前正在执行的进程无关的中断,常见类型包括: - **进程时间片使用完**:当进程的时间片耗尽时触发中断。 - **定时器结束**:定时器到期后触发中断。 - **收到中断信号**:外部设备请求服务时发送的中断信号。 2. **内中断**:“内中断”是由CPU执行的指令或当前进程引起的中断,包括但不限于: - **进程中包含特权指令**:非特权进程尝试执行特权指令。 - **溢出**:算术运算结果超出表示范围。 - **非法访问**:试图访问未授权的内存地址。 #### 四、系统调用与内核模式 **系统调用**是应用程序与操作系统内核之间的通信接口,用于请求操作系统提供的服务。它提供了从用户态到内核态的入口点。 - **大内核**:大内核设计意味着所有的系统服务都在内核空间中运行。这种设计的优点在于模块间的信息共享更为方便,但缺点是整个系统的复杂度增加,维护难度加大。 - **微内核**:相比之下,微内核设计将尽可能多的服务放到用户空间中运行,只保留最小的核心服务在内核空间。这种设计的好处是提高了系统的可维护性和灵活性,但可能会因为频繁的用户态和内核态切换而导致额外的性能开销。 #### 五、总结 操作系统作为计算机系统的核心组成部分,其主要任务是管理和协调计算机硬件资源以及提供给用户友好的操作界面。通过上述特征(并发、虚拟、共享、异步)的实现,操作系统能够高效地管理和利用计算机资源,同时通过不同的运行机制(如中断和异常处理)确保系统的稳定性和安全性。此外,系统调用和内核模式的选择也对操作系统的性能和维护性产生了重要影响。无论是选择大内核还是微内核架构,都需要根据具体应用场景的需求来进行权衡和决策。
- 粉丝: 414
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之28-implement-strstr.c
- C语言-leetcode题解之27-remove-element.c
- C语言-leetcode题解之26-remove-duplicates-from-sorted-array.c
- C语言-leetcode题解之24-swap-nodes-in-pairs.c
- C语言-leetcode题解之22-generate-parentheses.c
- C语言-leetcode题解之21-merge-two-sorted-lists.c
- java-leetcode题解之Online Stock Span.java
- java-leetcode题解之Online Majority Element In Subarray.java
- java-leetcode题解之Odd Even Jump.java
- 计算机毕业设计:python+爬虫+cnki网站爬