操作系统原理PrincipleofOperatingSystem参考书目《操作系统原理教程》(第2版),张丽芬刘美华,电子工业出版社《操作系统实用教程》,任爱华主编,清华大学出版社《计算机操作系统》,汤子瀛等,西安电子科技大学出版社《计算机操作系统》,胡志刚、谭长庚,中南大学出版社《计算机操作系统教程》,张尧学等,清华大学出版社课程目的不是如何使用操作系统而是理解操作系统如何工作操作系统的工作方式操作系统内部的数据结构和算法设计、开发操作系统过程中的问题、解决方案和折中权衡课程内容第一章操作系统概论第二章进程管理第三章进程之间的并发控制和死锁第四章存储器管理第五章文件系统第六章设备管理操作系统的作用硬件操作系统应用软件软件与硬件的关系人的头颅和思想的关系文化思想第一章操作系统概论计算机的发展操作系统的发展操作系统的基本概念分析操作系统的几种观点计算机的发展—机械计算机时代机械计算机时代(1614-1946):1614苏格兰人JohnNapier年提出的原始的自动计算装置标志着计算机时代的来临。1840年英国人CharlesBabbage设计了差分机和分析机,设计理论非常超前,提出了卡片输入程序和数据计算机的发展—电子计算机时代电子计算机时代(1946-至今):第一代电子计算机(1946-1958),电子管制作开关逻辑部件。代表机有“科洛萨斯”(英国),ENIAC(美国),10Hz第二代电子计算机(1959-1964),晶体管制作开关逻辑部件。程序设计开始使用高级语言。代表机IBM-7094,几十到几百万Hz第三代电子计算机(1965-1970),使用集成电路制作开关逻辑部件,IBM360,几百万到几千万Hz第四代电子计算机(1971-至今),使用大规模/超大规模集成电路制作开关逻辑部件,Pentium等计算机发展史中的大事1848年英国数学家GeorgeBoole创立了二进制代数学1937年Turing提出了一种抽象计算模型,用来精确定义可计算函数。图灵机由一个控制器,一条无限延伸的带子和一个带子上左右移动的读写头组成。这个在概念上如此简单的机器,理论上可以计算任何直观可计算的函数。1949年出现VonNeumann计算机。它的结构和现代计算机结构一致,由运算器,控制器,存储器,I/O设备等五个部分组成。VonNeumann计算机又叫“存储程序式计算机”主要特点:集中顺序过程控制处理器(运算器,控制器)协处理器总线内存储器I/O设备硬盘等计算机未来的发展未来的计算机将与各种新技术相结合:与光电子学相结合的光子计算机与生物科学相结合,用生物材料进行运算的生物计算机第一章操作系统概论计算机的发展操作系统的发展操作系统的基本概念分析操作系统的几种观点为什么引入操作系统?从计算机管理的角度来看为了更加充分、有效地使用计算机系统资源,合理地组织计算机的工作流程、有效地管理和分配计算机系统的硬件和软件资源。从计算机使用的角度来看为了给用户操作计算机提供一个良好的界面,以便用户无须了解计算机硬件或系统软件的有关细节就能方便地使用计算机。操作系统由哪些成分组成?控制和管理计算机系统的硬件和软件资源的程序集合合理地组织计算机的工作流程的程序集合方便用户使用的程序集合操作系统的发展操作系统发展是随着计算机硬件技术、应用软件的发展而发展的目标:充分利用硬件提供更好的服务大型机→PC机→后PC时代操作系统的发展--手工操作阶段操作员将纸带/卡片装入输入机启动输入机把程序和数据装入输入机通过控制台开关使程序运行程序运行结束将结果在打印机上输出卸下纸带/卡片,将结果取走手工操作方式具有以下两个特点:•串行工作方式•资源独占方式人机矛盾突出世界第一台计算机(ENIAC)内部工作情况过程:将用户提交的作业分批输入到磁带上,在监督程序的控制下连续处理。特征:自动性:无人工干预,提高计算机使用顺序性:按照进入内存的先后顺序执行单道性:内存中只保持一道作业操作系统的发展--批处理阶段联机批处理:输入过程、运算和输出过程全部都由CPU处理。输入输出设备速度远比CPU低,在管理输入输出设备过程中大部分时间CPU都处于等待状态。造成CPU资源的很大浪费脱机批处理:除主机外另设一台外围机,外围机只与输入输出设备打交道,不与主机直接连接。联机批处理和脱机批处理脱机批处理纸带机卡片机打印机外围机输入带输出带主机执行管理带单道批处理系统---评价解决了作业间的自动转接问题,减少了机器时间的浪费。不管作业大小,只要它一旦占用处理机开始执行,则它必须一直占据处理机,直到运行完毕。资源利用率低。对短作业不公平,因为它们等待执行的时间可能远远超过它们实际执行的时间。交互性差。作业由批处理程序控制运行,用户无法实时控制,如果运行中途出现故障,也只能停下来,重新运行。多道批处理系统-现代意义的操作系统引入的原因:单道批处理系统中,任意时刻只允许一道作业在内存中运行,资源利用率低。为了提高系统资源利用率和系统吞吐量,形成了多道批处理系统操作系统的发展--多道批处理系统多道:内存中同时存放多个相互独立的程序,并按照某种原则分派处理机,逐个执行这些程序。批处理:用户提交的作业首先存放在外存,并排成一个队列。然后,由作业调度程序按照一定的算法从该队列中一次选取一个或若干个作业装入内存执行。多道批处理系统处理机自动切换当某个程序占用处理机执行过程中遇到了输入/输出语句,可以启动专门负责输入/输出的系统服务程序完成输入/输出操作,而处理机切换到另一个程序执行运行运行程序A等待等待运行等待等待程序D运行等待等待程序C运行运行等待等待程序B从处理机看运行A运行B运行C运行D等待运行A运行B等待时间运行运行程序A等待等待运行等待等待程序D运行等待等待程序C运行运行等待等待等待程序B从处理机看运行A运行B运行C运行D等待运行A运行B等待多道批处理特征多道性:内存中有多道程序,可以并发执行无序性:完成时间与进入内存先后无关调度性:作业从提交到完成经两次调度作业调度外存内存(选多个)进程调度分配处理机(选1个)多道批处理优缺点资源利用率高系统吞吐量大吞吐量:单位时间内完成的总工作量原因:资源忙完成或运行不下去时才切换平均周转时间长作业周转时间:从作业进入系统开始到完成并退出系统经历的时间通常几小时,甚至几天无交互能力修改和调试极不方便操作系统的发展—分时系统提供了一个多用户工作环境,一台主机连接若干台终端,每台终端供一个用户使用。用户交互式地向系统提出联机命令请求,系统接受所有用户的命令,采用时间片轮转方式处理服务请求,再通过交互式在终端显示执行结果。用户根据上步结果发出下道命令。主机终端分时系统时间片操作系统将CPU的时间划分成若干个片段,称为时间片操作系统以时间片为单位,轮流为每个终端用户服务每次服务一个时间片(其特点是利用人的错觉,使人感觉不到)分时系统的特征多路性:同时有多个用户使用一台计算机。宏观上是多个人同时使用一个CPU。微观上多个人在不同时刻轮流使用CPU独占性:用户感觉不到计算机为其他人服务(OS提供虚机器,各个用户的虚机器互不干扰)交互性:用户根据系统响应结果进一步提出新请求(用户直接干预每一步)及时性:系统对用户提出的请求响应时间很短(2~3秒)操作系统的发展—实时系统是指使计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统实时系统的分类和特征分类第一类:实时过程控制工业控制,军事控制,...第二类:实时通信(信息)处理电讯(自动交换),银行,飞机订票股市行情特征及时性:系统对外部实时信号必须能及时响应,响应的时间间隔要满足能够控制发出实时信号的那个环境要求。高可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件)实时系统与批处理系统和分时系统的区别专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余(如双机系统)事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。网络操作系统基于计算机网络在各种计算机操作系统上按网络体系结构协议标准开发的软件包括网络管理,通信,安全,资源共享和各种网络应用目标:相互通信,资源共享NetWare系列,Windows系列,Linux系列网络操作系统通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等网络通信功能:通过网络协议进行高效、可靠的数据传输网络资源管理:协调各用户使用网络服务:文件和设备共享,信息发布网络管理:安全管理、故障管理、性能管理等互操作:直接控制对方比交换数据更为困难分布式操作系统分布式系统是以计算机网络为基础的,由若干台独立的计算机构成,它的基本特征是处理上的分布,即功能和任务的分布分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载分布式操作系统特征特征:是一个统一的操作系统若干个计算机可相互协作共同完成一项任务资源进一步共享透明性:资源共享,分布对用户来讲是不知道的自治性:处于分布式系统的多个主机处于平等地位,无主从关系处理能力增强、速度更快、可靠性增强网络操作系统和分布式操作系统的比较耦合程度分布式系统是紧密耦合系统,分布式操作系统是在各机上统一建立的,直接管理CPU、存储器和外设;统一进行全系统的管理;网络通常容许异种操作系统互连,各机上各种服务程序需按不同网络协议互操作并行性分布式操作系统可以将一个进程分散在各机上并行执行“进程迁移”;网络则各机上的进程独立透明性用户是否知道或指定资源在哪个机器上分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;网络操作系统中对网络资源的使用要由用户明确指定健壮性分布式系统要求更强的容错能力(工作时系统重构)PC机操作系统常用的个人计算机操作系统单用户单任务:MSDOS单用户多任务:OS/2,MSWindows3.x,Windows95,WindowsNT,Windows2000Professional多用户多任务:UNIX(SCOUNIX,Solarisx86,Linux,FreeBSD)DOS操作系统DOS操作系统,1981年问世,1.0版-7.0版以字符为基础的用户接口,单用户单任务MS-DOS(Microsoft),PC-DOS(IBM),DRDOS(Novell)适用于16位机,最大的优势是支持众多的通用软件Windows操作系统Windows操作系统,1985年问世,Windows1.0版-Windows2000以图形为基础的用户接口,多窗口多任务Windows**,WindowsNT(NewTechnology),WindowsXP(Explore)兼容16位软件,32位操作系统OS/2操作系统OS/2操作系统,1987年由IBM公司推出32位多任务操作系统因缺乏应用软件的支持而失败UNIX操作系统1969年,KenThompson在一台废弃的PDP-7小型计算机上用汇编语言重写一个简化的MULTICS操作系统,称为UNICS,即为UNIX1973年,Thompson和Ritchie一起用C重写了UNIX1973年到20世纪70年代末,UNIX免费扩散70年代中期到80年代中期,商用版本出现80年代中期,UNIX已被广泛应用于各种型号的小型机和工作站上第一版(1971)第三版(1973)第六版(1975)第七版第八版SVR4(1989)IBMAIXSUNSolarisHPUX1BSD(1978)2BSD(1978)3BSD(1979)4.xBSD(DARPA)4.4BSD