操作系统教程新_第1页
操作系统教程新_第2页
操作系统教程新_第3页
操作系统教程新_第4页
操作系统教程新_第5页
已阅读5页,还剩584页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统原理

PrinciplesofOperatingSystem

2016年4月2计划安排总课时:56学时理论教学:44课时实验教学:12课时3教材:孙钟秀,费翔林,骆斌.操作系统教程(第4版).高等教育出版社

参考书:汤子瀛等.计算机操作系统.西安电子科技大学出版社庞丽萍.操作系统原理.华中理工大学出版社梁红兵等.《计算机操作系统学习指导与题解》.西安电子科技大学出版社4本课程地位专业核心课程考研核心课程技术开发的理论基础5学习方法认真学习积极思考加强交流开阔眼界,打开思路6本课程主要内容第一章操作系统概论第二章处理器管理第三章同步、通信与死锁第四章存储管理第五章设备管理第六章文件管理操作系统的作用:管理系统软硬件资源;扩展计算机的功能;向用户提供服务。处理机管理存储管理设备管理文件管理用户接口7第一章操作系统概论1.1操作系统概观1.2操作系统的形成和发展1.3操作系统纵览81.1操作系统概观一、操作系统的定义你所用过的操作系统你知道下列哪些是操作系统吗?

DOSLINUXWINDOWSTURBO-CWORDFOXPROUNIXVI一个C语言源程序9流行的操作系统微软:Windows系列(以前MS-DOS)UNIX家族:Solaris,AIX,HPUX,SVR4,BSD, ULTRIX自由软件:Linux,freeBSD,MinixIBM:AIX,OS/390,OS/2,OS/400,PCDOS其他:Mach,MacOS,NetWare,……10你用过的操作系统能做什么?各种命令:dircopydelformat启动、结束用户程序系统调用:例如INT指令WINDOWS、UNIX等提供多任务或多用户环境11你知道操作系统不能做什么?不做天气预报不做房屋设计不是编译程序总之,操作系统不直接解决最终具体应用问题,也不负责编译源程序...12操作系统是什么操作系统为你完成所有

“硬件相关、应用无关”的工作,以给你

方便、效率、安全131.操作系统定义

操作系统(OS:operatingsystem):管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户提供方便而有效地使用计算机良好运行环境的最基本的系统软件。14图1.1计算机系统组成2.操作系统的地位计算机系统软件硬件(裸机)应用软件系统软件操作系统支撑软件编译程序、数据库……15操作系统在计算机系统的地位:紧贴系统硬件之上,所有其他软件之下,是各种软件的基础运行平台。计算机硬件操作系统支撑软件应用软件应用用户应用开发人员操作系统开发人员图1.2计算机系统的软硬件层次结构16二、操作系统的作用(1)操作系统作为资源的管理者和控制者。资源管理对象:硬件资源:处理器、存储器、外部设备等信息资源:程序和数据资源管理的内容:

记录资源使用情况,确定资源分配策略,实施资源的分配和回收等17资源管理的技术:资源复用空分复用共享:例如主存和辅存时分复用共享:例如处理器资源虚化(虚拟)把一个物理实体映射为若干个对应的逻辑实体。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。例:CPU--每个用户(进程)的"虚处理机"

存储器--每个进程都占有的地址空间(虚拟主存)显示设备--多窗口或虚拟终端资源抽象资源复用和虚化主要解决物理资源不足的问题,资源抽象解决资源的易用性。资源抽象是指通过创建软件来屏蔽硬件资源的物理特性和接口细节,简化对硬件资源的操作、控制和使用。三种最基本的抽象:进程抽象、虚存抽象、文件抽象18(2)操作系统作为扩展机或虚拟机

OS自身包含了若干层软件,因此当在裸机上覆盖上OS后,便可获得一台功能显著增强,使用更加方便,安全可靠性更好,效率明显提高的扩展器或多层虚拟机。在裸机上添加:设备管理、文件管理、存储管理、处理机管理;另外,为合理组织工作流程:作业管理、进程管理。19(3)操作系统作为用户接口和服务提供者。操作系统处于用户和计算机硬件之间,用户通过操作系统来使用计算机系统。分两类接口:操作接口:操作控制命令:字符型用户界面:命令行方式、批命令方式图形用户界面作业控制语言(命令)程序接口:应用程序需要获得操作系统服务,就必须利用系统提供的程序接口——系统调用20三、操作系统的功能

1.处理机管理2.存储管理3.设备管理4.文件管理5.网络与通信管理6.用户接口211.处理机管理 处理机是最重要的资源,现代操作系统采用多道程序设计技术,组织多个作业并发执行,共享处理机,按照某种算法(分时、优先级)交替地使用处理机。处理机管理包括:进程控制和管理进程同步和互斥进程通信进程死锁线程控制和管理处理机调度222.存储管理存储管理要具备下列功能:主存分配

地址转换:把程序中的逻辑地址映射为物理地址

存储保护:使多道程序间互不干扰主存共享:存储扩充:用辅存扩充主存,实现“虚拟存储器”233.设备管理最庞大、琐碎的部分,因为:

物理设备品种繁多、用法各异

各种外设能和主机并行工作主机与各类外设速度极不匹配,级差很大设备管理应具备的功能:提供设备中断处理提供缓冲区管理

提供设备独立性设备分配

和回收

实现共享型设备的驱动调度实现虚拟设备244.文件管理文件系统管理的功能:

文件的逻辑组织文件的物理组织文件的存取和使用目录管理文件的共享和安全性控制文件存储空间管理。255.网络与通信管理操作系统至少应具有与网络有关的以下几项功能:网络资源管理数据通信管理网络管理266.用户接口操作接口程序接口27四、操作系统的特性

1.并发(Concurrency)2.共享(Sharing)3.异步性(Asynchronism)281.并发性

所谓并发是指在内存中放多道作业,在一个时间段上来看,每一道作业都能不同程度地向前推进,即这些作业在执行在时间上是重叠的,即使这种重迭是很小的。与并发相关的两个概念:串行:在内存中每次只能放一道作业,只有它完全执行完后别的作业才能进入内存执行。并行:存在于有多个CPU的环境中,在内存中放多道作业,在任一时间点上都可能有多道作业在不同的CUP上同时执行。292.共享性系统中的资源可供多个并发的进程共同使用。两种共享方式:互斥共享方式同时访问方式并发和共享是操作系统的两个基本特征,它们互为依存。303、异步性(随机性)在多道环境中允许多个程序并发执行,它们共享系统资源。进程运行时“走走停停”,无法预知每个进程的运行推进快慢,有可能导致程序执行结果不唯一。从用户运行程序的要求的角度看,操作系统必须是确定的,即用户给定一个程序和相应的初始数据,无论在什么时候,在什么计算机系统上运行,产生的结果都应是相同的。这就要求操作系统的设计要很好地解决并发和共享的问题。311.2操作系统的形成和发展操作系统的产生

