计算机操作系统-操作系统引论课件_第1页
计算机操作系统-操作系统引论课件_第2页
计算机操作系统-操作系统引论课件_第3页
计算机操作系统-操作系统引论课件_第4页
计算机操作系统-操作系统引论课件_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章操作系统引论1.1操作系统的目标和作用1.2操作系统的发展过程1.3操作系统的基本特性1.4操作系统的主要功能1.5操作系统的结构设计第一章操作系统引论1.1操作系统的目标和作用1教学目的:掌握操作系统的定义及其基本特性、主要功能了解操作系统的发展历史和几种类型的操作系统教学难重点:操作系统的定义操作系统的基本特征OS结构设计教学目的:2操作系统概念(p8)一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以及方便用户的程序集合。1.1操作系统的目标和作用计算机系统由硬件和软件组成操作系统概念(p8)1.1操作系统的目标和作用计算机系统31.1操作系统的目标和作用1.1.1操作系统的目标

有效性:提高系统资源利用率,提高系统吞吐量;方便性:计算机只能识别0、1;用户熟悉的是各种语言;(1,2如何折中?)可扩充性:便于增加新的功能和模块;(如何设计?)开放性:遵循世界标准规范(OSI)。1.1操作系统的目标和作用1.1.1操作系统的目标4图1-1OS作为接口的从层状示意图计算机硬件操作系统系统调用,命令,图标,窗口应用程序及实用程序系统设计者程序员用户1.1.2操作系统的作用

1.OS作为用户与计算机硬件系统之间的接口(用户观点)

图1-1OS作为接口的从层状示意图计算机硬件操作系统系统调5

(1)命令方式。这是指由OS提供了一组联机命令(语言),用户可通过键盘输入有关命令,来直接操纵计算机系统。(2)系统调用方式。OS提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用,来操纵计算机。(3)图形、窗口方式。用户通过屏幕上的窗口和图标来操纵计算机系统和运行自己的程序。用户通过三种方式使用计算机:(1)命令方式。这是指由OS提供了一组联机命6

2.OS作为计算机系统资源的管理者(功能的观点)处理机管理:分配和控制处理机存储器管理:分配及回收内存I/O(Input/Output)设备管理:I/O分配与操作文件管理:文件存取、共享和保护

