《计算机操作系统复习.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统复习.ppt(64页珍藏版)》请在三一办公上搜索。
1、计算机操作系统复习,主讲:王伦友,清华大学出版社 冯裕忠,Email:lyw0918163.COM,手机:13065012951,目 录,第2章4,第3章4,第4章4,第5章4,第1章4,操作系统概述,进程和线程,调度与死锁,存储管理,设备管理,目 录,第7章2,第8章2,第9章2,第6章4,文件管理,操作系统接口,Windows操作系统,UNIX操作系统,上机实验,第10章0,操作系统作为计算机系统资源管理者,1、处理机管理:分配和控制CPU。2、存储器管理:内存分配与回收。3、I/O设备管理:I/O设备的分配与操纵。4、文件管理:文件的存取、共享和保护。,什么是操作系统,1用户观点从用户的
2、观点看,操作系统应该提供一个人与计算机打交道的接口,也就是人机接口。用户可以通过操作系统提供的这个接口使用和控制计算机,从而达到计算机为用户服务的目的。接口的方式有:图形界面的接口(Graphical User Interface,GUI);命令行(Command Line,CL)接口;软件编程的接口,什么是操作系统,2系统观点 操作系统就是资源的分配者。操作系统要对I/O设备和用户程序加以控制,保证设备的正常运行,防止非法操作,及时诊断设备的故障等。从这个意义上讲,操作系统又是工作流程的调度者。,操作系统,计算机系统概述,计算机硬件组成,CPU实现,存贮器层次结构,磁盘驱动器,由程序所生成的
3、地址被称为虚拟地址(Virtual Address),而由存储器使用的地址称为物理地址(Physical Address)。完成检查和映射工作的装置被称为内存管理单元(Memory Management Unit,MMU)。它位于CPU芯片上或者CPU附近,在逻辑上MMU位于CPU和存储器之间。,存贮器相关概念,总线,操作系统的主要功能,上图说明了各条总线如何连接到CPU。,计算机主板,操作系统的地位,由此可见,操作系统是裸机之上的第一层软件,它只在核心态模式下运行,受硬件保护,与硬件关系密切。它不仅对硬件资源直接实施控制、管理,而且它的很多功能的完成是与硬件动作配合起来实现的,如中断系统。操
4、作系统的运行要有良好的硬件环境,这种硬件配置环境往往称做计算机的硬件平台。,操作系统是整个计算机系统的控制管理中心,其他所有软件都建立在操作系统之上,操作系统对它们既有支配权力,又为其运行建造必备的环境。因此,在裸机之上每加一层软件后,用户看到的就是一台功能更强的机器,通常把经过软件扩充功能后的机器称为“虚拟机”。在裸机安装操作系统之后,就为其他软件和用户提供了工作环境,往往把这种工作环境称为软件平台。,多任务系统与并行性,并发性(Concurrence),操作系统的主要特性,并发性是指两个或两个以上的事件或活动在同一时间间隔内发生。操作系统是一个并发系统,并发性是它的重要特征,操作系统的并发
5、性指它应该具有处理和调度多个程序同时执行的能力。多个I/O 设备同时在输入输出;设备I/O 和CPU计算同时进行;内存中同时有多个系统和用户程序被启动并交替、穿插地执行,这些都是并发性的例子。,采用了并发技术的系统又称为多任务系统(Multitasking System)。在计算机系统中,并发实际上是一个物理CPU 在若干道程序之间多路复用,这样就可以实现运行程序之间的并发,以及CPU 与I/O 设备、I/O 设备与I/O 设备之间的并行,并发性的实质就是对有限物理资源进行强制性多用户共享,以提高效率。在多处理器系统中,程序的并发性不仅体现在宏观上,而且体现在微观上(即在多个CPU 上)也是并
6、发的,又称并行的。并行性(Parallelism)是指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU 上同时执行。,共享性(Sharing),异步性(Asynchronism),虚拟性(Virtual),第二种是同时访问。系统中还有许多资源,允许同一时间内多个进程对它们进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是磁盘,可重入程序也可被同时访问。与共享性有关的问题是资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。共享性和并发性是操作系统两个最基本的特性,它们互为依存。一方面,资源的共享是因为程序的并发执行而引起
7、的,若系统不允许程序并发执行,自然也就不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。,共享性是操作系统的另一个重要特性。共享指操作系统中的资源(包括硬件资源和软件资源)可被多个并发执行的进程共同使用,而不是被一个进程所独占。资源共享的方式可以分成两种:第一种是互斥访问。系统中的某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程访问这些资源,即要求互相排斥地使用这些资源。当一个进程正在使用该资源时,其他欲访问该资源的进程必须等待,仅当该进
8、程访问完毕并释放资源后,才允许另一进程对该资源访问。这种同一时间内只允许一个进程访问的资源称临界资源,许多物理设备,以及某些数据和表格都是临界资源,它们只能互斥地被共享。,操作系统的第三个特性是异步性,或称随机性。在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“走走停停”。例如,一个进程在CPU 上运行一段时间后,由于等待资源满足或事件发生,它被暂停执行,CPU 转让给另一个进程执行。系统中的进程何时执行?何时暂停?以什么样的速度向前推进?进程总共要花多少时间执行才能完成?这些都是不可预知的,或者说该进程是以异步方式运行的,其导致的直接后
9、果是程序执行结果可能不唯一。,虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。显然,前者是实际存在的而后者是虚构假想的,采用虚拟技术的目的是为用户提供易于使用、方便高效的操作环境。例如,在多道程序系统中,物理CPU 可以只有一个,每次也仅能执行一道程序,但通过多道程序和分时使用CPU 技术,宏观上有多个程序在执行,就好像有多个CPU 在为各道程序工作一样,物理上的一个CPU 变成了逻辑上的多个CPU。,早期的计算机存在几个问题:(1)编程人员必须熟悉计算机的结构及所有外设。(2)计算机的利用率低。(3)程序员必
10、须提前预约使用计算机。(4)程序员独占使用计算机的全部资源。计算机的CPU和其他设备都在等待用户,而用户的处理时间大部分花费在程序的输入上,所以计算机的利用率非常低。(5)程序员必须牢记计算机使用的机器码。因为当时没有编程语言,程序员就必须牢记CPU所能认识的所有机器指令代码(这些机器码可都是二进制的啊)。,无OS,穿孔卡片,进程,2进程采用进程概念使得操作系统结构变得清晰,主要表现在:进程的切换由内核的进程调度程序统一管理。进程间的通信由信号量、管程、消息等机制完成,从而,一个进程无法有意或无意破坏其他进程的数据,提高了系统的安全性和可靠性。进程结构较好刻画了系统的并发性,动态地描述出系统的
11、执行过程,因而,具有进程结构的操作系统,结构清晰、整齐划一,可维护性好。,线程,3线程在早期操作系统中,进程是资源分配以及调度的基本单位。由于进程通信和切换的开销相当大,限制了系统中并发执行的进程数目,加之网络应用的快速发展,单靠进程是无能为力的,于是,近年来开始流行多线程结构的进程(MultiThreaded Process),亦叫多线程。在一个多线程系统中,进程是系统进行资源分配的单位,而线程才是系统进行调度的独立单位。所以,可以把线程也看作是一种构件,它是组成进程构件的更小的构件单位。,管程,4管程管程是管理共享资源的程序,对管程的调用表示对共享资源的请求与释放。管程可以被多个进程或管程
12、嵌套调用,但它们只能互斥地访问管程。管程应包含条件变量,当条件不满足时,可以通过对条件变量做延迟操作使调用进程等待,直到另一个进程调用管程过程并执行一个释放操作为止。,类程,5类程类程用于管理私有资源,对类程的调用表示对私有资源的操作。它仅能被进程及起源于同一进程的其他类程或管程嵌套调用链所调用。其本身也可以调用其他类程或管程。类程可以看作子程序概念的扩充,但一个类程可以包含多个过程,不像子程序仅仅一个。上面简单讨论了操作系统的构件,采用不同构件和构造方法可组成不同结构的操作系统。从操作系统的体系结构来看,可以把操作系统分成:整体式结构、层次式结构、虚拟机结构和客户服务器及微内核结构。,整体结
13、构,1.5.2 整体结构操作系统的整体式结构是基于结构化程序设计的一种软件结构设计方法。主要设计思想和步骤如下:把模块作为操作系统的基本单位,按照功能需要而不是根据程序和数据的特性把整个系统分解为若干模块,每个模块具有一定独立功能,若干个关联模块协作完成某个功能;明确各个模块之间的接口关系,各个模块间可以不加控制自由调用,数据多数作为全程变量使用;模块之间需要传递参数或返回结果时,其个数和方式也可以根据需要随意约定;然后,分别设计、编码、调试各个模块;最后,把所有模块连结成一个完整的系统。,层次结构,1.5.3 层次结构为了能让操作系统的结构更加清晰,易于扩充和移植,在模块接口结构的基础上产生
14、了层次式结构的操作系统。所谓层次结构,即是把操作系统划分为内核和若干模块,这些模块按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能,反之则不能,这样不但系统结构清晰,而且不构成循环调用。,虚拟机,1.5.4 虚拟机物理计算机资源通过多重化和共享技术可改变成多个虚拟机。这种技术的基本做法是:通过用一类物理设备来模拟另一类物理设备,或通过分时地使用一类物理设备,把一个物理实体改变成若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是虚幻的、感觉上的。多重化和共享硬部件的做法如下:CPU 调度程序使各个进程共享物理CPU,或者说
15、多重化出许多虚CPU,每个进程可分得一个;虚存管理使每台虚CPU 都有自己的虚存空间;Spooling 技术和文件系统提供了虚拟读卡机、穿卡机和行式打印机;各个用户的终端通过分时使用处理器时间,提供了虚拟机操作员控制台;每台虚拟机的磁盘是通过划分物理磁盘若干磁道而形成的,称作“小盘”。,CS系统,1.5.5 客户机/服务器(C/S)系统随着网络技术和分布式数据库技术的发展,产生了客户/服务器(Client/Server)结构和微内核结构的操作系统。客户/服务器结构的思想如下:将操作系统分成两大部分,一是运行在用户态并以C/S 方式活动的进程;二是运行在核心态的内核。除内核部分外,操作系统的其他
16、部分被分成若干相对独立的进程,每一个进程实现一类服务,称服务器进程,例如,提供文件管理服务、进程管理服务、存储管理服务、网络通信服务等等。(用户进程也在该层并以C/S 方式活动,是一种客户进程)。服务器进程的任务是检查是否有客户提出服务请求,如果有请求则在满足客户的要求后返回结果,于是,用户进程与服务器进程形成了客户/服务器关系。,进程控制块 PCB,为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而专门设置了一个称为“进程控制块-PCB”的数据结构。其中存放进程标识符、进程运行的当前状态、程序和数据的地址和CPU的环境信息。由程序段、数据段及进程控制块三部分构成一个
17、进程实体。,计算机系统的层次关系,产生死锁的必要条件,死锁的发生必须具备下列四个必要条件:1、互斥条件:指进程对所分配到的资源进行排它性使用。2、请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求 3、不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。4、环路等待条件:指在发生死锁时,必然存在一个进程资源的环形链,程序并发执行时的特征,1)间断性:由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间,形成了相互制约的关系。相互制约将导致并发程序具有“执行暂停执行”这种间断性的活动规律。2)失去封闭性:是多个程序
18、共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。3)不可再现性:程序在并发执行时,由于失去了封闭性,导致不可再现性。,进程和程序的区别,进程和程序是两个密切相关又有所不同的概念:、进程是动态的,程序是静态的。进程是程序的一次执行过程,程序是一组代码的集合。、进程是暂时的,程序是永久的。、进程与程序组成不同。进程的组成包括程序、数据和进程控制块。、进程与程序密切相关,一个程序可以对应多个进程;通过调用关系,一个进程可以包括多个程序;进程可以创建其他进程,程序则不能。,进程调度的功能,在多道程序系统中,用户进程数一般大于处理机的个数,这使进程为了运行而相互
19、争夺处理机。系统进程也需要使用处理机。因此,需按一定的规则动态地把处理机分配给就绪队列中的某个进程,以便进程的执行。分配处理机的任务是由进程调度程序执行。()记录系统中所有进程的有关情况及状态特征 将进程的相关信息(执行情况、状态特征等)记录在中并将其排在相应的队列中。()选择获得处理机的进程按一定的选择原则(、等),从就绪队列中选一进程,使其获得处理机。()处理机分配从就绪队列选一进程,将该进程从就绪队列中移出,恢复其现场,并将其状态改为执行。,虚拟存储器的特征,虚拟存储器具有以下主要特征:1多次性多次性是指一个作业被分成多次调入内存运行,在作业运行时只需将当前要运行的那部分程序和数据装入内
20、存即可;当要运行时尚未调入的那部分程序时,再将它调入。虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。2对换性对换性是指作业的运行过程中进行换进、换出,换进和换出能有效地提高内存利用率。3虚拟性虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。,IO设备的类型,1、按传输速率分类:第一类是低速设备:每秒钟几个字节至数百个字节的一类设备。第二类是中速设备,这是指其传输速率在每秒钟数千个字节至数万个字节的一类设备。中速设备有行式打印机 第三类是高速设备,这是指其传输速率在数百千个字节至数十兆字节的一类设备。典型的高速设备有磁带机、磁盘机、光
21、盘机等。2、按信息交换的单位分类第一类是块设备:这类设备用于存储信息。第二类是字符设备:其基本单位是字符,故称为字符设备。3、按设备的共享属性分类(1)独占设备:这是指在一段时间内只允许一个用户(进程)访问的设备,即临界资源。(2)共享设备:这是指在一段时间内允许多个进程同时访问的设备。(3)虚拟设备:这是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用。,处理死锁的基本方法,(1)预防死锁:是通过设置某些限 制条件,去破坏产生死锁的四个必要条件中的一个或几个条件,来预防发生死锁。(2)避免死锁:是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避
22、免发生死锁。(3)检测死锁:通过系统所设置的检测机构,及时地检测出死锁的发生,并精确地确定与死锁有关的进程和资源;(4)解除死锁:当检测到系统中已发生死锁时,须将进程从死锁状态中解脱出来。常用的实施方法是撤消或挂起一些进程。,无结构操作系统,OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,因此,有人把它称为整体系统结构。设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构。编制出的程序错误很多,给调试工作带来很多困难;增加了维护人员的负担。,进程控制块 PCB,为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而专门设置了一个称为“进程
23、控制块-PCB”的数据结构。其中存放进程标识符、进程运行的当前状态、程序和数据的地址和CPU的环境信息。由程序段、数据段及进程控制块三部分构成一个进程实体。,进程标识符,进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符:(1)内部标识符。为每一个进程赋予一个惟一的数字标识符。设置内部标识符主要是为了方便系统使用。(2)外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。,数据项,是最低级的数据组织形式,可把它分成以下两种类型:1、基本数据项。是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。2、组合数据项。它是由若干个基
24、本数据项组成的,简称组项。根据属性的不同,需要用不同的数据类型来描述。,文件操作,1、创建文件(creat)-利用creat来创建一个新文件或准备写一已存在的文件,并将文件打开,返回给用户一个文件描述符fd。用户进程每次都利用该fd对文件进行读/写操作。2、打开文件(open)3、关闭文件(close)-断开用户程序与该文件间的通路。4、读文件(read)-用户进程可利用打开文件后所获得的文件描述符fd和系统调用read,从指定文件中读出给定数目的字符,并送入指定的缓冲区中。5、写文件(write)-用户程序利用fd和系统调用write,从指定的缓冲区中将指定数目的字符写入指定的文件中。,GU
25、I 准则,减少用户的认知负担 保持界面的一致性。满足不同目标用户的创意需求 用户界面友好性 图标识别平衡性 图标功能的一致性 建立界面与用户的互动交流,同步机制应遵循的规则,(1)空闲让进。当无进程处于临界区时,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。(2)忙则等待。当已有进程进入临界区时,其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。(3)有限等待。对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。(4)让权等待。当进程不能进入自己的临界区时,应立即释放处理机。以免进程陷入“忙等”,线程与进程,、调度。在传
26、统的中,进程是拥有资源和独立调度的基本单位;在引入线程的中,线程是独立的调度单位,而进程是拥有资源的基本单位。、拥有资源。进程拥有资源而线程不拥有资源,但可所属进程的资源。、并发性。在引入线程的中,进程可并发,在同一进程内的多个线程间也可并发执行。提高了操作系统的并发性和吞吐量。、系统开销。进程(在分配资源等管理)开销大,而线程在切换时只需保存和设置少量寄存器内容。开销很小。,引起进程调度的原因,()当前运行进程执行结束。()当前运行进程因某种原因(如请求),从运行状态进入阻塞状态。()当前运行进程执行某种原语操作(如操作、阻塞原语),进入阻塞状态。()执行完系统调用等系统程序后返回用户进程。
27、()在采用抢占式调度方式的系统中,一个具有更高优选级的进程要求使用处理机,则当前运行的进程就进入就绪队列。()在分时系统中,分配给该进程的时间片已用完。,文件类型,一、按用途分类 为了便于管理和控制文件而将文件分成若干种类型。常用的几种文件分类方法有:1、系统文件2、用户文件3、库文件二、按文件中的数据形式分类1、源文件2、目标文件3、执行文件三、按存取控制属性分类1、只执行文件。不能读/写。2、只读文件3、读写文件,设备控制器的基本功能,1、接收和识别命令:在控制器中应具有相应的控制寄存器,用来存放接收的命令和参数,并对所接收的命令进行译码。2、数据交换:这是指实现CPU与控制器之间、控制器
28、与设备之间的数据交换。3、标识和报告设备的状态 4、地址识别:系统中的每一个设备也都有一个地址,而设备控制器又必须能够识别它所控制的每个设备的地址 5、数据缓冲:由于IO设备的速率较低而CPU和内存的速率却很高,故在控制器中必须设置一缓冲器。6、差错控制:设备控制器还兼管对由IO设备传送来的数据进行差错检测。,作业题,1进程管理的功能包括()。A.作业和进程调度 B.进程控制、进程通信C.进程同步 D.以上都是2网络操作系统的特性()不是。A分布性 B自治性C互连性 D自愈性3进程的三状态模型()不是。A.运行(running)态 B.就绪(ready)态C.阻塞(blocked)态 D.停止
29、(stop)态动4非进程和程序的主要区别是()A.进程是动态的,程序是静态的 B.进程与程序的组成相同C.进程是暂时的,程序是永久的 D.进程与程序的组成不同5常用的动态分区管理的空闲区查找算法有()。A最佳匹配(best fit)B首次匹配(first fit)C下次匹配(next fit)D以上都是,作业题,6以下不是程序并发执行时的特征的是()。A间断性 B可再现性C失去封闭性 D不可再现性7指出不是进程调度的功能的是()A记录系统中所有进程的有关情况及状态特征 B选择获得处理机的进程C释放处理机资源 D处理机分配8.在现代操作系统中,可以把对作业的调度按层次划分,指出不是的是()A.高
30、级调度 B.低级调度C.高速调度 D.中级调度9调度性能的评价()。ACPU利用率、系统吞吐量 B.系统吞吐量、周转时间C.周转时间、响应时间 D.以上都是10在静态优先权中,确定进程优先权的依据有()。A进程的类型 B进程对资源的需求C用户要求 D以上都是,作业题,1操作系统作为计算机系统资源管理者,以下错误的是()。A.作业和进程调度 B.处理机管理C.I/O设备管理 D.存储器管理2推动操作系统发展的主要动力()不是。A方便用户 B不断提高计算机资源利用率C互连性的要求 D器件的不断更新换代3进程的三状态模型()不是。A.运行(running)态 B.就绪(ready)态C.阻塞(blo
31、cked)态 D.停止(stop)态动4非进程和程序的主要区别是()A.进程是动态的,程序是静态的 B.进程与程序的组成相同C.进程是暂时的,程序是永久的 D.进程与程序的组成不同5用户接口有()。A命令接口 B程序接口C图形用户接口 D以上都是,作业题,6以下不是通常PCB应包含的信息()。A描述信息 B解释信息C管理信息 D资源清单7指出不是分区的分配与回收四种方式的是()A释放区与上下两个空闲区相邻 B释放区与上下两个空闲区相邻C释放区与上空闲区相邻 D释放区与下空闲区相邻8.指出不是总线系统的是()A.数据总线 B.地址总线C.高速总线 D.控制总线9文件目录的管理通常有几个要求()。A实现按名存取 B.文件共享C.允许文件重名 D.以上都是10不是顺序文件特性的()。A每一条纪录长度可以不一样 B每一条纪录长度必须一样C增加数据从最后一条开始 D找寻数据时要从头开始,名词解释,进程控制块 PCB无结构操作系统进程标识符前趋图数据项存储共享文件操作地址映射GUI 准则虚拟存储器,简、综述,处理死锁的基本方法计算机系统的层次关系OS作为计算机资源的管理者,主要功能产生死锁的必要条件同步机制应遵循的规则程序并发执行时的特征线程与进程的比较,简、综述,进程和程序的区别引起进程调度的原因进程调度的功能文件类型虚拟存储器的特征设备控制器的基本功能IO设备的类型,