人工操作阶段单道批处理阶段操作系统的形成

多道批处理系统分时系统实时系统操作系统的发展微机操作系统网络操作系统分布式操作系统嵌入式操作系统多处理机操作系统32一、人工操作阶段

1946-50年代中期,操作系统尚未出现,由手工控制作业的输入输出,通过控制台开关启动程序运行。 用户使用计算机的过程大致如下:先把程序和数据穿孔在卡片或纸带上,然后将卡片或纸带装上输入机,启动输入机把程序和数据送入计算机,然后通过控制台开关启动程序运行,运行完毕后,用户拿走计算结果。33手工操作方式的特点用户独占全机:系统资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;主要矛盾计算机处理能力的提高,手工操作的低效率(造成浪费);例如:上机操作要1分钟,运行时间20分钟(10万次/sec)上机操作要1分钟,运行时间0.2分钟(1000万次/sec)用户独占全机的所有资源;34如何解决矛盾利用一个控制程序实现作业的自动转换和按步执行.这样用户可一次向系统提交多个作业处理.

这个控制程序称为管理程序或监督程序.

35二、单道批处理阶段操作系统的雏形。 单道批处理系统的工作过程:用户将作业交到机房操作员,操作员收集一批作业后将作业输入到辅存(如磁带)上,形成一个作业队列。在管理程序的控制下实现作业的自动运行.管理程序从这一批中选一道作业调入内存运行。当这一作业完成时,管理程序调入另一道程序,直到这一批作业全部完成。

36单道批处理阶段的特点

(1)作业(步)间不需要人的干预

(2)监控程序常驻内存,开机后第一个进入内存,直到关机一直驻留在内存中

(3)专职操作员,程序员不在现场

(4)单道

(5)监控程序只为一个计算机系统设计

37对单道批处理阶段的评价(1)作业转换时间大大减小,系统运行效率提高(2)资源利用率低:单道,很多资源空闲(3)程序员(和非编程用户)无法同计算机交互(4)一个管理程序只能在一种机器上运行如何提高系统资源的利用率?多道程序设计38三、多道批处理系统

在60年代中期引入了多道程序设计技术,形成了多道批处理系统。操作系统发展史上革命性变革。

多道程序设计技术:在内存中同时存放多道作业,在管理程序的控制下交替地执行。这些作业共享CPU和系统中的其它资源。39多道运行的特点多道。宏观上并行:同时有多道程序有内存运行,某一时间段上,各道程序不同程度地向前推进。微观上串行:任一时刻最多只有一道作业占用CPU,多道程序交替使用CPU。40多道程序设计技术提高资源利用率例:作业1:输入机输入数据需78ms,

在处理器上计算需52ms,

结果存放到磁带上需20ms.单道情况下:处理器利用率=52/(78+52+20)≈35%如何提高处理器利用率:同时接收多道作业.例如接收作业1同时还接收作业2.

作业2:从另一磁带机输入数据需20ms,

在处理器上计算需42ms,

结果打印需88ms.

分析过程见教材P19多道情况下:处理器利用率=(52+42)/150≈63%4178输入机处理器磁带机130150228280300378430450时间磁带机打印机206217032042利用概率方法计算CPU利用率假设程序平均等待I/O操作时间占整个运行时间比例为P,当主存中有n道程序时,所有程序都等待I/O操作的概率是Pn,此时CPU是空闲的.那么CPU利用率=1-Pn例:计算机主存1MB,操作系统占用200KB,其余主存装入4道程序,每道程序占200KB,程序80%时间用于等待I/O操作.CPU利用率=1-Pn=1-0.84=59%

若增加1MB主存空间,则可装入9道作业,此时

CPU利用率=1-Pn=1-0.89=87%43多道批处理系统的优点提高了资源(CPU、主存和设备)利用率高。提高了系统吞吐量。系统吞吐量指系统在单位时间完成的作业数。

20世纪60年代中期,相继出现多道批处理系统、分时系统和实时系统,此时标志操作系统正式形成。44四、分时系统 推动多道批处理系统形成和发展的动力是提高资源利用率和系统吞吐量。 推动分时系统形成和发展的主要动力是用户的需要:交互、共享主机、方便上机。

分时操作系统:允许多个联机用户同时使用一个计算机系统进行交互式计算的操作系统。

45分时系统实现思想主机终端把处理器的时间分成若干个时间单位,称为时间片,轮流分配给各个联机终端,终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片到,用户程序暂停运行,等待下一次运行。46分时系统的特点同时性:若干终端用户联机使用计算机。独立性:每一用户独占一个终端,互不干扰。及时性:用户请求能及时响应。交互性:可人机对话。47五、实时系统早期计算机系统是用于数值计算,如第一台计算机产生的原因就是解决大口径火炮设计中的计算问题:弹道轨迹、弹着点和材料的各种应力分布的计算。还有原子弹设计和实验中大量的计算问题,用当时的计算工具已经解决不了。到了60年代初,计算机开始应用到生产过程控制、工业控制、防空系统、信息处理等,在这些应用中不但要解决计算问题题,还要求在规定的时间内完成计算,即实时处理。在实时处理中的一个核心的问题就是响应时间问题。48实时系统的应用实时控制:如工业控制,防空系统等。实时信息处理:如情报检索和查询、飞机订票系统、银行信用卡系统。实时操作系统

是指当外部事件或数据产生时,能够对其予以接收并以足够快的速度进行处理,所得结果能在规定时间内控制生产过程或对控制对象做出快速响应,并控制所有实时任务协调运行的操作系统。因而,提供及时的响应和高可靠性是其主要特点。

