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