2.OS作为计算机系统资源的管理者(功能的7

3.OS实现了对计算机资源的抽象

裸机:对于一台完全无软件的计算机系统称为裸机。——难于使用。扩充机器(虚机器):把覆盖了软件的机器称为扩充机或虚拟机。——更方便。分层扩充的特点P43.OS实现了对计算机资源的抽象8洋葱头似的扩充裸机作系操统其他应用软件用户应用程序序程洋葱头似的扩充裸机作系操统其他应用软件用户应用程序序程91.1.3推动操作系统发展的主要动力

不断提高计算机资源利用率的需要如批处理系统的出现方便用户如分时交互式系统的出现器件的不断更新换代8位->16->32->64->...计算机体系结构的不断发展:单机OS->多机OS->网络OS-…1.1.3推动操作系统发展的主要动力不断提高计算机资源利101.2操作系统的发展过程

1.2.1无操作系统的计算机系统

(第一代计算机)

1.人工操作方式

如纸带输入机

特点:无任何软件、独占性、独占性、串行性缺点:

(1)用户独占全机(2)CPU等待人工操作

1.2操作系统的发展过程1.2.1无操作系统的计算机11导致人机矛盾、CPU和I/O设备速度不匹配

机器作业在机器上人工操操作时间与机器速度计算所需时间作时间有效运行时间之比1万次/秒1小时3分钟1:2060万次/秒1分钟3分钟3:1人工操作方式缺点:1.2.1无操作系统的计算机系统

导致人机矛盾、CPU和I/O设备速度不匹配

机器122.脱机输入/输出(Off-LineI/O)方式引入I/O机的概念,解决CPU和I/O设备速度不匹配的矛盾。主要优点:减少了CPU的空闲时间。(2)提高I/O速度。

2.脱机输入/输出(Off-LineI/O)方式引入I/131.2.2单道批处理系统(SimpleBatchProcessingSystem)

(第二代计算机)

处理过程(图1-4)概念监督程序(monitor):在其控制下使一批作业能一个接一个的连续处理。单道批处理系统:系统对作业的处理都是成批进行的、且内存中始终只保持一道作业,称为单道批处理系统(SimpleBatchProcessingSystem)。解决人机矛盾,即提高系统资源的利用率和吞吐量。特征:自动性顺序性单道性1.2.2单道批处理系统(SimpleBatchPro14还有下一个作业?把下一个作业的源程序转换为目标程序源程序有错吗?装配目标程序运行目标程序开始是否停止是否图1-4单道批处理系统的处理流程

还有下一把下一个作业源程序装配目标程序运行目标程序开始是否停151.2.3多道批处理系统(MultiprogrammedBatchProcessingSystem)(第三代计算机)

概念多道:系统中同时驻留多个作业多道程序设计优点提高CPU利用率(图1-5)提高内存和I/O设备利用率增加了系统吞吐量特征多道性、宏观上并行、微观上串行多道批处理优点

资源利用率高、系统吞吐率大缺点平均周转时间长、无交互能力(怎么办??)1.2.3多道批处理系统(Multiprogrammed16图1-5用户程序监督程序(a)单道程序运行情况I/O操作I/O中断请求启动I/OI/O完成结束中断I/O中断请求启动I/OI/O完成结束中断t1t2t3t4t5t6t7t8表示获得CPU图1-5用户程序监督程序(a)单道程序运行情况I/O操作I/17图1-5程序A调度程序I/O请求(b)四道程序运行情况程序B程序C程序DI/O请求I/O请求I/O请求I/O完成I/O完成I/O完成A完成表示获得CPUC再运行图1-5程序A调度程序I/O请求(b)四道程序运行情况程序B18多道批处理系统需要解决的问题

处理机管理问题。(2)内存管理问题。(3)I/O设备管理问题。(4)文件管理问题。(5)作业管理问题。多道批处理系统需要解决的问题处理机管理问题。191.2.4分时系统

分时系统(Time-SharingSystem)的产生用户的需求表现在:人机交互性(控制)共享主机(昂贵)便于用户上机(方便)分时系统:指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,各个用户都可通过自己的终端以交互方式使用计算机。1.2.4分时系统分时系统(Time-Sharing20分时系统实现中的关键问题及时接收。多路卡、输入缓冲区及时处理。交互作业应在内存、响应时间应短采用时间片轮转多路性(同时性)独立性(独占性)及时性(1—3sec)交互性:

“会话”

分时系统的特征

分时系统实现中的关键问题及时接收。多路卡、输入缓冲区多路性(211.2.5实时系统

概念所谓“实时”,是表示“及时”,而实时系统(Real-TimeSystem)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内(deadline)完成对该事件的处理,并控制所有实时任务协调一致地运行。

应用需求

实时控制。(2)实时信息处理。1.2.5实时系统概念应用需求实时控制。22响应时间:指用户发出命令,到系统完成用户命令所需的时间。批处理操作系统没有分时操作系统秒级(一般情况)实时操作系统微秒级甚至更小(经典说法)系统满足用户时限(deadline)的要求(现代)响应时间:指用户发出命令,到系统完成用户命令所需的时间。23

实时任务

按任务执行是否呈现周期性来划分

周期性的非周期性的(开始截止时间或完成截止时间)根据对截止时间的要求来划分

硬实时任务:必须满足。实时控制软实时任务:不太严格。实时信息处理实时任务按任务执行是否呈现周期性来划分24实时操作系统特点系统对外部的信号必须能及时响应,(在规定的时间内(deadline));要求高可靠性和安全性,效率则放在第二位;系统整体性强;不要求很强的“会话”能力。实时操作系统特点25实时系统与分时系统特征的比较多路性:相似独立性:相同及时性:实时系统要求更高交互性:分时系统交互性更强可靠性:实时系统要求更高实时系统与分时系统特征的比较261.2.6微机操作系统的发展

字长划分:运行方式划分:1.单用户单任务操作系统含义:只允许一个用户上机,且只允许用户程序作为一个任务运行。(一个人只做一件事)配置在8位和16位微机。代表是CP/M,MS-DOS,PC-DOS

2.单用户多任务操作系统含义:只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。(一个人同时做多件事)配置在32位微机。代表是由微软公司推出的Windows。1.2.6微机操作系统的发展2.单用户多任务操作系27

3.多用户多任务操作系统含义:允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。(多个人同时做多件事)大、中和小型机中所配置的大多是多用户多任务操作系统,而在32位微机上也配置有多用户多任务操作系统,其中最有代表性的是UNIXOS。

3.多用户多任务操作系统28UNIXOS是美国电报电话公司的Bell实验室在1969~1970年期间开发的。现在最有影响的两个能运行在微机上的UNIX操作系统的变型是SolarisOS和LinuxOS。

UNIXOS是美国电报电话公司的Bell实验室在19629LinuxOS:Linux是UNIX的一个重要变种,最初是由芬兰学生LinusTorvalds针对Intel80386开发的。1991年在Internet网上发布第一个Linux版本,由于源代码公开,因此有很多人通过Internet与之合作,使Linux的性能迅速提高,其应用范围也日益扩大。相应地,源代码也急剧膨胀,此时它已是具有全面功能的UNIX系统,大量在UNIX上运行的软件(包括1000多种实用工具软件和大量的网络软件)被移植到Linux上,而且可以在主要的微机上运行,如Intel80x86Pentium等。

LinuxOS:Linux是UNIX的一个重要变种,30更多操作系统网络操作系统(NetworkOperatingSystem)是建立在主机操作系统基础上,用于管理网络通信和共享资源,协调各主机上任务的运行,并向用户提供统一的、有效的网络接口的软件集合,它是用户和主机操作系统之间的接口。分布式计算机系统由多台分散的计算机经互连网络连接而成嵌入式操作系统指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件更多操作系统网络操作系统(NetworkOperating31操作系统的进一步发展

操作系统发展的主要动力器件快速更新换代。计算体系结构不断发展。提高计算机系统资源利用率的需要。让用户使用计算机越来越方便的需要。满足用户新要求,提供给用户新服务。操作系统发展的方向从大中型计算机来看,主要是分布式和网络化。微机操作系统主要向多用户多功能、虚存、图形、数据库等方向发展。操作系统的智能化。操作系统的进一步发展

操作系统发展的主要动力321.3操作系统的基本特性

OS特性一:并发性并行与并发并行性(Parallelism)是指两个或多个事件在同一时刻发生。如T3时刻并发性(Concurrence)

是指两个或多个事件在同一时间间隔内发生。如T3—T4时刻并发性是OS最重要的特征,OS所有的内容都围绕它展开!!1.3操作系统的基本特性OS特性一:并发性33引入进程

目的:为了使多个程序能并发执行。

好处:有效地提高了系统资源的利用率和系统吞吐量,并改善了系统的性能。

进程(Process):在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。

一个进程在运行时需要一定的资源,如CPU、存储空间及I/O设备等。

引入进程34线程

在引入线程的OS中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。

进程和并发是现代操作系统最重要的概念!线程35OS特性二:共享性共享:系统中资源可供内存中多个并发执行的进程共同使用互斥共享:一段时间只允许一个进程访问某资源.同时访问:宏观上允许在一段时间内由多个进程同时对某资源进行访问,但微观上仍是互斥的.并发与共享是OS的两个最基本的特征,它们互为存在条件.OS特性二:共享性36OS特性三:虚拟虚拟(不存在)通过某种技术把一个物理实体变为若干个逻辑上的对应物。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、虚拟外部设备等。空间换时间时间换空间OS特性三:虚拟虚拟(不存在)空间换时间时间换空间37OS特性四:异步性异步性(Asynchronism)

:进程以人们不可预知的速度向前推进。运行结果如何保证正确?

在多道程序环境下允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。

OS特性四:异步性381.4操作系统的主要功能

1.4.1处理机管理功能多道环境下,处理机的运行及分配都是以进程为单位,因此处理机管理可归结为进程管理。1、进程控制创建/撤消进程、迁移进程状态。一般由进程控制原语完成

2.进程同步两种协调方式:(1)进程互斥方式。(2)进程同步方式。

3.进程通信类型:直接通信、间接通信1.4操作系统的主要功能1.4.1处理机管理功能394、调度(作业与进程)作业调度为作业分配必要资源,调入内存建立进程,并使之进入就绪队列。进程调度从就绪队列中选出进程,分配CPU,使之运行。调度算法:FCFS、优先权等4、调度(作业与进程)401.4.2存储器管理功能目的:方便用户使用,且提高存贮器利用率1.内存分配:静态分配、动态分配2.内存保护:机制,例:上下界限寄存器3.地址映射:逻辑地址——〉物理地址4.内存扩充:虚存,逻辑上扩充1.4.2存储器管理功能411.4.3设备管理功能

任务:提高I/O利用率和速度,方便用户1.缓冲管理缓冲区:用来解决CPU-I/O矛盾,如:CPU快则应多创建缓冲区。2.设备分配包括:设备,设备控制器,I/O通信的分配和回收3.设备处理设备驱动程序1.4.3设备管理功能421.4.4文件管理功能

任务:方便用户,提供安全性1.文件存储空间的管理为每个文件分配必要的外存空间,提高外存的利用率。2.目录管理使用户按名存取,提高速度。3.文件的读、写管理和保护根据用户的需求读写数据,并提供有效的存取控制功能。1.4.4文件管理功能431.4.5操作系统与用户之间的接口

为了方便用户使用操作系统,OS又向用户提供了“用户与操作系统的接口”。该接口通常可分为两大类:

(1)用户接口。它是提供给用户使用的接口,用户可通过该接口取得操作系统的服务;

(2)程序接口。它是提供给程序员在编程时使用的接口,是用户程序取得操作系统服务的惟一途径。

1.4.5操作系统与用户之间的接口441.用户接口由一组“命令”集组成,分为联机和脱机用户接口联机用户接口由一组键盘操作命令及命令解释程序所组成脱机(批处理用户接口)用JCL写作业说明书图形用户接口——〉联机用户接口图形、icon2.程序接口

系统调用高级语言的库函数1.用户接口451.5OS的结构设计第一代:无结构第二代:模块式第三代:分层式第四代:微内核把前三代的OS结构称为传统的OS结构,而把第四代的OS结构称为现代OS结构。1.5OS的结构设计第一代:无结构461.5.1传统的操作系统结构无结构OS一组过程集,各过程可相互调用,也叫整体系统结构。缺点:逻辑复杂,维护困难.1.5.1传统的操作系统结构无结构OS471.5.1传统的操作系统结构模块化结构OS通过分解和模块化来控制大型软件复杂度。如:进程模块、内存模块…,各模块内进一步划分子模块。优点:提高了OS设计的正确性、可理解性、可维护性增强的OS的可适应性加速了OS的开发过程:并行开发模块缺点:模块大小、接口不易确定模块依赖关系可能复杂-〉无序模块法1.5.1传统的操作系统结构模块化结构OS481.5.1传统的操作系统结构分层式操作系统分层式结构的基本概念:自底向上,每一层仅能使用其底层所提供的功能和服务优点(1)易保证系统的正确性(2)易扩充和易维护性缺点效率降低

1.5.1传统的操作系统结构分层式操作系统491.5.2客户/服务器模式客户/服务器(Client/Server)模式可简称为C/S模式。

C/S模式的组成由客户机、服务器和网络系统三个部分组成。(1)客户机:通常在一个LAN网络上连接有多台网络工作站(简称客户机),每台客户机都是一个自主计算机。

1.5.2客户/服务器模式50

(2)服务器:通常是一台规模较大的机器,在其上驻留有网络文件系统或数据库系统等,它应能为网上所有的用户提供一种或多种服务。平时它一直处于工作状态,被动地等待来自客户机的请求,一旦检查到有客户提出服务请求,便去完成客户的请求,并将结果送回客户。这样,工作站中的用户进程与服务器进程便形成了客户/服务器关系。(3)网络系统:用于连接所有客户机和服务器,实现它们之间通信和网络资源共享的系统。(2)服务器:通常是一台规模较大的机器,在其上驻留有网51

C/S模式的优点(1)数据的分布处理和存储(2)便于集中管理。(3)灵活性和可扩充性(4)易于改编应用软件。C/S模式的优点521.5.3面向对象的程序设计

面向对象技术的基本概念面向对象技术是20世纪80年代初提出并很快流行起来的。该技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的。

对象是指在现实世界中具有相同属性、服从相同规则的一系列事物(事物可以是一个物理实体、一个概念或一个软件模块等)的抽象,而把其中的具体事物称为对象的实例。1.5.3面向对象的程序设计53

面向对象技术的优点在设计操作系统时,将计算机中的实体作为对象来处理,可带来如下好处:(1)通过“重用”提高产品质量和生产率。(2)使系统具有更好的易修改性和易扩展性。(3)更易于保证系统的“正确性”和“可靠性”。面向对象技术的优点541.5.4微内核OS结构

1.微内核操作系统的基本概念

为了提高操作系统的“正确性”、“灵活性”、“易维护性”和”可扩充性”,在进行现代操作系统结构设计时,即使在单处理机环境下,大多也采用基于客户/服务器模式的微内核结构,将操作系统划分为两大部分:微内核和多个服务器。MachOS:并行分布式操作系统,现代的微内核体系结构的例子

Windows2K/XP:为了移植性的考虑,Windows操作系统的大多数代码是用C语言编写的

/bookfiles/296/10029612589.shtml1.5.4微内核OS结构55

1)足够小的内核

内核是指精心设计的、能实现现代OS最基本的核心功能的部分。用于:①实现与硬件紧密相关的处理;②实现一些较基本的功能;③负责客户和服务器之间的通信。它们只是为构建通用OS提供一个重要基础,这样就可以确保把操作系统内核做得很小。1)足够小的内核56

2)基于客户/服务器模式

由于客户/服务器模式具有非常多的优点,故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。例如用于提供对进程(线程)进行管理的进程(线程)服务器,提供虚拟存储器管理功能的虚拟存储器服务器,提供I/O设备管理的I/O设备管理服务器等,它们都是被作为进程来实现的,运行在用户态,客户与服务器之间是借助微内核提供的消息传递机制来实现信息交互的。图1-10示出了在单机环境下的客户/服务器模式。2)基于客户/服务器模式57图1-10在单机环境下的客户/服务器模式

①④②③图1-10在单机环境下的客户/服务器模式①④②③58

3)应用“机制与策略分离”原理

在现代操作系统的结构设计中,经常利用“机制与策略分离”的原理来构造OS结构。所谓机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上,借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。通常,机制处于一个系统的基层,而策略则处于系统的高层。在传统的OS中,将机制放在OS的内核的较低层,把策略放在内核的较高层次中。而在微内核操作系统中,通常将机制放在OS的微内核中。正因为如此,才有可能将内核做得很小。3)应用“机制与策略分离”原理59

