资源描述
内容简介:从程序的角度数据结构算法从资源管理的角度处理机(进程)管理存储器管理文件管理设备管理用户接口,第3部分操作系统,操作系统的概念、作用、功能,操作系统的概念操作系统是计算机系统中的一个最基本的系统软件,它由一系列程序模块组成。从资源的角度看,操作系统管理和控制计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,从而提高系统资源的利用率。操作系统的作用管理系统资源提供良好用户界面操作系统的功能处理机(进程)管理存储器管理文件管理设备管理用户接口,操作系统的特征、分类,操作系统的特征并发性共享性随机性操作系统的分类批处理系统:(1)成批,(2)多道。目标:提高机器的使用效率,增加作业吞吐量。分时系统:多路性,独立性,交互性,及时性。目标:用户响应的及时性实时系统:实时性,高可靠性个人操作系统:方便友好的用户接口,丰富功能的文件系统网络操作系统:网络管理、通信、资源共享、系统安全等分布式系统:统一操作系统,多机合作,系统重构,健壮,容错能力嵌入式系统:高可靠性,实时性,低功耗,智能化管理,操作系统的接口、结构,操作系统的接口操作员:操作命令程序员:系统调用操作系统的结构整体结构层次结构客户/服务器(微内核)结构,操作系统的硬件环境,特权指令只允许操作系统使用设置程序状态字、设置中断屏蔽,启动I/O、设置时钟、清内存、置中断向量等CPU的状态:管态、目态程序状态字PSW存储体系:高速缓存,内存,外存中断技术强迫中断:非有意识安排的中断,如IO中断、硬件故障中断、时钟中断等自愿性中断:正在运行的程序有意识安排的中断,如编程中设置的中断。中断优先级:系统根据引起中断事件的重要性和紧迫程度,由硬件将中断源分为不同的级别,称为中断优先级。中断屏蔽:中断的处理过程:保护被中断的程序的现场;分析中断原因;转去执行相应的中断处理程序;恢复现场继续执行原来被中断的程序。,I/O控制方式,循环测试方式中断处理方式DMA方式通道方式,进程的概念,为了描述程序执行过程的“走走停停”,引入了进程。一个程序在一个数据集上的一次执行。进程是动态的。进程和程序的联系和区别:一个程序可以对应多个进程。程序是静态的,进程是动态的。可重入程序(纯代码):执行过程中不变的代码。,进程的特性,并发性:系统中同时存在着若干进程。动态性:进程状态不断变化。独立性:进程是分配资源的独立单位。交往性:与其它进程交换信息。异步性:以不可预知的速度向前推进。结构性:一个进程包括三个部分:程序,数据,进程控制块。,进程控制块(PCB),定义:描述进程外部特性的数据结构。内容:标识信息:进程标识符;特征;当前状态。说明信息:拥有资源和等待资源。内存地址、I/O设备、外存、数据区等。管理信息:进程优先数;队列指针。现场信息:记录进程释放处理机时的现场信息,PSW、通用寄存器等。作用:PCB是进程存在的唯一标志。进程的动态、并发特性通过PCB表现出来。,进程状态及其转换,进程基本状态就绪:拥有了除CPU之外的所有资源。运行:进程在CPU上运行。等待:进程等待某事件发生,如:读磁盘,打印、读文件等等。进程状态之间的转换创建一个进程时,进程处于就绪状态。随着拥有(或等待)的资源不同,进程在不同的状态下转换。进程的整个生命周期就是在不同的状态转换中。,就绪,运行,等待,创建,撤消,进程调度,时间片到;更高优先级进程,事件已发生,等待某事件,进程状态及其转换,注意:1、进程的三个基本状态。2、什么事件可以导致进程状态之间的转换。3、一个进程的状态转换可能引起其它进程的状态转换。例如:一个进程从运行等待,就会有另一个进程从就绪运行。4、哪些状态的转换是可能的,哪些是不可能的。如:等待运行()。5、一个完整的进程由程序、数据、进程控制快组成。进程的任何状态变化都在PCB之中反映出来。,进程状态及其转换,进程队列,处在就绪状态和等待状态的进程不止一个。(但在任一时刻,处在运行状态的进程最多只有一个)。引起进程状态变化的原因也很多。如何组织、管理这些进程?PCB中有一个连接指针,用于组织PCB。就绪队列、等待队列、运行队列。根据等待的事件不同,可以组织多个等待队列。,进程控制,1、进程控制的内容:创建进程,撤消进程,挂起进程,阻塞进程,唤醒进程等等。2、原语:为完成某些特定的功能而编制的一段系统程序。特点:不可中断。也称做“原子操作”。3、用于进程控制的原语:创建原语撤消原语唤醒原语阻塞原语,进程调度,从就绪队列中按一定的策略选择一个进程,使其占有处理机。进程调度的时机正在运行的进程运行完毕。正在执行的进程被阻塞,加入等待队列时间片到高优先级的进程进入就绪队列进程调度的算法先来先服务法时间片轮转法(RR)最高优先级调度算法多级队列反馈调度法,先来先服务法,根据进程到达就绪队列的次序,总是选择先到达的进程运行。优点:公平性;管理简单。由于进程到达的随机性,可能使系统中的短作业等待时间长。,时间片轮转法(RR),时间片:系统允许进程一次使用处理机的最长时间。回忆:分时系统的工作原理。工作原理:就绪队列中的进程,每次最多使用一个时间片。硬件支持:计时器。时间片到,发生“计时中断”。问题:时间片的大小如何确定?就绪队列长短:越长,时间片越短。响应时间的要求计算机的性能进程切换的系统开销:一个进程让出处理机,另一个进程占有处理机。,最高优先级调度算法,优先级的概念优先数和优先级的区别总是从就绪队列中选择优先级最高的进程。问题1:优先级如何确定?进程类别:系统进程,用户进程,前台,后台等进程运行时间作业的优先级等问题2:当一个更高优先级的进程到达就绪队列时,如何处理?抢占式非抢占式:一旦分配CPU,就一直占用,直到主动放弃为止。问题3:如果一个低优先级的进程在就绪队列中等待太长时间?动态优先数:进程的优先级随系统情况不断变化,多级队列反馈算法,先来先服务、时间片轮转与优先数结合。按优先级将作业排成不同的队列,有不同时间片。先按优先级调度,优先级相同的第n级按时间片轮转,其它按先来先服务调度。优先级的调整时间片到:降低等待进程被唤醒:加入相同优先级队列,进程同步与互斥,临界资源:同一时间只能被一个进程使用。临界区:并发进程中与临界资源有关的程序段。相关临界区:并发进程中涉及相同变量的那些临界区相关临界区的三个管理要求某一时刻最多只有一个进程进入临界区。如果一个进程请求进入临界区,必须在有限的时间内进入。一个进入临界区的进程,要在有限的时间内退出。进程互斥当若干进程都要使用某个共享资源时,任何时刻只允许一个进程去使用该资源,其他要使用的进程必须等待,直到该资源的占用者释放了资源。进程同步进程之间一种直接的协同工作关系,它们之间互为条件,通过相互发送消息来实现合作。同步机制:把其他进程需要的消息发出去,也能测试自己需要的消息是否到达。,信号量与PV原语,信号量:一个整数值,其值表示资源数目。0:可用资源的数量=0继续;若信号量0进程阻塞。V原语:物理含义:释放一份资源。定义:(1)信号量减1(2)如果信号量=0,唤醒等待进程,否则,继续运行。,进程通信,进程通信:进程之间的信息交换。也称“高级通信”。低级通信:进程之间传递控制信息。同步与互斥。进程通信的方案共享内存消息机制消息缓冲机制信箱通信管道基础:文件系统FIFO高级通信原语Send()Receive(),进程死锁,死锁的概念死锁产生的原因资源分配不合理进程推进速度不合理死锁的必要条件资源的互斥使用资源的不可抢占占有并等待(资源的部分分配)资源的循环等待死锁预防打破死锁的必要条件之一静态分配,剥夺资源,按序分配死锁避免安全状态银行家算法死锁检测与解除资源分配图绘制方法检测是否存在死锁,存储器管理,存储器管理的功能内存的分配和回收地址变换内存共享与保护内存扩充地址映射静态地址映射动态地址映射内存扩充技术覆盖技术交换技术,可变分区存储管理,基本原理在作业要求装入主存时,根据作业的大小从空闲内存区中“切出”一片连续的区域分区的大小和个数是不确定的初始时,系统中只有一个连续的用户区域,随着作业的到达和撤消,用户区就被划分为若干个大小不等的区域。内存分配算法最先适应最优适应最坏适应内存回收上空闲区和下空闲区四种情况,空闲区的变化内存保护策略基址寄存器、限长寄存器碎片问题移动技术,页式存储管理,基本原理“等分”内存。把内存划分为大小相同的“块”。把用户作业空间划分为大小相同的“页”。页和块的大小相同。在把作业加载到内存时,页和页之间不再连续。但页内连续。也不必把所有的页都一次性加载内存,只需要加载那些马上要用到的页。其余的页在需要时再加载。地址变换逻辑地址:页号+页内地址页表,两次访问内存快表多级页表内存分配位示图空闲页面表空闲页面链表,虚拟页式存储管理,虚拟存储技术的理论基础原理局部性原理:进程往往会不均匀地高度局部化地访问内存。时间局部性:刚刚被访问的页,很可能在不久的将来还要访问。例如:循环;子程序;栈;用户记数和总计的变量等。空间局部性:某个页面被访问,很可能它相临的页也要被访问。例如:数组遍历;代码程序的执行;等等。页表扩充驻留位(中断位),访问位,修改位,保护位,禁止缓存位缺页中断,虚拟页式存储管理,页面淘汰算法OPT(最优)FIFO(先进先出)LRU(最近最久未使用)LFU(最近最少使用)缺页中断率页面数页的大小编程方法页面淘汰算法颠簸(抖动)问题,虚拟页式存储管理,例1:引入虚拟存储技术的前提是:A)存储共享目的B)存储保护目的C)存储访问的局部性原理D)多道程序设计思想【分析】虚拟技术的理论基础是程序执行的局部性【答案】C例2:下列哪一个不是引起系统发生抖动的原因?A)页面尺寸过大B)页面尺寸过小C)程序编制不合理D)页面淘汰算法不合理【分析】引起系统发生抖动的原因:页面数,页的大小,编程方法,页面淘汰算法【答案】A,文件管理,文件概念命名了的数据项的集合。每一个文件都有一个唯一的文件名。对文件实现“按名存取”。文件的分类文件的结构逻辑结构:流式文件,记录式文件物理结构:顺序,索引,链接,Hash结构,索引顺序UNIX的三级索引结构文件的存储介质“块”的概念顺序存取设备:磁带随机存取设备:磁盘物理地址:柱面号,磁头号,扇区号按柱面存放块号与物理地址的转换,文件目录,实现“按名存取”的手段文件控制块(FCB)树型目录结构路径当前目录目录的改进名号目录项:文件名,文件内部号基本目录项减少访问磁盘的次数,提高文件目录检索速度例题:下列哪一项与文件的物理结构有关?A)文件长度B)用户对文件的存取方式C)文件中的记录个数D)文件目录的结构【分析】文件的物理结构由存储介质的性质和用户的使用方式决定【答案】B,文件的操作,用系统调用实现建立文件:create(文件名,参数表)打开文件:open(文件名,参数表)读文件:read(文件名,记录键,内存位置)写文件:write(文件名,记录键,内存位置)关闭文件:close(文件名)撤消文件:delete(文件名)指针定位:seek(fd,新指针位置),文件系统的实现,存储空间的管理位示图块号与字号、位号之间的关系空闲块表空闲块链单链成组链实现文件系统的表目系统打开文件表用户打开文件表PCB指向用户打开文件表记录的成组与分解硬件支持:内存缓冲区块因子记录分解的过程,文件系统的安全与性能,文件系统的安全备份存取控制表UNIX的存取控制表:三类用户,三种权限用ls-l命令列目录的结果的含义drwxr-xr-4userwheel512chmod命令口令密码文件系统的性能文件系统的物理基础:磁盘设备块高速缓存合理分配磁盘空间:按柱面存放磁盘的驱动调度信息的优化分布磁盘读/写的过程:读时间、处理时间在处理记录时,磁盘继续旋转,设备管理,设备分类存储设备,输入输出设备块设备,字符设备独占设备,共享设备,虚拟设备设备管理的目标为用户提供一个透明的接口,把用户和硬件的物理特性分开(设备无关性)。提高设备与设备之间、设备与CPU之间的并行程度设备的分配和回收设备管理的功能进行设备的分配和回收。缓冲区管理。解决设备和CPU速度不匹配的问题。设备驱动,实现I/O操作。外部设备中断处理。虚拟设备及其实现,通道技术,通道:是一个独立于CPU的、专门管理I/O的处理机。它控制设备直接与内存进行数据交换。通道有自己的通道指令,这些通道指令组成通道程序。通道通过执行通道程序来控制设备的操作。通道分类:字节多路通道:连接慢速设备;轮转方式同时控制多台设备工作。成组多路通道:连接中速设备(磁带)。选择通道:连接高速设备。通道的连接通道、控制器、设备交叉连接通道的工作原理通道命令字(CCW)通道地址字(CAW)通道状态字(CSW),通道的工作过程,CPU通道,根据用户的请求和设备特点准备通道程序,向通道发“启动I/O”命令,调度进程运行,有中断吗?,Y,N,接收启动命令,执行通道程序,执行完?,置通道状态字(CSW),发中断信号,Y,N,缓冲技术,设备管理中的问题CPU速度与设备速度不匹配的问题。传输大量数据时中断次数太多。DMA或通道的“瓶颈”问题。缓冲的实现方法专用硬件缓冲器。软件缓冲:在内存中划出若干专用区域。专用缓冲区。共享缓冲区。缓冲的种类单缓冲:匹配了速度,但不能并行。双缓冲:既解决了速度匹配,又可以并行。当设备很多时,实现起来很困难。多缓冲:系统中有多个缓冲区,一些专门用于输入,另一些专门用于输出。缓冲池:多个进程共享,既可以做输入,又可以做输出。,虚拟设备spooling技术,同时外围设备联机操作(SimultaneousPeripheralOperationOnLine)提高独占设备的利用率。把一台独占设备模拟成共享设备的技术。硬件支持:大容量、高速度的存储设备的支持。为用户进程分配的是外存上的固定区域,而不是设备本身。Spooling系统的组成预输入程序:负责从输入设备上读取数据,并存放在输入井中。需要时,再将数据从输入井读到进程的内存区域中。缓输出程序:接收来自进程的输出数据,存入输出井中。输出设备空闲时,再把数据读到输出设备上。井管理程序:负责分配输入井和输出井的存储空间。,设备分配,独占设备分配设备绝对号与相对号用“设备类、相对号”申请设备设备分配:建立绝对号与“设备类、相对号”之间对应关系采用动态分配方式分配策略:先请求先服务,最高优先级者先服务可能发生死锁,考虑系统的安全性共享设备分配磁盘驱动调度策略移臂调度先来先服务最短寻道时间优先电梯法(扫描算法)旋转调度同一磁道上的不同扇区。不同磁道上的不同扇区。不同磁道上的具有相同编号的扇区。设备独立性,例题,例:某系统对磁盘初始化时把每个盘面分成8个扇区,今有8个逻辑记录被存放在同一个磁道上供处理程序使用,处理程序要求顺序处理这8个记录,每次请求从磁盘上读一个记录,然后对读出的记录要花5毫秒的时间处理,以后再读下一个记录进行处理,直到8个记录都处理结束。假定磁盘转速为20毫秒/周,则处理这8个记录所花费的时间是多少?【分析】读一个记录需要2.5毫秒。处理一个记录的时间为5毫秒。当处理完一个记录(5毫秒)后,读写磁头已旋转到第4个记录位置。为了处理第2个记录,必须等待磁盘把第2个记录旋转到读写磁头位置下面。需要15毫秒的延迟时间。因此,总时间为:8(2.5+5)+715=165MS优化分布:,1,4,7,2,5,8,3,6,所需时间:8(2.5+5),操作系统结束,
展开阅读全文