OS期末复习
OS期末复习
Ec3o操作系统 期末复习
如你所见,这是一篇操作系统的期末复习篇.
话不多说,一起来看看吧
操作系统概述
操作系统是一组主管并控制计算机操作、运用和运行硬件、软件资源管理和提供公共服务来组织用户交互的相互关联的系统软件程序.同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务,也提供一个让用户和系统交互的操作界面.
特征
- 并发:是指两个或多个活动在同一给定的时间间隔中进行
- 共享:是指计算机系统中的资源被多个进程所共用
- 异步:进程以不可预知的速度向前推进
- 虚拟:把一个物理上的实体变为若干个逻辑上的对应物
两个最基本的特征:并发和共享.
并发和并行
并发:计算机在宏观过程中执行多个程序,在微观过程中只同时执行一个程序.
并行:计算机在同一时刻执行两个或多个程序
同一时间间隔为并发,同一时刻为并行.
虚拟
把硬件抽象出来,转换出来为一个或多个电脑配置环境,更好配置系统资源.
功能
- 处理机管理:进程控制、进程同步、进程通信、死锁处理、处理机调度等等
- 存储器管理:内存分配、地址映射、内存保护与共享、内存扩充等
- 文件管理:文件存储空间管理、目录管理、文件读写管理与保护
- 设备管理:缓冲管理、设备分配、设备处理、虚拟设备等
操作系统的主要功能包括处理机管理、存储管理、设备管理、文件管理、用户接口.
历程
操作系统阶段 | 系统优点 | 系统缺点 |
---|---|---|
手工操作阶段 | / | / |
单道批处理阶段 | 缓解人机速度矛盾 | 系统资源利用率仍然很低 |
多道批处理阶段 | 多道程序并发执行,系统利用率高 | 缺少人机交互 |
分时操作系统 | 提供人机交互,交互性更强 | 不能优先处理紧急事务,没有即时响应的功能 |
实时操作系统 | 能优先处理紧急事务,更可靠 | / |
概念
- 特权指令:不允许用户程序使用,只允许操作系统使用(如IO指令、中断指令)
- 非特权指令:普通的运算指令
- 内核程序:系统的管理者,可执行一切指令,运行在核心态
- 应用程序:普通用户程序只能执行非特权指令,运行在用户态
- 处于核心态的CPU可以执行除了“访管”指令外的所有指令,作用代表用户自愿进入核心态.
处理机状态
- 用户态(目态):CPU只能执行非特权指令
- 核心态(又称管态、内核态):可以执行所有命令
- 用户态到核心态:通过中断实现(由硬件完成)
- 核心态到用户态:特权指令
psw
的标志位,0为用户态,1为核心态 - 常考谁在用户态执行,谁在核心态执行
原语
- 处在操作系统的最底层,最接近硬件的部分
- 这些程序的运行具有原子性,其操作只能一气呵成
- 这些程序的运行时间都比较短,而且调用频繁
中断
内中断
异常,信号来自内部
- 自愿中断:指令中断
- 强迫中断:硬件中断、软件中断(例如除以0)
外中断
中断,信号来自外部
- 外设请求(如打印机等)
- 人工干预
系统调用
- 系统调用是操作系统提供给程序员(应用程序)获取操作系统服务的唯一接口。
- 在用户态发生,在核心态进行处理。
体系结构
- 大内核
- 微内核
进程管理
概念
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础,是指计算机中已执行的程序,曾经是分时系统的基本运作单位。在面向进程设计的系统中,是程序的基本执行实体;在面向线程设计的系统中,进程是线程的容器.
理论角度上是对正在运行的程序过程的抽象,实现角度上是一种数据结构,目的在于清晰地刻画动态系统中的内在规律,有效管理和调度进入计算机系统主存储器运行的程序.
性质
- 动态性:实质上是程序在多道程序系统中的一次执行过程,是动态产生动态消亡的程序.
- 并发性:任何进程都可以同其他进程一起并发执行.
- 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的基本单位
- 异步性:由于进程间的相互制约,进程具有执行的间断性,进程各自按各自独立、不可预知的速度向前推进.
- 结构特征:PCB(进程控制)保存进程运行期间相关的数据,是进程存在的唯一标志;程序段是能被进程调度到CPU的代码;数据段用于存放数据
状态
- 运行态:进程正在占用CPU
- 就绪态:进程已处于准备运行状态,进程获得了除了处理机外的一切所需资源一旦得到处理机即可运行.
- 阻塞态:进程由于等待某一事件不能享用CPU
- 创建状态:进程正在被创建
- 结束状态:进程正在从系统消失
- 就绪态->运行态:处于就绪态的进程被调度后获得处理机资源(分派处理机时间片)
- 运行态->就绪态:时间片用完或在可剥夺系统中有更高级的进程进入
- 运行态->阻塞态:进程需要的某一资源还没有准备好
- 阻塞态->就绪态:进程等待的事件到来时
线程、进程、程序的区别
线程:线程是操作系统能够进行计算调度的最小单位,被包含在进程之中,是实际进行运算调度的最小单位.
进程:进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础,是指计算机中已执行的程序,曾经是分时系统的基本运作单位.
程序:程序是静态的、永久的、有序代码的集合.一个程序可对应多个进程,一个进程也可以包括多个程序.
调度
是对处理机进行分配,即从就绪队列中按照给定的算法(公平、高效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行.
分类
- 高级调度(作业调度)
- 中级调度(内存置换)
- 低级调度(进程调度)
调度方式
剥夺式调度
非剥夺式调度
调度准则
- CPU利用率
- 系统吞吐量
- 周转时间
- 等待时间
- 响应时间
调度算法
先来先服务(FCFS)