1、第一章 操作系统引论,1.1 操作系统的目标和作用1.2 操作系统的发展过程1.3 操作系统的基本特性1.4 操作系统的主要功能1.5 OS结构设计,第一章 操作系统引论,第一章 操作系统引论,分时系统,分时系统(time-sharing system)是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。工作方式:一台主机连接了若干个终端每个终端有一个用户在使用交互式的向系统提出命令请求系统接受每个用户的命令采用时间片轮转方式处理服务请求并通过交互方式在终端上向用户显示结果用户根据上步结果发出下道命令,第一章 操作系统引论
2、,第一章 操作系统引论,分时OS的产生起因于用户需求 人机交互 共享主机 方便用户,分时OS实现中的关键问题,及时接收 利用多路卡,根据输入速度等因素同时接收多个终端的数据并暂存在缓冲区 及时处理 处理:包括控制作业运行、修改作业等,保证各用户的作业都可以被及时响应,分时OS(Time Sharing System),第一章 操作系统引论,第一个分时操作系统CTSS(Compatable Time Sharing System)分时系统的思想1959年在MIT提出,在20世纪50年代和60年代初期,计算机都是以批处理方式工作的。1959年1月,当时也在MIT工作的J.Mc Carthy认为批处
3、理方式效率低下,资源利用率低,首次提出“timesharing”(分时)的概念,以 解决批处理的弱点。每个用户有一个联机终端调试程序的用户常常只发出简短的命令 很少有长的费时命令计算机能够为许多用户提供交互式、快速服务 同时在CPU空闲时还能在后台运行大作业第一个分时系统(CTSS)由MIT的Fernando Corbato(费尔南多考巴脱)等1961年在一改装的IBM 7090/94机上开发成功(有32个交互式用户)并进行了表演,成为计算机发展史上有里程碑性质的一个重大突破,开创了以交互 方式由多用户同时共享计算机资源的新时代。分时系统的实 现也是计算机真正走向普及的开始。,分时OS(Tim
4、e Sharing System),第一章 操作系统引论,MULTICS的灾难CTSS开发成功引起了美国国防部的高度重视。作为计算机的最大用户的美国国防部立即作出反应,于1962年由ARPA (美国国防部高级研究计划署)出资300万美元启动著名的MAC项目,MAC的目标是完善CTSS,实现 第二代分时系统。1965年在ARPA的支持下MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”,希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICS (MULTiplexed Information and Computing Service)多路信息计算系统MULTICS设计目
5、标是:便利的终端使用大量远程终端通过电话线接入计算机主机高可靠的大型文件系统大容量的用户信息共享;存储和构造层次化信息结构的能力,第一章 操作系统引论,MULTICSMULTICS研制难度超出所有人的预料(PL/1语言) 长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出最终,MIT坚持下来,MULTICS成功运行,成为商业产品(通用汽车、福特、美国国家安全局等)运行MULTICS的计算机系统在九十年代中陆续被关闭(加拿大国防部于2000年10月30日17:08)MULTICS的意义 引入了许多现代操作系统领域概念雏形,对随后的操作系统特别是UNIX的成功有着巨大的影
6、响,第一章 操作系统引论,小型计算机,电子游戏与UNIX的成功1969年,在贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M. Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX随后,UNIX用C语言全部重写,自此,UNIX诞生了,第一章
7、 操作系统引论,Internet时代与Linux1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程Linus需要终端仿真程序来存取Usenet新闻组的内容,于是他编写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序然后编写了磁盘驱动程序、文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核Linux就以这样极其古怪但也极其自然的方式问世,第一章 操作系统引论,分时系统,分时系统的特点:多路
8、性:多用户同时操作、使用计算机独立性:各终端用户感觉到自己独占了计算机;及时性:用户的请求能在较短时间内响应;交互性:用户能与计算机进行人机对话。,第一章 操作系统引论,实时系统,实时操作系统(Real Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。往往应用在:实时控制:生产过程控制,火炮的自动控制系统、飞机的自动驾驶系统以及导弹的制导系统等。实时信息处理系统:如飞机订票系统, 期货、股票交易系统、情报检索系统等。,第一章 操作系统引论,实时OS与分时OS的异同,第一章 操作系统引论,操作系统的发展过程,
9、手工操 作阶段,PC机OS,网络OS,分布式OS,多处理OS,嵌入式OS,第一章 操作系统引论,网络操作系统(NOS, Network Operating System),网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。,第一章 操作系统引论,网络操作系统通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等网络通信功能:通过网络协议进行高效、可靠的数据传输网络资源管理:协调各用户使用网络服务:文件和设备共享,信息发布网络管理:安全管理、故障管理、性能管理等互操作:直接控制对方,比交换数据更为困难,第一章 操作系统引论,分布式OS,所谓分布式计算机系统,
10、是只由多台分散的计算机,经互连网络的联接而形成的系统,系统的处理和控制功能分布在各个计算机上。分布式计算机系统又简称为分布式系统。 从硬件上讲,它与计算机局域网没有任何区别,关键是软件。,第一章 操作系统引论,分布式操作系统是指配置在分布式系统上的操作系统。它能直接对分布式系统中的各种资源进行动态分配,并能有效地控制和协调分布式系统中各任务的并行执行,同时还向用户提供了一个方便的、透明的使用整个分布式系统的界面。分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载,第一章 操作系统引论,在分布式系统中,各计算机共享一个公共的分布式操
11、作系统。分布式操作系统由内核以及提供各种系统功能的模块和进程所组成。系统中的每一台计算机都必须保存分布式操作系统的内核,以实现对计算机系统的基本控制。分布式操作系统的特征:1. 是一个统一的操作系统若干个计算机可相互协作共同完成一项任务2. 资源进一步共享3. 透明性资源共享,分布对用户来讲是不知道的4. 自治性处于分布式系统的多个主机处于平等地位,无主从关系5. 处理能力增强、速度更快、可靠性增强,第一章 操作系统引论,多处理系统,多处理机系统是由多台处理器组成的计算机系统。多处理操作系统的出现是为了提高计算机的系统性能和可靠性。提高性能有两条途径:提高各个组成部分的速度、增大处理的并行程度
12、。1975年前后,出现多处理机系统(multi-processor)。,第一章 操作系统引论,嵌入式OS,嵌入式操作系统(Embedded Operating System)是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件。,第一章 操作系统引论,微机操作系统的发展,1.单用户单任务操作系统只允许一个用户上机,且只允许用户程序作为一个任务运行。如DOS。2.单用户多任务操作系统只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善系统的性能。如Windows XP等。3.多用户多任务操作系统允
13、许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而提高资源利用率和系统吞吐量。如Unix等。,第一章 操作系统引论,1.1 操作系统的目标和作用1.2 操作系统的发展过程1.3 操作系统的基本特性1.4 操作系统的主要功能1.5 OS结构设计,第一章 操作系统引论,第一章 操作系统引论,共享,并发,异步,虚拟,操作系统的主要特性,第一章 操作系统引论,操作系统的主要特性,1)并发性(concurrence)两个或多个事件在同一时间间隔内发生。与并行(parallel)不同,并行是指两个或多个事件在同一时刻发生。在多道程
14、序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行并发,微观上交替执行(在单处理器情况下) 。如果系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程的并发。,第一章 操作系统引论,第一章 操作系统引论,操作系统的主要特性,进程:在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。线程:通常一个进程可以包含若干线程,它们利用进程所拥有的资源。在引入线程
15、的OS中,通常都是把进程作为分配资源的基本单位,而线程作为独立运行和独立调度的基本单位。,第一章 操作系统引论,操作系统的主要特性,2)共享性(sharing) 多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。互斥共享方式(如打印机),资源分配后到释放前,不能被其他进程所用。同时访问方式,(如可重入代码,磁盘文件)。,第一章 操作系统引论,操作系统的主要特性,3)虚拟性(virtual) 一个物理实体映射为若干个对应的逻辑实体(分时或分空间)。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。 时分复用技术虚拟处理机技术每个
16、用户(进程)都认为有一台“虚处理机”为其服务。虚拟设备技术将一台物理I/O设备虚拟为多台逻辑上的I/O设备。如虚拟为多台逻辑上的打印机。 空分复用技术虚拟磁盘技术一台硬盘虚拟成多个卷。虚拟存储器技术请求调入或置换功能,可以使得一个100MB的应用程序运行在20MB的内存空间。,第一章 操作系统引论,操作系统的主要特性,设N是某物理设备所对应的虚拟的逻辑设备数,则:采用时分复用时,每台虚拟设备的平均速度必然等于或低于物理设备速度的1/N。采用空分复用时,每台虚拟设备平均占用的空间必然也等于或低于物理设备所拥有空间的1/N。,第一章 操作系统引论,操作系统的主要特性,4)异步性(asynchron
17、ism) 异步性也称不确定性,指进程的执行顺序和执行时间的不确定性。多道程序设计环境下,程序按异步方式运行。多个进程并发执行,“时走时停”,不可预知每个进程的运行推进快慢,引发执行顺序与时间的不确定。如果没有很好的同步机制,可能会导致程序执行结果不确定,不可再现。相同输入与环境下多次运行结果不同。(当前操作系统中,都配置有很好的同步机制,保证程序多次运行的结果相同),第一章 操作系统引论,第一章 操作系统引论,1.1 操作系统的目标和作用1.2 操作系统的发展过程1.3 操作系统的基本特性1.4 操作系统的主要功能1.5 OS结构设计,第一章 操作系统引论,第一章 操作系统引论,操作系统的主要
18、功能,1)处理机管理Ch2,Ch3 2)存储器管理Ch4 3)设备管理Ch5 4)文件管理Ch6 5)用户接口Ch7,第一章 操作系统引论,处理机管理,可归结为进程管理;在引入了线程的OS中,也包括对线程的管理。包括以下方面: 进程控制。创建进程,撤销进程,控制进程的运行状态转换。进程同步。设置进程同步信息,以协调系统中各进程的运行。进程通信。负责进程间的信息交换。调度。 作业调度:从后备队列中选择若干作业,分配所需资源。调入内存后,建立进程并将其插入就绪队列。 进程调度:从进程的就绪队列中,按一定的算法选出一个进程,把处理机分配给它,并为其设置运行现场,使进程投入执行。若是多线程OS,则是从
19、就绪线程队列中选出一线程,并将处理机分配给它。,第一章 操作系统引论,存储器管理,为多道程序的运行提供良好的环境,并提高利用率,包括以下方面:内存分配。为每道程序分配内存空间,并在作业结束后收回其所占用内存。进一步可分为静态分配和动态分配。内存保护。保证每道程序之间不能互相侵犯,尤其是不能侵犯操作系统。地址映射。实现逻辑地址到物理地址的转换。内存扩充。通过建立虚拟存储系统来实现内存逻辑上的扩充。常用请求调入功能和置换功能来实现。,第一章 操作系统引论,设备管理,设备管理的主要任务是:完成用户进程提出的I/O请求;为用户分配其所需的I/O设备;提高CPU与I/O设备利用率;提高I/O速度;方便用
20、户使用I/O设备。功能主要包括:缓冲管理:设立I/O缓冲区,并对缓冲区进行有效管理。设备分配:按一定策略和设备使用情况,分配并回收设备。设备处理:即设备驱动程序,实现CPU和设备控制器之间的通讯等。,第一章 操作系统引论,文件管理,对用户文件和系统文件进行管理,解决文件资源的存储、共享、保密和保护。包括以下方面:文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。目录管理:为每一文件建立目录项,并对目录实施有效的组织与管理。文件的读写管理和保护:解决信息安全问题。系统设口令“哪个用户”、用户分类“哪个用户组”、文件权限“针对用户或用户组的读写权”。,第一章 操作系统引论,操作系统与
21、用户之间的接口,用户接口:提供用户使用的接口。联机用户接口:为联机用户提供,是一组键盘操作命令。脱机用户接口:为批处理作业用户提供。有一组作业控制语言组成,委托系统代替用户对作业进行控制和干预。图形用户接口:图形化的操作界面。程序接口:提供给程序员在编程时使用的接口。,第一章 操作系统引论,操作系统的主要功能,第一章 操作系统引论,1.1 操作系统的目标和作用1.2 操作系统的发展过程1.3 操作系统的基本特性1.4 操作系统的主要功能1.5 OS结构设计,第一章 操作系统引论,第一章 操作系统引论,操作系统的结构设计,操作系统是一个大型的系统软件,其结构经历了四代变革。早期的无结构OS(第一
22、代)、模块化结构的OS(第二代)和分层式结构的OS(第三代),都成为传统结构的OS,而把微内核结构的OS称为现代结构的OS。,模块化的OS,分层式OS,无结构OS,现代结构OS,第一章 操作系统引论,无结构的OS,缺乏首尾一致的设计思想该类OS庞大又杂乱,缺乏清晰的程序结构程序错误很多,给调试带来很大麻烦程序难以阅读和理解,维护困难,第一章 操作系统引论,模块化OS,基于“分解”和“模块化”原则控制大型软件的复杂度 OS将被划分为多个功能模块,每个模块具有某方面的管理功能,各模块细分为若干个具有一定功能的子模块 各模块间通过预定义好的接口通信,第一章 操作系统引论,模块化的OS,操作系统,进程
23、管理,存储器管理,文件管理,进程控制,进程调度,内存分配,内存保护,磁盘管理,目录管理,模块,子模块,第一章 操作系统引论,模块化OS的优缺点,优点 提高OS设计的正确性、可理解性、可维护性 增强OS的可适应性 加速OS开发过程 缺点 设计OS时的错误可能会导致模块匹配的困难 功能观点划分的模块无法区分共享资源和独占资源,模块间的复杂依赖关系也无法完全描述与实现,第一章 操作系统引论,分层结构的OS,从资源管理观点出发,划分层次。在某一层次上的代码只能调用低层次上的代码,使模块间的调用变得有序。系统每加一层,就构成一个比原来功能更强的虚拟机。提高了系统的维护性和可靠性。 【优点】:易保证系统的
24、正确性。易扩充和易维护性。 【缺点】:降低了运行效率,第一章 操作系统引论,分层原则,被调用功能在低层:如文件系统管理-设备管理-设备驱动程序活跃功能在低层:提高运行效率资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作存储器管理放在次低层:便于利用虚拟存储功能最低层的硬件抽象层:与机器特点紧密相关的软件放在最低层。资源分配策略放在最外层,便于修改或适应不同环境,各系统对具体划分多少层次有不同的看法。,第一章 操作系统引论,常见操作系统层次结构,第一章 操作系统引论,第4代OS,客户/服务器模式面向对象的程序设计技术微内核OS,第一章 操作系统引论,C/S模式,用户态:用来提供各种服务的服务
25、器(进程)所在的层次 内核态:处理用户和服务器间的通信,实现与硬件紧密相关的和较基本功能的进程所在的层次 内核接收用户请求,启动相应服务器,接着接收服务器的应答,回送给发送请求的用户,第一章 操作系统引论,微内核OS,微内核(Micro Kernel)操作系统结构,是20世纪80年代后期发展起来的。Mach OS,Windows 2000/XP操作系统,都采用了微内核结构。微内核操作系统一般有:足够小的内核;基于客户/服务器模式;应用“机制与策略分离”原理采用面向对象技术,第一章 操作系统引论,该种模式中,将OS分为两部分,一部分是内核,另一部分是提供各种服务的一组服务器。其运行模式如下图所示:,客户应用程序,内存服务器,网络服务器,进程服务器,文件服务器,显示服务器,内核,硬件,用户态,核心态,发送,接收,第一章 操作系统引论,本章小结,什么是操作系统操作系统的3个重要作用:用户与硬件的接口;资源的管理者和扩充机器多道程序设计技术的概念,批处理系统、分时系统及实时系统三种操作系统的特点操作系统的四大特征:并发、虚拟、共享和异步。操作系统所具有的五大功能:处理机管理、存储器管理、设备管理、文件管理和用户接口。操作系统的4种结构设计方法:无结构、模块化、分层和第4代。,第一章 操作系统引论,