批处理系统、分时系统、实时系统是三种基本的操作系统类型。一个操作系统若兼有三者或其中两者的功能,则此操作系统称为通用操作系统。49后来又发展了微机操作系统、网络操作系统、分布式操作系统、嵌入式操作系统以及多处理器操作系统等。伴随着硬件技术的飞速发展,操作系统不仅种类越来越多,而且功能更加强大,给广大用户提供了更为舒适的应用环境。50六、微机操作系统70年代中——80年代早期:单用户单任务操作系统,CP/M(75年)、MS-DOS(81年)。80年代中——90年代初期:单用户多任务操作系统,WINDOWS9X。近年来:多用户多任务操作系统,UNIX(70年)、windows、OS/2、linux。51七、网络操作系统目前,三种主要网络操作系统:UNIXNetwareWindowsNT52八、分布式操作系统在以往的系统中,其处理和控制功能都高度集中在一台计算机上,所有的任务都由它处理,这样的系统称为集中式处理系统。分布式系统:是指由多个分散的计算机经网络的连接而形成的系统。每台计算机既高度自治,又协同工作,能够在系统范围内实现资源管理和任务分配,能够并行运行分布式程序。用于管理分布式计算机系统的操作系统成为分布式操作系统。53九、嵌入式操作系统嵌入式系统硬件不再以物理独立的装置或设备的形式出现,而是大部分甚至全部隐藏和嵌入各种应用系统中。由于嵌入式系统的应用环境与其他类型的计算机系统有较大差别,随之而来的是对嵌入式软件的需求,而嵌入式操作系统是嵌入式软件的基本支撑。

嵌入式操作系统是指运行在嵌入式环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。

54嵌入式操作系统的应用智能卡移动通信计算机外设机顶盒零售设备印刷机复印机互联网服务器电话交换设备55嵌入式操作系统按照应用范围可分为通用型和专用型。通用型:适用于多种应用环境,如WindowsCE,VxWorks和嵌入式Linux专用型:面向特定的应用场合,如适用于移动电话的Symbian等。561.3操作系统纵览下面让我们顺着历史轨迹纵览各个时期的操作系统57单道批处理系统1、FMS(FORTRANMonitorSystem,FORTRAN监控系统)2、IBMSYS(IBM为7094机配备的操作系统)58分时系统1、CTSS1961年,美国麻省理工学院开发的第一个分时系统。支持32个交互式用户同时工作。592、IBMTSS/3601964年IBM宣布推出IBM360计算机系统第一个采用小规模集成电路的主流机型

1965年,IBM发布IBM360机上的分时系统TSS/360,这是一个失败的系统,由于过大过慢,没有用户愿意使用。603、MULTICS的灾难1965年在美国国防部的支持下美国麻省理工学院、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”,希望能够同时支持整个波士顿所有的分时用户。这就是著名的MULTICS。1969年Multics在GE645计算机上运行了,但它既没有能提供预定的综合计算服务,而且连它自己也不知道究竟什么时候算达到开发的目标。MULTICS研制难度超出了所有人预料长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出了61MULTICS引入了许多现代操作系统的概念雏形,如分时处理、远程联机、段页式虚拟存储器等对随后操作系统特别是UNIX的成功有着巨大的影响Multics操作系统开发失败的原因是当时操作系统设计的指导思想所导致的。当时操作系统设计的指导思想是“满足所有用户的所有要求”。UNIX系统的作者认为:操作系统的设计不应也不可能做到“满足所有用户的所有要求”,而应为广大的计算机用户提供一种良好的程序设计环境。624、历史悠久的UNIX

一个极为成功的操作系统UNIX发展简史1969年,在贝尔实验室退出MULTICS研制项目后,KenThompson和DennisM.Ritchie想申请经费买计算机从事操作系统研究,但多次申请得不到批准.项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell和汇编程序63到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX1971年DennisRitchie创造了C语言,1973年,UNIX用C语言全部重写,这为UNIX的可移植性打下基础。73年后,UNIX迅速以许可证形式免费传播到各大学。这些大学、研究机构对UNIX进行了深入研究、改进和移植。AT&T又将这些改进加入到UNIX。众多大学免费使用UNIX,使学生们熟悉了UNIX,他们毕业后将UNIX传播到各地。64UNIX的发展导致许多公司开发自己机器上UNIX增值商业版本。UNIX变种大量增加。这些变种围绕3条主线:

Bell实验室发布的UNIX研究版(V1到V10)美国加州大学伯克利分校发布的UNIXBSDBell实验室发布的UNIXSystemIII和SystemV。BSD对UNIX的发展有重要影响,许多新技术是BSD率先引入的:TCP/IP,分页存储管理,快速文件系统,套接字等。

