《计算机操作系统原理与核心设计-第1章》由会员分享,可在线阅读,更多相关《计算机操作系统原理与核心设计-第1章(69页珍藏版)》请在金锄头文库上搜索。
1、,第1章 操作系统概述,1.1 什么是操作系统 1.2 操作系统的目标和功能 1.3 操作系统的发展历程 1.4 操作系统的分类 1.5 支持操作系统的硬件环境 1.6 操作系统的特征和服务 1.7 典型的现代操作系统,正如计算机科学中许多其它的技术名词都没有统一的定义一样,操作系统也没有唯一的一种定义与解释。如何看待一个操作系统,人们从不同的角度出发有不同的观点,通常有下面三种观点:,虚拟机的观点操作系统作为扩展机器,如果仅仅是裸机(图1.1底层阴影部分),则仅有机器语言可供用户利用,关于内存、文件、外设等的操作是相当麻烦和晦涩的。,1.1 什么是操作系统,机器指令系统CPU内存、I/O接口
2、,裸机,命令解释程序、语言编译程序、汇编程序数据库系统、网络软件等,财务管理系统、航空定票系统、CAD系统、税务系统、银行帐务系统、铁路定票系统、保险系统、人事管理系统等,系统软件,核心,应用软件,用户1,用户2,用户n,图1.1 计算机系统层次,每一层的扩充都为向上虚拟,能力扩展,操作系统,1.1 什么是操作系统,资源管理的观点OS作为系统资源管理者,四大类:处理机、存储器、外设及信息(程序和数据等),存储器,处理器,I/O控制器,I/O控制器,I/O控制器,外部设备,图1.2 操作系统作为资源管理器,打印机、键盘等,操作系统 程序 数据 .,存储设备,计算机系统,1.1 什么是操作系统,资
3、源管理的目的在于:为用户提供一种简单、有效使用资源的方法,充分发挥各种资源利用率,为此,对每种资源管理,要研究如下几方面的内容:_记录资源使用状态;使用或未使用,谁使用等资源分配原则;确定如何分配(策略),何时分配执行分配;根据分配的策略进行资源分配。资源回收;在某些用户,或程序不再需要资源时,系统应及时回收(修改记录),以便进行再分配。,1.1 什么是操作系统,人机交互的观点OS作为机器与用户之间的接口,最初的计算机在没有操作系统的情况下,在使用计算机时用户需要进行大量的手工操作。例如,选择何种输入设备进行输入,在什么地址上启动相应的编译程序进行编译,编译的结果(目的代码)再重新在指定的输入
4、设备上进行输入,指定具体的启动地址启动运行等。在有了操作系统之后,原来由人工所进行的许许多多烦琐而费时的操作就由操作系统来代替完成。现在的操作系统都配备了丰富的命令、鼠标方式以及各种图标方便用户与计算机进行交互和操作,因此,也可以说现在的操作系统是人机交互的界面与接口,用户与计算机进行的一切活动都是要经过操作系统。,1.1 什么是操作系统,不严格的定义;是加载在硬件之上,支持其它软件,并控制和管理计算机系统内各种硬件和软件资源,有效地组织各程序运行的系统软件,或程序集合。,以下几点有助于我们理解操作系统的定义。,系统软件;是第1次加载在硬件上的一组计算机程序(程序意图不同)。,控制和管理计算机
5、系统内各种资源,有效地组织作业或程序在 CPU上运行。,提供服务,方便用户使用,扩充硬件功能。,1.1 什么是操作系统,1.2.1 操作系统的目标,方便性;通过命令,或鼠标等便可完成所希望的要求(包括网上信息查询)。,有效性;如实现CPU、I/O设备的并行操作、对内外存中存放的信息进行统一管理避免无序和空间的浪费。,可扩展性;允许在不妨碍服务前提下,开发、测试和引进新的系统功能。如高性能芯片出现控制寄存器硬件机制后,操作系统经过扩展就实现了页式存储分配机制等。,1.2 操作系统的目标和功能,1.2.2 操作系统的功能(之一),存储器管理功能,内存分配;记录整个内存,按照某种策略实施分配,或回收
6、释放的内存空间。,地址映射;硬件支持下解决地址映射,即逻辑到物理地址转换。,内存保护;保证各程序空间不受“进犯” 。,内存扩充;通过虚拟存储器技术虚拟成比实际内存大的多的空间来满足实际运行的需要。,1.2 操作系统的目标和功能,处理机管理功能,作业和进程调度;后备队列上(外存空间)的调度,作业调度(并不是所有类型机器都具有) 。CPU调度,进程调度。,进程通信;由于多个程序(进程)彼此间会发生相互制约关系,需要设置进程同步机制。进程之间往往需要交换信息,为此系统要提供通信机制。,1.2 操作系统的目标和功能,1.2.2 操作系统的功能(之二),设备管理功能,缓冲区管理;管理各类I/O设备的数据
7、缓冲区,解决CPU和外设速度不匹配的矛盾。,设备无关性;应用程序独立于实际的物理设备,由操作系统将逻辑设备映射到物理设备。,设备分配;根据I/O请求和相应分配策略分配外部设备以及通道、控制器等。,设备驱动;实现用户提出的I/O操作请求,完成数据的输入输出。这个过程是系统建立和维持的。,1.2 操作系统的目标和功能,1.2.2 操作系统的功能(之三),文件管理功能,文件存储空间的管理;包括:记录空闲空间、为新文件分配必要的外存空间,回收释放的文件空间,提高外存的利用率等。,目录管理;目录文件的组织、及实现用户对文件的“按名存取”、目录的快速查询和文件共享等。,文件的读写管理和存取控制;根据用户请
8、求,读取或写入外存。并防止未授权用户的存取或破坏,对各文件(包括目录文件)进行存取控制。,1.2 操作系统的目标和功能,1.2.2 操作系统的功能(之四),用户接口,命令界面;系统提供一套命令,每个命令都由系统的命令解释程序所接收、分析,然后调用相应模块完成命令所需求功能。,图形界面;考虑用户使用计算机的方便性,现代操作系统都提供了图形用户界面。它也是一种交互形式,只不过将命令形式改成了图形提示和鼠标点击。,程序界面;也称系统调用界面,是程序级上用户与操作系统打交道的方式。,1.2 操作系统的目标和功能,1.2.2 操作系统的功能(之五),1.3.1 操作系统的形成,手工操作阶段(串行工作,2
9、0世纪40年代)用户直接与计算机硬件打交道。机器运行靠控制台(面板),包括显示灯、触发器、某类型输入设备。其缺点:,一旦有某用户开始操作,计算机的全部资源都为该用户独占,直到下机将资源转给下个用户为止。,操作是联机的,输入输出也是联机的(由CPU完成),因此程序运行时间拉的很长(手工操作),即在程序运行之前需要花费大量的准备时间。,1.3 操作系统的发展历程,批处理阶段(20世纪50年代末)从一个作业到另一个作业的过度摆脱人工干预,使其自动化,这就出现了批处理(这是系统追求资源利用率),而批处理也经历了两个阶段:,早期的联机批处理;操作员将若干个作业合成一批,依次放在卡片读入机上,监督程序负责
10、输入到磁带上,然后监督程序再开始自动地处理各个作业(包括读入内存、汇编或编译、连接装配),并启动程序运行。,脱机批处理:在主机之外另设一台功能较为简单的小型卫星机,如图1.3所示。,1.3 操作系统的发展历程,1.3.1 操作系统的形成,日志,调入 作业,输出结果,图1.3 脱机成批处理,主机,批处理系统是形成后来操作系统的雏形。它的产生促进了其它软件的发展,其主要有以下几个方面:,批处理阶段,输入输出标准程序和程序库;手工操作阶段,所有输入输出指令都是程序员直接写在程序中的。采用脱机输入输出后,系统就必须提供一套标准输入输出程序供用户调用,这样导致了程序库建立(包括汇编程序、编译程序、装配程
11、序等)。库程序放在磁带上,只有监督程序放在内存。,运行日志和记帐;负责记录系统资源的使用日志。,覆盖技术;将程序和数据分成若干块,其中某些块放在辅存上,运行时调入内存覆盖已执行完程序,或数据。,批处理阶段(20世纪50年代末),1.3 操作系统的发展历程,1.3.1 操作系统的形成,批处理系统的问题:,虽然成批处理系统缩短了手工操作的时间,促进了软件的发展,但仍存在不少缺点:,监督程序、系统程序和用户程序之间是通过相互调用的方法来实现转移的。因此,若执行了一条非法指令,则整个系统就会停顿下来;若陷入死循环,则整个系统也无法向前推进。,无法防止用户程序会冲掉一部分监督程序,因而可能使整个系统混乱
12、。,进入执行系统阶段,1.3 操作系统的发展历程,1.3.1 操作系统的形成,执行系统阶段(20世纪60年代初期)这个时期硬件获得了两个重要进展,一是通道,二是中断。对整个计算机体系来说都是极为重要的。有了中断和通道就实现了两个方面的功能:,主机与输入输出的并行操作,系统输入输出控制程序和中断处理程序永驻内存成为执行程序(或监督程序、控制程序)。通过时钟记时中断防止程序死循环;非法操作也会产生中断通知系统。图1.4给出了此时内存空间,1.3 操作系统的发展历程,1.3.1 操作系统的形成,执行系统也推动软件发展,主要有两个方面:系统程序模块化:为保障系统修改方便,需要将整个系统模块化。命令语言
13、的出现:执行系统的出现促进了作业控制语言的发展,但那时主要采用的是卡片式。,执行系统仍然存在若干缺陷,最主要的,此时仍是单道系统,并不能很好地消除处理机对外部设备传输等待(如用户的输出量很大)。为克服这样问题,就促进了多道批处理系统及后续系统的产生。,1.3 操作系统的发展历程,1.3.1 操作系统的形成,手工操作阶段:,用户上机完全手工操作, 用户干预整个过程,批处理阶段:,实现用户之间转接自动化, 无需用户干预,执行系统阶段:,由于中断和通道的产生, 使得监督有了控制能力, 有了管理者.,1.3 操作系统的发展历程,1.3.1 操作系统的形成,以上3个阶段可以看成是操作系统的产生过程,由多
14、道批处理和多道程序设计概念的发展开始了操作系统趋于完善的又一发展历程。多道批处理系统最大的问题就是不支持交互,为了克服这一弱点,又很快就产生了分时系统等不同类型的操作系统。多道和分时的出现标志着较为完善的操作系统形成。,1.3 操作系统的发展历程,1.3.2 操作系统的完善,多道批处理操作系统的工作原理体现两个特征,一是“多道”,二是“成批”。如图1.5,作业,内存,1.4 操作系统的分类,1.4.1多道批处理操作系统,图1.5 中输入井和输出井分别为磁盘或磁鼓上的两个区域,是系统特别划分出来用于输入输出的区域。设置输入井和输出井的目的有两个:协调输入/输出设备速度与处理机速度的差异。为作业调
15、度提供条件。 多道批处理系统的优点是:系统资源利用率比较高。吞吐率高。 图1.6 给出了单道与多道程序运行示意图。,1.4 操作系统的分类,1.4.1多道批处理操作系统,(a)单道情形:,打印请求,打印请求,图1.6 单道与多道程序运行情况,(b)多道情形:,程序A,监督程序,I/O设备,绘图仪请求,t1,t2,t3,t4,t5,t6,t7,t8,CPU,打印机,绘图仪,程序B,打印完成,绘图完成,t9,t10,用户程序,监督程序,I/O操作,I/O中断 请求,启动I/O,I/O完成中断,I/O中断请求,启动I/O,t1,I/O中断 处理结束,t2,t3,t4,t5,t6,t7,t8,CPU,CPU空闲,空闲,多道批处理系统的缺点也是明显的:没有交互能力,用户无法干预自己作业的运行,使用起来不方便。用户作业可能需要等待很长时间才能得到运行。多道批处理操作系统下需要解决的问题: 多道批处理系统是一种有效但又十分复杂的系统,为使系统中的多道程序间能协调地运行,必须解决在1.2.2节所述的操作系统主要功能:,这些概念将在后续章节中分别加以详细讨论。,1.4 操作系统的分类,1.4.1多道批处理操作系统,分时操作系统(Time Sharing Operating System),简称分时系统,就是支持多道程序,以联机操作为标志的操作系统。,