第一章操作系统引论操作系统引论主要内容操作系统的目标、作用和模型操作系统的发展过程操作系统的基本特征OS(OperatingSystems)的主要功能OS的结构设计操作系统引论1.1操作系统的目标、作用和模型操作系统概念(p9)٭一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以及方便用户的程序集合。操作系统引论1.方便性٭计算机只能识别0、1;用户熟悉的是各种语言。2.有效性٭使计算机的各类资源在系统的管理下得到更有效的利用,提高系统吞吐量。3.可扩充性٭便于修改和增加功能(如何设计?)。4.开放性٭系统能支持世界标准规范。1.1.1操作系统的目标操作系统引论1.1.2操作系统的作用(1)作为用户与计算机硬件系统之间的接口图1-1OS作为接口的从层状示意图计算机硬件操作系统系统调用,命令,图标,窗口应用程序及实用程序系统设计者程序员用户操作系统引论操作系统的作用(2)作为计算机系统资源的管理者٭处理机管理:分配和控制处理机٭存储器管理:分配及回收内存٭I/O(Input/Output)设备管理:I/O分配与操作٭文件管理:文件存取、共享和保护作为扩充机器٭把覆盖了软件的机器称为扩充机或虚拟机。٭分层扩充的特点。操作系统引论不断提高计算机资源利用率的需要٭如批处理系统的出现方便用户٭如分时交互式系统的出现器件的不断更新换代٭8位-16-32-64-...计算机体系结构的不断发展:٭单机OS-多机OS-网络OS-…1.1.3操作系统发展的主要动力操作系统引论1.2操作系统的发展过程1.2.1无操作系统时的计算机系统人工操作方式٭如纸带输入机。٭特点是用户独占全机及CPU等待人工操作。脱机I/O方式(图1.2)٭引入I/O机的概念,解决前者的缺点。٭特点是减少了CPU的空闲时间且提高I/O速度。操作系统引论图1-2脱机I/O示意图输入设备外围机磁盘磁盘磁盘主机磁盘外围机输出设备操作系统引论1.2.2单道批处理系统处理过程(图1.3)٭监督程序(monitor)٭概念:系统对作业的处理都是成批进行的、且内存中始终只保持一道作业,称为单道批处理系统(simplebatchsystem)。٭批处理系统的引入是为了提高系统资源的利用率和吞吐量٭概念:运行控制权特征٭自动性、顺序性、单道性操作系统引论图1-3还有下一个作业?把下一个作业的源程序转换为目标程序源程序有错吗?装配目标程序运行目标程序开始是否停止是否操作系统引论1.2.3多道批处理系统基本概念٭多道:系统中同时驻留多个作业٭多道引入的优点:▪提高CPU利用率(图1.4)▪提高内存和I/O设备利用率▪提高了系统吞吐量特征٭多道性、无序性、调度性:作业调度、进程调度缺点٭平均周转时间长、无交互能力操作系统引论图1-4用户程序监督程序I/O操作I/O中断请求启动I/OI/O完成结束中断I/O中断请求启动I/OI/O完成结束中断t1t2t3t4t5t6t7t8(a)单道程序运行情况操作系统引论图1-4程序A调度程序I/O请求(b)四道程序运行情况程序B程序C程序DI/O请求I/O请求I/O请求I/O完成I/O完成I/O完成A完成表示获得CPUC再运行操作系统引论多道批处理系统(2)需解决的问题▪处理机管理问题▪内存管理问题▪I/O管理问题▪文件管理问题▪作业管理问题操作系统引论1.2.4分时系统分时系统的产生٭概念:指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,各个用户都可通过自己的终端以交互方式使用计算机。٭是用户的需求:▪人机交互性▪共享主机▪便于用户上机操作系统引论分时系统(2)分时系统在实现中的关键问题٭及时接收:多终端卡、输入缓冲区٭及时处理:交互作业应在内存、响应时间应短操作系统引论分时系统(3)分时系统的实现方法٭交互式作业直接进入内存٭以分配时间片方式实现٭类型:▪单道分时系统▪具有前、后台的分时系统–仅当前台无作业或在调进、出时,才运行后台批处理作业。▪多道分时系统–不需要调入、出开销。操作系统引论分时系统(4)分时系统的特征٭多路性、独立性、及时性、交互性操作系统引论1.2.5实时系统引入:要求及时处理的场合٭概念:▪系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理。٭类型▪实时控制▪实时信息处理操作系统引论实时系统(2)实时任务类型٭按任务执行是否呈现周期性来划分▪周期性的(联系周期);▪非周期性的(联系开始或完成截止时间)٭根据对截止时间的要求来划分▪硬实时任务▪软实时任务操作系统引论实时系统(3)实时、分时的比较٭多路性:相同٭独立性:相同٭及时性:实时系统要求更高٭交互性:分时系统交互性更强٭可靠性:实时系统要求更高操作系统引论1.3操作系统的基本特征并发٭并行是指两或多个事件在同一时刻发生。٭并发是两或多个事件在同一时间间隔内发生。٭进程:系统中能独立运行并作为资源分配的基本单位。引入线程后,独立运行的单位变为线程。操作系统引论操作系统的基本特征(2)共享٭系统中资源可供内存中多个并发执行的进程共同使用٭互斥共享:一段时间只允许一个进程访问该资源٭同时访问:微观上仍是互斥的操作系统引论操作系统的基本特征(3)虚拟٭通过某种技术把一个物理实体变为若干个逻辑上的对应物。若n是某一物理设备所对应的虚拟的逻辑设备数,则虚拟设备的速度必然是物理设备速度的1/n。异步٭运行进度不可预知。操作系统引论1.4OS的主要功能1.4.1处理机管理功能٭多道环境下,处理机的运行及分配都是以进程为单位,因此处理机管理可归结为进程管理。一、进程控制٭创建/撤消进程٭迁移进程状态٭一般由进程控制原语完成操作系统引论OS的主要功能(2)二、进程同步٭为使多个进程有条不紊地运行,应建立同步机制。٭包括进程互斥/同步,次序协调。三、进程通信٭源于进程合作,如:输入进程、计算进程、打印进程相互间有信息传递٭类型:▪直接通信:进程A发message,进程B收message٭间接通信:▪进程A发message到中间实体(如mailbox),进程B从中间实体收message操作系统引论OS的主要功能(3)四、调度(作业与进程)٭作业调度:▪为作业分配必要资源,调入内存建立进程,并使之进入就绪队列。٭进程调度:▪从就绪队列中选出进程,分配CPU,使之运行。٭调度算法:▪FCFS、优先权等操作系统引论OS的主要功能(4)1.4.2存储管理٭目的:方便用户使用,且提高存贮器利用率一、内存分配٭静态分配:٭动态分配:作业在内存中可移动٭为此,需内存分配的数据结构及内存分配和回收功能操作系统引论OS的主要功能(5)二、内存保护٭例:设置上、下界寄存器,每条指令进行越界检查(一般是硬件实现)三、地址映射٭地址范围地址٭逻辑空间逻辑地址相对地址()٭物理空间物理地址(绝对地址)操作系统引论OS的主要功能(6)四、内存扩充٭利用虚存技术,从逻辑上扩充内存容量٭系统应有:请求调入/置换功能以支持虚存技术操作系统引论OS的主要功能(7)1.4.3设备管理功能٭任务:提高I/O利用率和速度,方便用户٭一、缓冲管理▪缓冲区:用来解决CPU-I/O矛盾,如:CPU快则应多创建缓冲区。٭二、设备分配▪包括:设备,设备控制器,I/O通信的分配和回收操作系统引论OS的主要功能(8)1.4.3设备管理功能٭三、设备处理▪指控制设备进行实际的操作,包括读、写等以及向CPU发中断。▪设备处理/驱动程序应能根据用户的I/O请求,自动地构成通道程序。٭四、设备独立性和虚拟设备▪独立性,即program与设备无关性,使program易于重定向,增加了可移植性。▪虚拟设备操作系统引论OS的主要功能(9)1.4.4文件管理的功能٭任务:方便用户,提供安全性٭一、文件存贮空间的管理▪例:creatfile:文件系统根据文件长度自动分配连续或离散的扇区,并提供“一句柄”表示该文件。٭二、目录管理▪使用户按名存取,提高速度。٭三、文件的读、写管理和存取控制(保护)操作系统引论OS的主要功能(10)1.4.5用户接口٭一、命令接口▪由一组“命令”集组成,分为联机和脱机用户接口▪1.联机用户接口–由一组键盘操作命令及命令解释程序所组成▪2.脱机(批处理用户接口)–用JCL写作业说明书操作系统引论OS的主要功能(11)二、程序接口٭系统调用٭高级语言的库函数三、图形接口٭如win的copy文件,采用“拖”来完成,生动,不需记忆操作系统引论1.5OS的结构设计无结构模块式层次式微内核操作系统引论1.5.1软件工程的基本概念软件:软件工程:运用系统、规范和可定量的方法开发、运行和维护软件。操作系统引论1.5.2传统的操作系统结构1.无结构操作系统٭一组过程集,各过程可相互调用,也叫整体系统结构。٭缺点:逻辑复杂,维护困难.操作系统引论传统的操作系统结构(2)2、模块化操作系统٭通过分解来控制大型软件复杂度。▪如:进程模块、内存模块…,各模块内进一步划分子模块。٭优点:▪提高了OS设计的可维护性▪增强的OS的可适应性▪加速了OS的开发过程:并行开发模块٭缺点:▪接口不易确定▪模块依赖关系可能复杂(对于大型软件而言)操作系统引论传统的操作系统结构(3)3、分层式操作系统٭有序分层的基本概念▪可简化设计的复杂度▪下层为上层提供服务٭层次的设置应考虑的因素▪程序嵌套:各模块间嵌套关系复杂▪运行频率:随层次的增高,相应软件的运行速度就随之下降▪公用模块:低层▪用户接口:高层操作系统引论1.5.3微内核操作系统结构客户进程进程服务器终端服务器文件服务器存储服务器核心请求回答C/S服务器模式提高了系统的灵活性和可扩充性提高了软件的可靠性适合于分布式系统操作系统引论面向对象的程序设计技术٭概念:٭优点:▪a.可扩展性▪b.继承性微内核技术٭引入:提高系统的灵活性;٭采用C/S模式٭基本功能▪进程、内存、IPC等基本管理功能微内核操作系统结构(2)