6580年代后期,UNIX变种的增多导致了程序的不兼容性和不可移植,因此迫切需要标准化。87年AT&T同SUN合作将SystemV和SUNOS统一为一个系统。其它厂商(IBM、DEC、HP等)感到了威胁,于是联合起来在88年成立了开放软件基金会(OSF)。作为回应AT&T和SUN成立了UNIX国际(UI)。IEEE尝试将两大阵营统一起来,制定了POSIX标准。此标准已被多数UNIX系统支持。80年代是UNIX蓬勃发展的十年,进入90年代,Windows的发展、Linux的出现,两大阵营的争斗很快淡化下来。66UNIX发展简图67UNIX概述多用户多任务操作系统目前三大主流操作系统之一跨越从PC到巨型机范围的唯一操作系统有许多变种与克隆68UNIX主要变种概况变种公司芯片AIXIBMPowerPCHP-UXHPPA-RISCsolarisSunSPARCIrixSGIMIPSDigitalUNIXDECAlphaLinux、BSDRedHatlinux、Ubuntu、FreeBSDIA(Intel、AMD、Cyrix、RISE)69UNIX评析早期优点:内核结构小巧精湛接口简洁统一功能丰富实用用高级语言编写和好的结构导致可移植性好源码免费开放早期缺点:缺乏图形界面内核单体结构可扩充性差现在这些优缺点有的还在,有的没有了结构越来越庞大源码免费开放和简单许可证形式促进了早期的普及,但也导致各变种间的不兼容图形界面大大增强内核仍是单体结构源码不开放后又开始开放70CP/M操作系统随着大规模集成电路发展,个人计算机时代到来了,各种类型的个人计算机和软件层出不穷1973年GaryKildall看到对个人计算机操作系统的需求,设计了CP/M操作系统(ControlProgram/MicroprocessororMicrocomputer)CP/M操作系统有较好的层次结构。它的BIOS把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好,具有较好的可适应性和易学易用性到了1981年,CP/M操作系统成为世界上流行最广的8位操作系统之一71微软MSDOS个人计算机的成功,逼得IBM采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战但没有操作系统不行。要想快就是找现成系统配套,IBM公司洽谈CP/M操作系统不顺利,机遇落到了微软公司在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的QDOS操作系统的协议当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓72IBM在1981年推出个人计算机,宣布了DOS操作系统随着IBMPC和MSDOS普及,CP/M逐渐走向下坡路MSDOS有优良的文件系统但受到Intelx86体系结构的限制缺乏以硬件为基础的存储保护机制它属于单用户单任务操作系统从1981的1.0版到1998年在Windows95/98之下的7.0版,MSDOS历经了16个年头73拯救苹果公司的Macintosh(MACOS)在推出IBMPC机后,市场卷起一股龙卷风IBM自己也没有料到产品会有如此巨大的成功IBM的成功说明必有其他公司失败。甚至连苹果公司也遇到了问题,销售数量落到了兰色巨人的后面苹果公司推出Lisa机遭到失败,AppleIII型也遭到失败分析家们认为,在微机市场上的战斗似乎兰色巨人要嬴了74施乐(Xerox)PaloAlto研究中心-70年代的计算机研究思想库世界上第一台个人计算机Alto,1972年在这里出现图形界面,手持鼠标,面向对象程序设计微机网络,桌面出版和激光打印等等具有先进概念和技术的原型都首次出现在这里751979年苹果公司允许施乐公司购买一百万股的苹果公司股票,作为回报,施乐公司允许苹果公司的少数人员,包括乔布斯(Jobs),在有限的时间内考察施乐公司PaloAlto研究中心内部,并同该思想库的研究人员交谈苹果公司对PaloAlto研究中心内的技术大感吃惊他们更吃惊的是,施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!76对PaloAlto研究中心这些科学家们而言,苹果公司的人是他们第一次遇到真正理解他们技术的人这些科学家们后来有的去了苹果公司,微软公司,有的最终创办了自己的公司在访问的基础上,苹果决定立即开发采用这些新技术的个人计算机苹果公司已看到:IBMPC机的技术有多么糟糕,但他们卖得又是特别的好77MACOS、鼠标的新型个人计算机1984年,人们看到一则广告:“Whatwasthat?”和对Macintosh的介绍,这是配有图形界面操作系统MACOS和鼠标的新型个人计算机MAC机一上市立即在市场上获得极大的成功当年比尔.盖茨都说,这是一台他的妈妈也能使用的计算机Macintosh把苹果公司从连续的失败中拯救出来苹果公司又开始向前发展正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者78一波三折的微软Windows操作系统1983年10月,PC机竞争厂家的图形界面相关产品上市面对市场压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统然而宣布容易,交货就不简单了,Windows交货期的灾难,成了当年计算机界的笑柄直到1985年11月20日,Windows1.0才正式上市79Windows的历史记录Windows在当时微软历史上创了几个记录:延迟交货次数最多,投入开发人员最多,开发时间最长,更换主管人员最多不过几年之后,Windows终于创造了销售成绩最佳的历史记录1992年4月,推出Windows3.1,1993年5月,发表WindowsNT,Windows95,WindowsCE,Windows98,Windows2000,WindowsXP,.net个人计算机采用Windows占90%以上,微软公司成了垄断PC行业的同义词80Windows系列81基于微内核的Mach操作系统1975年Rochester大学开发了RIG操作系统系统设计者之一RichardRashid移居到CMU后,在DARPA支持下,1984年开始了Mach的开发希望Mach能与UNIX兼容,运行线程,更好的进程通信机制,支持多处理机及好的虚拟存储系统Mach第一个版本是1986年为VAX11/784四CPU多处理机发布1988年的Mach2.5版包含了大量的BSDUNIX的代码1989年,Mach内核中去掉了所有的BSDUNIX的代码,剩下了一个纯的Mach微内核,这就是Mach3.0版本,它是OSF发布的基础82Mach中采用了许多当代操作系统使用的技术,微内核、线程、进程间消息传递和面向对象的设计方法等等在Mach的基础上,有不少用于微处理器、多处理器以及超级计算机的操作系统和实时嵌入式操作系统陆续设计和开发出来,如OSF/1,DCEUnix,NeXT等等83IBM大型计算机操作系统OS/39090年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温三十年的改进,IBMS/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统支持UNIX95标准,UNIX应用程序可在IBMOS/390上运行同时还可继续运行S/390应用程序,包括S/370上开发的应用程序包括TCP/IP的多种通信协议,具有高网络安全性采用面向对象程序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性84由于历史渊源,OS/390有不同的系统运行方式:

S/370本机模式:支持原先在S/370运行的程序

ESA/390模式:支持到10个240M处理器内存和256个通道

ESA/390LPAR模式:系统可分成最多十个部分,每个部分有自己的CPU,存储器和通道,且分别运行不同的操作系统,如S/370,ESA/370和ESA/390等在PC机时代,人们曾经估计大型计算机会衰亡IBMS/390是大型计算机复活的一个典型那么,在21世纪的Internet和后PC的时代,大型机还会有什么演化,只有让时间来说明85IBM的OS产品简介AIX5L:IBMRS/6000和SP结点上的高端UNIXAIX:AdvancedInteractiveExecutivezOS:IBMz/900大型主机系统64位专有OS前身:OS/390(S390服务器)更早前身:MVS(S38/s370/S360大型主机系统)VM和VSE:S38/s370/S360大型主机系统OS/400:IBMAS/400服务器专有OS(原小型机)OS/2Warp4.0:IBMPS/2微机PCDOS7和PCDOS2000:IBMPC个人机86嵌入式操作系统的代表VxWorks美国WindRiver公司开发的嵌入式实时操作系统,可靠性高,性能卓越,人机界面友好,广泛应用于通信、军事、航空、航天等领域,市场份额大,获得业界很高的声誉。美国F-16战斗机、FA-18战斗机、B-2隐形轰炸机、爱国者导弹和火星探测器均使用VxWorks。VxWorks支持各种工业标准,包括POSIX,ANSIC和TCP/IP网络协议VxWorks运行系统的核心是一高效率的微内核微内核支持各种实时功能,包括快速多任务处理,中断支持,抢占式和轮转式调度微内核设计减轻了系统负载并可快速响应外部事件87从只需几千字节存储器的深嵌式产品设计到复杂高端实时系统设计,开发人员有八十多个选件并可构成上百个不同的配置VxWorks开发主机:Windows9x,WindowsNT,SunSolaris,SunOS,HP-UX等支持目标微处理器:86,68k,PPC,CPU32,i960,SPARC,SPARCLite,SH,ColdFire,R3000,R4000,C16X,ARM,MIPS等目前在国内也占据嵌入式开发系统市场主要份额88<>自由而奔放的黑马-LinuxLinux简述Linux是一个类Unix(Unix-like)的操作系统;Linux是自由软件。89软件按提供方式和是否盈利可划分为三种模式:商业软件(Commercialsoftware)共享软件(Shareware)自由软件(Freeware或Freesoftware)使用的自由研究的自由散布的自由改良的自由9070年代后期起很多软件不再提供源码,使用户无法修改软件中的错误,使用尤为不便。为此在1984年,RichardStallman先生启动了GNU计划,并成立了自由软件基金会自由软件(FreeSoftwareorFreeware)是指遵循通用公共许可证GPL(GeneralpublicLicense)规则,保证您有使用上的自由、获得源程序的自由,可以自己修改的自由,可以复制和推广的自由,也可以有收费的自由的一种软件。91自由软件介绍92<>Linux之父-LinusTorvaldsLinux发展简史芬兰、赫尔辛基大学、1990年起始于写两个进程然后写驱动程序、文件系统、任务切换程序,从而形成一个操作系统邹形,取名为linux93<>LinusTorvalds将linux放在互联网上。他表达了一个愿望,希望借此搞出一个操作系统的“内核”来1993,在一批高水平黑客的参与下,诞生了Linux1.0版1994年,Linux的第一个商业发行版Slackware问世1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由OpenLinux公司打包)符合POSIX

