持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情
操作系统
操作系统知识模块主要分为:操作系统概述、进程管理、内存管理、文件管理、输入/输出(I/O)管理。
1.操作系统概述
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源分配,以提供给用户和其他软件方便的接口和环境的程序集合。
操作系统的基本特征包括:并发、共享、虚拟和异步。
- 并发是指两个或多个事件在同一时间间隔内发生。
- 虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术,如虚拟存储器。
- 异步是指在多道程序环境下,允许多个程序并发执行,但由于自由有限,进程的执行不是一贯到底,而是走走停停,以不可知的速度向前推进,这就是进程的异步性。
2.进程管理
进程:
目的:更好地描述和控制程序并发执行;
定义:进程是进程实体的一次运行,是系统进行资源分配和调度的一个独立单位;
组成:
- PCB:保存进程运行期间相关的数据,是进程存在的唯一标志
- 程序段:能被进程调度程序调度到CPU运行的程序代码段
- 数据段:存储程序运行期间的相关数据,可以是原始数据也可以是相关结果
进程状态:
-
状态种类:
-
运行状态:进程正在处理机上运行
-
就绪状态:进程已获得除处理机之外的一切所需资源
-
阻塞状态:进程正在等待某一事件而暂停运行
-
创建状态:进程正在被创建,尚未转到就绪状态
- 创建完成后转到就绪状态
-
结束状态:进程正从系统中消失,分为正常结束和异常退出
-
-
状态变化:
- 就绪->运行:经过处理机调度,就绪进程得到处理机资源
- 运行->就绪:时间片用完或在可剥夺系统中有更高优先级进程进入
- 运行->阻塞:进行需要的某一资源还没准备好
- 阻塞->就绪:进程需要的资源已准备好
进程控制:
- 创建:终端用户登录系统、作业调度、系统提供服务、用户程序的应用请求等;
- 终止:正常结束、发生异常、外界干预
- 阻塞:等待资源
- 唤醒:资源到达
- 切换:时间片用完、主动放弃处理机、被更高优先级的进程剥夺处理机
进程通信:
-
共享存储:
- 低级方式:基于数据结构的共享
- 高级方式:基于存储区的共享
-
消息传递:
- 直接通信方式:直接把消息挂到接收进程的消息队列
- 间接通信方式:挂到某个中间实体,接收进程找实体接收消息,类似电子邮件
-
管道通信:利用一种特殊的pipe文件连接两个进程
代价:
- 时间代价:进行进程间的切换、同步及通信等所付出的时间开销
- 空间代价:进程控制块及协调各运行机构所占用的内存空间开销
线程:
- 引入目的:为了更好的使多道程序并发执行,以提高资源利用率和系统吞吐量,增加并发程序
- 特点:是程序执行的最小单元,基本不拥有任何系统资源
- 实现方式:用户级线程、系统线程
调度:
调度层次:
- 作业调度(高级调度):选择处于后备状态的作业分配资源,发送频率低
- 内存调度(中级调度):选择暂时不能允许的进程调出内存,发送频率中等
- 进程调度(低级调度):选择就绪队列中合适的进程分配处理机,发生频率高
进程调度原因:合理的处理计算机软硬件资源
进程调度方式:
- 剥夺式:有更为重要或紧迫的进程需要使用处理机,立即分配
- 非剥夺式:有更为重要或紧迫的进程需要使用处理机,仍让当前进程继续执行
典型调度算法:
-
先来先服务:选择最先进入队列的
- 不可剥夺
-
短作业优先:选择完成时间最短的
-
优先级调度:选择优先级最高的
-
高响应比优先:选择响应比最高的
- 响应比Rp = (等待时间+要求服务时间) / 要求服务时间
-
时间片轮转:总数选择就绪队列中的第一个进程,但仅能运行一个时间片
- 绝对可抢占
-
多级反馈队列:时间片轮转调度算法和优先级调度算法的综合和发展