4)采用面向对象技术

操作系统是一个极其复杂的大型软件系统,我们不仅可以通过结构设计来分解操作系统的复杂度,还可以基于面向对象技术中的“抽象”和“隐蔽”原则控制系统的复杂性,再进一步利用“对象”、“封装”和“继承”等概念来确保操作系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”等,并提高操作系统的设计速度。正因为面向对象技术能带来如此多的好处,故面向对象技术被广泛应用于现代操作系统的设计中。4)采用面向对象技术60

2.微内核的基本功能

1)进程(线程)管理

采用“机制与策略分离”的原理。2)低级存储器管理

只配置最基本的低级存储器管理机制3)中断和陷入处理将与硬件紧密相关的一小部分放入微内核中处理。此时微内核的主要功能,是捕获所发生的中断和陷入事件,并进行相应的前期处理。在微内核OS中是将进程管理、存储器管理以及I/O管理这些功能一分为二,属于机制的很小一部分放入微内核中,另外绝大部分放在微内核外的各种服务器中来实现。2.微内核的基本功能61

3.微内核操作系统的优点

1)提高了系统的可扩展性

由于微内核OS的许多功能是由相对独立的服务器软件来实现的,当开发了新的硬件和软件时,微内核OS只须在相应的服务器中增加新的功能,或再增加一个专门的服务器。与此同时,也必然改善系统的灵活性,不仅可在操作系统中增加新的功能,还可修改原有功能,以及删除已过时的功能,以形成一个更为精干有效的操作系统。

