操作系统重点整理

OS期末考试:

  1. 简答题:5’*5=25’
  2. 应用,计算题:15' *4=60'
  3. 算法设计:15’

   进程同步算法,用信号量解决,进程三大经典问题(生产者-消费者问题,读者-作者问题,哲学家问题)

 

  • 进程管理

1.进程概念:一个进程就是一个正在执行的程序(是对正在运行的程序的一个抽象),包括程序计数器,寄存器和变量的当前值,一个程序在内存中的一次执行过程是程序在内存中的一个镜像,每个进程都有自己的虚拟CPU。一个进程包括计算器,代码段(程序),数据段(存放全局数据),栈(存放临时数据),堆(存放动态数据),PC(program counter),寄存器。

2.进程的状态:

(1)运行态(Running):在该时刻实际占用处理机

(2)就绪态(Ready):可运行,因为其他进程正在运行而暂时被挂起

(3)阻塞态(Blocked):除非某种外部事件发生,否则不能被运行

状态转换:

3.进程的操作:

扫描二维码关注公众号,回复: 2288694 查看本文章

(1)创建:系统初始化,正在运行的一个进程执行了创建进程的系统调用,用户请求创建一个新进程,批处理作业的初始化

(2)终止:正常退出(自愿),出错退出(自愿),严重错误(非自愿),被其他进程杀死(非自愿)

4.上下文切换(context switch)概念:保存旧进程的状态,承载保存新进程的已保存状态。

5.进程的表示:进程控制块(PCB),为了实现进程模型,操作系统维持着一张表(一个结构数组)—进程表,每一个进程占用一个进程表项(进程控制块,PCB)

6.进程间通信(IPC)基本原理:

(1)消息传递

(2)共享主存

(3)竞争条件:多个进程并发访问共享数据,共享数据的最终结果依赖于某个特定的执行顺序(程序运行的精确时序),这种情况成为竞争条件

7.进程同步方法:信号量同步

(1)信号量:是一种卓有成效的进程同步机制,只支持wait(),signal()两种操作

(2)原理:两个或多个进程可以通过简单的信号进行合作,一个进程可以被迫在某一个位置停止,直到它接受到一个特定的信号

(3)管程:是关于共享资源的数据结构及一组针对该资源的操作过程所构成的软件模块(主要特征:模块化,抽象数据类型,信息封装)

(4)实现:等待队列

(5)解决三大经典问题

8.进程调度:

(1)概念:在多道程序设计系统中,有多个系统竞争CPU,当多个进程处于就绪态而只有一个CPU时,操作系统就必须决定先运行哪个进程,(操作系统中做出这种决定的部分被称为调度器)

(2)种类:按照调度的层次:作业调度,内外存调度,进程或线程调度

           按照调度的时间周期:长期调度,中期调度,短期调度,I/O调度

           按照操作系统的分类:批处理调度,分时调度,实时调度,多处理机调度

  1. 面向用户的调度性能准则:

周转时间:从提交到完成

      响应时间:用户输入一个请求到系统给出首次响应的时间(分时系统)

      截止时间:开始截止时间和完成截止时间(实时系统)

      公平性:不因作业或进程本身的特性而使上述指标过分恶化

  1. 面向系统的调度性能准则:

吞吐量:单位时间内完成的作业数,跟作业本身特征和调度算法都有关系(批处理系统)

(5)原则:公平(每个进程都有合理的CPU份额),有效(CPU百分百忙碌),响应时间(交互用户的响应时间尽可能短),周转时间(使批处理用户等待的输出时间尽可能短),吞吐量(大,每小时批处理作业数最多)

9.进程调度算法:(细节参考笔记及PPT,主要考点为应用与计算)

(1)FCFS算法:先来先服务算法

(2)SJF算法:最短作业优先调度算法

(3)RR算法:时间片轮换调度算法

(4)Priority算法:优先级调度算法

 

  • 内存管理:

1.固定分区,可变分区(连续):根据reqSize进行动态分割,连续分配,总空间够,但空间不连续

2.分页,分段(非连续):

  分页:把物理内存划分为许多个固定大小的内存块,称为物理页面或页框,把虚拟地址也划为大小相同的块,称为虚拟页面,简称页面。页面大小要求是2^n。地址空间和内存都分开大小相等的片(页面和页框)

  分段:程序由若干部分(段)组成,每个段有各自的特点和用途

3.理解:逻辑地址:CPU看到/程序产生的地址

       物理地址:内存单元的实际地址

4.掌握地址映射/转换方面的计算题

5.计算:已知页面大小,逻辑地址空间 求物理地址