标准2001年,Linux2.4版内核发布2003年,Linux2.6版内核发布……94<>Linux优良特性

分时的多用户多任务的操作系统多数网络协议支持,方便的远程管理强大的内存管理和文件管理系统大量的可用软件和免费软件优良的稳定性和安全性良好的可移植性和灵活性可供选择的厂商多95<>Linux系统或发布版

Linux内核、GNU工具及其他一些自由软件组成了人们常说的Linux系统或Linux发布版,包括以下部分:符合POSIX标准的操作系统内核、Shell和外围工具。

C语言编译器和其他开发工具及函数库XWindow窗口系统各种应用软件,包括字处理软件、图象处理软件等。其他各种Internet软件关系数据库管理系统等。

96<>几种流行的Linux发行版本97其他freeOS:FreeBSD,Minix等FreeBSD:免费UNIX变种,基于4.4BSD基于Intelx86平台Minix:UNIX的克隆基于Intelx86平台荷兰阿姆斯特丹Vrije大学国际OS专家AndrewS.TanenbaumOther:BeOS,QNX,XINU等98操作系统领域中新的操作系统有线电视机顶盒领域,PowerTV移动通信领域,EPOC掌上计算机领域,PalmOS数字影像领域,Digita99研究中的新的操作系统哈佛大学的VINO,使应用得以重用内核构件犹他州大学的OSKit,提供构造操作系统所需的基础构件,也提供高层次构件。OSKit可用来构造新的OSMITExokernel,该系统只有一个极小的核。系统抽象通过LibraryOperatingSystem完成加州大学伯克利分校NOW集群操作系统,100台UltraSPARC-I处理机集群,排名于世界最快的200台超级计算机之内NASA空间飞行中心(GSFC)研制Beowulf项目开始于1994年,用商业化的微型计算机,Linux和以太网等构造集群。已有世界各地的约六十个大学和研究机构在使用100国内操作系统的研制状况60年代末至70年代初,杨芙清院士主持我国第一台百万次集成电路计算机(150)操作系统。支持多道程序运行,在石油勘探领域成功应用70年代中后期,杨芙清院士主持我国第一个全部用高级语言书写的DJS240机操作系统DJS200/XT2

层次管程结构模型,PCM设计方法,活跃管程结构模式GX73多机实时操作系统(1978年)国防科技大学,1980年装在“远望”-I号航天测量船上,完成了向太平洋发射运载火箭、潜水艇水下发射的测控任务;完成了我国第一颗同步地球卫星的测控、定轨、控制任务101

“银河”-1YHOS巨型机操作系统(1983年)国防科技大学,用于YH-1、YH-2超级计算机,用于我国的石油勘探、天气预报和核物理研究

COSIXv1.X/2.0国产UNIX类操作系统(国家八五、九五重点科技攻关成果,以中软为首,联合国内18个单位共同完成)微内核结构,安全级别超过B1,中文界面嵌入式操作系统Hopen(女娲计划)Linux类操作系统

102思考和回顾个人计算机的兴起,结束了IBM的霸主地位Internet普及,Linux的成功,极大地推动了当代操作系统的研究发展活动据不完全统计,当前在Internet上,有超过100个操作系统的项目在14个国家中进行着一批批的程序设计员们自愿通过互联网组织成为研究小组,从事着各类操作系统的研究开发工作103在一些影响全球的操作系统的诞生和发展过程中,大师们设计那些知名操作系统的初始动机真是各不相同的一个操作系统成功的缘由,似乎也在于某种机遇,往往是有心裁花花不开,无心插柳柳成行未来操作系统的发展是否还会是这个模式?在Internet时代,新概念、新思想、新原理和新技术层出不穷谁又能预测,未来会有什么样的新型操作系统在国际互联网上问世呢!104第一章作业P57习题一一、思考题3,15,22,26二、应用题1,2,3,4,7,9105第二章处理器管理处理器管理是操作系统最核心的部分。负责管理、调度和分配计算机系统的重要资源——处理器。1062.1中央处理器(CPU)一、处理器的构成处理器由运算器、控制器、一组寄存器以及高速缓存构成。运算器:实现指令中的算术和逻辑运算,是计算机计算的核心。控制器:负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等。寄存器:是指令在CPU内部作处理的过程中暂存数据、地址以及指令信息的存储设备,在计算机的存储系统中它具有最快的访问速度。高速缓存:处于CPU和物理内存之间,访问速度快于内存,低于寄存器。利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率。107二、寄存器两类寄存器:用户可见寄存器:高级语言编译器通过算法分配并使用之,以减少程序访问主存次数。控制和状态寄存器:用于控制处理器的操作。由OS的特权指令使用,以控制其它程序的执行。计算机系统的处理器包括一组寄存器,其个数根据机型的不同而不同,它们构成了一级存储,比主存容量小,但访问速度快。这组寄存器所存储的信息与程序的执行有很大关系,构成了处理器现场。