3.微内核操作系统的优点62

2)增强了系统的可靠性

这一方面是由于微内核是出于精心设计和严格测试的,容易保证其正确性;另一方面是它提供了规范而精简的应用程序接口(API),为微内核外部的程序编制高质量的代码创造了条件。此外,由于所有服务器都是运行在用户态,服务器与服务器之间采用的是消息传递通信机制,因此,当某个服务器出现错误时,不会影响内核,也不会影响其它服务器。2)增强了系统的可靠性63

3)可移植性

随着硬件的快速发展,出现了各种各样的硬件平台,作为一个好的操作系统,必须具备可移植性,使其能较容易地运行在不同的计算机硬件平台上。在微内核结构的操作系统中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统其它绝大部分(即各种服务器)均与硬件平台无关,因而,把操作系统移植到另一个计算机硬件平台上所需作的修改是比较小的。3)可移植性64

4)提供了对分布式系统的支持

由于在微内核OS中,客户和服务器之间以及服务器和服务器之间的通信,是采用消息传递通信机制进行的,致使微内核OS能很好地支持分布式系统和网络系统。事实上,只要在分布式系统中赋予所有进程和服务器惟一的标识符,在微内核中再配置一张系统映射表(即进程和服务器的标识符与它们所驻留的机器之间的对应表),在进行客户与服务器通信时,只需在所发送的消息中标上发送进程和接收进程的标识符,微内核便可利用系统映射表,将消息发往目标,而无论目标是驻留在哪台机器上。4)提供了对分布式系统的支持65

