配色: 字号:
《操作系统原理与实践教程》01
2017-09-09 | 阅:  转:  |  分享 
  
操作系统原理PrinciplesofOperatingSystem第1章操作系统概论§1.1操作系统的概念1.1
.1计算机系统的结构1.问题的引入:下面列举了一些大家熟悉的软件,你能说出它们的区别吗?极品飞车、Realone
Player播放器、VisualC++、Flash、DreamweaverMX2004、Linux、Unix、Windo
wsXP、Word、Windows优化大师、Oracal、升达大学学生管理系统§1.1操作系统的概念2.计算机系统的
层次结构§1.1操作系统的概念2.计算机系统的层次结构硬件系统(裸机):提供基本的可计算性资源,包括CPU、存储
器(主存、辅存)、I/O系统操作系统层:对硬件作扩充和改造,提供了操作系统接口,为编译程序、编辑程序、数据库系统等的设计者提供
有力支撑。系统软件:建立在操作系统改造和扩充过的机器上,提供扩展指令集,实现各种语言处理程序、数据库管理系统和其他系统程序。
应用软件:解决用户不同的应用问题§1.1操作系统的概念1.1.2操作系统的视图(作用)1.操作系统是用户与计算机硬
件之间的接口。§1.1操作系统的概念2.操作系统为用户提供虚拟计算机裸机极难使用,虽有很强的指令系统,从功能上来说局限
性很大。加上软件后,就可在硬件基础上,对其功能和性能进行扩充和完善。例如:如果加上一层窗口管理软件,由该软件把一台物理屏幕改造成多
窗口,每个应用可以在各自的窗口中操作,用户可以在窗口环境中方便地与计算机交互。操作系统是紧靠硬件的第一层软件,计算机上覆盖操作系
统后,可扩展基本功能,为用户提供一台功能显著增强,使用更加方便,安全可靠性好,效率明显提高的机器,称为虚拟计算机,或操作系统虚拟机
器(VirtualMachine)。§1.1操作系统的概念3.操作系统作为计算机系统的资源管理者在计算机系统中,能
分配给用户使用的硬件和软件设施总称为资源,包括两大类:硬件资源和信息资源。这些资源是可以共享的。对资源进行抽象研究,找出各种资源
共性和个性,有序地管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突
,是现代操作系统的任务之一。§1.1操作系统的概念操作系统是控制和管理计算机硬件和软件资源,合理地对各种资源进行分配和调度
,规范计算机工作流程,方便用户使用的程序的集合。操作系统是计算机系统的基础软件,它常驻内存,给用户程序提供一个支撑环境,所以,操
作系统有哪些成分组成变得非常重要。一个比较公认的定义是操作系统是一直运行在计算机上的系统程序(通常称为内核),其它程序则为应用程序
,运行在操作系统提供的良好环境中。§1.1操作系统的概念1.1.3现代操作系统的特点:现代操作系
统尽管种类繁多,功能差别很大,但它们仍然具有一些共同的特征。现代操作系统具有并发性、共享性、虚拟性和不确定性。1.并发性(c
oncurrence)并发性是指两个或多个事件或活动在同一时间间隔内发生。操作系统是一个并发的系统,并发性是它最重要
的特性。操作系统的并发性是指计算机系统中同时存在若干个运行的程序,这些程序在执行时间上重叠。§1.1操作系统的概念
2.共享性(sharing)共享性是现代操作系统的另一个重要特征。共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多
个用户共同使用。资源共享的方式有两种:(1)互斥访问。系统中的某些资源,如打印机、磁带机等,它们虽然可以提供给多个程序使用,但在
同一时间段内却只允许一个程序访问这些资源,即要求互相排斥地使用这些资源。(2)同时访问。计算机系统中还有一些资源,允许同一时间内多
个程序对它们进行访问。典型的可同时访问的设备是磁盘,各种可重入程序也可被同时访问。§1.1操作系统的概念3.虚拟性(vir
tual)虚拟性是指操作系统采用的一种管理技术,它把一个物理上的实体,变为若干个逻辑上的对应物,或者把物理上的多个实
体变成逻辑上的一个对应物的技术。很显然,物理实体(前者)是实的,而后者是虚拟的。4.异步性(asynchronism)
在多道程序环境下,允许多个进程并发执行,但由于竞争资源等因素的限制,使进程的执行不是“一气呵成”,而是以“走走停停”的方
式运行。也就是说,在多道程序环境下,程序的执行是以异步方式进行的。§1.1操作系统的概念1.1.4操作系统的功能1
.处理机管理创建或删除用户进程和系统进程;暂停或重启进程;提供进程同步机制;提供进程通信机制;提供死锁处理机制;§1
.1操作系统的概念2.存储管理操作系统负责下列内存管理的活动:记录内存的哪些部分正在被使用及被谁使用。当内存空间
可用时,决定哪些进程可以装入内存。根据需要分配和释放内存空间。确保多道程序环境下,各个程序的运行只在自己内存空间运行,互不干扰
。当内存空间不足时,采取何种策略去扩展逻辑内存。§1.1操作系统的概念3.设备管理提供外围设备的控制与处理提供缓
冲区的管理提供设备独立性外围设备的分配和驱动调度实现虚拟设备§1.1操作系统的概念4.文件管理创建或删除文件
创建或删除目录提供操作文件和目录的原语将文件映射到辅存上在稳定的存储媒介上备份文件§1.1操作系统的概念
5.用户接口管理6.其他功能系统安全网络和通信管理§1.2操作系统的形成和发展1.2.1人工操作阶段由用
户(程序员)采用手工方式直接控制和使用计算机硬件,即由用户(程序员)将事先准备好的程序和数据穿孔在纸带或卡片上,然后将这些纸带或卡
片装入纸带或卡片输入机,启动它们将程序和数据输入到计算机,随后启动计算机运行。当程序运行结束取走结果后,才让另一个用户上机。这种
人工操作方式有以下缺陷:(1)用户上机独占全机资源,造成资源利用率不高,系统效率低下。(2)手工操作多,浪费处理机时间,也极易发生
差错。(3)数据的输入,程序的执行、结果的输出均联机进行,从上机到下机的时间拉得非常长。§1.2操作系统的形成和发展1.
2.2管理程序阶段——操作系统的雏形操作员集中一批用户提交的作业,由管理程序将这批作业从纸带或卡片机输入
到磁带上,每当一批作业输入完成后,管理程序自动把磁带上的第一个作业装入内存,并把控制权交给作业。当该作业执行完成后,作业又把控制权
缴回管理程序,管理程序再调入磁带上的第二个作业到内存执行。§1.2操作系统的形成和发展1.2.3多道批处理系统——现代
意义上的操作系统出现所谓多道程序设计(multiprogramming)是指允许多个程序同时进入一个计算机系统的主存储器并启动进
行计算的方法。也就是说,计算机内存中同时存放多道(二个以上相互独立的)程序,它们都处于开始和结束点之间。从宏观上看是并行的,多道程
序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用CPU,交替执行。§1.2操作系统的形成和发展§
1.2操作系统的形成和发展例如:设在内存中有三道程序A、B、C,并按A、B、C的优先次序执行,其内部计算和I/O操作时间
如下表所示(单位:ms)。§1.2操作系统的形成和发展§1.2操作系统的形成和发展操作系统中引入多道程序设计的好处:
一是提高了CPU的利用率,二是提高了内存和I/O设备的利用率,三是改进了系统的吞吐率,四是
充分发挥了系统的并行性。其主要缺点是:作业周转时间延长。§1.2操作系统的形成和发展1.2.4分时系统与实时
系统的出现——操作系统步入实用化1.分时系统:允许多个联机用户同时使用一台计算机系统进行计算的操作系统称分时操作系统(Ti
meSharingOperatingSystem)分时操作系统具有以下特性:(1)多路性:允许在一台主机上同时联接多台
联机终端,系统按分时原则为每个用户服务。(2)独立性:每个用户各占一个终端,彼此独立操作,互不干扰。(3)及时性:用户的请
求能在很短时间内获得响应。(4)交互性:用户可通过终端与系统进行广泛的人机对话。§1.2操作系统的形成和发展2.实时操
作系统:实时操作系统(RealTimeOperatingSystem)指当外界事件或数据产生时,能接收并以足够快的速度予以
处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。实时系统
的实现:硬实时系统:保证任务按时完成软实时系统:§1.2操作系统的形成和发展3.操作系统的三种基本类型的比较批处理系
统的特点是“多道、成批自动处理”,优点是“资源利用率高、系统吞吐量大”,缺点是“等待时间长、没有交互能力”;分时系统的特点“同时
性、交互性、独立性和及时性”,优点是“响应快,便于资源共享”;实时系统的特点“响应迅速,可靠性高,系统专用”,与分时系统相比,交
互性较弱。§1.2操作系统的形成和发展1.2.5操作系统的进一步发展1.微机操作系统现代的微机操作系统具
有GUI、多用户多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用程序编程接口(API)支持等功能,以最大程度的满足
个人用户的使用要求。典型的微机操作系统有Windows、OS2、MACOS和Linux等。§1.2操作系统的形成和发展2
.网络和分布式操作系统网络操作系统(NetworkOperatingSystem)能够控制计算机在网络中方便的传送信息和共享
资源,并能为网络用户提供各种所需服务的操作系统。网络操作系统主要有两种工作模式:(1)客户机/服务器(Client/S
erver)模式。(2)对等模式(peer-to-peer)。网络操作系统除了具有操作系统的基本功能外,还应具有网络通
信、资源管理和网络管理等功能。目前比较流行的网络操作系统有:Linux、Unix、WindowsServer2000/2
003等。§1.2操作系统的形成和发展2.网络和分布式操作系统分布式计算机系统是一种特殊的计算机网络系统。在分布式系统中
。每台计算机高度自治,又相互协调,能在系统范围内实现资源管理,任务分配,能并行地运行分布式程序。分布式系统与计算机网络的关键区别
在于:在分布式系统中,多台自主的计算机对用户是透明的(或者说是不可见的)。也就是说,在分布式系统中,用户觉察不到多个处理机的存在,
用户面对的是一台虚拟的单处理机。在计算机网络中,用户必须明确指出在哪台机器上登录,明确地运行递交的任务,明确地指定文件传输的目的地
。§1.2操作系统的形成和发展3.并行系统和集群系统多处理机系统(也称为并行系统)有多个紧密通信的处理器,它们共享计算机
总线、时钟,有时还有内存和外设等。多处理机系统有对称多处理(SMP)和非对称多处理两种模式。集群系统(ClusterSyst
em)将多个CPU集中起来完成计算任务。然而,集群系统与并行系统不同,它是有两个或多个独立的系统耦合起来。集群的定义尚未定形,通常
接受的定义是集群计算机共享存储并通过LAN网络紧密连接。§1.2操作系统的形成和发展4.嵌入式操作系统嵌入式操作系统
指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。嵌入式操作系
统具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能(文件系统、存储管理、设备管理、进程管理、处理器管理和中断处
理)、功能强大的还提供图形界面、通信协议、小型浏览器等设施。嵌入式操作系统硬件平台的局限性、应用环境的多样性、开发手段的特殊性
,使它与一般操作系统有很大不同。§1.2操作系统的形成和发展1.2.6实例研究:Windows和Linux的发展历程
1.Linux系统Linux是类Unix操作系统大家族中的一员。从20世纪90年代末开始,Linux这位相对较新的成员突然变
得非常流行,并且跻身于那些有名的商用Unix操作系统之列。1991年,LinusTorvalds开发出最初的Linux,
它作为一个适用于基于Intel80386微处理器的IBMPC兼容机的操作系统。Linus将这个系统放到Internet上,允许
人们自由下载,许多人对Linux进行改进、扩充、完善,做出了关键性贡献。Linux由最初一个人写的原型变成在Internet上由无
数志同道合的程序高手们参与的一场运动。§1.2操作系统的形成和发展2.Windows系统Windows操作系统是由微
软公司开发的操作系统。从1983年微软宣布Windows的诞生到现在的WindowsServer2003,Windows已经走
过了20多年,并且成为风靡全球的微机操作系统。目前个人计算机上采用Windows操作系统的占90%。1983年11月,比尔.盖茨
宣布推出Windows,但是一直到1985年11月微软公司才正式发布Windows1.0版。1987年12月,Windows2
.0正式供货。1990年5月22日,微软推出Windows3.0。从此,在许多独立软件开发商和硬件厂商的支持下,微软的Windo
ws在市场中逐渐开始取代DOS成为操作系统平台的主流软件。§1.3操作系统的结构1.3.1操作系统的设计操
作系统是一个庞杂的大型系统的软件,因此,操作系统的设计是一个复杂的过程。以IBM公司的OS/360系统为例,它由4000个模块组
成,共约100万条指令,花费5000人年,经费达数亿美元。1.操作系统的设计目标一个高质量的操作系统应具有
可靠性、高效性、可扩充性、易移植性、安全性和兼容性等特征。2.操作系统的设计和实现设计原则:
机制与实现相分离§1.3操作系统的结构1.3.2操作系统的结构1.整体式结构整体式操作系统的基本设计思想
是:把模块作为操作系统的基本单位,按照功能需要而不是根据程序和数据的特性把整个操作系统分解成若干个模块,每个模块具有一定的功能,若
干个关联模块协作完成某个功能。各个模块可以不加控制,自由调用,每个模块经独立设计、编码和调试后连接成一个完整的系统。这种结构的优
点是:程序结构紧密,接口简单直接,系统效率高,但是也有一定的缺陷,如模块独立性差,模块之间牵连太多,系统结构不清晰,系统的正确性难
以保证,可靠性降低,扩充性差等。§1.3操作系统的结构2.层次结构所谓层次结构就是把操作系统所有的功能模块按照功能的调
用次序分别排成若干层,各层之间的模块只能是单向依赖或单向调用(如:只允许上层或外层模块调用下层或内层模块)关系,这样不但操作系统的
结构清晰,而且不构成循环。层次结构的优点:整体问题局部化,系统的正确性可通过各层正确性来保证。增加、修改或替换层次不影响其他层次
,有利于系统的维护和扩充。§1.3操作系统的结构2.层次结构构造层次结构OS分层原则1)把与机器硬件有关的
程序模块放在最底层2)反映系统外特性的软件放在最外层3)按照实现操作系统命令时模块间的调用次序或按进程间单向
发送信息的顺序来分层4)为进程的正常运行创造环境和提供条件的内核程序应该尽可能放在底层。§1.3操作系统的结构3.
客户/服务器(微内核)结构客户/服务器结构的思想:将操作系统分成两大部分,一是运行在用户态并以C/S方式活动的进程;二
是运行在核心态的内核运行在核心态的内核把该消息传给服务器;服务器执行相应操作,再通过内核用消息把结果返回给用户。内核只实现极少任
务,主要起信息验证、交换的作用,因而,称微内核(Microkernel),这种结构也就称为客户/服务器与微内核结构。§1.3
操作系统的结构3.客户/服务器(微内核)结构§1.4实例研究:Windows和Linux结构1.4.1Windows
Server2003的结构采用基于对象技术,提出了一种C/S系统结构,该结构在纯微内核结构的基础上做了扩展,融合了层次式结构
和纯微内核结构的特点。对操作系统性能影响很大的组件放在内核下运行,其他功能则在内核外实现。主要优点是模块化程度高、灵活性大、便
于维护、系统性能好。§1.4实例研究:Windows和Linux结构§1.4实例研究:Windows和Linux结构
1.4.2Linux的结构模型重点概念和内容提示操作系统的概念、特点和功能多道程序设计操作系统的基本类型:批
处理系统分时系统实时系统客户进程客户进程进程服务器终端服务器文件服务器内存服务器。。。内核(消
息转发站)客户通过向服务器进程发送消息来获得服务用户进程操作系统服务内容系统线程NTDLL.DLLService.ex
eRPCSpooler事件日志服务进程任务管理器IE浏览器用户程序子系统DLL应用程序POSIXOS2WI
N32环境子系统服务管理器安全验证Win登录会话管理器系统进程核心态用户态Win32UserGDI
图形驱动器硬件抽象层(HAL)设备驱动程序内核对象管理器核心态可调用接口(执行程序API)系统服务调度进程I/O
管理器文件缓存管理进程线程管理安全访问监视虚存管理局部过程调用注册表配置管理器电源管理器
即插即用管理硬件接口(总线、I/O、时钟、计时器、中断、DMA、CACHE控制器)用户程序GNU工具
与硬件无关的代码(可移植的)系统调用接口与硬件相关的代码(不可移植的)硬件二进制指令系统用户程序GNU工具
系统调用接口硬件控制程序(不可移植的)硬件二进制指令系统文件子系统进程控制子系统编程工具包内核硬件(a)Linux系统结构粗略模型(b)Linux系统结构的详细模型周湘贞曾宪权编著用户1用户2用户3用户4用户n财务系统航空订票上网浏览电子商务科学计算(应用程序)编译程序汇编程序编辑程序数据库(系统程序)操作系统计算机硬件………提供了一良好的工作环境,方便用户的使用用户A(上网)用户B(欣赏音乐)用户C(办公)浏览器播放器办公软件用户需求操作界面计算机硬件操作系统屏蔽计算机硬件的物理特性差异,给用户提供了接口201010计算403040I/O206030计算CBA操作若采用单道方式运行这三道程序,总的运行时间为:30+40+10+60+30+10+10+20+40+20=260ms若采用多道方式运行(一个I/O处理机)这三道程序,总的运行时间为:30+40+10+20+30+40+20=190ms其运行时间关系图如下:ABCI/O处理机30404010203040201020190mst
献花(0)
+1
(本文系hdch1986首藏)