6.虚拟内存(vm):把内存与外存有机的结合起来使用,从而得到一个很大的“内存”,这就是虚拟内存。

  虚拟内存原理:程序,数据,堆栈的大小可以超过内存的大小,操作系统把程序当前使用的部分保留在内存,而把其他部分存在磁盘上,并在需要时在内存和磁盘之间进行动态交换

7.页面置换算法:(掌握原理,主要用于计算,细节参考笔记及PPT)

(1)FIFO页面置换算法

(2)Optinal算法(最优淘汰算法)

(3)LRU页面置换算法(最近最久未使用页面置换算法)

     选最近最长一段时间没有使用的页面淘汰(最近最少使用)

  1. 最优页面置换算法:选择最远将使用的页淘汰
  2. NUR算法(最近未使用算法):淘汰最近未使用的页
  3. 第二次机会页面置换算法(在FIFO上改进):对页面的引用位检查,讲未被引用的替换

8.页表三种类型:

  1. 哈西页表
  2. 反向页表:页表从物理地址向逻辑地址方向构造
  3. 层次化分页

9.关联存储器TLB

 命中时效率会很高,未命中时效率会降低,平均后仍表现良好

 有效访问时间=HitR*(TLB+MA)+(1-HitR)*(TLB+2MA)

                     EAT     命中率   内存访问时间      TLB时间

                 作用:程序的地址访问存在局部性

                      空间局部性,程序多为循环,顺序结构

                 

三.I/O设备:

1.概念:操作系统的主要功能之一就是控制所有的输入输出设备

2.软件I/O系统分层:用户级I/O软件

                   设备无关操作系统软件

                   设备驱动程序

                   中断处理器

                   硬件

3.硬件:和主机连接

设备类型:

  1. 按使用特性分:存储型设备,输入性型设备(外设->主机),输出型设备(主机->外设),输入输出型设备
  2. 按数据组织分:块设备,字符设备
  3. 按外部设备的从属关系分:系统设备,用户设备
  4. 按资源分配角度分:独占设备,共享设备
  5. 程序的使用角度分:逻辑设备,物理设备

4.设备驱动程序:死锁

(1)原理:争用资源,无限等待(占有并等待资源)

           一组进程集合中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到资源,造成死锁

  1. 模型:
  2. 必要条件:(同时发生,死锁)

互斥条件:每一资源或者已被分配给一个进程,或空闲(资源独占)

占有和等待条件:已分配到资源,申请新的资源(动态申请,动态分配)

不可抢占条件

循环(环路)等待条件

  1. 处理方法:

死锁忽略:鸵鸟算法

死锁检测及恢复

死锁避免(动态监测)

死锁预防(破坏四个必要条件之一,防止死锁发生)

  1. 预防:

互斥:使用假托机技术

占有和等待:在开始时请求所有资源

不可抢占:抢占资源

环路等待:对资源按数值编号

  1. 避免:银行家算法!

     检测,恢复

 

四.文件系统:

1.接口

2.目录:(1)文件控制块(FCB):文件名,文件号,用户名,文件地址,文件长度,文件类型,文件属性,共享次数,文件的建立日期,保存期限,最后修改日期,最后访问日期,口令,文件逻辑结构,文件物理结构

       (2)文件目录

2.操作:(1)CREAT (2)DELETE  (3)OPENDIR  (4)CLOSEDIR (5)READIR (6)RENA(7)LINK (8)UNLINK

3.实现(数据结构):

(1)连续分配

(2)链式分配

(3)带有文件分配表的链表结构:文件分配表存储在内存中,每一项中的内容都是指向下一物理块地址

(4)索引分配:连续和链式分配的有效折衷

4.性能:(安全性,可靠性和保护)

(1)风险:数据机密性,数据完整性,系统可用性

(2)入侵者:可分为积极的或者消极的

             非技术人员的偶然窥视,内部入侵者的窥视,明确的偷窃意图,商业或军事间谍活动,恶意程序(病毒)

  1. 保护:保护矩阵,访问控制列表ACU

磁盘访问延迟:寻道时间+旋转时间+传输时间(关键所在是最小化寻道时间和旋转时间)

5.磁盘调度:输入多个磁道请求,给出服务顺序(详情参考笔记,PPT及最后一次作业)

 (1)FCFS调度算法

 (2)SSTF调度算法

 (3)SCAN调度算法

 (4)LOOK调度算法

 (5)C-SCAN调度算法

 (6)C-LOOK调度算法

考试加油!

猜你喜欢

转载自blog.csdn.net/nanaz11/article/details/81128629