5)融入了面向对象技术

在设计微内核OS时,采用了面向对象的技术,其中的“封装”,“继承”,“对象类”和“多态性”,以及在对象之间采用消息传递机制等,都十分有利于提高系统的“正确性”、“可靠性”、“易修改性”、“易扩展性”等,而且还能显著地减少开发系统所付出的开销。5)融入了面向对象技术66

4.微内核操作系统存在的问题

较之早期OS,微内核OS的运行效率有所降低。

最主要的原因:在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式及上下文的多次切换。至少需要进行四次上下文切换,有时八次上下文的切换。

怎么办?把os功能由服务器移入微内核?4.微内核操作系统存在的问题67图1-11在传统OS和微内核OS中的上下文切换

①④②③①②⑤⑥⑦⑧图1-11在传统OS和微内核OS中的上下文切换①④②③68一.操作系统的形成与发展操作系统类型:批量OS、分时OS、实时OS、二.操作系统的基本概念:定义、功能、特性、结构设计作业题:P33:2、13补充:什么是操作系统?有什么功能?

第一章小结一.操作系统的形成与发展第一章小结69实验1#机房实验内容:熟悉Linux环境实验1#机房70第一章操作系统引论1.1操作系统的目标和作用1.2操作系统的发展过程1.3操作系统的基本特性1.4操作系统的主要功能1.5操作系统的结构设计第一章操作系统引论1.1操作系统的目标和作用71教学目的:掌握操作系统的定义及其基本特性、主要功能了解操作系统的发展历史和几种类型的操作系统教学难重点:操作系统的定义操作系统的基本特征OS结构设计教学目的:72操作系统概念(p8)一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以及方便用户的程序集合。1.1操作系统的目标和作用计算机系统由硬件和软件组成操作系统概念(p8)1.1操作系统的目标和作用计算机系统731.1操作系统的目标和作用1.1.1操作系统的目标

有效性:提高系统资源利用率,提高系统吞吐量;方便性:计算机只能识别0、1;用户熟悉的是各种语言;(1,2如何折中?)可扩充性:便于增加新的功能和模块;(如何设计?)开放性:遵循世界标准规范(OSI)。1.1操作系统的目标和作用1.1.1操作系统的目标74图1-1OS作为接口的从层状示意图计算机硬件操作系统系统调用,命令,图标,窗口应用程序及实用程序系统设计者程序员用户1.1.2操作系统的作用

1.OS作为用户与计算机硬件系统之间的接口(用户观点)

图1-1OS作为接口的从层状示意图计算机硬件操作系统系统调75

(1)命令方式。这是指由OS提供了一组联机命令(语言),用户可通过键盘输入有关命令,来直接操纵计算机系统。(2)系统调用方式。OS提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用,来操纵计算机。(3)图形、窗口方式。用户通过屏幕上的窗口和图标来操纵计算机系统和运行自己的程序。用户通过三种方式使用计算机:(1)命令方式。这是指由OS提供了一组联机命76

2.OS作为计算机系统资源的管理者(功能的观点)处理机管理:分配和控制处理机存储器管理:分配及回收内存I/O(Input/Output)设备管理:I/O分配与操作文件管理:文件存取、共享和保护

