软件设计师培训——第四讲王宇东北大学网络中心2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn提纲操作系统基础知识操作系统基础知识相关试题2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识操作系统OperatingSystem,OS操作系统的作用用户观点:用户与计算机之间的接口。资源管理观点:计算机资源的管理者。进程观点:由一个系统核心和若干并发运行的程序(进程)组成。分为用户进程和系统进程。分层观点:操作系统通常采用分层结构实现,各层次的程序按照一定的结构组织并协调工作。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)操作系统的分类根据使用环境和对用户作业的处理方式划分,操作系统的基本类型可以分为批处理操作系统、分时操作系统和实时操作系统3大类型。批处理操作系统BatchProcessingOS,提交作业,操作系统进行调度。分时操作系统TimeShareOS,多个用户同时以会话方式控制自己程序的运行,每个用户都感到似乎各自有一台独立的、支持自己请求服务的系统。实时操作系统RealTimeOS,通常是专用的。实时系统并不强调资源利用率,而更关心及时性(时间紧迫性)、可靠性和完整性。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)网络环境下的操作系统又分成网络操作系统和分布式操作系统。网络操作系统NetworkOS,用户需指明欲使用哪一台计算机上的哪个资源,逻辑上不是紧密耦合的系统。分布式操作系统DistributedOS,分布式操作系统要求一个统一的操作系统,负责全系统的资源分配和调度,为用户提供统一的界面。它是一个逻辑上紧密耦合的系统。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)操作系统的结构设计模式模块化结构,各模块相互独立,通过规定的接口互相调用。层次化结构,由若干模块按照某种逻辑关系进行分层组合,简化了接口的设计。客户/服务器结构,最小的核心,其它都是作为用户进程运行,可靠性高。适用于分布式操作系统。对象模式,基于面向对象思想设计,适用于网络操作系统和分布式操作系统,如:WindowsNT。对称多处理模式,适合共享存储器结构的多处理机系统。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)操作系统主要有5个功能模块:处理器管理、存储管理、设备管理、文件管理和用户接口。处理机管理(进程管理)进程是一个程序关于某个数据集的一次运行。程序是静态的概念,是指令的集合,因而进程具有动态性和并发性。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)进程是进行系统资源分配、调度和管理的最小单位。现代操作系统中还引入了线程(Thread)这一概念,它是处理器分配资源的最小单位。属于同一个进程的线程之间共享该进程拥有的资源。进程的状态及其转换最基本的状态有3种,即运行、就绪和阻塞。运行:正占用处理器。就绪:只要获得处理器即可运行。阻塞:正等待某个事件的发生。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)从静态的观点看,进程由程序、数据和进程控制块组成;从动态的观点看,进程是计算机状态的一个有序集合。进程是一个动态的概念,在操作系统中,引入数据结构--进程控制块(简记为PCB)来标记进程。PCB是进程存在的唯一标志,PCB描述了进程的基本情况。进程控制块PCB,包括:进程标示、状态、优先级、控制信息、队列、访问权限、现场进程控制块保存进程状态、进程性质(如优先程度)、与进程有关的控制信息(如参数、信号量和消息等)、相应队列和现场保护区域等。进程控制块随着进程的建立而产生,随着进程的完成而撤消。操作系统核心通过PCB管理进程,一般PCB是常驻内存的,尤其是调度信息必须常驻内存。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)进程管理涉及到进程控制、队列管理和进程调度等。操作系统提供了对进程的基本操作,称为原语。这些原语包括创建原语、阻塞原语、终止原语、优先级原语和调度原语。进程调度即处理器调度,它的主要功能是确定在什么时候分派处理器,并确定分给哪一个进程。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)进程调度的方法基本上分为两类:非剥夺调度与剥夺调度。所谓非剥夺调度是指一旦某个作业或进程占有了处理器,别的进程就不能把处理器从这个进程手中夺走;相反,如果别的进程可将处理器从这个进程手中夺走则是剥夺调度。进程调度的算法采用服务于系统目标的策略,对于不同的系统与系统目标,常采用不同的调度算法,如先来先服务、优先数调度和轮转法等。先来先服务(FCFS)调度算法,又称先进先出(FIFO)。就绪队列按照先来后到原则排队。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)优先数调度。优先数反映进程的优先级,分为静态优先级和动态优先级。轮转法(RoundRobin)。就绪队列按照FCFS方式排队,每个建成执行一次占用处理器的时间都不能超过规定的时间单位(时间片)。若超过,则自行释放自己占有的CPU而排到就绪队列的末尾,等待下一次调度。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)管程是一种并发性的构造,包括用于分配一个特定的共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。许多进程可能打算在不同的时间进入管程,但在管程边界上严格地实施互斥,在某一时刻,只允许一个进程进入。当管程中已有一个进程时,其他希望进入管程的进程必须等待。这种等待是由管程自动管理的。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)死锁系统的一种出错状态,需要尽量预防和避免。产生死锁的主要原因是供共享的系统资源不足、资源分配策略和进程的推进顺序不当。死锁的必要条件:互斥条件、保持和等待条件、不剥夺条件、环路等待条件。解决死锁的策略预防和避免检测与恢复2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)多重处理器系统与线程多重处理系统的主要目标是为了提高系统的处理能力,也是为了提高系统的可靠性。多重处理系统的操作系统除了具有单处理器操作系统的功能以外,还应提供处理器的负载平衡、处理器发生故障后的结构重组等功能。Solaris和WindowsNT等操作系统支持SMP系统。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)存储管理存储管理主要是指对内存储器的管理,负责对内存的分配和回收、内存的保护和内存的扩充。存储管理的目的是尽量提高内存的使用效率。单一连续区管理,简单,缺乏对内存的保护,容易引起冲突。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)分区存储管理基本思想:把内存划分成若干个连续区域,每个分区装入一个作业。要求作业一次性装入内存,且分区内部地址必须连续。固定分区存储管理,固定划分分区大小。可变分区存储管理,动态划分,需要时合并自由区和拼接存储区域(碎片收集)。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)存储分配算法首次适应算法,找到第一个可以用的分区。循环适应算法,每重新分配一次都在当前之后寻找。最佳适应算法,最小的可用分区。最差适应算法,最大的可用分区。交换与覆盖技术,多道程序环境下用来扩充内存的两种方法。覆盖技术,小内存运行大作业,区分不同的程序段共享同一段内存,彼此覆盖。常用在一个作业里。交换技术,暂时不用的数据转到外存上。主要是在作业之间进行。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)页式存储管理程序的逻辑空间和内存的物理空间按照同样的大小划分成若干面,以页面为单位进行分配。系统虚地址:页号+位移。系统为每一个进程建立一个页表。段式存储管理把用户作业按逻辑意义上有完整意义的段来划分,以段作为内、外存交换的空间尺度。系统虚地址:段号+位移。系统为每一个进程建立一个段表。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)段页式存储管理根据程序模块分段,段内分页,内存被划分成定长的页。系统虚地址:段号+页号+位移。系统为每一个进程建立一个段表,为每个段建立一个页表。管理采用段式分配、页式使用。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)页面调度减少页面被频繁的装入和调出,“抖动”。最优算法(OPT),选择不再使用或最远的将来才被使用的页。随机算法(RAND),随机选择。先进先出(FirstinFirstout,FIFO)算法,又称轮转法(RR)。最近最少使用(LeastRecentlyUsed,LRU)算法。选择离当前时间最近的一段时间内使用最少的页。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)最不经常使用的页面先淘汰(LFU,leastfrequentused)最近没有使用的页面先淘汰(NUR)最优淘汰算法(OPT,optimalreplacementalgorithm)设备管理设备管理是对计算机输入/输出系统的管理。主要任务有:实现对外部设备的分配和回收;启动外部设备;控制输入/输出设备与处理器或主存间交换数据;实现对磁盘的调度;处理设备的中断;实现虚拟设备等。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)外部和主存之间常用的传输控制方式程序控制方式中断方式直接存储访问(DMA)方式通道方式设备的分配设备分配原则静态分配:用户作业执行之前,系统一次性分配。不会出现死锁,但是设备的使用效率低。动态分配:进程执行过程中根据执行需要分配。有利于提高设备使用效率,但是有可能造成进程死锁。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)设备分配原则先请求先分配优先级高者先分配磁盘调度算法访问磁盘的时间因子有三部分组成:查找(查找磁道)时间、等待(旋转等待扇区)时间和数据传输时间。查找时间是决定因素。磁盘调度算法先来先服务(FCFS)调度。最短查找时间优先(SSTF)调度。SSTF查找距离磁头最短(也就是最短查找时间最短)的请求作为下一次服务对象。SCAN调度,电梯算法。磁头前进方向L的最短查找时间优先算法,排除往复运动,但有利于中间磁道的请求。2020年6月30日王宇东北大学网络中心wangy@mail.neu.edu.cn操作系统基础知识(续)文件管理对外部存储设备上的以文件方式存放的信息的管理。文件和文件系统文件是信息的一种组织方式,是存储在辅助存储器上的具有标示名的一组信息集合。操作系统的文件系统包括两个方面:一方面包括负责管理文件的一组系统软件,另一方面包括被管理的对象文件。2020年6月30日王宇东北大学网络中心wangy@m