12.1 操作系统概述
操作系统的作用:通过资源管理提高计算机系统的效率;改善人机界面向用户提供友好的工作环境。
操作系统的特征:
12.2 进程管理
12.2.1 程序与进程
12.2.1.1 程序顺序执行的特征
程序顺序执行时的主要特征包括:顺序性、封闭性、可再现性;
12.2.1.2 前趋图
eg:
12.2.1.3 程序并发执行的特征
程序并发执行时的主要特征包括:
- 失去了程序的封闭性;
- 程序和机器的执行程序的活动不再一一对应;
- 并发程序间的相互制约性;
12.2.2 进程的三态模型
- 运行:当一个进程在处理机上运行时,则称为该进程处于运行状态;
- 就绪:一个进程获取了处处理机外的一切所需资源,一旦获取到处理机即可运行,则此状态处于就绪状态;
- 阻塞:阻塞状态也称为等待或睡眠状态,一个进程正在等待某一个事件发生而暂时停止运行,这是即使把处理机分配给此进程也无法运行,故称为阻塞状态;
12.2.3 同步与互斥
同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题;
同步:在计算机系统中,多个进程可以并发执行,每个进程都以各自独立的、不可预知的速度向前推进,但是需要在某些确定点上协调相互合作进程间的工作;
互斥:进程的互斥是指系统中多个进程因争用临界资源而互斥执行;
临界区管理原则:有空即进;无空则等;有限等待;让权等待;
12.2.4 信号量机制和PV操作
整型信号量与PV操作
- 公用信号量:实现进程间的互斥,初值为1或资源的数目;
- 私用信号量:实现进程间的同步,初值为0或某个正整数。
信号量S的物理意义:S>=0表示某资源数的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源数的进程数;
利用PV操作可以实现资源的互斥使用;
12.2.4.1 利用PV操作实现进程的互斥
12.2.4.2 利用PV操作实现进程的同步
12.2.5 死锁
同类资源分配不当引起死锁。若系统中有m个资源被n个进程共享,当每个进程都要求k个资源,而m<nk时,即资源数小于进程所要求的总数时,可能引起死锁。
死锁计算问题:系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为n*(R-1)。其不发生死锁的最小资源数为n*(R-1)+1
12.2.6 进程资源图
P1、P2、P3 进程
R1、R2 资源
分配资源:R1 -> P1 申请资源:P2 -> R1
- 先分配资源,再申请资源;
- 先申请资源,再分配资源;
P1已获取所有资源,运行状态,P2、P3不能获取其满足的资源,因此阻塞。
是否可化简,化简顺序:P1 -> P2 -> P3
该图不可化简;
12.2.7 死锁避免
一般采用银行家算法来避免,银行家算法,就是提前计算出一条不会死锁的资源分配方法,才分配资源,否则不分配资源,相当于借贷,考虑对方还得起才借钱,提前考虑好以后,就可以避免死锁。
12.2.8 线程
传统的进程有两个属性:可拥有资源的独立单位、可独立调度和分配的基本单位。
线程是独立调度的最小单位,进程是拥有资源的最小单位,线程可以共享进程的公共数据、全局变量、代码、文件等资源,但不能共享线程独有的资源,如线程的栈指针等标识数据。
12.2.9 局部原理性
时间局限性:如果程序中的某条指令一旦执行,那么不久的将来该指令可能被再次执行;
空间局限性:一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最可能被访问。
12.3 存储管理
12.3.1 分页存储管理
12.3.1.1 纯分页存储管理
解题思路:物理地址为分页地址,由十六位二进制组成,页面大小为4K,即页内地址占位12位,剩余4位为页号,题中要访问1C20H,可以得到页号为1H,业内地址为C20H,即对应物理块号为3,最后物理地址为3C20H
12.3.2 段页式存储管理
- 最多256个段
- 每段最多4096个页
- 每页最多4K
12.3.3 单缓冲区
n个作业所需要的时间:(M + T) * n + C (C < T)
12.3.4 双缓存区
如果M + C < T 则总时间为:n * T + M + C
12.3.5 磁盘调度算法
- 先来先服务(FCFS):按访问者的先后顺序服务;
- 最短寻道时间优先(SSTF):离当前磁道最近的请求者先服务,查找事件最短的那个作业先执行,不考虑访问者到来的先后顺序;
- 扫描算法(SACN)或电梯调度算法:总是从磁头当前位置开始,沿磁头方向去选择最近的一个柱面的请求,直到沿磁头的方向无请求访问时,改变磁头方向;
- 循环扫描算法(CSACN)或单向扫描算法:总是从磁头当前位置开始,沿磁头方向去选择最近的一个柱面的请求,直到沿磁头的方向无请求访问时,回到最里面再来请求。
12.3.6 旋转调度算法
12.3.7 多级索引结构
12.4 文件管理
12.4.1 文件目录
文件控制块
- 基本信息类:文件名、文件物理地址、文件长度、文件块;
- 存取控制信息类:文件的存取权限;
- 使用信息类:文件创建时间、最后修改时间、最后一次访问时间等。
若系统正在将目录文件修改的结果写回磁盘时系统发生崩溃,则对系统的影响相对较大;
12.4.2 目录结构
绝对路径、相对路径、全名路径 、当前目录、上级目录
12.4.3 位示图
用二进制的一位来表示一个物理块的使用情况;
12.5 其他
- 分时系统采用简单时间片轮转法,当系统的用户数为n,时间片为q时,系统对每个用户的响应时间为T=n*q;
- 设计操作系统时不需要考虑的问题是语言编译器的设计实现;
- 嵌入式系统初始化过程按照自底向上、从硬件到软件一次为:片级初始化->板级初始化->系统级初始化;系统级初始化的主要任务为以软件初始化为主,主要进行操作系统的初始化;
- 当用户通过键盘或鼠标进入某系统时,通常最先获得键盘或鼠标的输入信息的是中断处理;
- 在磁盘调用管理中通常先进行移臂调度,在进行旋转调度;
- CPU是在一个总现周期结束时响应DMA的请求的请求的;