2.OS作为计算机系统资源的管理者(功能的77

3.OS实现了对计算机资源的抽象

裸机:对于一台完全无软件的计算机系统称为裸机。——难于使用。扩充机器(虚机器):把覆盖了软件的机器称为扩充机或虚拟机。——更方便。分层扩充的特点P43.OS实现了对计算机资源的抽象78洋葱头似的扩充裸机作系操统其他应用软件用户应用程序序程洋葱头似的扩充裸机作系操统其他应用软件用户应用程序序程791.1.3推动操作系统发展的主要动力

不断提高计算机资源利用率的需要如批处理系统的出现方便用户如分时交互式系统的出现器件的不断更新换代8位->16->32->64->...计算机体系结构的不断发展:单机OS->多机OS->网络OS-…1.1.3推动操作系统发展的主要动力不断提高计算机资源利801.2操作系统的发展过程

1.2.1无操作系统的计算机系统

(第一代计算机)

1.人工操作方式

如纸带输入机

特点:无任何软件、独占性、独占性、串行性缺点:

(1)用户独占全机(2)CPU等待人工操作

1.2操作系统的发展过程1.2.1无操作系统的计算机81导致人机矛盾、CPU和I/O设备速度不匹配

机器作业在机器上人工操操作时间与机器速度计算所需时间作时间有效运行时间之比1万次/秒1小时3分钟1:2060万次/秒1分钟3分钟3:1人工操作方式缺点:1.2.1无操作系统的计算机系统

导致人机矛盾、CPU和I/O设备速度不匹配

机器822.脱机输入/输出(Off-LineI/O)方式引入I/O机的概念,解决CPU和I/O设备速度不匹配的矛盾。主要优点:减少了CPU的空闲时间。(2)提高I/O速度。

2.脱机输入/输出(Off-LineI/O)方式引入I/831.2.2单道批处理系统(SimpleBatchProcessingSystem)

(第二代计算机)

处理过程(图1-4)概念监督程序(monitor):在其控制下使一批作业能一个接一个的连续处理。单道批处理系统:系统对作业的处理都是成批进行的、且内存中始终只保持一道作业,称为单道批处理系统(SimpleBatchProcessingSystem)。解决人机矛盾,即提高系统资源的利用率和吞吐量。特征:自动性顺序性单道性1.2.2单道批处理系统(SimpleBatchPro84还有下一个作业?把下一个作业的源程序转换为目标程序源程序有错吗?装配目标程序运行目标程序开始是否停止是否图1-4单道批处理系统的处理流程

还有下一把下一个作业源程序装配目标程序运行目标程序开始是否停851.2.3多道批处理系统(MultiprogrammedBatchProcessingSystem)(第三代计算机)

概念多道:系统中同时驻留多个作业多道程序设计优点提高CPU利用率(图1-5)提高内存和I/O设备利用率增加了系统吞吐量特征多道性、宏观上并行、微观上串行多道批处理优点

资源利用率高、系统吞吐率大缺点平均周转时间长、无交互能力(怎么办??)1.2.3多道批处理系统(Multiprogrammed86图1-5用户程序监督程序(a)单道程序运行情况I/O操作I/O中断请求启动I/OI/O完成结束中断I/O中断请求启动I/OI/O完成结束中断t1t2t3t4t5t6t7t8表示获得CPU图1-5用户程序监督程序(a)单道程序运行情况I/O操作I/87图1-5程序A调度程序I/O请求(b)四道程序运行情况程序B程序C程序DI/O请求I/O请求I/O请求I/O完成I/O完成I/O完成A完成表示获得CPUC再运行图1-5程序A调度程序I/O请求(b)四道程序运行情况程序B88多道批处理系统需要解决的问题

处理机管理问题。(2)内存管理问题。(3)I/O设备管理问题。(4)文件管理问题。(5)作业管理问题。多道批处理系统需要解决的问题处理机管理问题。891.2.4分时系统

分时系统(Time-SharingSystem)的产生用户的需求表现在:人机交互性(控制)共享主机(昂贵)便于用户上机(方便)分时系统:指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,各个用户都可通过自己的终端以交互方式使用计算机。1.2.4分时系统分时系统(Time-Sharing90分时系统实现中的关键问题及时接收。多路卡、输入缓冲区及时处理。交互作业应在内存、响应时间应短采用时间片轮转多路性(同时性)独立性(独占性)及时性(1—3sec)交互性:

“会话”

分时系统的特征

分时系统实现中的关键问题及时接收。多路卡、输入缓冲区多路性(911.2.5实时系统

概念所谓“实时”,是表示“及时”,而实时系统(Real-TimeSystem)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内(deadline)完成对该事件的处理,并控制所有实时任务协调一致地运行。

应用需求

实时控制。(2)实时信息处理。1.2.5实时系统概念应用需求实时控制。92响应时间:指用户发出命令,到系统完成用户命令所需的时间。批处理操作系统没有分时操作系统秒级(一般情况)实时操作系统微秒级甚至更小(经典说法)系统满足用户时限(deadline)的要求(现代)响应时间:指用户发出命令,到系统完成用户命令所需的时间。93

实时任务

按任务执行是否呈现周期性来划分

周期性的非周期性的(开始截止时间或完成截止时间)根据对截止时间的要求来划分

硬实时任务:必须满足。实时控制软实时任务:不太严格。实时信息处理实时任务按任务执行是否呈现周期性来划分94实时操作系统特点系统对外部的信号必须能及时响应,(在规定的时间内(deadline));要求高可靠性和安全性,效率则放在第二位;系统整体性强;不要求很强的“会话”能力。实时操作系统特点95实时系统与分时系统特征的比较多路性:相似独立性:相同及时性:实时系统要求更高交互性:分时系统交互性更强可靠性:实时系统要求更高实时系统与分时系统特征的比较961.2.6微机操作系统的发展

字长划分:运行方式划分:1.单用户单任务操作系统含义:只允许一个用户上机,且只允许用户程序作为一个任务运行。(一个人只做一件事)配置在8位和16位微机。代表是CP/M,MS-DOS,PC-DOS

2.单用户多任务操作系统含义:只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。(一个人同时做多件事)配置在32位微机。代表是由微软公司推出的Windows。1.2.6微机操作系统的发展2.单用户多任务操作系97

3.多用户多任务操作系统含义:允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。(多个人同时做多件事)大、中和小型机中所配置的大多是多用户多任务操作系统,而在32位微机上也配置有多用户多任务操作系统,其中最有代表性的是UNIXOS。

3.多用户多任务操作系统98UNIXOS是美国电报电话公司的Bell实验室在1969~1970年期间开发的。现在最有影响的两个能运行在微机上的UNIX操作系统的变型是SolarisOS和LinuxOS。

UNIXOS是美国电报电话公司的Bell实验室在19699LinuxOS:Linux是UNIX的一个重要变种,最初是由芬兰学生LinusTorvalds针对Intel80386开发的。1991年在Internet网上发布第一个Linux版本,由于源代码公开,因此有很多人通过Internet与之合作,使Linux的性能迅速提高,其应用范围也日益扩大。相应地,源代码也急剧膨胀,此时它已是具有全面功能的UNIX系统,大量在UNIX上运行的软件(包括1000多种实用工具软件和大量的网络软件)被移植到Linux上,而且可以在主要的微机上运行,如Intel80x86Pentium等。

LinuxOS:Linux是UNIX的一个重要变种,100更多操作系统网络操作系统(NetworkOperatingSystem)是建立在主机操作系统基础上,用于管理网络通信和共享资源,协调各主机上任务的运行,并向用户提供统一的、有效的网络接口的软件集合,它是用户和主机操作系统之间的接口。分布式计算机系统由多台分散的计算机经互连网络连接而成嵌入式操作系统指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件更多操作系统网络操作系统(NetworkOperating101操作系统的进一步发展

操作系统发展的主要动力器件快速更新换代。计算体系结构不断发展。提高计算机系统资源利用率的需要。让用户使用计算机越来越方便的需要。满足用户新要求,提供给用户新服务。操作系统发展的方向从大中型计算机来看,主要是分布式和网络化。微机操作系统主要向多用户多功能、虚存、图形、数据库等方向发展。操作系统的智能化。操作系统的进一步发展

操作系统发展的主要动力1021.3操作系统的基本特性

OS特性一:并发性并行与并发并行性(Parallelism)是指两个或多个事件在同一时刻发生。如T3时刻并发性(Concurrence)

是指两个或多个事件在同一时间间隔内发生。如T3—T4时刻并发性是OS最重要的特征,OS所有的内容都围绕它展开!!1.3操作系统的基本特性OS特性一:并发性103引入进程

目的:为了使多个程序能并发执行。

好处:有效地提高了系统资源的利用率和系统吞吐量,并改善了系统的性能。

进程(Process):在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。

一个进程在运行时需要一定的资源,如CPU、存储空间及I/O设备等。

引入进程104线程

在引入线程的OS中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。

进程和并发是现代操作系统最重要的概念!线程105OS特性二:共享性共享:系统中资源可供内存中多个并发执行的进程共同使用互斥共享:一段时间只允许一个进程访问某资源.同时访问:宏观上允许在一段时间内由多个进程同时对某资源进行访问,但微观上仍是互斥的.并发与共享是OS的两个最基本的特征,它们互为存在条件.OS特性二:共享性106OS特性三:虚拟虚拟(不存在)通过某种技术把一个物理实体变为若干个逻辑上的对应物。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、虚拟外部设备等。空间换时间时间换空间OS特性三:虚拟虚拟(不存在)空间换时间时间换空间107OS特性四:异步性异步性(Asynchronism)

:进程以人们不可预知的速度向前推进。运行结果如何保证正确?

在多道程序环境下允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。

OS特性四:异步性1081.4操作系统的主要功能

1.4.1处理机管理功能多道环境下,处理机的运行及分配都是以进程为单位,因此处理机管理可归结为进程管理。1、进程控制创建/撤消进程、迁移进程状态。一般由进程控制原语完成

2.进程同步两种协调方式:(1)进程互斥方式。(2)进程同步方式。

3.进程通信类型:直接通信、间接通信1.4操作系统的主要功能1.4.1处理机管理功能1094、调度(作业与进程)作业调度为作业分配必要资源,调入内存建立进程,并使之进入就绪队列。进程调度从就绪队列中选出进程,分配CPU,使之运行。调度算法:FCFS、优先权等4、调度(作业与进程)1101.4.2存储器管理功能目的:方便用户使用,且提高存贮器利用率1.内存分配:静态分配、动态分配2.内存保护:机制,例:上下界限寄存器3.地址映射:逻辑地址——〉物理地址4.内存扩充:虚存,逻辑上扩充1.4.2存储器管理功能1111.4.3设备管理功能

任务:提高I/O利用率和速度,方便用户1.缓冲管理缓冲区:用来解决CPU-I/O矛盾,如:CPU快则应多创建缓冲区。2.设备分配包括:设备,设备控制器,I/O通信的分配和回收3.设备处理设备驱动程序1.4.3设备管理功能1121.4.4文件管理功能

任务:方便用户,提供安全性1.文件存储空间的管理为每个文件分配必要的外存空间,提高外存的利用率。2.目录管理使用户按名存取,提高速度。3.文件的读、写管理和保护根据用户的需求读写数据,并提供有效的存取控制功能。1.4.4文件管理功能1131.4.5操作系统与用户之间的接口

为了方便用户使用操作系统,OS又向用户提供了“用户与操作系统的接口”。该接口通常可分为两大类:

(1)用户接口。它是提供给用户使用的接口,用户可通过该接口取得操作系统的服务;

(2)程序接口。它是提供给程序员在编程时使用的接口,是用户程序取得操作系统服务的惟一途径。

1.4.5操作系统与用户之间的接口1141.用户接口由一组“命令”集组成,分为联机和脱机用户接口联机用户接口由一组键盘操作命令及命令解释程序所组成脱机(批处理用户接口)用JCL写作业说明书图形用户接口——〉联机用户接口图形、icon2.程序接口

系统调用高级语言的库函数1.用户接口1151.5OS的结构设计第一代:无结构第二代:模块式第三代:分层式第四代:微内核把前三代的OS结构称为传统的OS结构,而把第四代的OS结构称为现代OS结构。1.5OS的结构设计第一代:无结构1161.5.1传统的操作系统结构无结构OS一组过程集,各过程可相互调用,也叫整体系统结构。缺点:逻辑复杂,维护困难.1.5.1传统的操作系统结构无结构OS1171.5.1传统的操作系统结构模块化结构OS通过分解和模块化来控制大型软件复杂度。如:进程模块、内存模块…,各模块内进一步划分子模块。优点:提高了OS设计的正确性、可理解性、可维护性增强的OS的可适应性加速了OS的开发过程:并行开发模块缺点:模块大小、接口不易确定模块依赖关系可能复杂-〉无序模块法1.5.1传统的操作系统结构模块化结构OS1181.5.1传统的操作系统结构分层式操作系统分层式结构的基本概念:自底向上,每一层仅能使用其底层所提供的功能和服务优点(1)易保证系统的正确性(2)易扩充和易维护性缺点效率降低

1.5.1传统的操作系统结构分层式操作系统1191.5.2客户/服务器模式客户/服务器(Client/Server)模式可简称为C/S模式。

C/S模式的组成由客户机、服务器和网络系统三个部分组成。(1)客户机:通常在一个LAN网络上连接有多台网络工作站(简称客户机),每台客户机都是一个自主计算机。

1.5.2客户/服务器模式120

(2)服务器:通常是一台规模较大的机器,在其上驻留有网络文件系统或数据库系统等,它应能为网上所有的用户提供一种或多种服务。平时它一直处于工作状态,被动地等待来自客户机的请求,一旦检查到有客户提出服务请求,便去完成客户的请求,并将结果送回客户。这样,工作站中的用户进程与服务器进程便形成了客户/服务器关系。(3)网络系统:用于连接所有客户机和服务器,实现它们之间通信和网络资源共享的系统。(2)服务器:通常是一台规模较大的机器,在其上驻留有网121

C/S模式的优点(1)数据的分布处理和存储(2)便于集中管理。(3)灵活性和可扩充性(4)易于改编应用软件。C/S模式的优点1221.5.3面向对象的程序设计

面向对象技术的基本概念面向对象技术是20世纪80年代初提出并很快流行起来的。该技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的。

对象是指在现实世界中具有相同属性、服从相同规则的一系列事物(事物可以是一个物理实体、一个概念或一个软件模块等)的抽象,而把其中的具体事物称为对象的实例。1.5.3面向对象的程序设计123

面向对象技术的优点在设计操作系统时,将计算机中的实体作为对象来处理,可带来如下好处:(1)通过“重用”提高产品质量和生产率。(2)使系统具有更好的易修改性和易扩展性。(3)更易于保证系统的“正确性”和“可靠性”。面向对象技术的优点1241.5.4微内核OS结构

1.微内核操作系统的基本概念

为了提高操作系统的“正确性”、“灵活性”、“易维护性”和”可扩充性”,在进行现代操作系统结构设计时,即使在单处理机环境下,大多也采用基于客户/服务器模式的微内核结构,将操作系统划分为两大部分:微内核和多个服务器。MachOS:并行分布式操作系统,现代的微内核体系结构的例子

Windows2K/XP:为了移植性的考虑,Windows操作系统的大多数代码是用C语言编写的

/bookfiles/296/10029612589.shtml1.5.4微内核OS结构125

1)足够小的内核

内核是指精心设计的、能实现现代OS最基本的核心功能的部分。用于:①实现与硬件紧密相关的处理;②实现一些较基本的功能;③负责客户和服务器之间的通信。它们只是为构建通用OS提供一个重要基础,这样就可以确保把操作系统内核做得很小。1)足够小的内核126

2)基于客户/服务器模式

由于客户/服务器模式具有非常多的优点,故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。例如用于提供对进程(线程)进行管理的进程(线程)服务器,提供虚拟存储器管理功能的虚拟存储器服务器,提供I/O设备管理的I/O设备管理服务器等,它们都是被作为进程来实现的,运行在用户态,客户与服务器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论