《计算机系统的组成》PPT课件.ppt_第1页
《计算机系统的组成》PPT课件.ppt_第2页
《计算机系统的组成》PPT课件.ppt_第3页
《计算机系统的组成》PPT课件.ppt_第4页
《计算机系统的组成》PPT课件.ppt_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

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

文档简介

Applied Operating System Concepts(AOSC)介绍,One of the following three books would be sufficient to prepare for the Operating Systems component of the exam. “Applied Operating System Concepts“ A. Silberschatz, P. Galvin, and G. Gagne. John Wiley & Sons, Inc., 2000. “Modern operating systems“ Tanenbaum 1 What is an Operating System? 2 Processes 3-3.6 Memory Management 4 Files Systems 5-5.2 Input/Output 6 Deadlock 7 Case Study: UNIX (This is an alternative.) “Operating Systems, Design and Implementation“ Tanenbaum (This is an alternative.),耶鲁大学的 OS考试参考书,参考教材,1.计算机操作系统 汤子瀛等 西安电子科技大学出版社 2.操作系统教程 陆丽娜 齐勇等 西安交通大学大学出版社 3.Modern Operating System Andrew S.Tanenbaum 4.现代操作系统 陈向群等译 机械工业出版社 5.计算机操作系统教程 张尧学 史美林 清华大学出版社,1: Introduction 引论,What is an operating system?什么是操作系统? Simple Batch Systems简单批处理系统 Multiprogramming Batched Systems多道程序批处理系统 Time-Sharing Systems分时系统 Personal-Computer Systems 个人计算机系统 Parallel Systems并行系统 Distributed Systems分布式系统 Real -Time Systems实时系统,1: Introduction 引论,本章学习目标: 学习操作系统基本原理,要了解其在计算机系统中的地位 了解此地位的形成过程,即的发展历史 了解OS的基本特征和功能 当前流行的几种主要操作系统,The goal of OS 引入OS的目标,方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别的不便 有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程 可扩充性和开放性(开放的观点):操作系统本身的功能和管理策略、硬件的类型和规模、多个系统之间的资源共享和互操作,OS是计算机硬件、软件资源的管理者 OS是用户使用计算机硬件系统的接口 OS是扩展机(extended machine)/虚拟机(virtual machine),What is an Operating System?什么是操作系统?,What is an Operating System?什么是操作系统?,OS是计算机硬件、软件资源的管理者 管理对象:CPU、存储器、外部设备、信息(数据和软件); 管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。 OS的主要功能也正是针对这四类资源进行有效管理,即:处理机管理、存储器管理、I/O设备的管理以及文件管理。,计算机系统的组成,What is an Operating System?什么是操作系统?,OS是扩展机(extended machine)/虚拟机(virtual machine) 在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU) “虚拟机”:一个裸机在每加上一层软件后,就变成了一个功能更强的机器,把这“新的功能更强的机器”称作虚拟机。 从操作系统结构出发,把操作系统分成若干个层次,每一层次都对上一层次扩充形成一个虚拟机;高层次屏蔽低层次的功能细节,低层向高层提供服务, 整个操作系统由若干个虚拟机叠加而成。 OS的地位:紧挨硬件层的第一层软件,对硬件进行首次扩充,同时又是其他软件运行的基础。,What is an Operating System?什么是操作系统?,OS是用户使用计算机硬件系统的接口 系统命令(命令行、菜单式、图形用户接口GUI); 系统调用(形式上类似于过程调用,在应用编程中使用)。,What is an Operating System?什么是操作系统?,A program that acts as an intermediary between a user of a computer and the computer hardware. 在计算机用户和计算机硬件之间起媒介作用的一种程序。 Operating system goals: 操作系统目标 Execute user programs and make solving user problems easier. 执行用户程序并使用户问题更易解决。 Make the computer system convenient to use. 使计算机系统更易使用。 Use the computer hardware in an efficient manner. 以一种有效的方式使用硬件。,Abstract View of System Components 系统部件的抽象观点,操作系统在计算机系统中的地位,OS的地位:紧挨硬件层的第一层软件,对硬件进行首 次扩充,同时又是其他软件运行的基础。,Operating System Definitions操作系统定义,Resource allocator资源分配者 manages and allocates resources.管理和分配资源 Control program控制程序 controls the execution of user programs and operations of I/O devices .控制用户程序的运行和I/O设备的操作 Kernel 内核 the one program running at all times (all else being application programs).在全时运行的一个程序(其他的是应用),Operating System Definitions操作系统定义,自底向上-OS是用来高效地控制和管理系统资源的程序集合。 自顶向下-OS是为用户提供一个等价的扩展计算机或称虚拟机,以方便用户使用计算机的程序集合。,Operating System Definitions操作系统定义,操作系统是控制和管理计算机系统的硬件和软件资源、合理地组织计算机工作流程,以及方便用户的程序的集合。 有效:系统效率,资源利用率,(如:CPU利用的充足与否,内存、外部设备是否忙碌) 合理:资源分配公平与否,如果不公平则会产生“死锁”或“饥饿” 方便:用户界面、编程接口,方便用户的使用 何为“饥饿”:以对称多处理系统(SMP)为例,所有处理器是相同的,当采用静态进程分配方式时,每个CPU都有一专用的就绪队列,进程阻塞后再次就绪时,仍被挂在这个就绪队列中,因而它下次仍在此CPU上执行。也就是说,一个进程只能在同一个CPU上执行,即使其他的CPU空闲也不能在其他CPU上执行。这样就会产生有的CPU很忙,而有的CPU则很空闲,即处于饥饿状态。,操作系统是随着计算机硬件技术、应用软件的发展而发展的 目标:充分利用硬件 提供更好的服务 大型机 PC机 后PC时代,操作系统的发展,操作系统的发展,操作系统历史划分为5个阶段: 第1阶段 (1948-1970) 第2阶段 (1970-1985) 第3阶段 (1981-) 第4阶段 (1981-) 第5阶段 (1995-),第1阶段 (1948-1970),硬件昂贵,人工便宜 更有效地利用硬件资源 缺乏用户和计算机之间的交互 控制台:一次一个用户 批处理:装入程序运行打印输出(保护:无) 数据通道、中断:I/O和计算重叠 多道程序设计:多个程序同时运行,多个用户共享系统(需要存储保护) 操作系统必须管理所有程序的交接、运行,复杂,首次面对重大失败,MULTICS 于 1963 年开始 直至 1969 年才发布 IBM 的 OS/360 发布时 带着已知的 1000 个错误,第2阶段 (1970-1985),硬件便宜,人工昂贵 交互分时: 利用便宜的终端 多个用户同时与系统交互 牺牲CPU时间 用户得到更好的响应时间 用户可以在线工作:开发、调试、编辑等 问题:增加用户时 , 系统性能降低 (响应时间、抖动),成功案例,一群计算机迷在贝尔实验室开发出UNIX 初衷:可以在一台无人使用的DEC PDP-7 小型计算机上玩星际探险游戏 Ken Thompson,Dennis Ritchie 1983年图灵奖获得者 1999年4月 美国国家技术金奖,第3阶段 (1981-),硬件非常便宜,人工非常昂贵 面临挑战:如何利用计算机 充分节约人力 个人计算时代 开始: PC硬件资源有限 一次运行一个程序 OS是一个例程库 回归简单 逐渐: PC资源丰富 OS又成为一个庞然大物(大型OS) 存储保护、多道程序设计又出现,第4阶段 (1981-),分布式系统 网络:允许不同机器很容易共享资源 (打印机、文件服务器、Web服务器) 客户/服务器模型 需解决的问题:共享,安全,第5阶段 (1995-),移动系统时代 各种移动设备出现(笔记本、PDA等等) 特点:小型、移动、便宜 但有限能力 无线支持 可以 leverage 分布式系统的资源,历史上的操作系统,随历史线索,介绍一些重要的操作系统 FMS(FORTRAN Monitor System)和IBMSYS(IBM为7094配备的操作系统) CTSS(Compatible Time Sharing System) UNIX类、Linux MS-DOS 、Windows,批处理操作系统,FMS(FORTRAN Monitor System,FORTRAN监控系统) IBMSYS(IBM为7094机配备的操作系统) 这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成,第一个分时系统(CTSS)由 MIT的Fernando Corbato 等1961年在一改装的IBM 7090/94机上开发成功(有32个交互式用户) IBM 7090/94计算机有32K内存,系统用5K,用户用27K,用户存储映象在内存和一台磁鼓之间切换 1962年Manchester大学的Atlas计算机投入运行 第一个有虚拟存储器(virtual memory)和页面调度(paging) 的机器 指令执行是 pipelined 的,第一个分时操作系统CTSS,MULTICS的灾难,1965年在ARPA的支持下,MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”, 希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICS (MULTiplexed Information and Computing Service ) MULTICS设计目标是: 便利的终端使用大量远程终端通过电话线接入计算机主机 高可靠的大型文件系统大容量的用户信息共享;存储和构造层次化信息结构的能力,MULTICS研制难度超出所有人的预料(PL/1语言) 长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出 最终,MIT坚持下来,MULTICS成功运行,成为商业产品(通用汽车、福特、美国国家安全局等) 运行MULTICS的计算机系统在九十年代中陆续被关闭(加拿大国防部于2000年10月30日17:08) MULTICS的意义 引入了许多现代操作系统领域概念雏形,对随后的操作系统特别是UNIX的成功有着巨大的影响,MULTICS,UNIX,UNIX是现代操作系统的代表。Unix运行时的安全性、可靠性以及强大的计算能力赢得广大用户的信赖 促使UNIX系统成功的因素: 首先,由于UNIX是用C语言编写,因此它是可移植的,UNIX 是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统 第二,系统源代码非常有效,系统容易适应特殊的需求 最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统,IBM在1981年推出个人计算机,宣布了DOS操作系统 MS DOS有优良的文件系统,但受到Intel x86体系结构的限制 它属于单用户单任务操作系统 从1981的 1.0版到1998年在Windows 95/98之下的7.0版,MS DOS历经了16个年头 迄今仍有MS DOS爱好者开发各种DOS软件产品,微软MS DOS,一波三折的微软Windows操作系统,1983年10月,PC机竞争厂家的图形界面相关产品上市 面对市场压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统 直到1985年11月20日,Windows 1.0才正式上市 1992年4月,推出Windows 3.1,1993年5月,发表Windows NT Windows 95/98,Windows CE,Windows 2000/XP,Windows Server 2003(.net) Longhorn,Longhorn,Longhorn的一般特性 客户端Windows操作系统 架构式操作系统 子系统: Avalon Indigo WinFS 集成某些中间件软件来完成某些任务,包括: 新的媒体播放功能,浏览器,Longhorn(续),Longhorn API 遵从.NET框架,是.NET的最新发展 提供可管理执行环境 支持语言:C# 、C+ 、J# 、VB.NET 、 Longhorn的新功能 定义了新的应用模式 可信计算和安全 丰富的存储和数据访问手段 通信与协同 丰富的表达和媒体功能,基于微内核的Mach操作系统,1975年Rochester大学开发了RIG 操作系统 系统设计者之一Richard Rashid 移居到CMU后,在DARPA支持下,1984年开始了Mach的开发 希望Mach能与UNIX兼容,运行线程,更好的进程通信机制,支持多处理机及好的虚拟存储系统 Mach第一个版本是1986年为VAX 11/784四CPU多处理机发布 1988年的Mach 2.5版包含了大量的BSD UNIX的代码 1989年,Mach 内核中去掉了所有的BSD UNIX的代码,剩下了一个纯的Mach微内核,这就是Mach 3.0版本,它是OSF发布的基础,Mach中采用了许多当代操作系统使用的技术, 微内核、线程、进程间消息传递和面向对象的设计方法等等 在Mach的基础上,有不少用于微处理器、多处理器以及超级计算机的操作系统和实时嵌入式操作系统陆续设计和开发出来,如OSF/1,DCE Unix, NeXT等等,Mach操作系统,Internet时代与Linux,1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程 Linus需要终端仿真程序来存取Usenet新闻组的内容,于是他编写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序 然后编写了磁盘驱动程序、文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核 Linux就以这样极其古怪但也极其自然的方式问世,操作系统领域中新的操作系统,有线电视机顶盒领域 PowerTV 掌上计算机领域 Palm OS 数字影像领域 Digita 手机 Symbian,SmartPhone,Palm OS 其他 Nucleus,VxWorks 嵌入式Linux:uClinux,Monta Vista Linux,LynxOS,研究中的新的操作系统,哈佛大学的VINO,使应用得以重用内核构件 犹他州大学的OSKit,提供构造操作系统所需的基础构件,也提供高层次构件。OSKit可用来构造新的OS MIT Exokernel,该系统只有一个极小的核。系统抽象通过Library Operating System完成 加州大学伯克利分校NOW集群操作系统,100台Ultra SPARC-I处理机集群,排名于世界最快的200台超级计算机之内 NASA空间飞行中心(GSFC)研制Beowulf项目开始于1994年,用商业化的微型计算机,Linux和以太网等构造集群。已有世界各地的约六十个大学和研究机构在使用,国内操作系统的研制状况,60年代末至70年代初 杨芙清院士主持 我国第一台百万次集成电路计算机(150)操作系统 支持多道程序运行,在石油勘探领域成功应用 70年代中后期 杨芙清院士主持 我国第一个全部用高级语言书写的DJS240机操作系统DJS200/XT2 层次管程结构模型,国内操作系统的研制状况(续),GX73多机实时操作系统(1978年) 国防科技大学,1980年装在“远望”-I 号航天测量船上,完成了向太平洋发射运载火箭、潜水艇水下发射的测控任务;完成了我国第一颗同步地球卫星的测控、定轨、控制任务 “银河”-1 YHOS巨型操作系统(1983年)国防科技大学,用于YH-1、YH-2超级计算机,用于我国的石油勘探、天气预报和核物理研究 COSIX v 1.X/2.0 国产UNIX类操作系统(国家八五、九五重点科技攻关成果,以中软为首,联合国内18个单位共同完成) 微内核结构,安全级别超过B1,中文界面 嵌入式操作系统:Hopen,DeltaOS,SmartEOS Linux类操作系统:中软Linux、红旗Linux、东方Linux,操作系统的标准化,如果没有标准化: 各个操作系统之间不能兼容 大量应用软件无法在不同的操作系统平台上通用 后果 投资增加 开发周期加长 用户掌握困难,影响推广应用,操作系统的国际标准,操作系统的国际标准 POSIX 标准(1003) ISO/IEC 9945-1:1990 Information TechnologyPortable Operating System Interface 同时被 X/Open 接纳为操作系统标准 其中9945-4(即 POSIX 1003.4)为实时部分,操作系统的国际标准(续),操作系统的国家标准 GB/T 14246.11995 可移植操作系统界面 等同于 POSIX 1003.1,通用操作系统的标准化,UNIX 的标准化 1970年代早期的UNIX是一个版本 各个厂家开发出各自的UNIX版本,各自互不兼容 1987年AT&T/Sun组织了UNIX International 其他公司组织了Open Software Foundation (OSF) OSF发布了POSIX.1 UNIX International (UI)发布了Ultrix 4.2 经过长时间的斗争,UNIX基本统一在Open Group标准: IEEE POSIX(Portable Operating System Interface) 最新版本遵守Single UNIX Specification UNIX 93, UNIX 95, UNIX 98 ,最新 UNIX 03,通用操作系统的标准化,Linux 标准化 由Free Standards Group(FSG)承担 主要标准化项目: Linux Standard Base (LSB) LSB定义在不同硬件体系结构上的 Linux的二进制接口 OpenI18N (formerly Li18nux)。 OpenI18N涉及不同语言应用的共同国际标准 有机构正在从事电信级Linux标准化 Linux标准化在中国 已发布了征求意见稿,嵌入式操作系统的标准化,Open Group 组织Real-time and Embedded Systems Forum 开始了嵌入式操作系统的标准化工作 当年发布POSIX Realtime测试套件: POSIX 1003.1d-1999 (Additional Realtime extensions) POSIX 1003.1j-2000 (Advanced Realtime extensions) Embedded Linux Consortium (ELC) 从事嵌入式 Linux标准 2003年元月,ELC发布了ELC Platform Specification (ELCPS),嵌入式操作系统的标准化,日本嵌入式操作系统的标准化 iTron是在日本运用最广的嵌入式操作系统 日本成立了TRON协会,专门从事嵌入式操作系统标准化 汽车电子嵌入式操作系统的标准化 欧洲汽车行业制定了网络化嵌入式计算机系统的开发规范OSEK/VDX OSEK/VDX操作系统标准,定义了一个可缩放的操作系统标准,操作系统的发展历史,推动操作系统发展的主要动力: “需求推动发展”:充分利用硬件,提供更好的服务 (1) 提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算 (2) 方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭) (3) 器件的发展:CPU的位宽度(指令和数据)、快速外存 (4) 计算机体系结构的不断发展:单处理机、多处理机、计算机网络,没有程序设计语言(甚至没有汇编),更谈不上操作系统 程序员提前预约一段时间,然后到机房将他的插件板插到计算机里 期盼着在接下来的时间中几万个真空管不会烧断,从而可以计算自己的题目 没有存储器,只有20个暂存器,它的程序是外插型的,指令存储在计算机的其他电路中。这样,解题之前,必需先写好所需的全部指令,通过手工把相应的电路联通。这种准备工作要花几小时甚至几天时间,而计算本身只需几分钟。计算的高速与程序的手工存在着很大的矛盾。,ENIAC计算机,运算速度:1000次/秒, 数万个真空管, 占地100平方米,50年代早期 出现了穿孔卡片 程序写在卡片上然后读入计算机 但计算过程则依然如旧,无操作系统时的计算机系统手工操作方式,无操作系统时的计算机系统手工操作方式,1946 50年代(电子管计算机),集中计算(计算中心),计算机资源昂贵; 工作方式:采用人工操作方式直接使用计算机硬件 用户:用户既是程序员,又是操作员;用户是计算机专业人员 编程语言:机器语言; 输入输出:纸带或卡片; 缺点 用户独占全机:一台计算机的全部资源只能由一个用户占用,资源利用率低; CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低,主要矛盾 “人机矛盾”:人工操作方式与机器利用率的矛盾; CPU与I/O之间速度不匹配的矛盾。 提高效率的途径 批处理(batch) 脱机输入输出方式(Off-Line I/O),Simple Batch Systems简单批处理系统,Reduce setup time by batching similar jobs批量处理同类作业减少了设置时间 Automatic job sequencing 自动作业调度 automatically transfers control from one job to another. First rudimentary operating system.自动把控制从一个作业转到另一个作业。第一个基本操作系统。 Resident monitor常驻管理程序 initial control in monitor 初始化管理程序 control transfers to job 转换控制到作业 when job completes control transfers back to monitor作业完成后转换控制回管理程序,Memory Layout for a Simple Batch System简单批处理系统的存储器布局,运行一个作业的步骤: 将程序写在纸上(用高级语言或汇编语言) 穿孔成卡片,再将卡片盒交给操作员 计算结果从打印机上输出 操作员到打印机上撕下运算结果送到输出室 程序员稍后可从输出室取到结果 操作员从输入室的卡片盒中读入另一个任务 如果需要FORTRAN编译器,还要把它取来读入计算机,批处理操作系统 现代操作系统雏型,典型的操作系统,FMS(FORTRAN Monitor System,FORTRAN监控系统) IBMSYS(IBM为7094机配备的操作系统) 这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成,Control Cards作业控制卡,Problems问题 1. How does the monitor know about the nature of the job (e.g., Fortran versus Assembly) or which program to execute? 管理程序如何知道作业的性质(如, Fortran还是汇编)或哪个程序要运行? 2. How does the monitor distinguish管理程序如何区别 (a) job from job?一个个的作业? (b) data from program?数据还是程序? Solution解决 Introduce control cards引入作业控制卡,Control Cards作业控制卡(Cont.),Special cards that tell the resident monitor which programs to run特殊卡片通知管理程序哪个程序运行 $JOB $FTN $RUN $DATA $END Special characters distinguish control cards from data or program cards特定的字符把数据卡片和程序卡片区分开来: $ in column 1 / in column 1 and 2 709 in column1,Control Cards作业控制卡(Cont.),Parts of resident monitor常驻管理程序的一部分 Control card interpreter responsible for reading and carrying out instructions on the cards.控制卡解释器 - 负责读出和执行卡上的指令 Loader loads systems programs and applications programs into memory.装载程序 - 把系统程序和应用程序调入内存 Device drivers know special characteristics and properties for each of the systems I/O devices.设备驱动程序 - 了解系统每一个I/O设备的特点和性质 Problem: Slow Performance I/O and CPU could not overlap ; card reader very slow.问题:慢 - I/O和CPU不可能彼此覆盖;卡片阅读器很慢 Solution: Off-line operation speed up computation by loading jobs into memory from tapes and card reading and line printing done off-line.解决:脱机操作 - 从磁带和卡片调作业进入内存,而打印机脱机,加速运算,Off-Line I/O,由于程序和数据的输入和输出都是在外围机/卫星机的控制下完成的,或者说它们是在脱离主机的情况下进行的,故称为脱机输入输出方式。 优点: 减少CPU的空闲时间 提高I/O速度,IBM 7094机引入了I/O 处理机概念 其思想是:在输入室收集全部的作业,用一台相对便宜的计算机如IBM 1401计算机,将它们读到磁带上,另外用较昂贵的计算机,如IBM7094来完成真正的计算,卡片,早期批处理系统,IBM1401,IBM7094,IBM1401,输入磁带,磁带机,卡片阅读机,输出磁带,打印机,Spooling,Overlap I/O of one job with computation of another job. While executing one job, the OS. 一个作业的I/O 同另一个作业的运算彼此重叠。在执行一个作业时,OS负责: Reads next job from card reader into a storage area on the disk (job queue).从卡片上把下一个作业读入磁盘存储区(作业队列) Outputs printout of previous job from disk to printer.从磁盘到打印机输出先前的作业 Job pool 作业池 data structure that allows the OS to select which job to run next in order to increase CPU utilization. 一种允许操作系统选择运行作业的数据结构,用以提高CPU利用率,多道程序设计(Multiprogramming),在简单批处理系统中,若当前作业因等待I/O而暂停,CUP只能踏步直至该I/O完成,对于CPU操作密集的科学计算问题,浪费时间少,而对于商业数据处理,I/O等待时间常占8090 解决办法:将内存分几个部分,每部分放不同的作业,当一个作业等待I/O时,另一个作业可以使用CPU,在内存中同时驻留多个作业需要硬件进行保护,以避免信息被窃取或攻击,多道程序设计 (Multiprogramming),把提交的作业都先放在外存上并排成一个队列,称为“后备队列”,由作业调度程序按照一定的调度算法从后备队列中选择若干个作业调入内存。 把一个以上作业存放在内存,并同时运行,共享处理机时间和外部设备等系统资源。 单处理机:“多个作业同时运行”指每个作业都已开始运行但尚未结束。任一时刻处理机上运行的作业只有一个!,多道程序设计的概念,多道程序设计是指在内存中同时存放多道用户作业,使它们都处于执行的开始点和结束点之间。 多道程序设计的特点: 多道:内存中有多道程序,它们在任一时刻必须处于就绪、运行、阻塞三种状态之一。 宏观上并行:宏观上它们是同时执行。 微观上串行:微观上它们是交替地执行。,Multiprogrammed Batch Systems 多道程序批处理系统,Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. 在主存中同时有若干个作业, CPU在其中多重切换。,批处理系统中作业处理及状态,OS Features Needed for Multiprogramming 多道程序对OS特点的要求,I/O routine supplied by the system. 系统提供I/O程序 Memory management存储管理 the system must allocate the memory to several jobs.系统必须为若干作业分派空间 CPU scheduling CPU调度 the system must choose among several jobs ready to run.系统必须在就绪作业中挑选 Allocation of devices. 设备分配,多道批处理系统的优缺点,优点: 资源利用率高:CPU、内存、I/O设备利用率较高; 系统吞吐量大:单位时间内完成的工作总量大; 缺点: 无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改; 作业平均周转时间长:短作业的周转时间显著增长; 系统吞吐量:系统在单位时间内所完成的总工作量 作业周转时间:作业从进入系统到完成退出系统所经历的时间 批处理:交互性差提高对CPU利用率; 分时处理:用户与应用程序随时交互,控制程序运行,适于商业和办公事务处理缩短响应时间,Time-Sharing SystemsInteractive Computing 分时系统-交互式计算,Time-Sharing SystemsInteractive Computing 分时系统-交互式计算,分时系统的思想于1959年在MIT提出 分时系统:指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可以使用自己的终端和主机交互,方便用户上机。 分时实现的关键问题:及时接受,及时处理在不长的时间内(3秒),使每一个作业都能运行一次(较短的时间:0.1秒) 。 分时技术:把处理机的响应时间分成若于个大小相等(或不相等)的时间单位,称为时间片(如100毫秒),每个终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片到(用完),用户程序暂停运行,等待下一次运行。,Time-Sharing SystemsInteractive Computing 分时系统-交互式计算,On-line communication between the user and the system is provided; when the operating system finishes the execution of one command, it seeks the next “control statement” not from a card reader, but rather from the users keyboard.提供用户和系统之间的在线通信;操作系统完成了一条命令的执行后,它不从卡片阅读机上而是从用户键盘上寻找下一条控制语句 On-line system must be available for users to access data and code. 在线系统必须使用户能够访问数据和代码,Time-Sharing SystemsInteractive Computing 分时系统-交互式计算,分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。 (1) 多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入时走时停 (2) 前台和后台程序(foreground & background)分时:后台程序不占用终端输入输出,不与用户交互现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台 通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间,分时系统的追求目标,追求目标:及时响应(根据指标是响应时间) 响应时间:从终端发出命令到系统给予回答所经历的时间 影响响应时间的因素: 机器处理能力 请求服务的时间长短 系统中连接的终端数目 服务请求的分布 调度算法(时间片的选取),抢占式和非抢占式(preemptive & non-preemptive):出让CPU是OS强迫或程序主动 抢占式:OS强迫出让CPU; 非抢占式:程序主动出让CPU;,Time-Sharing SystemsInteractive Computing 分时系统-交互式计算,Real-Time Systems实时系统,Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems.通常作为控制设备在诸如控制科学实验、医学影象系统、工业控制系统以及一些显示系统中应用 Well-defined fixed-time constraints.严格确定的时间限制 Hard real-time system.硬实时系统 Secondary storage limited or absent, data stored in short-term memory, or read-only memory (ROM)有限的或没有次级存储器,数据存在短期存储器或只读存储器中 Conflicts with time-sharing systems, not supported by general-purpose operating systems. 通用操作系统不支持 Soft real-time system软实时系统 Limited utility in industrial control or robotics在工业控制或机器人中有部分应用 Useful in applications (multimedia, virtual reality) requiring advanced operating-system features.在需要高级操作系统 功能的应用(多媒体、虚拟现实)中应用,Real-Time Systems实时系统,实时系统的特征 实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能; 过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期;过载是指进入系统的任务数目超出系统的处理能力。 高度可靠性和安全性容错能力(如故障自动复位)和冗余备份(双机,关键部件);,Real-Time Systems实时系统,专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。 实时控制:实时系统用于控制实时过程,要求对外部事件迅速响应,具有较强的中断处理机构。 高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。 事件驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。 可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。,通用操作系统,目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX系统、Windows NT等。通用化、小型化,小测验,实时系统的作业周转有严格的时间限制 (对/错) 分时系统追求的目标是 A. 实时性 B. 高可靠性 C. 及时响应 批处理系统的优点是 A. 高吞吐量 B. 高可靠性 C. 实时性,Personal-Computer Systems 个人计算机系统,Personal computers computer system dedicated to a single user. 个人计算机 - 供个人使用的计算机系统 I/O devices keyboards, mice, display screens, small printers. I/O设备 - 键盘、鼠标、显示器、小型打印机 User convenience and responsiveness.便利用户和响应 Can adopt technology developed for larger operating system often individuals have sole use of computer and do not need advanced CPU utilization of protection features. 可采用大型操作系统研发的技术,个人独占计算机不需要高级CPU使用的保护技术,Personal-Computer Systems 个人计算机系统(cont.),常用的个人计算机操作系统 单用户单任务:MS DOS 单用户多任务:OS/2, MS Windows 3.x, Windows 95, Windows NT, Windows 2000 Professional 多用户多任务:UNIX(SCO UNIX, Solaris x86, Linux, FreeBSD),Migration of Operating-System Concepts and Features 操作系统概念和特性的变迁,Parallel Systems并行系统,Multiprocessor systems with more than one CPU in close communication.有紧密通信的、多于一个CPU的多处理器系统 Tightly coupled system processors share memory and a clock; communication usually takes place through the shared memory. 紧偶合系统 - 处理器共享内存和时钟;一般通过共享内存进行通信 Advantages of parallel system: 并行系统的优点 Increased throughput增大吞吐量 Economical 经济 Increased reliability提高可靠性 graceful degradation(有故障时)优雅的降低性能 fail-soft systems(又称)软失效系统,Parallel Systems并行系统(Cont.),Symmetric multiprocessing (SMP)对称多处理 Each processor runs an identical copy of the operating system. 每个处理器运行操作系统的相同副本 Many processes can run at once without performance deterioration.许多进程可以立即运行不会降低性能 Most modern operating systems support SMP多数现代操作系统支持SMP Asymmetric multiprocessing非对称多处理 Each processor

温馨提示

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

评论

0/150

提交评论