计算机操作系统教程-Read课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机操作系统教程-Read课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 教程 Read 课件
- 资源描述:
-
1、计算机操作系统原理和设计南京大学计算机科学与技术系2001年7月ch1操作系统概论操作系统概论1.1操作系统的定义操作系统的定义1.1.1操作系统的定义和目标操作系统的定义和目标操作系统操作系统(Operating System)是管理硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。它可被看作是用户和计算机硬件之间的一种接口,是现代计算机系统不可分割的重要组成部分。用户1用户2用户3用户4用户n财务系统航空订票上网浏览电子商务科学计算(应用程序)编译程序汇编程序编辑程序数据库(系统程序)操作系统计算机硬件图1-1 计算机系统的层次结
2、构硬件层硬件层 操作系统层操作系统层 语言处理层语言处理层 应用层应用层 综上所述,现代计算机的用户通过应用程序与计算机交互来解决他的应用问题。通常,应用程序用程序设计语言来表达,而不是直接用机器语言来开发。应用程序运行时,除依赖于语言处理程序的支持外,更多地依赖于操作系统提供的各种各样的功能和服务。计算机系统中配置操作系统的主要目标可归结为:方便用户使用方便用户使用 O S应该使计算机系统使用起来十分方便。扩大机器功能扩大机器功能 O S应该能改造硬件设施,扩充机器功能。管理系统资源管理系统资源 O S应该管理好系统中的所有硬件软件资源。提高系统效率提高系统效率O S应该使计算机系统的资源得
3、到充分利用,使计算机系统的效率非常高。构筑开放环境构筑开放环境 O S应该构筑出一个开放环境,主要是指:遵循有关国际标准;支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和可互操作性。1.1.2操作系统的作用操作系统的作用1.1.2.1OS作为用户与计算机硬件之间的作为用户与计算机硬件之间的接口接口1.1.2.2OS作为计算机系统的资源管理者作为计算机系统的资源管理者1.1.2.3OS作为虚拟计算机作为虚拟计算机1.1.3操作系统的主要特性操作系统的主要特性1.1.3.1第一个特性第一个特性-并发性并发性并发性(并发性(Concurrence)是指两个或两)是指两个或两个以
4、上的活动在同一时间间隔内发生个以上的活动在同一时间间隔内发生发挥并发性能够消除计算机系统中部件发挥并发性能够消除计算机系统中部件和部件之间的相互等待,有效地改善了和部件之间的相互等待,有效地改善了系统资源的利用率,改进了系统的吞吐系统资源的利用率,改进了系统的吞吐率,提高了系统效率率,提高了系统效率多个I/O设备同时在I/O;设备I/O和CPU计算同时进行;内存中同时有多个作业被启动交替、穿插地执行,这些都是并发性活动的例子。发挥并发性能够消除计算机系统中部件和部件之间的相互等待,有效地改善了系统资源的利用率,改进了系统的吞吐率,提高了系统效率。例如,一个程序等待I/O完成时,就出让CPU,而
5、调度另一个程序运行,在程序等待I/O时,CPU便不会空闲,这就是采用了并发技术。 但由此引发了一系列的问题,使系统变得复但由此引发了一系列的问题,使系统变得复杂化杂化如何从一个活动切换到另一个活动?怎样将各个活动隔离开来,使之互不干扰,免遭对方破坏?怎样让多个活动协作完成任务?怎样协调多个活动对资源的竞争?如何保证每个活动的资源不被其它进程侵犯?多个活动共享文件数据时,如何保证数据的一致性? 为了更好的解决上述问题,操作系统中很早就引入了一个重要的概念-进程,由于进程能清淅刻划操作系统中的并发性,实现并发活动的执行,因而它已成为现代操作系统的一个重要基础。 采用并发技术的系统又称为多任务系统(
6、Multitasking),计算机系统中,并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,这样就可以实现程序之间的并发,以及CPU与I/O设备、I/O设备与I/O设备之间的并行,并发性是对有限物理资源强制行使多用户共享以提高效率。结论:实现并发技术的关键之一是如何对系统内的多个活动(进程)进行切换的技术。1.1.3.2第二个特性第二个特性-共享性共享性共享指操作系统中的资源包括硬件资源和信息资源,可被多个并发执行的进程所使用 可以分成两种资源共享方式:互斥共享: 系统中的某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程
7、访问这些资源。当一个进程还在使用该资源时,其它欲访问该资源的进程必须等待,仅当该进程访问完毕并释放资源后,才允许另一进程对该资源访问。这种同一时间内只允许一个进程访问的资源称临界资源,许多物理设备,以及某些数据和表格都是临界资源,它们只能互斥地被共享。同时访问 : 系统中的还有许多资源,允许同一时间内多个进程对它进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是磁盘,可重入程序也可被同时共享。与共享性有关的问题是资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。1.1.3.3第三个特性第三个特性-异步性异步性(Asynchronism)操作系统中的异步异步(随机)性
8、处处可见 例如,一个进程在CPU上运行一段时间后,由于等待资源满足或事件发生,它被暂停执行,CPU转让给另一个进程执行。系统中的进程何时执行?何时暂停?以什么样的速度向前推进?进程总共要多少时间执行才能完成?这些都是不可予知的,或者说该进程是以异步方式运行的,异步性给系统带来了潜在的危险,有可能导致与时间有关的错误,但只要运行环境相同,操作系统必须保证多次运行作业,都会获得完全相同的结果。操作系统中的随机性处处可见,例如,作业到达系统的类型和时间是随机的;操作员发出命令或按按钮的时刻是随机的;程序运行发生错误或异常的时刻是随机的;各种各样硬件和软件中断事件发生的时刻是随机的等等, 异步性给系统
9、带来了潜在的危险,有可能导致与时间有关的错误 操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果1.1.4操作系统需要解决的主操作系统需要解决的主要问题要问题1.1.4.1提供解决资源冲突的策略和技术提供解决资源冲突的策略和技术1.1.4.2协调并发活动的关系协调并发活动的关系1.1.4.3保证系统的安全性保证系统的安全性1.2操作系统的发展和形成操作系统的发展和形成1.2.1人工操作阶段人工操作阶段1.2.2管理程序阶段管理程序阶段1.2.3多道程序设计与操作系统的形成多道程序设计与操作系统的形成1.2.4操
10、作系统发展的主要动操作系统发展的主要动力和进一步发展力和进一步发展1.2.4.1操作系统发展的主要动力操作系统发展的主要动力 1.器件快速更新换代。 2.计算体系结构不断发展。 3.提高计算机系统资源利用率的需要。 4.让用户使用计算机越来越方便的需要。 5.满足用户新要求,提供给用户新服务。 1.2.4.2操作系统的进一步发展操作系统的进一步发展大型机1950196019701990编译没有软件分时丫1980Multicss批处理分布系统多处理机驻留监督容错小型机196019701990Unix没有软件编译分时丫多处理机容错驻留监督微型机19701980Unix1990没有软件编译多处理机多
11、用户驻留监督多用户网络计算机1990没有软件编译多用户 操作系统的发展操作系统的发展1.微机操作系统的发展微机操作系统的发展 2.并行操作系统的发展并行操作系统的发展 3.3.分布式操作系统的发展分布式操作系统的发展 4.4.并行分布式操作系统的发展并行分布式操作系统的发展 1.3操作系统的分类操作系统的分类1.3.1批处理操作系统批处理操作系统批处理系统的主要特征是:批处理系统的主要特征是:用户脱机工作用户脱机工作成批处理作业成批处理作业多道程序运行多道程序运行作业周转时间长作业周转时间长 批处理操作系统用户把要计算的应用问题编成程序,连同数据和作业说明书一起交给操作员,操作员集中一批作业,
12、并输入到计算机中。然后,由操作系统来调度和控制用户作业的执行。通常,采用这种批量化处理作业方式的操作系统称为批处理操作系统(Batch Operating System)。1.3.2分时操作系统分时操作系统允许多个联机用户同时使用一台计算机系统进行计算的操作系统称分时操作系统 分时操作系统具有以下特性: 同时性 独立性 及时性 交互性 分时操作系统和批处理操作系统存在下列不同点:目标不同 适应作业的性质不同 资源使用率不同 作业控制方式不同 1.3.3实时操作系统实时操作系统 有三种典型的实时系统:过程控制系统、信息查询系统、事务处理系统。 何谓实时操作系统?实时操作系统(Real Time
13、Operating System)是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实行任务协调一致运行的操作系统。 实时操作系统通常由四部分组成:l 数据采集:它用来收集、接收和录入系统工作必须的信息或进行信号检测。l 加工处理:它对进入系统的信息进行加工处理,获得控制系统工作必须的参数或作出决定,然后,进行输出,记录或显示。l 操作控制:它根据加工处理的结果采取适当措施或动作,达到控制或适应环境的目的。l 反馈处理:它监督执行机构的执行结果,并将该结果馈送至信号检测或数据按收部件,以便系统根
14、据反馈信息采取进一步措施,达到控制的予期目的。1.3.4网络操作系统网络操作系统为了使网络中的计算机能方便地传送信息和共享网络资源而加到网络中的计算机上的操作系统称网络操作系统(Network Operating System)。网络操作系统应该具有的功能: .网络通信 . 资源管理 . 网络管理 . 网络服务 下一代网络操作系统应能提供以下功能支撑:l 位置透明性 支持客户机、服务器和系统资源不停地在网络中装入卸出,且不固定确切位置的工作方式。l 名空间透明性 网络中的任何实体都必须从属于同一个名空间。l 管理维护透明性 如果一个目录在多台机器上有映象,应负责对其同步维护;应能将用户和网络故
15、障相隔离;同步多台地域上分散的机器的时钟。l 安全权限透明性 用户仅需使用一个注册名及口令,就可在任何地点对任何服务器的资源进行存取,请求的合法性由操作系统验证,数据的安全性由操作系统保证。l通信透明性 提供对多种也1.3.5分布式操作系统分布式操作系统分布式计算机系统是指由多台分散的计算机,经互连网络连接而成的系统,它满足以下条件:l 系统中任意两台计算机可以通过系统的安全通信机制来交换信息。l 系统中的资源为所有用户共享,用户只要考虑系统中是否有所需资源,而无需考虑资源在哪台计算机上。l 系统中的若干台机器可以互相协作来完成同一个任务,换句话说,一个程度可以分布于几台计算机上并行运行,一般
16、的网络是不满足这个条件的,所以,分布式系统是一种特殊的计算机网络。l 系统中的一个结点出错不影响其它结点运行、即具有较好的容错性和健壮性。分布式操作系统(Distributed Operating System)具备四项基本功能:l 进程通信:提供有力的通信手段,让运行在不同计算机上的进程可通过通信来交换数据;l 资源共享:提供访问它机资源的功能,使得用户可以访问或使用位于它机上的资源,例如A结点上的一个进程使用B结点上的一台打印机,而B结点上的一个进程却在存取A结点上的一个文件。l并行运算:提供某种程度设计语言,使用户可编写分布式程序,该程序可在系统中多个节点上并行运行;l网络管理:高效地控
17、制和管理网络资源,对用户具有透明性、即使用分布式系统与传统单机相似。 分布式操作系统(Distrabuted Operatying System)与单机集中式操作系统的主要区别在于: .资源管理, .进程通信, .系统结构 三个方面。 分布式操作系统举例:分布式操作系统Plan9由AT&T公司BELL实验室于由 Ken Thompson (Unix设计者之一) 参与开发的分布式操作系统 分布式操作系统Amoeba由荷兰自由大学和数学信息科学中心联合研制 分布式系统研究和开发的主要方向:l 分布式系统结构:研究非共享通路结构和共享通路结构。l 分布式操作系统:研究资源管理方法、同步控制机制、死锁
18、的检测和解除和进程通信模型及手段等。l 分布式程序设计:扩充顺序程序设计语言使其具有分布程序设计能力;开发新的分布式程序设计语言。l 分布式数据库:设计开发新的分布式数据库。l 分布式应用 :研究各种分布分式并行算法,研究在办公自动化、自动控制、管理信息系统等各个领域的应用。1.3.6嵌入式操作系统嵌入式操作系统 什么是嵌入式软件? 嵌入式软件具有以下特点:(1)微型化 (2)专业化 (3)实时性1.4操作系统的功能操作系统的功能1.4.1处理机管理处理机管理1.4.2存储管理存储管理1.4.3设备管理设备管理1.4.4文件管理文件管理1.4.5网络与通信管理网络与通信管理1.4.6用户接口用
19、户接口1.5操作系统提供的服务和用户接口操作系统提供的服务和用户接口1.5.1操作系统提供的基本服务操作系统提供的基本服务 . .创建程序创建程序 . .执行程序执行程序 . .数据数据I/O I/O . .信息存取信息存取 . .通信服务通信服务 . .错误检测和处理错误检测和处理 此外此外, ,还具有另外一些功能还具有另外一些功能: :资源分配资源分配, , 统计统计, ,保护。保护。1.5.2操作系统提供的用户接口操作系统提供的用户接口从系统的角度来说,操作系统的服务和功能可以不同方式提供给用户,最基本的有两种:l 系统调用(System Call) 是由操作系统实现完成某种功能的过程。
20、它是程序与操作系统的接口,又称程序接口或编程级接口,在编写的程序中使用“系统调用” 就可以获得操作系统的底层服务,访问系统的各种软硬件资源。l系统程序(System Program) 可以看作是操作系统提供给用户的功能级接口。它是操作系统为用户提供的解决使用计算机和计算的共性问题所有服务的集合。这可以当作操作系统高层提供的服务(虽然它们不能算作操作系统的一部分),用户常常通过操作命令来调用系统程序。1.5.2.1系统调用系统调用1.系统调用的分类系统调用的分类 .进程和作业管理 .文件操作 .设备操作 .信息维护 .通信2.系统调用的实现要点系统调用的实现要点 一.是编写系统调用处理程序; 二
21、.是设计一张系统调用入口地址表,每 个入口地址都指向一个系统调用的处理程序,有的系统还包含系统调用自带参数的个数; 三.是陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场。 图1-7是系统调用的处理过程。 System Call用户程序A0SUB0SUB1SUBiSUBnA1AiAn系统调用处理子程序取系统功能号找入口地址表相应入口地址结束处理心潮难现场入口地址表A0A1AiAn保护CPU现场系统调用陷入机构陷入指令图1-7 陷入机构和系统调用处理过程 系统调用的参数传递一是由访管指令或陷入指令自带参数,可以规定指令之后的若干单元存放的是参数,这叫直接参数;或者在指令之后紧靠的单
22、元中存放参数的地址,这叫间接参数。二是通过CPU的通用寄存器传递参数,这种方法不宜传递大量参数。改进的方法是:在内存的一个块或表中存放参数,其首地址送入寄存器,实现参数传递,图1-8是这种方式参数传递的示意。三是在内存中开辟专用堆栈区域传递参数。图1-8 传递参数的一种方法操作系统X: 参数LOAD AddR XSystem Call 8X图1-8 传递参数的一种方法从表X取参数系统调用8的处理子程序寄存器图1-9 Unix系统调用处理过程源程序函数替换目标程序nw=write(fd,buf,count)Load r0,fdTrap 04Bufcount xxxxx8904(H) * $Tra
23、p中断处理程序C编译装配系统调用入口表Write地址查表Write调用处理程序处理程序中断带参数返回图1-9 Unix系统调用处理过程 Linux系统调用 Linux有170个系统调用,应用程序和Shell通过系统调用机制访问Linux内核(功能)。每个系统调用由两部分组成:l 核心函数 运行在核心态,是实现系统调用功能的(内核)代码,作为操作系统的核心驻留在内存中,是一种共享代码,用C语言书写。它运行在核心态,数据也存放在内核空间,通常它不能使用系统调用,也不能使用应用程序可用的库函数。l 接口函数 是提供给应用程序的API,以库函数形式存在Linux的lib.a中,该库中存放了所有系统调用
24、的接口函数的目标代码,用汇编语言书写。其主要功能是把:系统调用号、入口参数地址传送给相应的核心函数,并使用户态下运行的应用程序陷入核心态。Linux系统调用入口程序entry.s,是用汇编写的,它包含了系统调用入口地址表,给出了所有系统调用核心函数的名字: ENTRY(sys-call-table) .long SYMBOL-NAME(sys-ni-syscall) 0 .long SYMBOL-NAME (sys-exit) 1 .long SYMBOL-NAME (sys-fork) 2 .long SYMBOL-NAME (sys-read) 3 .long SYMBOL-NAME (s
25、ys-write) 4 .long SYMBOL-NAME (sys-open) 5 .long SYMBOL-NAME(sys-close) 6 .long SYMBOL-NAME (sys-vfork ) 190Linux的系统调用号就是系统调用入口表中位置的序号,所有系统调用通过接口函数将系统调用号传给内核,内核转入系统调用控制程序再通过调用号位置来定位核心函数,Linux内核的陷入由0 x80(int80h)中断实现。系统调用控制程序的主要功能为:取系统调用号;根据系统调用号定位核心函数地址;根据通用寄存器内容,从用户栈中取入口参数;核心函数执行,把结果返回应用程序。3.系统调用与过程
展开阅读全文