1081.用户可见寄存器机器语言(汇编语言)直接引用包括数据寄存器、地址寄存器等数据寄存器(dataregister):又称通用寄存器地址寄存器(addressregister):用于存储数据及指令的物理地址。如indexregister、segmentpointer、stackpointer1092.控制和状态寄存器用于控制处理器的操作大部分对于用户是不可见的一部分可以在某种特权模式(由OS使用)下访问常见的控制和状态寄存器:程序计数器(PC:ProgramCounter):记录将要取出的指令的地址指令寄存器(IR:InstructionRegister):包含最近取出的指令程序状态字(PSW:ProgramStatusWord):记录处理器的运行模式信息等等110三、特权指令和非特权指令1.处理器执行指令过程处理器依据在程序计数器中的指令地址从存储器中取一条指令取到的指令放在指令寄存器(IR)中处理器解释并执行指令自动将程序计数器的值变成下条指令的地址1112.五类指令

(1)数据处理类指令;

(2)转移类指令;

(3)数据传送类指令;

(4)移位与字符串类指令;

(5)I/O类指令。112处理器如何知道当前运行的是操作系统还是一应用软件?执行时有不同的权限。有赖于处理器状态。3.特权指令与非特权指令从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分作两部分:特权指令和非特权指令。特权指令:只能由操作系统的内核程序使用的指令,如启动I/O设备、设置时钟、控制中断屏蔽位、清主存、建立存储键,加载PSW等。内核能够执行全部指令,应用程序只能使用非特权指令。113四、处理器的状态根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态,处理器状态又称为处理器模式。多数系统将处理器工作状态划分为核心态和用户态。1.核心态(KernelMode)CPU执行操作系统程序时所处的状态。较高的特权级别,又称为特权态(特态)、系统态、管态。处理器处于核心态时,程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力。2.用户态(UserMode)

用户程序执行时CPU所处的状态。较低的特权级别,又称为普通态(普态)、目态。处理器处于用户状态时,程序只能执行非特权指令,不能直接使用系统资源,只能访问用户程序所在的存储空间,不能改变CPU状态。1143.处理器模式转换

(1)用户态→核心态有两种情况会导致处理器从用户态向核心态转换:一是程序请求操作系统服务,执行系统调用;二是程序运行时,产生中断或异常事件,运行程序被中断,转向中断处理或异常处理程序工作。两类情况都通过中断机制发生,中断和异常是用户态到内核态转换仅有的途径,当系统中产生中断或异常,处理器作出响应且交换程序状态字,会导致处理器从用户态转向核心态,处理事件的中断或异常处理程序的程序状态字中,处理器模式位一定为“核心态”。115(2)核心态→用户态计算机提供一条特权指令称作加载程序状态字(IBM370为loadPSW指令,Intelx86为iret指令),用来实现从系统(核心态)返回到用户态,控制权交给应用进程。116五、程序状态字PSW计算机如何知道当前处于何种工作状态?这时能否执行特权指令?通常操作系统都引入程序状态字PSW(ProgramStatusWord)来区别不同的处理器工作状态。PSW用来控制指令执行顺序并保留和指示与程序有关的系统状态,主要作用是实现程序状态的保护和恢复。每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。程序占有处理器执行,它的PSW将占有PSW寄存器

117PSW包括以下内容:程序基本状态:

(1)程序计数器;

(2)条件码;

(3)处理器状态位。中断码:保存程序执行时当前发生的中断事件。中断屏蔽位:指明程序执行中发生中断事件时,是否响应出现的中断事件。1182.2中断技术中断对于操作系统的重要性就像机器中的驱动齿轮一样所以有人把操作系统称为是由“中断驱动”或者“(中断)事件驱动”119中断:是指程序执行过程中,遇到急需处理的事件(例如电源掉电、俘点运算溢出、外部设备传输完成或出错等)时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序断点处或调度其他程序执行的过程。中断源:引起中断的事件称中断源,如打印完成中断,其中断源是打印机。断点:发生中断时正在运行的程序被暂时停止,程序的暂停点称为断点。例如,某程序正在执行0200地址的指令被中断,那么,0200地址就是断点,在中断返回时就执行0200的下一条指令。一、中断概念120从用户角度看中断121二、中断源分类1.按中断事件的性质和激活方式划分(1)强迫性中断:强迫性中断事件肯定不是正在运行的程序所期待的,是由随机事件或外部请求引起的。分为:机器故障中断程序性中断外部中断输入输出中断(2)自愿性中断:自愿性中断事件是正在运行的程序所期待的。是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生。1222.按事件来源和实现手段分类

硬中断软中断外中断(中断、异步中断)内中断(异常、同步中断)信号软件中断按事件来源和实现手段分类123(1)硬中断外中断(中断或异步中断)--是指来自处理器之外的中断信号,包括时钟中断、键盘中断、它机中断和设备中断等;外中断又分可屏蔽中断和不可屏蔽中断,每个不同中断具有不同的中断优先级,表示事件的紧急程度,在处理高一级中断时,往往会屏蔽部分或全部低级中断。内中断(异常或同步中断)--是指来自处理器内部的中断信号,通常由于程序执行中,发现与当前指令关联的、不正常的、或是错误的事件。内中断可细分为三种:访管中断、硬件故障中断、程序性异常。中断和异常要通过硬件设施来产生中断请求,是硬中断。124(2)软中断软中断是利用硬中断的概念,用软件方法对中断机制进行模拟,实现宏观上的异步执行。软中断分两种:“信号”和“软件中断”。

125(3)中断的通常用法

