2022年《操作系统概念》重点内容总结 .pdf
《2022年《操作系统概念》重点内容总结 .pdf》由会员分享,可在线阅读,更多相关《2022年《操作系统概念》重点内容总结 .pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章导论1、操作系统的功能作用:(1)作用:操作系统是控制和管理计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件,使用户与计算机之间的接口。(2)功能:处理机管理、存储管理、设备管理、文件管理、用户接口。2、操作系统的发展过程:(1)手工操作时期:人工干涉,用户独占。(2)早期批处理时期:出现了完成作业自动转换工作的程序叫监督程序,包括早期联机批处理、早期脱机批处理。(3)多道批处理系统:在内存中同时存放多道程序在管理程序的控制下交替执行,用户独占。(4)分时系统:用户与主机交互。(5)实时系统:具有专用性及时性。(6)现代操作系统(网络操作系统和分布式操作系统):有网络地址
2、,提供网络服务,实现资源共享。第二章计算机系统结构1、计算机系统在硬件方面的保护:(1)双重模式操作:用户模式、监督程序模式,双重模式操作为人们提供了保护操作系统和用户程序不受错误用户程序影响的手段。(2)I/O 保护:定义所有I/O 指令为特权指令,所以用户不能直接发出I/O 指令,必须通过操作系统来进行。(3)内存保护:对中断向量和中断服务程序进行保护,使用基址寄存器和界限寄存器。(4)CPU 保护:使用定时器防止用户程序运行时间过长,操作系统在将控制权交给用户之前,应确保设置好定时器,以便产生中断。第三章操作系统结构1、操作系统的基本组成:进程管理、内存管理、文件管理、输入/输出系统管理
3、、二级存储管理、联网、保护系统、命令解释系统。2、系统调用的含义:系统调用提供了进程与操作系统之间的接口。分为五类:进程控制、文件管理、设备管理、信息维护、通信。3、操作系统设计所采用的结构:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - (1)简单结构:以较小、简单且功能有限的系统形式启动,但后来渐渐超过了其原来的范围,由于运行所用的硬件有限,它被编写成利用最小的空间提供最多的功能。(2)分层方法:优点:模块化,简化了调试和
4、系统验证(灵活性强);缺点:涉及对层的仔细认真的定义的困难,效率较差(3)微内核:优点:便于操作系统扩充,便于移植;缺点:关于哪些服务应保留在内核内,而哪些服务应在用户空间内实现,并没有定论。4、虚拟机的优点(1)通过完全保护系统资源,虚拟机提供了一个坚实的安全层。(2)虚拟机允许进行系统开发而不必中断正常的系统操作。第四章进程1、进程的含义:进程是由数据结构以及在其上执行的程序组成,是程序在这个数据集合上的运行过程,也是操作系统进行资源分配和保护的基本单位。进程是运行中的程序。2、进程包含的内容:程序代码、程序计数器、堆栈段、数据段。3、进程和程序的联系和区别:(1)程序是静态的,进程是动态
5、的,程序是代码的集合,进程是程序的执行。(2)程序是永久的,进程是短暂的。(3)程序的组成是代码,进程的组成包括程序、数据、进程控制块。(4)一个程序可对应多个进程,通过调用关系,一个进程也可包括多个程序。(5)进程可生成其他进程,程序不能生成新的程序4、并发与并行的区别:并行指两个或多个事件在同一时刻发生;并发指两个或多个事件在同一时间间隔内发生。在单处理机系统中, 每一时刻仅能执行一个程序, 所以从微观角度来看程序的并发执行时,它们是交替执行,即串行。程序间真正的并行只有在多处理机系统中才会出现。5、进程的状态及转换条件:(1)状态:新建,运行,阻塞,就绪,终止。(2)转换条件: 新建-就
6、绪: 就绪队列能够容纳新的进程。 就绪运行: 处于就绪状态的进程被调度程序选中,分配到CPU。 运行阻塞: 正在运行的进程因某种条件为满足而放弃对CPU 的占用。 阻塞就绪: 处于阻塞状态的进程所等待的事情发生了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - - - 运行就绪: 正在运行的进程用完了本次分配给它的CPU 时间。 运行终止: 正在运行的进程完成自己的工作或者由于发生某些事件而被异常中止。注:就绪挂起表示将某进程挂起,把
7、空间让给更急迫的进程。6、进程控制块的作用及内容:(1)内容:进程状态、程序计数器、 CPU 寄存器、CPU 调度信息、内存管理信息、记账信息、I/O状态信息。(2)作用: PCB 是进程组成中最关键的部分,每个进程都有惟一的PCB,操作系统对每个进程实施控制和管理。 系统创建一个进程时,为它创建一个PCB,当进程终止时,系统收回其PCB,该进程在系统中就不存在了,所以PCB 是进程存在的惟一标志。7、上下文切换的过程: 将 CPU 切换到另一个进程需要保存原来进程的状态并装入新进程的保存状态。过程如下: 保存处理器内容 对当前运行进程的PCB 进行更新 将这个进程的 PCB 移入适当的队列
8、挑选其他进程执行 对挑选进程的 PCB 进行更新 对存储器管理数据结构进行更新 将被选中进程上次移出时的处理器状态进行恢复。8、进程间通信的机制有哪些,包括单机系统和网络系统:(1)单机系统:进程通信根据交换信息量的多少分为高级通信和低级通信。 低级通信方式: P,V 操作。 高级通信方式:共享存储器方式、消息传递方式、管道文件(pipe) 。(2)网络系统:套接字( socket) 、远程过程调用、远程方法调用。其中,共享内存使用于传递大量的信息的场合。第章线程1、定义:是 CPU 使用的基本单元;他由现程ID,程序计数器,寄存器集合和堆栈组成。2、优点: (1)响应度高( 2)资源共享(
9、3)经济( 4)多处理器体系结构的利用。3、多线程模型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - (1)多对一模型:允许开发人员随意创建任意多的用户线程,但是由于内核只能一次调度一个线程,所以并不能增加并发性。(2)一对一模型:提供更大的并发性,但是创建内核的开销会影响应用程序的性能。(3)多对多模型:没有以上两者缺点。4、线程的亲和性:表示将联系关系紧密的线程安排在一起。第 6 章CPU 调度1、调度的层次(1) 长程调
10、度:又称为作业调度或高级调度。 长程调度决定哪些作业可参与竞争CPU 和其他资源。一般功能是:从后备作业中挑选一个或多个作业,为它(它们)分配基本的内存和外设资源并建立相应的进程。(2)中程调度:也称中级调度。中级调度决定哪些进程可参与竞争CPU,用以实现进程的活动状态与静止的挂起态之间的转换。 引入中程调度的主要目的, 是为了提高内存的利用率和系统吞吐量。中程调度实际上就是存储器管理中的置换功能。(3)短程调度:又称为进程调度或低级调度。短程调度决定哪个进程可获得物理CPU。短程调度的功能是: 从就绪进程队列中挑选一个进程并启动执行该进程。短程调度是最基本的一种调度,它可以采用非抢占方式或抢
11、占方式。2、调度的方式(1)可抢占:提高响应性,进来后马上使用CPU。When a process switches from the running state to the ready state or switches from the waiting state to the ready state. (2)不可抢占:一旦把CPU 分配给一个进程,那么该进程就会保持CPU 直到终止或轮转到等待状态。When a process switches from the running state to the waiting state or terminates. 3、调度算法(1)先来先
12、服务( FCFS) 非抢占式的。FCFS 策略遵循先来者优先服务的原则。例如:进程Burst 时间: P1 24秒,P2 3秒,P33秒如果进程以 P1、P2、P3 的顺序到达,并且以 FCFS 规则服务,我们将获得如下的甘特图:0 24 27 30 P1 的等待时间是 0 毫秒,进程 P2 是24 毫秒, P3 是27 毫秒。这样,平均时间是(0 + 24 + 27)/3 = P1 P2 P3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 24 页 - - - - -
13、 - - - - 17毫秒。优点: 它简单易行缺点:调度性能较差, 有可能使短的进程长期等待长的进程(护送效应)。它有利于偏重 CPU 的进程,不利于偏重I/O 的进程。(2)短作业优先调度算法( SJF) 抢占式的非抢占式的。当CPU 有效时,它将被赋给下一个CPU burst 最小的进程。例如:进程Burst 时间P16秒;P2 8秒;P37秒;P4 3秒用SJF 调度,我们将依照如下的甘特图来调度这些进程:0 391624 P1 的等待时间是 3 毫秒,P2 是16 毫秒,P3 是9 毫秒, P4 是0 毫秒。因而,平均等待时间是(3 + 16 + 9 +0)/4 =7 毫秒。如果使用
14、FCFS 调度策略,那么平均等待时间是 (0+6+14+21 ) /4 10.25 毫秒。新进程的下一个 CPU burst 可能会比当前执行进程的剩余量短。在抢占式SJF 算法中,新进程抢占当前的进程;而非抢占式SJF 算法允许当前运行的进程结束其CPU burst例如: Process Arrival TimeBurst Time P10 8 P2 1 4 P3 2 9 P4 3 5 按照抢占式 SJF 调度会产生如下的结果:01 5 10 17 26 P2 在时间 1 到达。进程 P1 的剩余时间大于进程 P2的时间需求( 4 毫秒),所以进程 P1 被抢占,P2 被调度。这个例子的平均
15、等待时间是(10 - 1) + (1 - 1) + (17- 2) + (5 - 3)/4 = 26/4 = 6.5 毫秒(被调度时间减去到达的时间) 。 而采用非抢占式 SJF 调度的平均等待时间为 ( (0-0) + (8-1) + (12-3)(17-2)/ 4 7.75 毫秒( p1,p2,p4,p3 ). 优点:可证明 SJF 调度算法是最佳的算法, 因为它为指定的进程组给出了最小的平均等待时间。对短作业或短进程最为有利。缺点:对长作业不利, 特别是在抢占方式下, 可能会使长作业无限延迟。而且实际上无法预测下一CPU 瞬时段的长度。(3)优先级调度算法 抢占式的非抢占式的P4 P1
16、P3 P2 P1 P2 P4 P1 P3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 24 页 - - - - - - - - - 为每个进程赋予一个优先权,把CPU 分配给拥有最高优先权的进程。缺点: 优先调度算法可能导致一些低优先权进程无限的等待CPU(即无限阻塞)解决一个方法是老化( aging )是指逐渐地提高在系统中长时间等待的进程的优先权。(4)轮转调度算法( RR) 抢占式的分配给每一个进程一段时间,到时间轮转到下一个进程。若需要 CPU 的时间 分配的
17、时间量进程一结束就释放CPU ,让给下一个进程使用。(5)多级队列调度算法就绪队列划分为多个独立的队列。每个队列有自己的调度算法。进程不会在队列间移动。在队列间进行调度,这种调度通常实现为权限固定的抢占式调度或采用时间片机制。(6)多级反馈队列调度算法 抢占式的它综合考虑了多种因素,根据进程运行情况的反馈信息动态改变进程的优先级,按优先级别组织设置了规定 CPU 时间片的各就绪队列;对同一队列中的各就绪进程按FCFS或 RR 算法调度。优点:这种策略不必事先知道各种进程所需的执行时间,而且还可以满足各种类型进程的需要。如果一个 CPU 占用了太多的 CPU 时间,它将被移动到优先权更低的队列(
18、lower-priority queue )。这种策略把I/O 繁忙型进程和交互式进程放置到优先权更高的队列(higher-priority queue)。类似的,一个在低优先权队列中等待太久的进程可能会被移动到一个更高优先权的队列。这种老化形式避免了饥饿的发生。例如:进入就绪队列的进程被放到队列0。队列 0 中的进程被指定一个 8 毫秒的时间量。如果它不能在这个时间内完成, 将被移动到队列 1 的队尾。如果队列 0 是空的,那么队列 1 头部的进程被指定一个 16 毫秒的时间量。 如果它不能完成, 将被抢占并被放入队列 2。队列2 中的进程只有当队列0 和1 为空时以 FCFS原则运行。4、
19、调度准则(1)CPU 利用率(越大越好)(2)吞吐量(越大越好)(3)周转时间:从进程提交到进程完成的时间间隔(越小越好)(4)反应时间:从进程提交请求到首次产生响应的时间(越小越好)(5)等待时间:在就绪队列中等待的时间(越小越好)第 7 章 进程同步1、进程为什么需要同步和互斥(1)进程的同步:一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未获得消息之名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - - - - 前,该进程处于等
20、待状态,获得消息后被唤醒进入就绪态。(2)进程的互斥:由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥。2、信号量的含义信号量表示资源,初始化值非负。是用于解决进程间同步与互斥的通信量。信号量 = 0 时,表示可用资源的数量。 执行一次 wait (P) 操作意味着请求分配一个单位资源,因此的值减 1;当 0 时,表示已经没有可用资源。请求者必须等待别的进程释放该资源,它才能运行。而执行一个 signal(V)操作意味着释放一个单位资源,因此加1。若= 0,表示某些进程正在等待资源。因此要唤醒一个等待状态的进程,使之运行下去。3、临界资源
21、: 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。4、临界区(互斥区):在进程中涉及到临界资源的程序段叫临界区。5、信号量和自悬锁的区别(1)自悬锁:当一个进程处于临界区时,其它进程持续循环等待。繁忙等待浪费了CPU 周期,本来其它进程可以有效利用这些时间。在多处理机系统中非常有用。 自旋锁的优点是: 当期望短时间持有锁时,自旋锁很有用。(小王一直等着别人出来,自己不去睡觉)(2)信号量:为了克服对繁忙等待的需求,我们修改wait 和signal 信号量操作的定义。当一个进程执行 wait 操作且信号量不为正时,它必须等待。然而,进程可以阻塞自身,而不是繁忙
22、等待。block 操作将一个进程置入与该信号量关联的等待队列中并将进程状态设为等待。(小王可以去睡觉,等别人唤醒)6、经典的同步互斥问题(1)生产者消费者问题 一个生产者,多个消费者,公用一个缓冲区。定义两个同步信号量Empty表示缓冲区空否初始值为 1(根据缓冲区个数来设置)Full表示缓冲区满否初始值为 0 生产者进程While(True ) 生产一个产品;P(empty); / empty-1 产品送往 buffer; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共
23、 24 页 - - - - - - - - - V(full); / 唤醒消费者, full+1 消费者进程While(True ) P(full); / 看是否有产品, full-1 从 buffer 中取一个产品;V(empty); / 唤醒生产者, empty+1 消费该产品 一个生产者,多个消费者,公用个缓冲区定义两个同步信号量Empty表示缓冲区空否初始值为Full表示缓冲区满否初始值为生产者进程 i=0 While(True ) 生产一个产品;P(empty); /empty-1 产品送往 bufferi; V(full); / full+1 i=(i+1)%n; 消费者进程 j=
24、0 While(True ) P(full); /full-1 从 bufferj 中取一个产品;V(empty); /empty+1 消费该产品;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - j=(j+1)%n; m 个生产者, k 个消费者,公用 n 个缓冲区这个问题不仅生产者与消费者要同步,而且各个生产者,消费者之间还要互斥的访问缓冲区定义三个信号量Empty表示缓冲区空否初始值为 n Full表示缓冲区满否初始值为
25、0 Mutex协调进程间的互斥初始值为 1 生产者进程producer(i) While(True ) 生产一个产品;P(empty); P(mutex); 产品送往 bufferi; i=(i+1)%n;V(mutex); V(full); 消费者进程consumer(i) While(True ) P(full); P(mutex); 从 bufferj 中取一个产品;j=(j+1)%n V(mutex); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 24 页 -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统概念 2022年操作系统概念重点内容总结 2022 操作系统 概念 重点 内容 总结
限制150内