1、第一章第一章 操作系统引论操作系统引论v1.1 1.1 操作系统的目标和作用操作系统的目标和作用v1.2 1.2 操作系统的发展过程操作系统的发展过程v1.3 1.3 操作系统的基本特性操作系统的基本特性v1.4 1.4 操作系统的主要功能操作系统的主要功能v1.5 OS1.5 OS结构设计结构设计第一章 操作系统引论 第一章第一章 操作系统引论操作系统引论分时系统分时系统(分时系统(time-sharing system)是指,在一台主)是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算许多个用户
2、通过自己的终端,以交互方式使用计算机,共享主机中的资源。机,共享主机中的资源。工作方式工作方式:一台主机连接了若干个终端一台主机连接了若干个终端 每个终端有一个用户在使用每个终端有一个用户在使用 交互式的向系统提出命令请求交互式的向系统提出命令请求 系统接受每个用户的命令系统接受每个用户的命令 采用时间片轮转方式处理服务请求采用时间片轮转方式处理服务请求 并通过交互方式在终端上向用户显示结果并通过交互方式在终端上向用户显示结果 用户根据上步结果发出下道命令用户根据上步结果发出下道命令 第一章第一章 操作系统引论操作系统引论 第一章第一章 操作系统引论操作系统引论 第一章第一章 操作系统引论操作
3、系统引论v 分时分时OSOS的产生起因于用户需求的产生起因于用户需求 人机交互人机交互 共享主机共享主机 方便用户方便用户分时OS实现中的关键问题v 及时接收及时接收 利用多路卡,根据输入速度等因素同时接收多个终端的数据并暂利用多路卡,根据输入速度等因素同时接收多个终端的数据并暂存在缓冲区存在缓冲区v 及时处理及时处理 处理:包括控制作业运行、修改作业等,保证各用户的作业都可处理:包括控制作业运行、修改作业等,保证各用户的作业都可以被及时响应以被及时响应分时OS(Time Sharing System)第一章第一章 操作系统引论操作系统引论v第一个分时操作系统第一个分时操作系统CTSS(Com
4、patable Time Sharing System)CTSS(Compatable Time Sharing System)分时系统的思想分时系统的思想19591959年在年在MITMIT提出提出 每个用户有一个联机终端每个用户有一个联机终端 调试程序的用户常常只发出简短的命令调试程序的用户常常只发出简短的命令 很少有长的费时命令很少有长的费时命令 计算机能够为许多用户提供交互式、快速服务计算机能够为许多用户提供交互式、快速服务 同时在同时在CPUCPU空闲时还能在后台运行大作业空闲时还能在后台运行大作业第一个分时系统(第一个分时系统(CTSSCTSS)由)由MITMIT的的Fernand
5、o Corbato Fernando Corbato 等等19611961年在一改装的年在一改装的IBM 7090/94IBM 7090/94机上开发成功(有机上开发成功(有3232个交互式用户)个交互式用户)指标:指标:32K32K内存,系统用内存,系统用5K5K,用户用,用户用27K27K用户存储映像在内存和一台磁鼓之间切换用户存储映像在内存和一台磁鼓之间切换19621962年年ManchesterManchester大学的大学的AtlasAtlas计算机投入运行(运行速度计算机投入运行(运行速度200 kFLOPS200 kFLOPS)第一个有虚拟存储器第一个有虚拟存储器(virtual
6、 memory)(virtual memory)和页面调度和页面调度(paging)(paging)的机器的机器分时OS(Time Sharing System)第一章第一章 操作系统引论操作系统引论vMULTICSMULTICS的灾难的灾难 19651965年在年在ARPAARPA的支持下的支持下MITMIT、贝尔实验室和通、贝尔实验室和通用电气公司决定开发一种用电气公司决定开发一种“公用计算服务系公用计算服务系统统”,希望能够同时支持整个波士顿所有的分,希望能够同时支持整个波士顿所有的分时用户。该系统称作时用户。该系统称作MULTICS(MULTiplexed MULTICS(MULTip
7、lexed Information and Computing Service)Information and Computing Service)MULTICSMULTICS设计目标是:设计目标是:便利的终端使用便利的终端使用大量远程终端通过电话线接入大量远程终端通过电话线接入计算机主机计算机主机高可靠的大型文件系统高可靠的大型文件系统大容量的用户信息共享;大容量的用户信息共享;存储和构造层次化信息结构的能力存储和构造层次化信息结构的能力 第一章第一章 操作系统引论操作系统引论MULTICSMULTICSvMULTICSMULTICS研制难度超出所有人的预料(研制难度超出所有人的预料(PL/
8、1PL/1语言)语言)长期研制工作达不到预期目标,长期研制工作达不到预期目标,19691969年年4 4月贝尔实验室退月贝尔实验室退出,通用电气公司也退出出,通用电气公司也退出v最终,最终,MITMIT坚持下来,坚持下来,MULTICSMULTICS成功运行,成为商业成功运行,成为商业产品(通用汽车、福特、美国国家安全局等)产品(通用汽车、福特、美国国家安全局等)v运行运行MULTICSMULTICS的计算机系统在九十年代中陆续被关闭的计算机系统在九十年代中陆续被关闭(加拿大国防部于(加拿大国防部于20002000年年1010月月3030日日17:0817:08)v MULTICSMULTIC
9、S的意义的意义 引入了许多现代操作系统领域概念雏形,对随后的操作系引入了许多现代操作系统领域概念雏形,对随后的操作系统特别是统特别是UNIXUNIX的成功有着巨大的影响的成功有着巨大的影响 第一章第一章 操作系统引论操作系统引论v 小型计算机,电子游戏与小型计算机,电子游戏与UNIXUNIX的成功的成功 19691969年,在贝尔退出年,在贝尔退出MULTICSMULTICS研制项目后,研制项目后,Ken Ken ThompsonThompson和和Dennis M.Ritchie Dennis M.Ritchie 想申请经费买计算机从事想申请经费买计算机从事操作系统研究,但多次申请得不到批准
10、操作系统研究,但多次申请得不到批准 项目无着落,他们在一台无人用的项目无着落,他们在一台无人用的PDP-7PDP-7上,重新摆弄上,重新摆弄原先在原先在MULTICSMULTICS项目上设计的项目上设计的“空间旅行空间旅行”游戏游戏 为了使游戏能够在为了使游戏能够在PDP-7PDP-7上顺利运行,他们陆续开发了上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、实用程序、shell shell 和汇编程序和汇编程序 到了到了19701970年,在一切完成后,给新系统起了个同年,在一切完成后,给新系统起了个同MULTIC
11、SMULTICS发音相近的名字发音相近的名字UNIXUNIX 随后,随后,UNIXUNIX用用C C语言全部重写,自此,语言全部重写,自此,UNIXUNIX诞生了诞生了 第一章第一章 操作系统引论操作系统引论vUNIXUNIX现代操作系统的代表现代操作系统的代表 促使促使UNIXUNIX系统成功的因素:系统成功的因素:由于由于UNIXUNIX是用是用C C语言编写,因此它是可移植的,语言编写,因此它是可移植的,UNIX UNIX 是世界上唯一能在笔记本计算机、是世界上唯一能在笔记本计算机、PCPC机、工机、工作站直至巨型机上运行的操作系统作站直至巨型机上运行的操作系统 系统源代码非常有效,系统
12、容易适应特殊的需求系统源代码非常有效,系统容易适应特殊的需求 最重要的一点,它是一个良好的、通用的、多用户、最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统多任务、分时操作系统 第一章第一章 操作系统引论操作系统引论InternetInternet时代与时代与LinuxLinuxv 19901990年秋天,年秋天,LinusLinus在芬兰首都赫尔辛基大学学习操作系统在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,课程,因为上机需要排队等待,LinusLinus买了台买了台PCPC机,开发机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然了第一个程序,程
13、序包括两个进程,向屏幕上写字母,然后用定时器来切换进程后用定时器来切换进程v LinusLinus需要终端仿真程序来存取需要终端仿真程序来存取UsenetUsenet新闻组的内容,于是新闻组的内容,于是他编写了从调制解调器上接发信息的程序以及显示器、键他编写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序盘和调制解调器的驱动程序v 然后编写了磁盘驱动程序、文件系统,一旦有了进程切换、然后编写了磁盘驱动程序、文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核型,或者至少是它
14、的一个内核v LinuxLinux就以这样极其古怪但也极其自然的方式问世就以这样极其古怪但也极其自然的方式问世 第一章第一章 操作系统引论操作系统引论国内操作系统的研制状况国内操作系统的研制状况v6060年代末至年代末至7070年代初年代初杨芙清院士主持杨芙清院士主持我国第一台百万次集成电路计算机(我国第一台百万次集成电路计算机(150150)操作)操作系统支持多道程序运行,在石油勘探领域成功应用系统支持多道程序运行,在石油勘探领域成功应用v7070年代中后期年代中后期杨芙清院士主持杨芙清院士主持我国第一个全部用高级语言书写的我国第一个全部用高级语言书写的DJS240DJS240机操作系机操作
15、系统统DJS200/XT2DJS200/XT2层次管程结构模型,层次管程结构模型,PCMPCM设计方法,活跃管程结构设计方法,活跃管程结构模式模式国内操作系统的研制状况国内操作系统的研制状况 第一章第一章 操作系统引论操作系统引论v国内操作系统的研制状况(续)国内操作系统的研制状况(续)GX73GX73多机实时操作系统(多机实时操作系统(19781978年)年)v国防科技大学,国防科技大学,19801980年装在年装在“远望远望”-I-I 号航天测量船上,完成了向太号航天测量船上,完成了向太平洋发射运载火箭、潜水艇水下发射的测控任务;完成了我国第一颗同平洋发射运载火箭、潜水艇水下发射的测控任务
16、;完成了我国第一颗同步地球卫星的测控、定轨、控制任务步地球卫星的测控、定轨、控制任务“银河银河”-1 YHOS-1 YHOS巨型操作系统(巨型操作系统(19831983年)国防科技大学,用于年)国防科技大学,用于YH-1YH-1、YH-2YH-2超级计算机,用于我国的石油勘探、天气预报和核物超级计算机,用于我国的石油勘探、天气预报和核物理研究理研究 COSIX v 1.X/2.0 COSIX v 1.X/2.0 国产国产UNIXUNIX类操作系统(国家八五、九五重点科类操作系统(国家八五、九五重点科技攻关成果,以中软为首,联合国内技攻关成果,以中软为首,联合国内1818个单位共同完成)个单位共
17、同完成)v微内核结构,安全级别超过微内核结构,安全级别超过B1B1,中文界面,中文界面 嵌入式操作系统:嵌入式操作系统:HopenHopen,DeltaOSDeltaOS,SmartEOSSmartEOS LinuxLinux类操作系统:中软类操作系统:中软LinuxLinux、红旗、红旗LinuxLinux、东方、东方LinuxLinux 第一章第一章 操作系统引论操作系统引论分时系统分时系统的特点:分时系统的特点:多路性:多路性:多用户同时操作、使用计算机多用户同时操作、使用计算机独立性:独立性:各终端用户感觉到自己独占了计算机;各终端用户感觉到自己独占了计算机;及时性:及时性:用户的请求
18、能在较短时间内响应;用户的请求能在较短时间内响应;交互性:交互性:用户能与计算机进行人用户能与计算机进行人机对话。机对话。第一章第一章 操作系统引论操作系统引论实时系统实时操作系统(实时操作系统(Real Time System)是指系统能及)是指系统能及时(或即时)响应外部事件的请求,在规定的时间时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调内完成对该事件的处理,并控制所有实时任务协调一致地运行。往往应用在:一致地运行。往往应用在:实时控制:实时控制:生产过程控制,火炮的自动控制系统、飞机的自动驾生产过程控制,火炮的自动控制系统、飞机的自动驾驶系统以
19、及导弹的制导系统等。驶系统以及导弹的制导系统等。实时信息处理系统:实时信息处理系统:如飞机订票系统如飞机订票系统,期货、股票交易系统、期货、股票交易系统、情报检索系统等。情报检索系统等。第一章第一章 操作系统引论操作系统引论实时实时OSOS与分时与分时OSOS的异同的异同实时实时OSOS分时分时OSOS多路性多路性对多路现场进行采样与控制对多路现场进行采样与控制为多个终端用户服务为多个终端用户服务独立性独立性独立采集信息与控制对象独立采集信息与控制对象各用户独立操作,互不干扰各用户独立操作,互不干扰及时性及时性以被控对象的可接受时间为准以被控对象的可接受时间为准以人可接受时间为准以人可接受时间
20、为准交互性交互性仅与特定服务程序交互仅与特定服务程序交互与人类用户进行全方位交互与人类用户进行全方位交互可靠性可靠性高度可靠性高度可靠性在人类可容忍的误差范围内可靠在人类可容忍的误差范围内可靠 第一章第一章 操作系统引论操作系统引论操作系统的发展过程手手工工操操 作作阶阶段段PC机机OS网络网络OS分布式分布式OS多处理多处理OS嵌入式嵌入式OS 第一章第一章 操作系统引论操作系统引论网络操作系统网络操作系统(NOS,Network Operating System)网络操作系统是在通常网络操作系统是在通常操作系统功能操作系统功能的基础上提供的基础上提供网络通信和网络通信和网络服务功能网络服务
21、功能的操作系统。的操作系统。第一章第一章 操作系统引论操作系统引论v网络操作系统网络操作系统 通常操作系统的功能:处理机管理、存储器管通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等理、设备管理、文件管理等 网络通信功能:通过网络协议进行高效、可靠网络通信功能:通过网络协议进行高效、可靠的数据传输的数据传输 网络资源管理:协调各用户使用网络资源管理:协调各用户使用 网络服务:文件和设备共享,信息发布网络服务:文件和设备共享,信息发布 网络管理:安全管理、故障管理、性能管理等网络管理:安全管理、故障管理、性能管理等 互操作:直接控制对方,比交换数据更为困难互操作:直接控制对方,比
22、交换数据更为困难 第一章第一章 操作系统引论操作系统引论分布式OS分布式计算机系统分布式计算机系统是以计算机网络为基础的计算机系是以计算机网络为基础的计算机系统,包含多台处理机,每台处理机完成系统中指定的统,包含多台处理机,每台处理机完成系统中指定的一部分功能。一部分功能。从硬件上讲,它与计算机局域网没有从硬件上讲,它与计算机局域网没有任何区别,关键是软件。任何区别,关键是软件。第一章第一章 操作系统引论操作系统引论v分布式系统:处理和控制的分散(相对于集中式分布式系统:处理和控制的分散(相对于集中式系统)系统)v分布式系统是以计算机网络为基础的,它的基本分布式系统是以计算机网络为基础的,它的
23、基本特征是处理上的分布,即功能和任务的分布特征是处理上的分布,即功能和任务的分布v分布式操作系统的所有系统任务可在系统中任何分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载配并自动调度各处理机的工作负载 第一章第一章 操作系统引论操作系统引论分布式操作系统的特征分布式操作系统的特征1.1.是一个统一的操作系统是一个统一的操作系统若干个计算机可相互协作共同完成一项任务若干个计算机可相互协作共同完成一项任务2.2.资源进一步共享资源进一步共享3.3.透明性透明性资源共享,分布对用户来讲是不知
24、道的资源共享,分布对用户来讲是不知道的4.4.自治性自治性处于分布式系统的多个主机处于平等地位,无处于分布式系统的多个主机处于平等地位,无主从关系主从关系5.5.处理能力增强、速度更快、可靠性处理能力增强、速度更快、可靠性增强增强 第一章第一章 操作系统引论操作系统引论多处理系统多处理机系统是由多台处理器组成的计算机系统。多处理机系统是由多台处理器组成的计算机系统。多处理操作系统的出现是为了提高计算机的多处理操作系统的出现是为了提高计算机的系统性系统性能能和和可靠性可靠性。提高性能有两条途径:提高各个组成。提高性能有两条途径:提高各个组成部分的部分的速度速度、增大处理的、增大处理的并行并行程度
25、。程度。19751975年前后,年前后,出现多处理机系统出现多处理机系统(multi-processor)(multi-processor)。多处理机系统可分为对称式多处理和非对称式多处多处理机系统可分为对称式多处理和非对称式多处理系统两种。理系统两种。第一章第一章 操作系统引论操作系统引论 第一章第一章 操作系统引论操作系统引论嵌入式OS 嵌入式操作系统(嵌入式操作系统(Embedded Operating SystemEmbedded Operating System)是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种
26、部件装置等等资源进行统一协调、调度、指挥和控控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件。制的系统软件。第一章第一章 操作系统引论操作系统引论微机操作系统的发展1.1.单用户单任务操作系统单用户单任务操作系统只允许一个用户上机,且只允许用户程序作为一个任务运行。如只允许一个用户上机,且只允许用户程序作为一个任务运行。如DOSDOS。2.2.单用户多任务操作系统单用户多任务操作系统只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善系统的性能。如从而有效地改善系统的性能。如Wi
27、ndows XPWindows XP等。等。3.3.多用户多任务操作系统多用户多任务操作系统允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而提高资而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而提高资源利用率和系统吞吐量。如源利用率和系统吞吐量。如UnixUnix等。等。第一章第一章 操作系统引论操作系统引论v1.1 1.1 操作系统的目标和作用操作系统的目标和作用v1.2 1.2 操作系统的发展过程操作系统的发展过程v1.3 1.3
28、操作系统的基本特性操作系统的基本特性v1.4 1.4 操作系统的主要功能操作系统的主要功能v1.5 OS1.5 OS结构设计结构设计第一章 操作系统引论 第一章第一章 操作系统引论操作系统引论操作系统的主要特性 第一章第一章 操作系统引论操作系统引论操作系统的主要特性1 1)并发性)并发性(concurrence)(concurrence)两个或多个事件在同一时间间隔内发生。与并行两个或多个事件在同一时间间隔内发生。与并行(parallel)(parallel)不同,并行是指两个或多个事件在同一时刻发生。不同,并行是指两个或多个事件在同一时刻发生。在在多道程序环境下,并发性是指在一段时间内宏观
29、上有多多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行并发,微观上交替执行个程序在同时运行并发,微观上交替执行(在单处理器情况(在单处理器情况下)下)。如果系统中有多个处理机,则这些可以并发执行的程。如果系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。同时执行。程序的静态实体是可执行文件,而动态实体是进程(或称程序的静态实体是可执行文件,而动态实体是进程(或称作任务),
30、作任务),并发指的是进程的并发并发指的是进程的并发。第一章第一章 操作系统引论操作系统引论并行并行并发并发 第一章第一章 操作系统引论操作系统引论操作系统的主要特性进程:进程:在系统中能独立运行并作为资源分配的基本单位,它是在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。活动实体。线程:线程:通常一个进程可以包含若干线程,它们利用进程所拥有通常一个进程可以包含若干线程,它们利用进程所拥有的资源。在引入线程的的资源。在引入线程的OSOS中,通常都是把中,通常都是把进程作为分配资源
31、进程作为分配资源的基本单位的基本单位,而,而线程作为独立运行和独立调度的基本单位线程作为独立运行和独立调度的基本单位。第一章第一章 操作系统引论操作系统引论操作系统的主要特性2 2)共享性)共享性(sharing)(sharing)多个进程共享有限的计算机系统资源。操作系统多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。段内交替被多个进程所用。互斥共享方式互斥共享方式(如打印机),资源分配后到释(如打印机),资源分配后到释放前,不能被其他进程所用。放前,不能被其他进程所用。同时访问方式
32、同时访问方式,(如可重入代码,磁盘文件)。,(如可重入代码,磁盘文件)。第一章第一章 操作系统引论操作系统引论操作系统的主要特性3 3)虚拟性)虚拟性(virtual)(virtual)一个物理实体映射为若干个对应的逻辑实体(分时或分空一个物理实体映射为若干个对应的逻辑实体(分时或分空间)。间)。虚拟是操作系统管理系统资源的重要手段,可提高资源虚拟是操作系统管理系统资源的重要手段,可提高资源利用率利用率。时分复用技术时分复用技术虚拟处理机技术虚拟处理机技术每个用户(进程)都认为有一台每个用户(进程)都认为有一台“虚处理机虚处理机”为其服务为其服务。虚拟设备技术虚拟设备技术将一台物理将一台物理I
33、/OI/O设备虚拟为多台逻辑设备虚拟为多台逻辑上的上的I/OI/O设备。如虚拟为多台逻辑上的打印机。设备。如虚拟为多台逻辑上的打印机。空分复用技术空分复用技术虚拟磁盘技术虚拟磁盘技术一台硬盘虚拟成多个卷。一台硬盘虚拟成多个卷。虚拟存储器技术虚拟存储器技术请求调入或置换功能,可以使得请求调入或置换功能,可以使得一个一个100MB100MB的应用程序运行在的应用程序运行在20MB20MB的内存空间。的内存空间。第一章第一章 操作系统引论操作系统引论操作系统的主要特性设设N N是某物理设备所对应的虚拟的逻辑设备数,则:是某物理设备所对应的虚拟的逻辑设备数,则:采用采用时分复用时分复用时,每台虚拟设备
34、的平均速度必然时,每台虚拟设备的平均速度必然等等于或低于于或低于物理设备速度的物理设备速度的1/N1/N。采用采用空分复用空分复用时,每台虚拟设备平均占用的空间必时,每台虚拟设备平均占用的空间必然也然也等于或低于等于或低于物理设备所拥有空间的物理设备所拥有空间的1/N1/N。第一章第一章 操作系统引论操作系统引论操作系统的主要特性4 4)异步性)异步性(asynchronism)(asynchronism)异步性也称不确定性异步性也称不确定性,指进程的执行顺序和执行时间,指进程的执行顺序和执行时间的不确定性。的不确定性。多道程序设计环境下,程序按异步方式运行多道程序设计环境下,程序按异步方式运
35、行。多个进。多个进程并发执行,程并发执行,“时走时停时走时停”,不可预知每个进程的运,不可预知每个进程的运行推进快慢,引发执行顺序与时间的不确定。行推进快慢,引发执行顺序与时间的不确定。如果没有很好的同步机制,可能会导致程序执行结果如果没有很好的同步机制,可能会导致程序执行结果不确定,不可再现不确定,不可再现。相同输入与环境下多次运行结果。相同输入与环境下多次运行结果不同。不同。(当前操作系统中,都配置有很好的同步机制,保证程序多次当前操作系统中,都配置有很好的同步机制,保证程序多次运行的结果相同运行的结果相同)第一章第一章 操作系统引论操作系统引论 第一章第一章 操作系统引论操作系统引论v1
36、.1 1.1 操作系统的目标和作用操作系统的目标和作用v1.2 1.2 操作系统的发展过程操作系统的发展过程v1.3 1.3 操作系统的基本特性操作系统的基本特性v1.4 1.4 操作系统的主要功能操作系统的主要功能v1.5 OS1.5 OS结构设计结构设计第一章 操作系统引论 第一章第一章 操作系统引论操作系统引论操作系统的主要功能 1 1)处理机管理)处理机管理Ch2,Ch3Ch2,Ch3 2 2)存储器管理)存储器管理Ch4Ch4 3 3)设备管理)设备管理Ch5Ch5 4 4)文件管理)文件管理Ch6Ch6 5 5)用户接口)用户接口Ch7Ch7 第一章第一章 操作系统引论操作系统引论
37、处理机管理可归结为进程管理;在引入了线程的可归结为进程管理;在引入了线程的OSOS中,也包括对线程的中,也包括对线程的管理。包括以下方面:管理。包括以下方面:进程控制。进程控制。创建进程,撤销进程,控制进程的运行状创建进程,撤销进程,控制进程的运行状态转换。态转换。进程同步。进程同步。设置进程同步信息,以协调系统中各进程设置进程同步信息,以协调系统中各进程的运行。的运行。进程通信。进程通信。负责进程间的信息交换。负责进程间的信息交换。调度。调度。作业调度作业调度:从后备队列中选择若干作业,分配所需资源。调:从后备队列中选择若干作业,分配所需资源。调入内存后,建立进程并将其插入就绪队列。入内存后
38、,建立进程并将其插入就绪队列。进程调度进程调度:从进程的就绪队列中,按一定的算法选出一个进程,:从进程的就绪队列中,按一定的算法选出一个进程,把处理机分配给它,并为其设置运行现场,使进程投入执行。若把处理机分配给它,并为其设置运行现场,使进程投入执行。若是多线程是多线程OSOS,则是从就绪线程队列中选出一线程,并将处理机分,则是从就绪线程队列中选出一线程,并将处理机分配给它。配给它。第一章第一章 操作系统引论操作系统引论存储器管理为多道程序的运行提供良好的环境,并提高利用率,包括以为多道程序的运行提供良好的环境,并提高利用率,包括以下方面:下方面:内存分配。内存分配。为每道程序分配内存空间,并
39、在作业结束后为每道程序分配内存空间,并在作业结束后收回其所占用内存。进一步可分为静态分配和动态分配。收回其所占用内存。进一步可分为静态分配和动态分配。内存保护。内存保护。保证每道程序之间不能互相侵犯,尤其是不保证每道程序之间不能互相侵犯,尤其是不能侵犯操作系统。能侵犯操作系统。地址映射。地址映射。实现逻辑地址到物理地址的转换。实现逻辑地址到物理地址的转换。内存扩充。内存扩充。通过建立虚拟存储系统来实现内存逻辑上的通过建立虚拟存储系统来实现内存逻辑上的扩充。常用请求调入功能和置换功能来实现。扩充。常用请求调入功能和置换功能来实现。第一章第一章 操作系统引论操作系统引论设备管理设备管理的主要任务是
40、:完成用户进程提出的设备管理的主要任务是:完成用户进程提出的I/OI/O请求;为用户分请求;为用户分配其所需的配其所需的I/OI/O设备;提高设备;提高CPUCPU与与I/OI/O设备利用率;设备利用率;提高提高I/OI/O速度;速度;方便用户使用方便用户使用I/OI/O设备设备。功能主要包括:。功能主要包括:缓冲管理:缓冲管理:设立设立I/OI/O缓冲区,并对缓冲区进行有效管理。缓冲区,并对缓冲区进行有效管理。设备分配:设备分配:按一定策略和设备使用情况,分配并回收设备。按一定策略和设备使用情况,分配并回收设备。设备处理:设备处理:即设备驱动程序,实现即设备驱动程序,实现CPUCPU和设备控
41、制器之间的和设备控制器之间的通讯等。通讯等。第一章第一章 操作系统引论操作系统引论文件管理对用户文件和系统文件进行管理,解决文件资源的存储、对用户文件和系统文件进行管理,解决文件资源的存储、共享、保密和保护。包括以下方面:共享、保密和保护。包括以下方面:文件存储空间管理:文件存储空间管理:解决如何存放信息,以提解决如何存放信息,以提高空间利用率和读写性能。高空间利用率和读写性能。目录管理目录管理:为每一文件建立目录项,并对目录:为每一文件建立目录项,并对目录实施有效的组织与管理。实施有效的组织与管理。文件的读写管理和保护:文件的读写管理和保护:解决信息安全问题。解决信息安全问题。系统设口令系统
42、设口令“哪个用户哪个用户”、用户分类、用户分类“哪个用户哪个用户组组”、文件权限、文件权限“针对用户或用户组的读写权针对用户或用户组的读写权”。第一章第一章 操作系统引论操作系统引论操作系统与用户之间的接口用户接口:提供用户使用的接口。用户接口:提供用户使用的接口。v联机用户接口:为联机用户提供,是一组键盘操作命令。联机用户接口:为联机用户提供,是一组键盘操作命令。v脱机用户接口:为批处理作业用户提供。有一组作业控制语言组成,脱机用户接口:为批处理作业用户提供。有一组作业控制语言组成,委托系统代替用户对作业进行控制和干预。委托系统代替用户对作业进行控制和干预。v图形用户接口:图形化的操作界面。
43、图形用户接口:图形化的操作界面。程序接口:提供给程序员在编程时使用的接口。程序接口:提供给程序员在编程时使用的接口。第一章第一章 操作系统引论操作系统引论操作系统的主要功能处理机管理处理机管理存储器管理存储器管理功能功能设备管理设备管理文件管理文件管理用户接口用户接口 第一章第一章 操作系统引论操作系统引论v1.1 1.1 操作系统的目标和作用操作系统的目标和作用v1.2 1.2 操作系统的发展过程操作系统的发展过程v1.3 1.3 操作系统的基本特性操作系统的基本特性v1.4 1.4 操作系统的主要功能操作系统的主要功能v1.5 OS1.5 OS结构设计结构设计第一章 操作系统引论 第一章第
44、一章 操作系统引论操作系统引论操作系统的结构设计操作系统是一个大型的系统软件,其结构经历了四代变革。早操作系统是一个大型的系统软件,其结构经历了四代变革。早期的无结构期的无结构OSOS(第一代)、模块化结构的(第一代)、模块化结构的OSOS(第二代)和分层(第二代)和分层式结构的式结构的OSOS(第三代),都成为传统结构的(第三代),都成为传统结构的OSOS,而把微内核结,而把微内核结构的构的OSOS称为现代结构的称为现代结构的OSOS。模块化的模块化的OS分层式分层式OS无结构无结构OS现代结构现代结构OS 第一章第一章 操作系统引论操作系统引论无结构的OSv 缺乏首尾一致的设计思想缺乏首尾
45、一致的设计思想v 该类该类OSOS庞大又杂乱,缺乏清晰的程序结庞大又杂乱,缺乏清晰的程序结构构v 程序错误很多,给调试带来很大麻烦程序错误很多,给调试带来很大麻烦v 程序难以阅读和理解,维护困难程序难以阅读和理解,维护困难 第一章第一章 操作系统引论操作系统引论模块化OSv 基于基于“分解分解”和和“模块化模块化”原则控制大型软件的原则控制大型软件的复杂度复杂度v OSOS将被划分为多个功能模块,每个模块具有某方将被划分为多个功能模块,每个模块具有某方面的管理功能,各模块细分为若干个具有一定功面的管理功能,各模块细分为若干个具有一定功能的子模块能的子模块v 各模块间通过预定义好的接口通信各模块
46、间通过预定义好的接口通信 第一章第一章 操作系统引论操作系统引论模块化的OS操作系统操作系统进程管理进程管理存储器管理存储器管理文件管理文件管理进程控制进程控制进程调度进程调度内存分配内存分配内存保护内存保护磁盘管理磁盘管理目录管理目录管理模块模块子模块子模块 第一章第一章 操作系统引论操作系统引论模块化OS的优缺点v 优点优点 提高提高OSOS设计的正确性、可理解性、可维护性设计的正确性、可理解性、可维护性 增强增强OSOS的可适应性的可适应性 加速加速OSOS开发过程开发过程v 缺点缺点 设计设计OSOS时的错误可能会导致模块匹配的困难时的错误可能会导致模块匹配的困难 功能观点划分的模块无
47、法区分共享资源和独占功能观点划分的模块无法区分共享资源和独占资源,模块间的复杂依赖关系也无法完全描述资源,模块间的复杂依赖关系也无法完全描述与实现与实现 第一章第一章 操作系统引论操作系统引论分层结构的OS从从资源管理观点资源管理观点出发,出发,划分层次划分层次。在某一层次上的代。在某一层次上的代码码只能调用低层次上的代码只能调用低层次上的代码,使模块间的调用变得,使模块间的调用变得有有序序。系统每加一层,就。系统每加一层,就构成一个比原来功能更强的虚构成一个比原来功能更强的虚拟机拟机。提高了系统的。提高了系统的维护性和可靠性维护性和可靠性。【优点优点】:易保证系统的正确性。易保证系统的正确性
48、。易扩充和易维护性。易扩充和易维护性。【缺点缺点】:降低了降低了运行效率运行效率 第一章第一章 操作系统引论操作系统引论分层原则被调用功能被调用功能在低层:如文件系统管理在低层:如文件系统管理-设备管理设备管理-设备驱动程序设备驱动程序活跃功能活跃功能在低层:提高运行效率在低层:提高运行效率资源管理的资源管理的公用模块公用模块放在最低层:如缓冲区队列、放在最低层:如缓冲区队列、堆栈操作堆栈操作存储器管理存储器管理放在次低层:便于利用虚拟存储功能放在次低层:便于利用虚拟存储功能最低层的最低层的硬件抽象层硬件抽象层:与机器特点紧密相关的软:与机器特点紧密相关的软件放在最低层。件放在最低层。资源分配
49、策略资源分配策略放在最外层,便于修改或适应不同放在最外层,便于修改或适应不同环境环境各系统对具体划分多少层次有不同的看法。各系统对具体划分多少层次有不同的看法。第一章第一章 操作系统引论操作系统引论常见操作系统层次结构寄存器寄存器电路电路1 1计算栈、微程序解释器计算栈、微程序解释器指令集指令集2 2过程、调用栈、显示过程、调用栈、显示过程过程3 3处理器硬件处理器硬件中断处理程序中断处理程序中断中断4 4进程原语、信号量、就绪队列进程原语、信号量、就绪队列进程原语进程原语5 5数据块、设备通道数据块、设备通道本地辅存本地辅存6 6单处理器资源单处理器资源段、页段、页虚拟存储器虚拟存储器7 7
50、管道管道通信通信8 8文件文件文件系统文件系统9 9外设外设设备设备1010目录目录目录目录1111用户进程用户进程用户进程用户进程1212外部对象外部对象用户程序设计环境用户程序设计环境shellshell1313功能范围功能范围对象对象名称名称层层 第一章第一章 操作系统引论操作系统引论第4代OSv客户客户/服务器模式服务器模式v面向对象的程序设计技术面向对象的程序设计技术v微内核微内核OSOS 第一章第一章 操作系统引论操作系统引论C/S模式v 用户态:用来提供各种服务的服务器(进程)所用户态:用来提供各种服务的服务器(进程)所在的层次在的层次v 内核态:处理用户和服务器间的通信,实现与