“中断”(硬中断)用于外部设备对CPU的中断(中断的是正在运行的任何程序),转向中断处理程序上半部分执行;“异常”(硬中断)因指令执行不正常而中断CPU(中断的是正在执行这条指令的程序),转向异常处理程序;“软件中断”(软中断)用于硬中断服务程序对内核的中断,在上半部分中发出软件中断(即标记下半部分),使得中断下半部分在适当时刻获得处理;“信号”(软中断)用于内核或进程对某个进程的中断,通知进程某个特定事件发生或迫使进程执行信号处理程序。126三、中断和异常的响应过程1.发现中断源:2.保护现场:3.转向处理中断/异常事件的处理程序:4.恢复现场:现场:是被中断断点时刻处理机的各种信息,包括程序状态字;各寄存器的值;打开文件的状态.127四、中断优先级和多重中断1.中断优先级在一些机器中,中断优先级按中断类型划分:以机器故障中断的优先级最高程序中断和访管中断次之外部中断更次之输入输出的优先级最低1282.中断屏蔽在CPU上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽。在PSW中设置中断屏蔽位以屏蔽某些指定的中断类型各设备接口中也有中断禁止位,以禁止该设备的中断1293.多个中断的处理若中断处理过程中又发生中断,引起多中断处理问题。两种策略方法:(1)串行处理处理一个中断时禁止中断,对任何新中断置之不理,当再次允许中断时,新中断才被响应。可以通过屏蔽中断来实现。这种方法简单易行,所有中断严格按照发生顺序处理,不考虑中断紧急程度,无法达到较严格时间要求。130多中断处理第一种策略方法131(2)嵌套处理允许优先级高中断打断优先级低的中断处理过程,这样中断优先级技术将引起中断处理的嵌套。只要合适地定义中断的优先级别方法一的弊端大都可以克服132多中断处理第二种策略方法133操作系统的基本是并发与共享,这就会引起一系列的问题,包括:对资源的竞争、运行程序之间的通信、程序之间的合作与协同等。要解决这些问题,用程序的概念已经不能描述程序在内存中运行的状态,必须引人新的概念--进程。2.3进程及其实现134计算机出现以来,“程序”是使用广泛的一个概念,在多道程序设计技术出现之前,程序是顺序执行的。1.程序的顺序执行例:在系统中有n个作业,每个作业都有三个处理步骤:首先输入用户的程序和数据(Ii),然后进行计算(Ci),最后将结果打印出来(Pi

)。

在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。一道程序执行完后另一道才能开始。一、进程的概念135程序顺序执行的特点顺序性:处理机严格按照程序所规定的顺序执行,即每个操作必须在下一个操作开始之前结束。封闭性:程序一旦开始执行,其计算结果不受外界的影响,因为一道程序独占系统资源,所以当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程序才能改变它。可再现性:程序的结果与它的执行速度无关(即与时间无关),即只要程序的初始条件相同,它的执行结果是相同的,不论它在什么时间执行,也不管计算机的运行速度。1362.程序的并发执行为增强系统处理能力和提高资源利用率,现代操作系统普遍采用多道程序设计技术,多道程序设计技术一个重要特点就是程序并发执行。例:在系统中有n个作业,每个作业都有三个处理步骤,输入数据、处理、输出。有些操作必须在其它操作之前执行,这是有序的,但有些操作是可以同时执行的。137I1、C1、P1的执行必须严格按照顺序,而P1与I2,C1与I2,I3与P1是可以同时执行的。138(1)程序的并发执行:是指若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始,即使这种重迭是很小的,也称这几个程序是并发执行的。并发与并行概念的区别?Concurrency,parallel139(2)程序并发执行的描述

cobeginS1;S2;S3;...;SNcoend;

Si(i=1,2,3,...,n)表示n个语句(程序段),这n个语句用cobegin和coend括起来表示这n个语句是可以并发执行的。co是concurrent的头两个字符。这是Dijkstra提出的。140例:有一个程序由S0~Sn+1个语句,其中S1~Sn语句是并发执行的,程序如下:

S0;cobeginS1;S2;S3;...;SNcoend;Sn+1;141(3)程序并发执行的特点间断性:程序并发执行时,共享资源,致使它们之间相互制约,导致并发程序执行过程“走走停停”,具有“执行-暂停-执行”这种间断性的活动规律。失去封闭性:多个程序并发执行,共享系统资源,因而资源的状态由多个程序来改变,致使程序的运行失去了封闭性。这样,某程序执行时,必然受其他程序影响。不可再现性:142例:两个程序A和B,共享一个变量N(初值为1)。程序A:N++;程序B:P(N);N=0;程序A和B并发执行。可能出现下述三种情况:N值(1)N++;P(N);N=0;(2,2,0)(2)P(N);N=0;N++;(1,0,1)(3)P(N);N++;N=0;(1,2,0)143由于并发程序的上述这些特点,使得系统中的活动以及各种活动之间的相互关系非常复杂。因此,“程序”这个静态的概念已不能如实地反映系统中的活动情况。为对并发执行的程序加以描述和控制,现代操作系统引入了进程的概念。1443.进程的概念

进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的TSS/360系统提出和实现的。进程是操作系统中最基本、最重要的概念之一,它对理解、描述和设计操作系统都具有非常重要的意义。145(1)进程的定义进程有很多各式各样的定义,如:程序在处理机上执行时所发生的活动称为进程(Dijkstra)一个具有一定功能的程序关于某个数据集合的一次运行活动。进程是一个程序与其数据在处理机上执行时所发生的活动,它是系统进行资源分配和调度的一个独立单位。本书将进程定义为:进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和调度的基本单位。

146(2)进程与程序的联系与区别①程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。②程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。注:程序可看作一个菜谱,而进程则是按照菜谱进行烹调的过程。③进程和程序组成不同:进程是由程序、数据和进程控制块三部分组成的。④进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。例子:光盘(程序)放光盘的活动(进程)147(3)进程的特征动态性:进程是程序的执行,同时进程有生命周期。并发性:多个进程可同存于内存中,能在一段时间内同时执行。独立性:资源分配和调度的基本单位。制约性:并发进程间存在制约关系,造成程序执行速度不可预测性,必须对进程的并发执行次序、相对执行速度加以协调。结构特征:进程由程序块、数据块、进程控制块三部分组成。148二、进程的状态及转换1.进程的三种基本状态进程在系统中的活动规律:

进程的三种基本状态:运行态就绪态等待态(又称阻塞态)执行暂停执行149(2)就绪状态(ready)当一个进程已经准备就绪,一旦得到CPU,就可立即运行,这时进程所处的状态称为就绪状态。系统中有一个就绪进程队列,处于就绪状态进程按某种调度策略存在于该队列中。(1)运行态(running)当进程得到处理机,其执行程序正在处理机上运行时的状态称为运行状态。在单CPU系统中,任何时刻最多只有一个进程处于运行状态。在多CPU系统中,处于运行状态的进程数最多为处理机的数目。万事具备,只欠CPU150(3)等待态(阻塞态)(Wait/Blocked)

若一个进程正等待着某一事件发生(如等待输入输出操作的完成)而暂时停止执行的状态称为等待状态。处于等待状态的进程不具备运行的条件,即使给它CPU,也无法执行。系统中有几个等待进程队列(按等待的事件组成相应的等待队列)。151

