《操作系统原理徐宗元OS[1]》由会员分享,可在线阅读,更多相关《操作系统原理徐宗元OS[1](111页珍藏版)》请在金锄头文库上搜索。
1、操作系统操作系统Operating Operating SystemSystem(OSOS)徐宗元主编徐宗元主编高等教育出版社高等教育出版社2005第二版第二版操作系统原理徐宗元OS1参考参考教材教材1 1“Windows“Windows操操作作系系统统原原理理”,尤尤晋晋元元等等,机机械械工工业业出出版版社,社,20012001。2.“Operating 2.“Operating SystemsSystems: Internal Internal and and Design Design Principles”Principles”,William William StallingsSta
2、llings,清清华华大大学学出出版版社社,19981998年第年第3 3版。版。3 3 “操操作作系系统统概概念念”第第6 6版版,Silberschatz,ASilberschatz,A等等著著,郑郑扣根译,扣根译,高等教育高等教育出版社,出版社, 2004.1 2004.1 。4. 4. “操操作作系系统统现现代代观观点点”,实实验验更更新新版版,Nutt,G.Nutt,G.著著, , 孟祥由等译,机械工业出版社,孟祥由等译,机械工业出版社,2004.22004.2。 5 5 “计计算算机机操操作作系系统统”,汤汤子子瀛瀛等等,西西安安电电子子科科技技大大学学出版社,出版社, 2001
3、2001年第二版。年第二版。6. 6. “操操作作系系统统教教程程”,陈陈向向群群等等,北北京京大大学学出出版版社社,20012001年第年第1 1版。版。操作系统原理徐宗元OS1实验参考教材参考教材7 7“现现代代操操作作系系统统”,Aadrew Aadrew S.TS.T著著陈陈向向群群等等译,机械工业出版社,译,机械工业出版社, 1999 1999年第年第1 1版。版。8. 8. “操操作作系系统统基基础础”,屠屠祁祁等等,清清华华大大学学出出版版社,社,20002000年第年第3 3版。版。9.“Windows9.“Windows内内核实验教程核实验教程”, 陈向群等,机械工业出陈向群
4、等,机械工业出版社,版社,20022002。10. “Linux10. “Linux操作系统内核实习操作系统内核实习”, Nutt,G. Nutt,G.著著, , 潘登潘登等译,机械工业出版社,等译,机械工业出版社,2002.12002.1。操作系统原理徐宗元OS1书内容要求掌握理解内容:课堂讲,考试主要部分(计算题、问答题、编程题、选择题)一般理解内容:书上看到小标题,考试部分选择题自学内容:Linux、Windows内容和实验操作系统原理徐宗元OS1主目录第一章 引论第二章进程管理第三章存储器管理第四章设备管理第五章文件系统操作系统原理徐宗元OS1第一章第一章引论引论( Introduct
5、ion of Operation System )( Introduction of Operation System )教学目的:教学目的: 操作系统(OS)是最重要的系统软件,本章从OS的作用、发展史、类型、特征和功能等多方面介绍OS。操作系统原理徐宗元OS1引论引论目录目录1.1 操作系统概述1.1.1 操作系统作用1.1.2 操作系统的历史1.2 计算机硬件系统概述1.2.1计算机硬件系统结构1.2.2现代操作系统的硬件基础1.3 操作系统类型1.3.1 批处理系统1.3.2 分时系统1.3.3 实时系统1.3.4微机操作系统1.3.5网络操作系统1.3.6分布式操作系统1.3.7嵌入
6、式操作系统操作系统原理徐宗元OS1引论引论目录目录11.4 操作系统特征和功能1.4.1 操作系统特征1.4.2操作系统功能1.5用户与操作系统的接口1.5.1 用户接口1.5.2 Windows 2000用户接口1.5.3 Linux/ UNIX接口1.6实验和习题1.6.1 实验1:Linux/UNIX环境复合命令的使用1.6.2 例题1.6.3 选择题1.6.4 问答题操作系统原理徐宗元OS1教学要求教学要求:熟悉操作系统作用和定义,一般了解操作系统的历史。了解二类计算机硬件系统结构,熟悉现代操作系统的硬件基础通道和中断。熟练掌握多道程序设计技术的概念,掌握批处理系统、分时系统及实时系统
7、三种操作系统基本类型,了解微机操作系统、网络操作系统、分布式操作系统和嵌入式操作系统。掌握操作系统并发性、共享性、虚拟性和异步性等特征,了解现代操作系统特征,熟悉操作系统功能。操作系统原理徐宗元OS11.1操作系统概述操作系统概述操作系统操作系统干什么?干什么?操作系统原理徐宗元OS11.1.1操作系统作用操作系统作用1。从计算机系统组成观点从计算机系统组成观点操作系统是系统软件操作系统是系统软件 计算机系统组成: 软件软件:应用软件应用软件 系统软件系统软件(操作系统、语言处理系统和常用 的例行服务程序) 硬件硬件:输入输出(输入输出(IO)设备)设备存储器存储器(内存内存)中央处理器中央处
8、理器(CPU)操作系统原理徐宗元OS12 2。从资源管理程序观点从资源管理程序观点操作系统是系统资源管理者操作系统是系统资源管理者( Operating System as a Resource ManagerOperating System as a Resource Manager)操作系统是系统资源管理程序,它用于控制和管理计算机系统的硬件和软件资源。计算机系统资源: 操作系统模块: 软件: 文件系统文件系统 硬件:IO设备 设备管理设备管理 存储器 存储器管理存储器管理 处理器 处理器(进程)管理处理器(进程)管理操作系统原理徐宗元OS13。从软件分层、扩充机器的观点从软件分层、扩充机
9、器的观点操作系统是扩充裸机的第一层系统软件操作系统是扩充裸机的第一层系统软件软件:语言处理程序 虚拟机2软件:操作系统 虚拟机1 硬件(裸机) 虚拟机虚拟机:二者结合变成了功能更强大使用更方便的机器。 操作系统是扩展的机器,是虚拟机。操作系统原理徐宗元OS1从软件分层、扩允机器的观点从软件分层、扩允机器的观点-1固件固件:为了改善系统的性能,将操作系统中与硬件密切有关的部分软件,通过微程序设计技术转化为硬件,也就是通常所说的固化,这些具有软件功能的硬件称为固件。例如IBM公司生产的AS400结构如下:操作系统原理徐宗元OS14 4。从服务用户的观点从服务用户的观点操作系统是用户与裸机之间接口操
10、作系统是用户与裸机之间接口 用户 操作系统 接口 裸机系统提供的接口有二类: 一类是作业级接口作业级接口,它提供一组键盘命令,供用户组织和控制自己的作业运行。 另一类是程序级接口程序级接口,它提供一组系统调用,即OS中某个模块功能,供用户程序和其它程序调用。5.5.从进程的观点从进程的观点操作系统是由若干个可以并发执行的进程和一个对进程进行控制和协调的核心组成。操作系统原理徐宗元OS16 6。操作系统定义操作系统定义操作系统是一组操作系统是一组有效有效控制和管理计算机控制和管理计算机系统的硬件和软件资源、系统的硬件和软件资源、合理合理地组织计地组织计算机工作流程以及算机工作流程以及方便方便用户
11、的程序集合。用户的程序集合。有效(efficiency):系统效率,资源利用率 (如:CPU利用的充足与否,内存、外部设备是否忙碌)合理:公平与否,如果不公平则会产生“死锁”或“饥饿”方便(convenience):用户界面操作系统原理徐宗元OS11.1.2操作系统的历史操作系统的历史1。第第0 0代(代(4040年代未年代未5050年代初)无操作系统年代初)无操作系统 这时的计算机操作是由程序员采用人工操作方式直接使用计算机硬件系统。2 2。第一代(。第一代(5050年代中年代中5050年代未)初级单道批处理系统年代未)初级单道批处理系统 它是为了减少人工操作时间和作业转换时间提高CPU利用
12、率而设计的。系统自动成批处理作业,这是初级单道批处理系统。3 3第二代(第二代(6060年代初年代初6060年代中)多道程序设计共享系年代中)多道程序设计共享系统统 这一代操作系统包括多道批处理系统、采用交互方式的分时系统和以提高瞬时响应时间为特征的实时系统。操作系统原理徐宗元OS1操作系统的历史操作系统的历史-14 4第三代(第三代(6060年代中年代中7070年代中)多模式系统年代中)多模式系统 这一代计算机系统是通用系统,这一代操作系统是多模式系统,即一个系统同时支持批处理、分时处理、实时处理和多重处理。5。第四代(第四代(7070年代中年代中 )网络操作系统和分布式操)网络操作系统和分
13、布式操作系统作系统 网络操作系统实现在计算机网络上进行信息交换、资源共享和互操作等功能。分布式操作系统将地域上分散的各系统互连成一个具有整体功能的系统,并可将一个任务分布地在各系统上运行,实现分布式处理。操作系统原理徐宗元OS1操作系统的历史操作系统的历史-2操作系统发展历史阶段: 其一是大型主机时代,操作系统作为硬件的组成部分之一,由硬件开发商自己设计; 其二则是个人电脑或小型主机时代,软件与硬件齐头并进,其间又经历了两个阶段基于命令行的DOS操作系统;和基于窗口图形界面的Windows操作系统。 第三个历史阶段:WEB时代。微软公司的NET技术与SUN公司的SUN ONE平台。“开发下一代
14、的互联网操作系统”课题列入国家863“十五”计划中的基础软件平台研发重点项目,以国家的实力作为后盾支持,以企业化的运作为模式,实现了基础研究与市场化的同步。 2003年以首席科学家陈榕为首的北京科泰世纪科技有限公司开发“和欣”操作系统1.0的产品。操作系统原理徐宗元OS11.1.31.1.3学习操作系统目的学习操作系统目的为专门用途人们设计、修改、扩充操作系统。例如操作系统汉化、中文操作系统环境、嵌入式操作系统开发。大多数计算机部门主要决策者选择操作系统及操作系统中的选择部分。用户为了完成自己的任务必须与操作系统交往,用户要了解操作系统提供的人机接口和计算环境,在编程中灵活应用进程(线程)。操
15、作系统中所用的许多概念和技巧一般可以应用到其它领域。操作系统原理徐宗元OS1计算机系统分层和视点计算机系统分层和视点普通普通用户用户编程员编程员操作系统操作系统设计师设计师计算机硬件计算机硬件操作系统操作系统实用程序实用程序应用程序应用程序操作系统原理徐宗元OS1LayersandViewsofaComputerSystemEndUserProgrammerOperating-SystemDesignerComputerHardwareOperating-SystemUtilitiesApplicationPrograms操作系统原理徐宗元OS1计算计算20012001教程教程:ACM/IEE
16、E-CS:ACM/IEEE-CS联合教程专题组的报告联合教程专题组的报告 这个报告包含计算学科(discipline of computing)本科教学计划(包括了计算机科学、计算机工程、计算机科学和工程及其它类似头衔的本科教学计划)的教程的推荐,计算机科学知识体系包括14个主科目领域:离散结构、程序设计基础、算法与复杂性、计算机组织与体系结构、操作系统、网络及其计算、程序设计语言、人机交互、图形学和可视化计算、智能系统、信息系统、社会与职业问题、软件工程、数值计算科学。 计算1991教程只包括九个主科目领域: 算法与数据结构、系统结构 、人工智能和机器人学、数据库和信息检索、人-计算机通讯、
17、数值和符合计算、操作系统、程序设计语言、软件方法学和工程。 每个科目领域都有重要的理论基础、重要的抽象、重要的设计和实现的成就。 操作系统原理徐宗元OS1操作系统科目有关课程的关系操作系统科目有关课程的关系 高级高级(分布式分布式)操作系统操作系统(linux)操作系统结构(分析)操作系统结构(分析) 操作系统原理操作系统原理Windows操作系统使用操作系统使用linux操作系统原理徐宗元OS11.2计算机硬件系统概述计算机硬件系统概述1.2.1 计算机硬件系统结构系统结构 1 1。大、中、小型计算机的硬件组织。大、中、小型计算机的硬件组织 这类计算机以存储器为中心,CPU和各种通道都与存储
18、器相连。 终端打 印机多路通道 存储器 CPU 选择通道操作系统原理徐宗元OS12 2。微型计算机的典型组织。微型计算机的典型组织 微型计算机是以总线为纽带来构成计算机系统,中央处理机(CPU)、存储器、 IO设备(包括外存磁盘、磁带)都挂接在总线。 CPUDMA打印机终端存储器磁盘控制器打印机控制器终端控制器操作系统原理徐宗元OS11.2.2现代操作系统的硬件基础现代操作系统的硬件基础1. 1. 支持并行操作的硬件支持并行操作的硬件通道和中断通道和中断 现代计算机系统为了提高计算机资源利用率,采用多道程序设计技术,它在主存中存放多道用户的作业,计算机系统硬件支持作业并行操作,使多道作业同时处
19、于运行状态共享系统资源。在现代批处理在现代批处理系统中支持并行操作的硬件是通道和中断系统中支持并行操作的硬件是通道和中断。 ( (练习) )通道通道是可以与CPU并行操作的专门用来控制输入输出设备数据传送的处理机。当CPU需要输入数据时,只要发命令给通道去完成,通道进行IO操作和CPU操作可并行异步执行,在通道完成IO操作后,它用中断方式向CPU报告其完成IO情况。操作系统原理徐宗元OS1现代操作系统的硬件基础现代操作系统的硬件基础1中断中断是指CPU对系统中发生的异步事件的响应,异步事件是指无一定时序关系的随机发生的事件。中断的含义是当这些异步事件发生后,打断了处理机对当前程序的执行,而转去
20、处理该异步事件,即执行该事件的中断处理程序,直到处理完了之后,再转向原程序的中断点执行。中断技术的应用范围不断扩大,它使得通道具有中断主机工作的能力,以支持多道程序设计技术,它作为所有要打断处理机正常工作并要求其去处理某一事件的一种常用手段。中断的应用能充分发挥处理机的使用效率,提高系统实时处理能力。在采用总线结构的微机系统中,虽然在某一瞬时只有系统二个部件能使用总线,但由于引入局部总线和总线控制器及广泛使用缓冲技术,加上中断控制器能使86 CPU最多能响应256级中断,使得系统各部件仍能并行执行,以支持多道程序设计技术。 操作系统原理徐宗元OS12 2。中断 中断是指CPU对系统中发生的异步
21、事件的响应,发生中断时正在执行的程序的暂停点叫做中中断断点断断点,处理器暂停当前程序转而处理中断的过程称为中断响中断响应,中断处理结束之后恢复原来程序的执行被称为中断返回中断返回。一个计算机系统提供的中断源的有序集合一般被称为中断字中断字,这是一个逻辑结构,在不同的处理器有着很不相同的实现方式。 操作系统原理徐宗元OS1中断-1中断一般可分为硬件中断和软件中断二大类。 硬件中断硬件中断又可分为硬件故障中断、输入输出中断和外部中断。 软件中断软件中断又可分为程序中断(例如定点操作数溢出、地址越界、虚存管理中缺页等)和访管中断访管中断。访管中断是用户程序在运行中请求操作系统为其提供服务而执行一条“
22、访管指令”所引起的中断,又称软件中断、系统调用系统调用。在PDP-11机上访管指令是tarp指令,在86机上访管指令是INT指令。访管中断是进程所期待的,它是自愿性的中断,又称自愿中断,其它几种中断不是运行进程所期望的,它属于强迫性中断事件。操作系统原理徐宗元OS1中断-2中断依据中断事件发生和处理是否是异步的可以分为异步中断和同步中断,在Windows 2000中,异步中断被简称为中断,而同步中断一般称为异常。中断系统中断系统是现代计算机系统的核心机制之一,它不是单纯的硬件或者软件,而是硬件和软件结合。中断系统包括两大组成部分:中断系统的硬件中断装置和软件中断处理程序。硬件中断装置硬件中断装
23、置负责捕获中断源发出的中断请求,并以一定的方式响应中断源,然后将处理器的控制权移交给特定的中断处理程序。软件中断处理程序软件中断处理程序则负责辨别中断类型并根据请求做出相应的操作。 操作系统原理徐宗元OS1IBM-PC中断逻辑和中断源中断逻辑和中断源非屏蔽中断请求(机器故障) 中断逻辑 中断指令INT溢出中断INT0除法错中断单步中断T=1中断控制器8259A可屏蔽中断请求INTR操作系统原理徐宗元OS13.3. Windows2000 Windows2000中断类型和优先级中断类型和优先级Windows2000的中断调度程序将硬件中断级映射到由操作系统识别的中断请求级(IRQL)的标准集上(
24、如表1-1)。 IRQL按优先级排列中断,并进行中断服务,较高优先级的中断服务可以抢占较低优先级的中断服务。IRQL从高往低到设备都是为硬件中断保留的。延迟过程调度DPC/Dispatch和异步过程调度APC级中断是内核和设备驱动器产生的软件中断。低优先级实际上并不是真正的中断级,在该级上执行普通的线程,并允许发生所有的中断。 操作系统原理徐宗元OS1中断请求级中断请求级表表级级用途用途来源来源31高优先级高优先级硬件中断硬件中断30电源故障电源故障29处理器内部中断处理器内部中断28时钟中断时钟中断27配置文件配置文件26设备设备n:3设备设备12延迟过程调度延迟过程调度DPC/Dispat
25、chDPC/Dispatch软件中断软件中断1异步过程调度异步过程调度APCAPC0低优先级低优先级正常线程执行正常线程执行操作系统原理徐宗元OS11.3操作系统类型操作系统类型1.3.01.3.0无操作系统计算机系统无操作系统计算机系统计算机资源的利用率低即CPU等待人工操作和高速CPU与低速IO间矛盾等问题纸纸带带机机 主主 机机打打印印机机操作系统原理徐宗元OS11.3.1批处理系统批处理系统(BatchSystem)1 1。初级单道批处理系统。初级单道批处理系统 目标:目标:为了解决人工操作(无操作系统)严重降低了计算机资源的利用率的问题,即解决CPU等待人工操作和高速CPU与低速IO
26、间矛盾等问题。 脱机输入输出技术脱机输入输出技术:该技术利用一台外围机,脱离主机先将低速输入设备(如纸带机)的数据,输入到较高速大容量的输入设备(如磁带)上。返7操作系统原理徐宗元OS1P6 P6 图图1-3 1-3 初级单道批处理系统初级单道批处理系统 纸带机 外围机 磁带机 磁带机卡片机 主 机打印机返操作系统原理徐宗元OS1初级单道批处理系统初级单道批处理系统-1 批处理技术批处理技术:它利用磁带容量较大的特点,先将一批作业按序以脱机方式输入到磁带上。主机在监督程序控制下,根据卡片机读入控制作业操作信息,逐个从磁带上读入作业到内存,调入汇编编释程序将源程序翻译成目标代码,连接装配后执行,
27、结果输出打印。执行完毕后再调入下一个作业,系统就这样自动地一个一个作业地进行处理,直至完成,这是早期单道批处理系统,它解决了作业自动转换,从而减少作业建立和人工操作时间。操作系统原理徐宗元OS1磁带机磁带机输出磁带输出磁带卡片卡片早期批处理系统早期批处理系统IBM1401IBM7094IBM1401输入磁带输入磁带卡卡片片阅阅读读机机打打印印机机操作系统原理徐宗元OS1基本控制卡片是现代作业控制语言和命令解释器的先驱操作系统原理徐宗元OS12 2。现代多道批处理系统。现代多道批处理系统目标目标:为了进一步提高资源利用率,在硬件采用通道和中断技术支持并行操作的情况下,引入了多道程序设计技术,由此
28、引入多道批处理系统。多道程序设计技术多道程序设计技术: 它是在计算机内存同时存放几道相互独立的程序,这几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。多道程序在宏观上并行执行,而在微观上多道程序在某个部件上(如CPU、IO)是串行,即多道程序轮流地使用部件,交替执行。一个有一个CPU和二个IO设备(磁盘和磁带)的二道批处理系统运行情况如下图所示。 操作系统原理徐宗元OS1P6 P6 图图1-41-4:两道:两道批处理系统运行图批处理系统运行图操作系统原理徐宗元OS1两道两道批处理系统运行图说明:批处理系统运行图说明:1.在计算机内存同时存放几道程序(程序A、 B和监督程序)
29、2.系统各部件(如CPU、IOA、IOB)支持并行工作,在某个时刻各部件可运行不同的程序。3.多道程序(程序A、 B和监督程序)在某个部件上(如CPU、IOA、IOB)是串行工作。4.在多道程序中,监督程序(操作系统)是控制中心,程序要使用某个部件(CPU、IOA、IOB),必须由监督程序调度和分配。操作系统原理徐宗元OS1例例1:两道程序运行情况:两道程序运行情况-1从图中可看出CPU与IO A(磁盘)、IO B(磁带)设备可并行工作,而对系统的某个部件如CPU,二个程序A、 B和操作系统(监督程序)都是串行,即交替运行。程序在CPU与IO设备间切换,CPU运行那个程序都由监督程序控制,并根
30、据一定的算法调度,对IO设备调度采用非抢占方式即一旦将该IO设备分配给某进程,那就要等该程序IO完成后再进行分配,而CPU调度可采用二种方式,一种是同上的非抢占方式,另一种是抢占方式。如采用抢占方式调度CPU,当一个优先级更高的程序要使用CPU时,就要暂仃正在CPU上运行的优先级较低程序,让优先级高的程序运行完毕后再运行原程序。操作系统原理徐宗元OS1例例1:两道程序运行情况:两道程序运行情况-2 图中开始时程序A、 B都在内存中,先运行程序A。当程序A要请求盘输入时,转由CPU运行监督程序来启动盘,启动成功后IO A(磁盘)进行程序A盘输入。这时CPU空,CPU运行监督程序来调度程序 B,接
31、着CPU运行程序B。这时CPU在运行程序B,而IO A(磁盘)进行程序A盘输入。程序B运行一段时间后请求带输入时,转由CPU运行监督程序来启动磁带,启动成功后IO B(磁带)进行程序B磁带输入。这时IO A(磁盘)进行程序A盘输入,IO B(磁带)进行程序B磁带输入,CPU空操作。CPU空操作到IO A(磁盘)结束程序A盘输入,产生中断。转由CPU运行监督程序的中断处理程序处理程序A中断,处理后调度程序A,接着运行程序A。在程序A运行时,IO B(磁带)结束程序B磁带输入,产生中断。CPU暂仃正在CPU上运行的程序A转运行监督程序的中断处理程序处理程序B中断,处理后根据一定的算法调度程序A或B
32、,这里调度程序B,接着运行程序B。操作系统原理徐宗元OS1AllowstheprocessortoexecuteanotherprogramwhileoneprogrammustwaitforanI/Odevice.RunRunWaitTimeWaitRunARunAWaitTimeWaitRunBRunBMultiprogramming or Multitasking操作系统原理徐宗元OS1ExampleJOB1JOB2JOB3TypeofjobHeavycomputeHeavyI/OHeavyI/ODuration5min.15min.10min.Memoryrequired50K 100
33、K80KNeeddisk?NoNo YesNeedterminal NoYes NoNeedprinter? NoNo Yes操作系统原理徐宗元OS1EffectsofMultiprogrammingUniprogrammingMultiprogrammingProcessoruse17%33%Memoryuse30%67%Diskuse33%67%Printeruse33%67%Elapsedtime30min.15min.Throughputrate 6jobs/hr12jobs/hrMeanresponsetime18min.10min.操作系统原理徐宗元OS1SchedulingBur
34、sts of CPU usage alternate with periods of I/O waita CPU-bound processan I/O bound (受I/O束缚)process操作系统原理徐宗元OS1Modeling MultiprogrammingCPU utilization as a function of number of processes in memoryDegree of multiprogramming操作系统原理徐宗元OS1 SPOOLingSPOOLing系统系统/ /技术技术(假脱机(假脱机I IO O或联机或联机I IO O ): :( SPOO
35、Ling-Simultaneous Peripheral ( SPOOLing-Simultaneous Peripheral Operation On-Line /Operation On-Line /同时的外围设备联机操作同时的外围设备联机操作) )在现代批处理系统中引入缓冲技术,在外存设置输入缓冲区(输入井)和输出缓冲区(输出井)。同时又引入SPOOLing技术(又称假脱机IO或联机IO),该技术采用通道代替外围机,它与CPU并行操作,控制外设完成输入输出任务。SPOOLing系统系统操作系统原理徐宗元OS1SPOOLing系统系统-1在该系统中用户提交的作业由输入设备经Spooling
36、系统联机输入到外存磁盘的输入井内,并排成一个后备作业队列,然后由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,它们在内存中按一定调度规则共享CPU和系统中各种IO资源,以达到提高资源利用率和系统吞吐量的目的。操作系统原理徐宗元OS1SPOOLing系统系统-2SPOOLing系统实现了对I/O设备的虚拟:只要输入设备空闲,系统可预先将输入数据从设备传输到输入井中供用户程序随时读取;系统可将用户程序随时输出的数据先送到输出井中,待输出设备空闲时再执行数据输出操作。 操作系统原理徐宗元OS1SPOOLing系统系统-3磁盘通道主机通道卡片机通道打印机spooling系统系统作业#操作
37、系统原理徐宗元OS11.3.2 1.3.2 分时系统分时系统 ( Time Sharing SystemTime Sharing System)1。分时系统原理分时系统原理目标目标:分时系统的形成和发展的动力是用分时系统的形成和发展的动力是用户的需要户的需要。用户希望自己能直接控制程序的运行及时进行人-机交互,以便能方便地修改程序的错误。用户希望一台计算机能为多台用户共享,解决当时(六十年代)计算机昂贵而缺少的矛盾,方便用户上机。操作系统原理徐宗元OS1分时系统实现原理实现原理分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,它同时允许许多用户通过终端以交互方式使用计算机共享主机中的资
38、源。所谓分时分时是指多个用户分时共享使用同一台计算机,也就是说把计算机的系统资源(尤把计算机的系统资源(尤其是其是CPUCPU时间)进行时间上分割,即将整个工作时间)进行时间上分割,即将整个工作时间分成一个个的时间片,每个时间片分给一时间分成一个个的时间片,每个时间片分给一个用户使用,这样将个用户使用,这样将CPUCPU工作时间分别提供给多工作时间分别提供给多个用户使用,每个用户依次地轮流使用一个时个用户使用,每个用户依次地轮流使用一个时间片间片。操作系统原理徐宗元OS1主机主机终终端端操作系统原理徐宗元OS12。分时系统的实现分时系统的实现采用采用调进调出调进调出的单道分时系统的单道分时系统
39、 在单道分时系统内存中只驻留一道程序,其余程序都在外存上。每当内存中一个程序运行一个时间片后,便调至外存(称为调出)。再从外存中选一个程序装入内存(称为调进)并运行一个时间片,依此方法使所有的作业都能在一规定的时间内轮流运行一个时间片,这样便能使所有的用户都能与自己的作业交互。在多个作业的轮流运行过程中,每个作业往往可能频繁地调进调出多次,开销大,故使系统的性能较差。操作系统原理徐宗元OS1基于多道程序设计的多道分时系统基于多道程序设计的多道分时系统 由于现代计算机系统采用大容量内存并采用内存与磁盘对换技术扩充内存,现代分时系统引入多道程序设计技术,在内存中存放多道作业排成一个队列,依次轮流地
40、获得一个时间片来运行。 由于切换切换作业就在内存,不要花费大量时间用于调进调出,故多道分时系统具有较好的系统性能。作业调度算法也不限于时间片不变,次序不变的简单轮转。象UNIX操作系统对系统中各进程采用可抢占的动态优先级调度算法,它也实现了各作业分时共享计算机,但时间片大小和轮转次序都在变化。 批处理系统和分时系统都是多道程序系统,是属于处理用户作业的系统。系统本身没有要完成的作业,它只是起着管理调度系统资源,向用户提供服务的作用,这类系统可以说是“通用系统通用系统”。操作系统原理徐宗元OS13 3分时系统的分时系统的特征特征多路性多路性:允许在一台主机上同时联接多台联机终端,系统按分时原则为
41、每个用户服务。宏观上是多个用户同时工作,共享系统资源,而微观上则是每个用户作业轮流运行一个时间片。多路性即同时性,它提高了资源利用率,从而促进了计算机更广泛的应用。独立性独立性:每个用户各占一个终端,彼此独立操作,互不干扰。因此用户会感觉到就象他一人独占主机。交互性交互性:用户可通过终端与系统进行广泛的人机对话。用户可以请求系统提供多方面服务,如文件编辑,数据处理和资源共享等。及时性及时性:用户的请求能在很短时间内获得响应,此时间间隔是以人们所能接受的等待时间来确定的,通常为1-2秒。操作系统原理徐宗元OS14 4分时系统的重要指标分时系统的重要指标响应时间响应时间 响应时间响应时间是分时系统
42、的重要指标,它是用户发生是分时系统的重要指标,它是用户发生终端命令到系统开始作出响应间的时间间隔终端命令到系统开始作出响应间的时间间隔。系统的响应时间主要是根据用户所能接受的等待时间确定的。假设分时系统中用户数为n,每个用户的运行时间片为q,则系统的响应时间为Tnq。每个用户分到的时间片q由二部分组成,用于对换时间S和用于真正处理时间T(处理)。T n qq S + T(处理) 操作系统原理徐宗元OS1分时系统的实现分时系统的实现-1-1操作系统原理徐宗元OS1响应时间响应时间-1-1分时系统中时间片q的选择是一个复杂和关键的任务,如时间片选得过大,造成响应时间不变时用户数减少,或造成响应时间
43、过长,当时间片过小时,在一个时间片内切换开销相对增加,一个进程相对要花费更多的时间片才能运行结束,一个进程在系统中的周转时间大大增长。最佳的时间片值应既能使分时用户得到好的响应时间,同时又要使在一个时间片内切换开销相对较小可忽略。 UNIX系统是典型的分时系统,UNIX系统是一个多用户,多任务操作系统。操作系统原理徐宗元OS11.3.3实时系统实时系统(Real-Time Systems) 目标目标:为了提高系统的响应时间,对随机发生的外部事件作出及时响应并对其进行处理。1 1实时系统实时系统分类分类实时控制系统实时控制系统 此类实时控制系统主要用于生产过程的自动控制,实验数据自动采集,武器的
44、控制、包括火炮自动控制、飞机自动驾驶、导弹的制导系统。实时信息处理系统实时信息处理系统 这类系统主要用于实时信息处理,象飞机订票系统、情报检索系统。操作系统原理徐宗元OS12。实时系统实时系统特征特征快速的响应时间快速的响应时间 实时系统是为了提高系统响应时间而设计的操作系统,特别是实时控制系统,对外部事件的响应要十分及时迅速。实时系统的响应时间则是由控制对象所能接受的时延确定的。外部事件往往以中断方式通知系统,系统有较强的中断处理能力,实时系统的设计也以“事件驱动”方式来设计。操作系统原理徐宗元OS1实时系统特征实时系统特征-1-1有限的交互能力有限的交互能力 批处理系统和分时系统是“通用系
45、统”,实时系统一般是专用系统,它为专门的应用而设计,系统本身就包含有控制某实时过程和处理实时信息的专用应用程序。实时系统(如实时信息处息系统)它能提供人机交互方式,但用户只能访问系统中某些特定的专用服务程序,不能象分时系统一般向终端用户提供多方面服务。高可靠性高可靠性 批处理系统和分时系统虽也要求系统可靠,相比之下,实时系统则要求系统高度可靠。因此实时系统中往都采用双机系统,多级容错措施来保证系统和数据的安全。(练习)操作系统原理徐宗元OS11.3.4微机操作系统微机操作系统(DesktopSystems) 配置在微机上的OS称为微机操作系统。常用的微机OS有MS-DOS、MS Windows
46、、OS/2、SCO UNIX、 Linux等。1单用户单任务操作系统MS-DOS MS-DOS是Microsoft公司开发的首先在IBM-PC机上使用的微机OS,MS-DOS操作系统现成了事实上的16位微机单用户单任务操作系统的标准。2多任务操作系统MS WindowsWindows98/2000/XP是Microsoft公司开发的一个图形用户界面的多任务、多线程、全32位的操作系统。操作系统原理徐宗元OS1微机操作系统微机操作系统-1Windows 2000 系列 :Windows 2000 professional、Windows 2000 Server、Windows 2000 Adva
47、nced Server和 Windows 2000 Datacenter Server。Windows XP三个版本:Windows XP Home Edition有良好的数字媒体平台,适合家庭用户和游戏爱好者Windows XP Professional 是为商业用户设计的,有高级别的可扩展性和可靠性;Windows XP 64-BitEdition可满足最高级别的专业技术工作站用户的需要。Windows Server System:是一个全面、集成而且具有互操作能力的服务器基础结构,提供了一个公用体系结构,Windows Server System的基础是Windows Server 20
48、03操作系统。 操作系统原理徐宗元OS1微机操作系统微机操作系统-23.多用户多任务操作系统SCO UNIX SCO公司将运行于大、中、小型机上UNIX操作系统移植到微机上,UNIX是多用户多任务操作系统。4Linux Linux操作系统是一个遵循标准操作系统界面的标准免费操作系统,具有UNIX BSD和UNIX SYS 的扩展特性。它的版权所有者是芬兰籍的Linus B.Toroalds先生和其它开发人员,并且遵循GPL(GNU General Pablic License)声明。Linux可以在基于Intel处理器的个人计算机上运行,它可以将一台普通的个人电脑变成功能强劲的UNIX工作站。
49、 操作系统原理徐宗元OS1微机操作系统微机操作系统-3Linux有一个基本内核,一些组织和厂商将内核与应用程序、文挡包装起来,再加上安装、设置和管理工具,就构成了直接供一般用户使用的套件。Linux版本是分为两部分:内核版本和发行套件版本。内核版本指的是在Linus领导下开发的系统内核的版本号,2004.10 Linux的最新稳定内核版本号为2.6.9。发行套件常见的有Slackware、Red Hat Linux、Debian 等。Red Hat Linux具有支持多种硬件平台(如Intel、Sparc和Alpha平台),软件安装、配置、升级、维护简单,系统管理工具方便等优点,是初学者的最佳
50、选择。 中国政府于1999年发布的指导性文件“当前优先发展的高技术产业化重点领域指南”确定:基于Linux的操作系统平台及其集成应用环境软件是我国高技术发展的重点领域之一。 操作系统原理徐宗元OS11.3.5网络操作系统网络操作系统(Network Operating System , NOSNetwork Operating System , NOS)1. . 网络操作系统定义网络操作系统定义 计算机网络可以定义为一些互连的自主计算机系统的集合,所谓自主计算机是指计算机具有独立处理能力,而互连则表示计算机之间能够实现通信和相互合作。按网络所覆盖的地理范围大小可把计算机网络分成广域网WAN(W
51、ide Area Network)和局域网LAN(Lacal Area Network)两类。操作系统原理徐宗元OS1网络操作系统网络操作系统-1网络操作系统定义为:网络操作系统网络操作系统是使网络上各计算是使网络上各计算机能方便地进行网络通信机能方便地进行网络通信、有效地共享网络资源,为网有效地共享网络资源,为网络用户提供所需各种服务的软件和有关规程的集合。络用户提供所需各种服务的软件和有关规程的集合。2. 2. 网络网络OSOS功能功能: :l高效、可靠的网络通信l对网络中共享资源(在LAN中有硬盘、打印机等)有效的管理l提供电子邮件、文件传输、共享硬盘、打印机等服务l网络安全管理l提供互
52、操作能力操作系统原理徐宗元OS13.3.网络网络OSOS的的客户服务器客户服务器C CS S(Client/ServerClient/Server)模式)模式 客户服务器的模式客户服务器的模式C/SC/S是流行的网络工作模式,该种模式网络可分为以下二大类:l服务器:它是网络的控制中心,其任务是向客户提供一种或多种服务,服务器可有多种类型,如提供文件打印服务的文件服务器等。l客户:这是用于本地处理和访问服务器的站点,在客户中包含了本地处理软件和访问服务器上服务程序的软件接口。操作系统原理徐宗元OS14.现代操作系统特点现代操作系统特点内装网络内装网络现代操作系统已把网络功能包含到操作系统的内核中
53、,作为操作系统核心功能的一个组成部分。微软公司的Windows 2000,AT & T公司的UNIX System V、Sun公司的SunOS、HP公司的HPOX、IBM公司的AIX、Linux等都已把TCPIP网络功能包含在内核中。 Windows 2000把网络功能作为该系统执行体的输入输出(IO)系统的一部分。NT的IO系统包含有五部分:输入输出(IO)管理程序、文件系统、缓冲存储管理系统、设备驱动程序、网络驱动程序。(见图)操作系统原理徐宗元OS1 2000的内装网络是如何工作的呢?首先用户态软件(例如Win 32 I/O API) 通过调用本机NT I/O 服务子程序发出I/O请求(
54、如向对方写盘)。I/O请求包(IRP),并将请求传送给文件系统驱动程序之一Window 2000重定向程序。 重定向程序将请求包(IRP)提交给传输驱动程序,传输驱动程序处理请求包,并将其放在网络上。请求到达Windows 2000的目的地时,由传输驱动程序接收并复制数据到缓冲区,然后调用文件系统驱动程序,发出I/O命令写盘。内装网络内装网络-1操作系统原理徐宗元OS11.3.6分布式操作系统分布式操作系统( Distributed Operating Systems ) 1.1.分布式分布式操作系统定义操作系统定义 分布式计算机系统是为分散处理、协同完成任务而将多个分散的计算机经互连网络连接
55、而成的计算机系统,分布式操作系统是在它上配置的操作系统。分布式操作系统分布式操作系统是能直接对系统中各类资源进行动是能直接对系统中各类资源进行动态分配和管理,有效控制和协调诸任务的并行执行,态分配和管理,有效控制和协调诸任务的并行执行,允许系统中的处理单元无主、次之分,并向系统提允许系统中的处理单元无主、次之分,并向系统提供统一的、有效的接口的软件集合供统一的、有效的接口的软件集合。它基于两种环境:多处理器(CPU)系统或多计算机系统(网络),它是网络操作系统的更高级的形式,它保持了网络操作系统的全部功能。操作系统原理徐宗元OS12. 2. 分布式操作系统与网络操作系统的区别分布式操作系统与网
56、络操作系统的区别分布性分布性 处理上的分布性是分布式操作系统的最基本特征。网络虽有分布处理的功能,但网络的控制功能,则大多集中在某个主机或服务器上,它的控制方式集中的,分布式系统的处理分布是资源、功能、任务和控制都是分布的。透明性透明性 分布操作系统负责全系统的资源分配和调度、任务划分、信息传输协调工作,并为用户提供一个统一的界面,标准的接口,用户通过这一界面实现所需要的操作和使用系统资源。分布式OS通常很好地隐藏系统内部的实现细节,如对象的物理位置、并发控制、系统故障等对用户都是透明的。操作系统原理徐宗元OS1分布式操作系统与网络操作系统的区别分布式操作系统与网络操作系统的区别-1-1统一性
57、统一性 分布式系统要求一个统一的操作系统,实现系统操作的统一性,而网络系统一般是在各自操作系统基础上加上负责网络访问功能模块,网络各系统操作不一致。健壮性健壮性 由于分布式系统的处理和控制功能是分布的,设备出现故障时,可通过容错技术实现系统重构,从而仍保持系统的正常运行,因而系统具有键壮性,即具有较好的可用性和可靠性。而网络系统其控制功能大多集中在主机和服务器中,使系统具有潜在的不可靠性。操作系统原理徐宗元OS11.3.7嵌入式操作系统嵌入式操作系统(Embedded OSEmbedded OS)嵌入式系统是在各种设备、装置或系统中,完成特定功能的软硬件系统。它们是一个大设备、装置或系统中的一
58、部分,这个大设备、装置或系统可以不是“计算机”。通常工作在反应式或对处理时间有较严格要求环境中,由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统。在电器、电子和智能机械上,嵌入安装各种微处理器或微控制芯片。嵌入式操作系统嵌入式操作系统就是运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件。嵌入式操作系统通常配有源码级可配置的系统模块设计、丰富的同步原语、可选择的调度算法、可选择内存分配策略、定时器与计数器、多方式中断处理支持、多种异常处理选择、多种通信方式支持、标准C语言库、数学运算库和开放式应用程序接口。 操作
59、系统原理徐宗元OS1嵌入式操作系统嵌入式操作系统1嵌入式操作系统具有高可靠性、实时性、占有资源少、智能化能源管理、易于连接、低成本等优点,其系统功能可针对需求进行裁剪、调整和生成,以便满足最终产品的设计要求。嵌入式系统的应用非常广泛,如手机的通信控制、工业监控、智能化生活空间(信息家电、智能大厦等等)、通信系统、导航系统等等。举一个简单的例子,例如汽车上的电子控制设备实际上是一个电脑网络,一辆现代化的轿车里面可能有数十个微处理器和相应的操作平台,它们需要通信,需要监控汽车的运行等等。这就构成一个嵌入式系统,它包括任务处理、计算、网络互联、数据采集、数据管理、智能控制、人机交互等诸多方面的技术,
60、而它需要一系列针对应用环境的操作平台来控制、协调各种系统需求与服务,控制资源配置,这些平台共同构成了这个嵌入式系统的操作系统。 操作系统原理徐宗元OS1嵌入式操作系统嵌入式操作系统1嵌入式操作系统的代表VxWorksVxWorks支持各种工业标准,包括POSIX, ANSI C和TCP/IP网络协议;VxWorks运行系统的核心是一高效率的微内核;微内核支持各种实时功能,包括快速多任务处理,中断支持,抢占式和轮转式调度。在“极地登陆者”号,“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorks。Microsoft Windows Embedded家族的产品系列是Windows
61、CE.NET和Windows XP Embedded,它是一个有助于将下一代智能连接设备以更快速度投放市场的综合性软件平台。 操作系统原理徐宗元OS1嵌入式操作系统的应用嵌入式操作系统的应用智能卡智能卡移动通信移动通信计算机外设计算机外设机顶盒机顶盒零售设备零售设备印刷机印刷机复印机复印机互联网服务器互联网服务器电话交换设备电话交换设备操作系统原理徐宗元OS11.4操作系统特征和功能操作系统特征和功能1.4.1操作系统操作系统特征特征(Characteristics of Operating Systems)并发性并发性(ConcurrenceConcurrence) 并行性和并发性是既相似又
62、有区别的两个概念。并行性是指两个或多个事件在同一时刻发生,而并发性是指两个或多个在同一时间间隔内发生。在多道程序环境下,并发性是指宏观上在一段时间内有并发性是指宏观上在一段时间内有多道程序在同时执行多道程序在同时执行。但在单处理机系统中,每一个时刻仅能执行一道程序,故微观上,这些程序是在交互执行。操作系统原理徐宗元OS1操作系统特征操作系统特征-1共享性共享性(SharingSharing) 共享是指系统中的所有资源不再为一个程序所独占,而是供同时存在于系统中的多道程序所共同使用。根据资源属性不同,可有互斥共享和同时共享两种不同的共享方式。并发和共享关系:并发和共享关系:并发和共享是操作系统的
63、两个最基本的特性,它们又是互为存在条件。一方面资源共享是以程序(进程)的并发性执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题。另一方面若系统不能对资源共享实施有效管理,则也必将影响到程序并发执行。操作系统原理徐宗元OS1操作系统特征操作系统特征-2虚拟性虚拟性(VirtualVirtual) 虚拟是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体是实际存在的,是实的;逻辑物体是用户感觉到的,是虚拟的。例如在单CPU多道分时系统中,通过多道程序技术和分时技术可以把一个物理CPU虚拟为多个逻辑上的CPU,使每个终端用户都认为有一台“独立”的CPU为它运行,用户感觉的C
64、PU是虚拟CPU。操作系统原理徐宗元OS1异步性(异步性(AsynchronismAsynchronism)和不确定性)和不确定性(nondeterministicnondeterministic) 在多道程序环境下,允许多个程序并发执行,但由于资源等因素的限制,程序的执行并非“一气呵成”,而是以“走走停停”的方式运行,即程序是以异步方式运行的。多个程序异步并发执行带来了二种不确定性。一种是每个程序(进程)执行的速度和时间不确定,各程序(进程)之间推进的序列也不确定。即是不可预测的。另一种是每个程序(进程)执行结果不确定,即对同一程序,给定相同的初始条件、在相同的环境下进行多次执行,却可能获得
65、完全不同的结果,这也称为程序并发执行的不可再现性。执行结果的不确定性是绝对不允许的,这是操作系统为实现程序并发执行必须解决的问题。 (练习)操作系统原理徐宗元OS1现代操作系统特征:现代操作系统特征:微内核结构(微内核结构(Microkernelarchitecture) 它只把OS少数基本的功能(包括地址空间、进程间通信IPC和基本调度)分配给内核,其它的OS服务由称为服务器的进程提供。多线程(多线程(Multithreading) 该技术采用执行应用的进程被分为多个能并行运行的线程。对称多处理机(对称多处理机(SymmetricmultiprocessingSMP)分布式操作系统分布式操作
66、系统(DistributedOperatingSystems)面向对象设计(面向对象设计(Object-orienteddesign)操作系统原理徐宗元OS11.4.21.4.2操作系统功能操作系统功能处理机(进程)管理处理机(进程)管理 处理机管理的主要任务是对处理机进行分配,并对其运行进行有效的控制和管理。在多道程序环境下,处理机的分配和运行以进程为基本单位,因而对处理机管理可归纳为对进程的管理。进程管理包括进程控制、进程同步、进程通信和调度等。存储器管理存储器管理 存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充内存,为此
67、存储管理应具有内存分配、内存保护、地址映射和内存扩充等功能。操作系统原理徐宗元OS1操作系统功能操作系统功能-1I/OI/O设备管理设备管理 设备管理体制的任务是登记各I/O设备状态,管理并完成用户提出的I/O请求,按一定的策略为用户分配I/O设备。同时提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备,为此设备管理应具有缓冲器管理、设备分配、设备处理及虚拟设备等功能。信息管理(文件系统管理)信息管理(文件系统管理) 计算机系统的软件信息都以文件形式进行管理,操作系统中负责此任务的部分是文件系统,文件系统的任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全
68、性,为此文件系统管理应具有对文件存储空间的管理、目录管理、文件共享和保护等功能。操作系统原理徐宗元OS1操作系统功能操作系统功能-2用户接口用户接口 为了方便用户使用OS,OS向用户提供了“用户与OS的接口”,该接口分成二种:一种是作业级接口,它提供一组键盘命令,供用户去组织和控制作业的运行。另一种是程序级接口,它提供一组系统调用供其它程序调用。操作系统原理徐宗元OS11.51.5用用户与操作系与操作系统的接口的接口 1.5.1用户接口用户接口 用户接口是计算机系统与用户之间进行交互作用和通信的通路。对绝大多数用户而言,一个计算机系统的可接受性在很大程度上取决于这个用户接口。用户接口分为命令接
69、口和程序接口两类。1.作业级接口作业级接口作作业级接口接口是用于作业控制的,它是籍助于在用户和操作系统之间提供高级通信来控制一组程序的处理。这个接口之又称命令接口命令接口,是因为用户可以通过键盘输入或在作业中发出一系列命令,告诉OS执行那些功能。它分联机用户接口和脱机用户接口。 操作系统原理徐宗元OS1作业级接口作业级接口-1-1 (1)联机用户接口联机用户接口。联机用户接口也叫交互式用户接口,它用于联机作业控制。它是由一组键盘操作命令组成。交互式用户接口交互方式又分成二类,一类是字符方式,终端命令,提供面向流的通信,如MS-DOS。另一类是图形方式,提供“对话框”、“图标”、“菜单”等图形用
70、户接口(GUI)如Windows。(2)脱机用户接口脱机用户接口也称批处理用户接口,它用于脱机作业控制。脱机作业控制又分为作业控制卡和作业说明书两种方式。 作业控制卡作业控制卡方式是指用户将其操作意图,用作业控制语言提供的有关作业控制命令穿孔在若干卡片上,以控制作业的运行的一种形式。用户按照要求将作业控制卡插入到作业卡片叠的适当位置上。系统分批读入这些卡片后开始运行,并按照这些控制卡的信息,指挥和控制作业的运行,这些作业控制卡是早期的一种作业控制方式。 操作系统原理徐宗元OS1作业级接口作业级接口-2-2作业说明书作业说明书也是用作业控制语言来表达用户对作业控制意识的,在形式上同用高级编程语言
71、编制的程序相似。相对于作业控制卡分散的缺点它具有集中、便于修改、灵活等优点。作业控制语言 (JCL)是在IBM z990等大型主机配置的MVS、OS/390等操作系统上用于描述批处理作业处理过程控制意图的一种特殊语言,作业控制语言是专有软件,对于不同的操作系统来说,它各不相同。 操作系统原理徐宗元OS12 2。程序接口。程序接口 程序接口程序接口是操作系统为正要运行的程序提供服务并与之通信的一个设施,它供所有的用户程序使用,也供操作系统的其它组成部分,特别是命令处理程序使用。当一个程序正在执行时,程序接口接受对系统服务及资源申请,并与操作系统的资源管理程序进行通信。这个程序接口主要由系统调用组
72、成。操作系统原理徐宗元OS1程序接口程序接口-1-1系统调用系统调用是用户在程序中调用操作系统所提供的一些子功能模块,它是一种特殊的过程调用,这种调用通常是由特殊的机器指令实现的,在PDP机是陷阱指令trap,在x86机是软中断指令INT xx,它又称访管指令(SVC)、访管调用。用户程序运行在用户态下,它通过软中断进入核心,调用系统过程(子模块),运行在核心态,返回后仍在用户态下运行。用户程序系统调用从功能上分可包括进程管理、文件管理、信息维护、设备IO管理等几方面。系统调用过程大体上分成以下三步:设置系统调用号和参数;系统调用命令的一般处理;系统调用命令处理程序做具体处理。 操作系统原理徐
73、宗元OS11.5.2 Windows 2000用户接口 1. 命令接口图形用户接口(图形用户接口(GUI)Windows 2000使用图形化的命令接口,它是图形用户接口(GUI)。GUI的基本元素有:(1)窗口窗口:是指屏幕上的一块矩形区域,应用程序(包括文挡)可通过窗口向用户展示系统所能提供的各种服务及其需要用户输入的信息,用户可通过窗口去查看和操纵应用程序和文挡。窗口由标题拦、垂直、水平滚动条、控制按钮、最大化、最小化按钮、还原按钮、关闭按钮等组成。(2)图标图标:它是代表一个应用程序或文件的一个小图象,它也是最小化窗口,通过对图标的操作可激活相应的程序(选择它在前台运行)和启动应用程序。
74、 操作系统原理徐宗元OS1Windows2000用户用户接口接口-1 (3)菜单菜单:用户在窗口中对应用程序所能执行的各种操作是以菜单的形式提供的。菜单一般是由菜单名和若干菜单项所组成。每一菜单项通常都对应于相关的命令或功能。用户可用鼠标或键盘在菜单中选择一菜单项,来向系统提出相应的服务请求,当用户选择某菜单项时,有时便出现弹出菜单和下拉式菜单。(4)对话框对话框:它是在桌面上的带有标题条和控制菜单的一个临时窗口,又称为对话窗口。其主要用途是系统可通过对话框提示用户输入与任务有关的信息,或向用户提供可能需要的信息。对话框由文本框、列表框、命令按钮、单选按钮和复选按钮组成。 操作系统原理徐宗元O
75、S12.Windows 2000应用程序接口Win32 API Windows操作系统依靠一组用户态环境子系统,作为应用程序与操作系统核心之间的接口,环境子系统的主要工作是为应用程序提供编程接口和执行环境。Windows 2000有三个环境子系统:Win32子系统、POSIX子系统和OS2子系统。Win32子系统是Windows 2000操作系统固有的子系统,这个子系统能够提供应用程序运行所需要的窗口管理、图形设备接口、媒体控制、内存管理等各项服务功能,这些功能以函数库的形式组织在一起,这就是Win32应用程序编程接口应用程序编程接口(API),简称为Win32API。Win32子系统负责将A
76、PI调用转换成Windows操作系统的系统服务调用。对于应用程序开发人员而言,他所看到的Windows操作系统实际上就是Win32 API,操作系统的其他部分对他来说是完全透明的。操作系统原理徐宗元OS1Windows 2000应用程序接口Win32 API-1 Win32 API主要由Win32子系统的三个动态链接库实现:USER32.DLL:负责处理用户接口,包括键盘和鼠标输入、窗口和菜单管理等;GDl32.DLL:负责在图形设备(包括显示器和打印机)上执行绘图操作;KERNEL32.DLL:操作系统核心功能服务,包括进程与线程控制、内存管理、文件访问等。除了上述模块以外,Windows
77、2000还提供了其他一些DLL以支持另外一些功能,包括:通用控件(COMCTL32.DLL)、公共对话框(COMDLG32.DLL)、用户界面外壳(SHELL32.DLL)、图形引擎(DIBENG.DLL)以及网络(NETAPl32.DLL)。标准Win32API函数可以分为以下几类:(1)系统服务系统服务。系统服务函数为应用程序提供了访问计算机资源与底层操作系统特性的手段,包括内存管理、文件系统、设备管理、进程和线程控制等。应用程序使用系统服务函数来管理和监视它所需要的资源。操作系统原理徐宗元OS1Windows 2000应用程序接口Win32 API-2 (3)图形设备接口图形设备接口。图
78、形设备接口(GDI)提供了一系列函数和相关的结构,可以绘制直线、曲线、闭合图形、文本以及位图图像等,应用程序可以使用它们在显示器、打印机或其他设备上生成图形化的输出结果。(4)网络服务网络服务。网络服务函数可以使网络上不同计算机的应用程序之间进行通信。使用网络函数可以创建和管理网络连接,从而实现资源共享,例如共享网络打印机。(5)用户接口用户接口。用户接口函数为应用程序提供了创建和管理用户界面的方法,可以使用这些函数创建和使用窗口来显示输出、提示用户进行输入以及完成其他一些与用户进行交互所需的工作。大多数应用程序都至少要创建一个窗口。 操作系统原理徐宗元OS1Windows 2000应用程序接
79、口Win32 API-3 (6)系统系统Shell。Win32 API中包含一些接口和函数,应用程序可使用它们来增强系统Shell各方面的功能。 (7)Windows系统信息系统信息。系统信息函数使应用程序能够确定计算机与桌面的有关信息,例如确定是否安装了鼠标,显示屏幕的工作模式等。Win32 API是一个基于C语言的接口,但是Win32 API中的函数可以被使用不同语言编写的程序调用,只要在调用时遵循调用规范即可。不同Windows操作系统平台上的Win32 API存在一些差异,从很大程度上讲,Windows 2000是所有Win32实现的超集。 操作系统原理徐宗元OS11.5.3 Linu
80、x/ UNIX接口 1. 命令接口shell和X Windowsshellshell是Linux/UNIX操作系统的命令语言,同时又是该命令语言的解释程序的简称。shell作为语言来说,它既是终端上的用户与Linux/UNIX操作系统会话的语言,又可作为程序设计的语言,所以shell是用户与系统之间的接口,而且是一种比较高级、易被用户理解和使用的程序设计语言,它为用户提供了使用方便、功能强、又容易扩充的程序设计环境。Linux/UNIX其虚拟终端和Shell命令提供丰富而灵活的基于字符的交互界面,常用的操作命令有基本类、特殊类二类。操作系统原理徐宗元OS1命令接口shell和X Windows
81、-1基本类命令基本类命令有包括:(1)系统访问命令,例如login,logout等。(2)编辑和文件管理命令,例如Vi,emacs,cp,rm和ls等。(3)编译、链接命令,例如cc,link等。(4)维护、管理命令,例如adduser,chown等。(5)调试命令,例如dbx等。(6)记帐、日期等的命令,例如date等。(7)网络通信用命令,例如mailx等。 操作系统原理徐宗元OS1命令接口shell和X Windows-2特殊类命令特殊类命令包括:(1)后台命令:“&”。(2)文件名生成符号:“x”和“?”。(3)输入输出重定向符号:“”和“”。(4)管道命令:“”。(5)滤波器功能:主
82、要的命令是:grep、sort、tail。 操作系统原理徐宗元OS1命令接口shell和X Windows-3 X WindowsX Windows系统是20世纪80年代末由美国麻省理工学院(MIT)开发的一种基于网络协议的窗口管理系统,它是建立在客户机服务器模型基础上的。该系统被分成两个主要部分:在机器上运行并与显示器直接交互作用的X Windows系统服务器(简称X服务器)和显示在X服务器上其他的客户应用程序。运行X服务器的主机和图形显示器可以是同一个机器上,也可以在网络的不同机器上。 Linux/UNIX也提供与XWindow完全兼容的窗口系统交互界面。常用的应用程序有XV、GhostV
83、iew、Netscape、sendmail等。 操作系统原理徐宗元OS12. 程序接口系统调用 系统调用系统调用的主要目的是使得用户可以使用操作系统提供的有关设备管理、输入输出系统、文件系统和进程控制、通信以及存储管理等方面的功能,而不必了解系统程序的内部结构和有关硬件细节,从而起到减轻用户负担和保护系统以及提高资源利用率的作用。Linux/UNIX系统的系统调用大致可分为如下几类:(1)有关设备管理的系统调用有关设备管理的系统调用:用户使用这些系统调用对有关设备进行读写和控制等。例如系统调用ioctl为所有设备的专用命令提供一个一般的、万能的入口点,它允许一个进程预置与一个设备相联系的硬件选
84、择项和与一个驱动程序相联系的软件选择项,从而使设备和相应的驱动程序连接起来。另外,系统调用read,write可用来对指定设备进行读写,系统调用open和close可用来打开和关闭某一指定设备。 操作系统原理徐宗元OS1程序接口系统调用-1 (2)有关文件系统的系统调用有关文件系统的系统调用:文件的打开(open)、关闭(close)、读(read)、写(write)、创建(creat)和删除(unlink)等调用,文件的执行(execl)、控制(nctl)、加锁解锁(lock)、文件状态的获取(stat)和安装文件系统(mount)等。(3)有关进程控制的系统调用有关进程控制的系统调用:创建
85、进程的调用fork、阻塞当前执行进程自己的系统调用wait、进程自我终止用的exit、获得进程标识符用的getpid、父进程标识获取调用getppid、进程优先级获取用的getpriority、改变进程优先数用的nice、发送和接收信号用的kill和signal、暂停当前进程的执行过程的pause以及管道通信调用pipe等。 操作系统原理徐宗元OS1程序接口系统调用-2 (4)有关进程通信的系统调用有关进程通信的系统调用:进程通信用的系统调用主要包括套接字(socket)的建立、链接、控制和删除;以及进程间通信用的消息队列、共用存储区以及有关同步机制的建立、链接、控制和删除等有关系统调用。(5
86、)关于存储管理的系统调用关于存储管理的系统调用:这些系统调用包括获取内存现有空间大小、检查内存中现有进程以及对内存区的保护和改变堆栈大小等功能。 (6)管理用系统调用管理用系统调用:例如,设置和读取日期和时间,取用户和主机等的标识符等系统调用。 操作系统原理徐宗元OS1作业作业题题:选选2 2.操作系统是一种A,在操作系统中采用多道程序设计方式能提高CPU和外部设备的B。一般来说,为了实现多道程序设计,计算机需要有C。A: (1)通用软件;(2)系统软件;(3)应用软件;(4) 软件包。B: (1)利用效率;(2)可靠性;(3)稳定性;(4)兼容性。C:(1)更大的内存;(2)更快的外部设备;
87、(3)更快的CPU;(4)更先进的终端;选选1010.分时系统中,为使多个用户能够同时与系统交互,最关键的问题是A,当用户数目为100时,为保证响应不超过2秒;此时的时间片最大应为B。A:(1)计算机具有足够的运行速度;(2)内存容量应足够大;(3)系统能及时地接收多个用户输入;(4)能在一短的时间内,使所有用户程序都能运行;(5)能快速进行内外存对换。B:(1)10ms;(2)20ms;(3)50ms;(4)100ms;(5)200ms。操作系统原理徐宗元OS1作业作业题题-1选选8 8.在设计分时操作系统时,首先要考虑的是A;在设计实时操作系统时,首先要考虑的是B;在设计批处理系统时,首先
88、要考虑的是C。A、B、C:(1)灵活性和可适应性;(2)交互性和响应时间;(3)周转时间和系统吞吐量;(4)实时性和可靠性。4 4. 试从目标、多路性、独立性、交互性、及时性和可靠性多方面来比较批处理系统、分时系统及实时系统。通过比较,请写出这三种系统各适用于什么场合。5. 5. 什么是多道程序设计? 实现多道程序设计的计算机需要那些必不可少的硬件支持? 采用多道程序设计会带来什么好处? 6. 6. 操作系统的基本特征是什么?并说明它们之间的关系。 操作系统原理徐宗元OS1作业作业题题-2选选4 4.为了提高计算机的处理机和外部设备的利用率,把多个程序同时放入主存储器,在宏观上并行运行是A;把一个程序划分成若干个同时执行的程序模块的设计方法是B;多个用户在终端设备上的交互方式输入、排错和控制其程序的运行是C;由多个计算机组成的一个系统,这些计算机之间可以通信来交换信息,互相之间无主次之分,它们共享系统资源,程序由系统中的全部或部分计算机协同执行,管理上述计算机系统的操作系统是D;有一类操作系统的系统响应时间的重要性超过系统资源的利用率,它被广泛地应用于卫星控制、导弹发射、飞机飞行控制、飞机订票业务等领域是E。A-E: 分时OS 实时OS 批处理系统 网络OS 分布式OS 单用户OS 多重程序设计 多道程序设计 并发程序设计 (解)操作系统原理徐宗元OS1