logo资料库

河南大学操作系统期末复习指导.doc

第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
资料共17页,剩余部分请下载后查看
考试题型说明
教材范围
系统调用
unix系统调用重点掌握进程的控制和文件操作:
创建进程 fork 这个必须懂
终止进程 exit
等待子进程结束 wait
获得进程ID getpid和getppid
进程暂停 pause
获得用户ID getuid获得真正的用户ID,geteuid获得有效用户ID,
文件操作: 创建文件:creat
打开文件:open
关闭文件:close
读写文件:read,write
连接和去连接:link和unlink
认真研究以下大题,考试大题不是问题!!!!除此之外应当注意老师课后习题答案中补充的例题!!!!!!
答题示例
考试题型说明 单项选择题: 判断对错题: 简答题: 应用题: 教材范围 第一章 操作系统引论 10 题,20 分 10 空,20 分 5 题,20 分 4 题,40 分 1.1 操作系统的目标和作用 重点:作用 操作系统的作用: 1)操作系统作为用户与计算机硬件系统之间的接口 2)操作系统是计算机系统资源的管理者 3)操作系统实现了对计算机资源的抽象 1.2 操作系统的发展过程 重点:发展的不同阶段,微机 OS 归类 操作系统的发展过程: 无操作系统,单道批处理系统,多道批处理系统,分时系统,实时系统, 微机操作系统 微机操作系统的运行方式: 单用户单任务处理 单用户多任务处理 多用户多任务处理 1.3 操作系统的基本特性 只要掌握特性的名字 并发性,共享性,虚拟性,异步性 最基本的特征是并发和共享 1.4 操作系统的主要功能 四大管理功能+用户接口 处理机管理功能 存储器管理功能 设备管理功能 文件管理功能 1.5 OS 结构设计 第二章 进程管理 2.1 进程的基本概念 进程实体包含了三部分:程序段,PCB 和相关数据段 基本状态:就绪状态,阻塞状态,执行状态 变迁途径: 进程实体,基本状态及变迁途径 就绪状态转换为执行状态的条件是:进程获取了 CPU 的调度 执行状态转换为阻塞状态的条件是:I/O 请求 阻塞状态转换为就绪状态的条件是:I/O 请求完毕
执行状态转换为就绪状态的条件是:进程分配的时间片用完了 原语和原子操作,进程创建过程 2.2 进程控制 原语:若干条指令组成,用于完成一定功能的一个过程 原子操作:它是一个不可分割的基本单位 wait(S)称为 P 原语 将资源减一 signal(S)称为 V 原语 将资源加一 原子操作不可中断 进程创建过程: 1)使用进程创建原语 Creat(),创建一个进程 2)申请空白 PCB 3)为新进程分配资源 4)初始化 PCB 5)将新进程插入就绪队列 2.3 进程同步 同步互斥概念,同步准则,临界资源/临界区,信号量机制及简单应用 同步互斥是指:对于临界资源,多个进程不能同时访问,要进行的互斥 的访问。 同步准则:空闲让进,忙则等待,有限等待,让权等待。 信号量机制包含有如下:整型信号量机制,记录型信号量,AND 型信号量, 信号量集 信号量应用:实现线程互斥和前趋关系 2.4 经典进程同步问题 2.5 进程通信 高级通信机制包含以下:共享存储器系统,消息传递机制,管道通信系统 共享存储器系统可分为: 基于共享数据结构的通信方式,例如:生产者-消费者问题,是通过建立缓 高级通信机制 存区来实现的,这种通信方式适合传递较少数据 基于共享存储区的通信方式,属于高级通信,适合大量数据传递,它是在 存储器划出一块共享存储区,进程对这个共享存储区进行读写操作。 消息传递系统可分为直接通信和间接通信 消息传递属于高级通信,能传递大量数据,它采用的是以格式化的消息为 基本单位,使通信过程对用户是透明的。 消息传递实现的方法: 直接通信方式: 操作系统使用 Send 和 Receive 直接发送消息或者接受消息 通信命令:Send(Receiver,message)发送一个消息给接受进程 Receive(Sender,message)接受 Sender 发来的消息 间接通信方式: 在进程之间通信时需要建立一个共享数据结构实体,使用实体暂存发送进 程的消息,然后接受进程从实体中接受消息。这个实体通常称为信箱。 信箱可由系统进程创建和用户进程创建 系统进程创建的称为公用信箱 用户进程创建的称为私用信箱 共享信箱由某进程创建并指明是共享的
消息传递系统的若干问题: 通信链路,消息格式,进程同步 2.6 线程 引入进程的目的:为了使多个程序能够并发执行 引入线程目的:为了减少程序并发执行时所付出的的时空开销 ULT 和 KST KST 内核支持线程 ULT 用户级线程 内核支持线程与用户级线程的比较: KST 是在内核中完成的,在内核中可以调度同一进程多个线程执行。 而用户级线程仅存在用户空间,无需利用系统调用 内核支持线程具有很小的数据结构和堆栈,线程间切换块,开销小。如果 一个线程被阻塞了,内核可以调度该进程的其他线程占有处理机运行。 用户级线程 线程间的切换不需要转换到内核空间,并且它的实现与操作系 统平台无关。 考试可能简答题:进程与线程的区别, 综合题:用信号量机制描述前趋图 第三章 处理机调度和死锁 3.1 处理机调度层次 高级调度:又称为作业调度或者长程调度,其主要任务是:依据某种算法, 三级调度的概念 将把外存上处于后备队列中的那些作业调入内存,调度对象是作业。 低级调度:又称为进程调度或者短程调度,其主要任务是:保存处理机现 场信息,按照某种算法选取进程,把处理器分配给进程,其调用对象是进程。 中级调度:又称中程调度,其主要目的是:为了提高内存的利用率和吞吐 量,使那些暂时不能运行的进程不再占用内存资源,将他们调至外存等待。 抢占调度方式基本原则:优先权原则,时间片原则,短作业优先原则。 3.2 调度队列模型和调度准则 调度方式和调度算法的若干准则: 1)面向用户准则 周转时间短,响应时间块,截止时间的保证,优先权准则 周转时间等概念 周转时间短是批处理系统性能的重要准则。 响应时间块是分时系统性能的重要准则。 截止时间的保证是实时系统的重要标准。 在批处理系统、分时系统和实时系统中都可以使用优先权准则。 2)面向系统准则 系统吞吐量高,处理机利用率好,各类资源平衡利用 系统吞吐量是批处理系统的另一个性能指标。 概念性问题:
周转时间(T):指作业提交到完成时间,常用于批处理系统。 平均周转时间(T)= n T  [1 n  i 1  iT ] 带权周转时间: TW  ST 平均带权周转时间: W  1 n n  i 1  W i  1 n n  i 1  T i T Si 周转时间(T)=完成时间-到达时间; 带权周转时间(W)=周转时间/服务时间。 3.3 调度算法 概念性问题: 调度:其实质是对资源的进行分配; 调度算法:根据系统的资源分配策略所规定的的资源分配算法; FCFS、SJF、RR、HRF、多级反馈队列 先来先服务调度算法(FCFS) 先来先服务调度算法(FCFS)是一种最简单的调度算法,它既可以适用于 作业调度(即高级调度)也适用于进程调度(即低级调度)。 算法思想:每次调度都是从就绪队列中选择最先进入该队列的进程,为之 分配处理机,使投入运行,直到运行完成或者发生某事件而阻塞才放弃处理机。 该算法有利于长作业(即 CPU 繁忙时),不利于短作业(I/O 繁忙); CPU 繁忙型作业:占用处理时间多,服务时间长,对 I/O 请求处理少。 I/O 繁忙型作业:占用处理机时间短,服务时间短,对 I/O 请求处理多。 FCFS 算法的平均周转时间与作业的调度顺序有关。(判断题) 短作业优先调度算法(SJF) 短作业优先调度算法(SJF):是对短作业或者短进程优先调度的算法。适 用于作业调度和进程调度。 算法思想:该算法是从后备队列中选择一个或若干个估计运行时间最短的 作业,将其调入内存。 该算法的优点(与 FCFS 相比):减少了作业平均等待时间,提高了系统的 吞吐量。 该算法的缺点:不利于长作业,完全未考虑作业的紧迫程度,作业的长短 是根据用户估计得出的不一定能真正做到短作业优先处理。 时间片轮转调度算法(RR) 时间片轮转调度算法适用于分时系统 算法思想:时间片轮转算法中,系统将所有的就绪进程按照先来先服务的 原则排成一个队列,每次调度时,把 CPU 分配给队首进程,并分配一个时间片, 当时间片用完后,有一个计时器发出时钟中断请求,那么系统停止该进程的执 行,并将其送往就绪队列尾部,然后处理机分配给就绪队列中新的队首进程, 依次类推执行。 时间片的大小确定是非常重要的,时间片比较小有利于短作业的处理,但 会发生频繁中断;时间比较大,则退化到了 FCFS 算法。 时间片的大小定位:时间片略大于一次典型的交互所需的时间。 优先权调度算法(HPF)
优先权调度算法的类型: 静态优先权和动态优先权 优先权算法的关键在于:它是使用静态优先权还是动态优先权以及如何确 定进程的优先权。 静态优先权:是在创建进程时确定的,在进程整个运行过程中保持不变。 动态优先权:是在创建进程时赋予的,可以随进程的推进或随等待时间的 增加而改变的。 静态优先级的确定原则: 进程类型,进程对资源的需求,用户需求 系统进程的优先权高于用户进程优先权 动态优先权的确定原则: 进程等待时间,进程运行时间,进程对资源的需求类型 静态优先级优点:简单、开销小 静态优先级缺点:公平性差 动态优先级优点:资源利用率高,公平性高 动态优先权缺点:开销大,实现复杂。 高响应比优先调度算法采用的是:动态优先级 优先权调度算法可分为:抢占式和非抢占式 多级反馈队列算法(MFQ) 短优先 ,输入/输出进程优先,运算型进程有较长的时间片,采用了动态 优先级 ,采用了可变时间片 3.4 实时调度 3.5 死锁的原因和必要条件 重点:死锁、必要条件 4 概念性问题: 死锁:是指在多个进程在运行过程中因资源争夺而造成的僵局。 注意:(1)参与死锁的进程数至少为 2 (2)参与死锁的所有进程均等待资源 (3)参与死锁的进程至少有两个占有资源 (4)参与死锁的进程是系统中当前正在运行进程的一部分。 产生死锁的原因:竞争资源和进程间推进顺序非法。 产生死锁的必要条件:互斥条件(资源独占条件) 请求和保持条件(部分分配条件) 不剥夺条件(不能被抢占) 循环等待条件(环路条件) 只要破坏其中任何一个条件,就可以防止死锁的发生。 处理死锁的基本方法:预防死锁,避免死锁,检测死锁,解除死锁
破坏必要条件预防死锁,银行家算法 3.6 死锁的预防 预防死锁的方法是:使四个必要条件中的第 2、3、4 之一不成立。 1)摒弃请求和保持条件 优点:简单、易于实现和安全 缺点:资源严重浪费和进程延迟运行 2)摒弃不剥夺条件 实现复杂、增加了系统开销和降低了系统吞吐量 3)摒弃环路等待条件 与前 2 种相比,提高了资源利用率和系统吞吐量 避免死锁的实质:系统进行分配资源时,如何使系统不进入不安全状态 银行家算法是一种避免死锁算法。 3.7 死锁的检测与解除 资源分配图是用来描述死锁的, 它主要是由结点(N)和边(E)组成。 其中结点 N 可以分为 2 个子集,每个子集具有不同含义即进程结点子集和 资源分配图的概念 资源结点子集 进程用圆圈表示,资源用方框表示 进程指向资源表示请求。 资源指向进程表示分配。 考试必考大题:几种进程或作业调度算法以及银行家算法 可能会出死锁的简答题 第四章 存储器管理 4.1 存储器的层次结构 4.2 程序的装入和链接 程序三种链接方式:静态链接方式,装入时动态链接方式和运行时动态链 重点:三种链接方式 接方式。 4.3 连续分配方式 4.4 基本分页存储管理 所谓地址映射:是指页面存储的逻辑地址转换成物理地址,这就属于映射。 不同几个概念: 页或页面:将一个进程的地址空间(逻辑地址)或分配为若干个相等的区 地址映射 域。从 0 开始编码 页框或者物理块:内存空间分成若干个与与页大小相等的区域。从 0 开始。 页面大小一般为 512B~8KB。 地址结构: 页号:表示页的数量,地址空间最多允许有 222 =4M 页。
偏移量:表示页的大小,每页的大小为 210=1KB 如何将逻辑地址映射到物理地址? 结论:块内地址表每块的大小与页大小相等。 方法:1、根据逻辑地址,计算出页号和页内偏移量; 2、用页号检索页表,查找指定页面对应的页框号; 3、根据页框号和页内偏移量,计算出物理地址 物理地址=页块(框)号×页块(框)长度+页内位移量 例题:设有一页式存储管理系统,向用户提供的逻辑地址空间最大为 16 页, 每页 2048B,内存总共有 8 个存储块,试问逻辑地址至少应为多少位?物理地址 呢? 解:(1)页内地址表每页的大小即 2048B=2*1024B=211B,所以页内地址为 11 位。其中页号表最多允许的页数即 16 页=24 页,所以页号为 4 位。故逻辑地 址至少应为 15 位。 (2)块内地址表每块的大小与页大小相等,所以块内地址也为 11 位。其 中块号表内存空间最多允许的块数即 8 块=23 块,所以块号为 3 位。 故内存空间至少应为 14 位。 例题 2:一分页存储管理系统中,某作业的页表如表所示,页面大小为 1024B, 将逻辑地址 1011,2148,5012 转化为相应的物理地址? 页号 0 1 2 3 块号 2 3 1 6 解:1011 逻辑地址 页号:INT[1011/1024]=0 页内偏移:1011 MOD 1024=1011 物理地址是:1011 物理地址 2*1024+1011=3059 4.5 基本分段存储管理 段的逻辑地址表示方法: 地址映射 4.6 虚拟存储器的基本概念 定义、特征 定义:是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩 充的一种存储管理系统。 特征:多次性,对换性,虚拟性。 其最重要特征是虚拟性。 4.7 请求分页式存储管理 页表中不同字段
请求分页式存储管理中最基本的数据结构是页表 页号 物理块号 状态位 P 访问字段 A 修改位 M 外存地址 字段含义: 状态位 P:用于指示该页是否已经调入内存,供程序访问时参考 访问字段 A:用于记录本页在一段时间内被访问的次数,或者记录本页最近 有多长时间未被访问,供选择换出页面时参考。 修改位 M:表示该页在调入内存后是否被修改过。 外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页 时参考。 4.8 页面置换算法 最佳置换算法(OPT) 算法特点:“向后看”,即所选择的被淘汰的页面是以后不再使用或者最 OPT、FIFO、LRU 长时间不用。它是相对于调入内存中页面而言的。 先进先出(FIFO) 算法特点:总是淘汰最先调入内存的页面,即选择留在内存中时间最长的。 最近最久未使用算法(LRU) 算法特点:“向前看”,即根据调入页面的使用情况决定的。在每个页面 上设置一个访问字段 t,用来记录一个页面自上次被访问以来所经历的时间,需 要淘汰时选择现有页面中 t 最大的。 4.9 请求分段式存储管理 请求分段管理中主要的数据结构是段表。 段表中不同字段 段名 段长 基址 存取方 式 访问字 段 A 修改位 M 存在位 P 增补位 外存地 址 各字段的含义: 存取方式:用于表明该段是存取属性是只执行、只读还是允许读、写 访问字段 A:表示该段被访问的次数 修改位 M:该页在进入内存后是否被修改,供置换页面时参考 存在位 P:该段是否已经调入内存,供程序访问时参考 增补位:特有字段,表示该段在运行过程中是否做过动态增长。 外存地址:指示本段在外存中的起始地址,即起始盘块号。 不同控制方式的名字 4 第五章 设备管理 5.1 I/O 系统 5.2 I/O 控制方式 I/O 控制方式:程序 I/O 方式,中断驱动 I/O 方式 直接存储器访问(DMA)I/O 方式,I/O 通道控制方式 5.3 缓冲管理 引入缓冲的原因: 1)缓和 CPU 与 I/O 设备间速度不匹配矛盾 2)减少 CPU 的中断频率,放宽对 CPU 中断响应的控制 3)提高 CPU 和 I/O 设备间的并行性。 缓冲池 缓冲池是包含了多个可供若干进程共享的缓冲区的集合。 缓冲池包含了三种类型缓冲区: 空缓冲区,装满输入数据的缓冲区,装满输出数据的缓冲区
分享到:
收藏