进程在执行过程中,任一时刻必然处于上述三种状态之一,进程在执行过程中其状态将发生变化。运行态就绪态等待态选中落选出现等待事件等待事件结束152运行

等待:等待某事件的发生(如等待I/O完成)等待就绪:事件已经发生(如I/O完成)运行就绪:时间片到(例如,两节课时间到,下课)或出现更高优先级进程,当前进程被迫让出处理器。就绪运行:当处理机空闭时,由调度(分派)程序从就绪进程队列中选择一个进程占用CPU。上述三种状态是进程最基本的状态,在实际的操作系统实现中,进程远不止这三种状态。1532.进程五态模型及其转换运行态就绪态等待态选中落选出现等待事件等待事件结束新建态终止态154

●进程为什么要有“挂起”状态?

由于系统不断创建进程,系统资源特别是主存已不能满足进程运行要求,此时必须将某些进程挂起(suspend),置于磁盘对换区,释放其所占资源,暂时不启用低级调度,起到平滑负载的目的。

3.具有挂起功能的进程状态及其转换155挂起等待事件结束出现等待事件解除挂起挂起落选选中运行态就绪态等待事件结束终止态新建态挂起就绪态解除挂起挂起挂起等待态等待态提交提交156三、进程的描述和组成1.进程映象进程内容及其状态集合称为进程映像。包括:进程控制块:每个进程有一进程控制块,用来存储进程的标识信息、现场信息和控制信息。程序块:核心栈:每个进程捆绑一个核心栈,进程在核心态工作时,用来保存中断/异常现场等。数据块:存放程序私有数据,用户栈也在数据块中开辟。

1572.进程上下文操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文。进程在其当前上下文中运行,当系统调度新进程占有处理器时,新老进程随之发生上下文切换。即保存老进程状态而装入被保护了的新进程的状态,以便新进程运行.158进程上下文组成用户级上下文:由正文(程序)、数据、共享存储区、用户栈组成,占用进程的虚地址空间。存器上下文:由程序状态字寄存器、指令计数器、栈指针、控制寄存器、通用寄存器等组成。系统级上下文:由进程控制块、主存管理信息(页表或段表)、核心栈等组成。1593.进程控制块(ProcessControlBlock,PCB)每个进程有且仅有一个进程控制块PCB是操作系统用于记录和刻划进程状态及有关信息的数据结构,是操作系统掌握进程的唯一资料结构。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志进程与PCB是一一对应的,在创建进程时,建立PCB,并伴随进程运行的全过程,直到进程撤消而撤消。PCB就象我们的户口。160PCB的内容①标识信息进程标识ID:唯一,通常是一个整数进程组标识ID用户进程名用户组名②现场信息寄存器内容(通用寄存器内容、控制寄存器内容、栈指针等)③控制信息进程调度信息:如进程状态、等待时间、等待原因、进程优先级、队列指针等进程组成信息:如正文段指针、数据段指针、进程族系信息进程间通信信息:如消息队列指针、所使用的信号量和锁进程段、页表指针、进程映像在辅存地址CPU的占用和使用信息:如时间片剩余量、已占用CPU时间、已执行时间总和、定时器信息、记账信息进程特权信息:如主存访问权限、处理器特权资源清单:所需全部资源、已分得资源1614.进程队列及其管理处于同一状态的所有PCB组织在一起的数据结构称为进程队列。例如运行队列、就绪队列、等待队列。同一状态进程的PCB既可按先来先到的原则排成队列;也可按优先数或其它原则排成队列。通用队列组织方式:线性方式链接方式索引方式162(1)线性方式OS根据进程的最大数目,静态分配主存中某块空间,所有进程的PCB都组织在一个线性表中。优点:简单易行;缺点:限定了系统中进程最大数,经常要扫描整个线性表,调度效率较低。163(2)链接方式相同状态的进程PCB通过链接指针链接成一个队列。不同状态的进程可排成不同的队列,如运行队列、就绪队列、等待队列。等待队列按等待原因不同可排成多个等待队列。

PCB表

PCB10PCB25PCB30PCB40PCB50PCB64运行队列指针就绪队列指针等待队列1指针等待队列2指针

PCBn7PCB70…

空闲进程队列指针164(3)索引方式对具有相同状态的进程,分别设置各自的PCB索引表,如就绪索引表、等待索引表,记录PCB在PCB表中的地址.运行队列指针就绪表指针等待表1指针

PCB表PCB1PCB2PCB3PCB4PCB5PCB6…

PCBn空闲表指针…就绪索引表…等待索引表1等待表2指针165四、进程切换一个进程让出处理器,由另一个进程占用处理器的过程称为进程切换。进程的切换使系统中的各进程均有机会占用CPU。166进程切换的步骤保存被中断进程的处理器现场信息修改被中断进程的进程控制块的有关信息,如进程状态等把被中断进程的进程控制块加入有关队列选择下一个占有处理器运行的进程修改被选中进程的进程控制块的有关信息根据被选中进程设置操作系统用到的地址转换和存储保护信息根据被选中进程恢复处理器现场167五、进程的控制和管理

进程是有生命周期的:产生、运行、暂停、终止。进程生命周期的动态变化过程由进程管理程序来控制。进程的控制和管理包括:进程创建

进程撤消

进程阻塞进程唤醒进程挂起进程激活168这些控制和管理功能由操作系统中的原语实现。原语是在核心态执行、完成系统特定功能的不可分割的过程。原语的特点是执行过程中不允许被中断,是一个不可分割的基本单位,原语的执行是顺序的而不可能是并发的。1691.进程创建进程创建类似于人出生后要到派出所报户口。进程创建过程:(1)在进程列表中增加一项,从PCB池中申请一个空闲PCB,为新进程分配惟一的进程标识符;(2)为新进程的进程映像分配地址空间。进程管理程序确定加载到进程地址空间中的程序;(3)为新进程分配除主存空间外的其他各种所需资源;(4)初始化PCB,如进程标识符、处理器初始状态、进程优先级等;(5)把新进程状态置为就绪态,并移入就绪进程队列;(6)通知操作系统的某些模块,如记账程序、性能监控程序。1702.进程撤销进程完成其任务或出现严重错误后,操作系统调用进程撤消原语撤消进程。相当于一个人死亡后,家人要去派出所消户口。进程撤销过程:(1)根据撤销进程标识号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论