640 likes | 755 Views
操 作 系 统. 计算机专业主干课程之一. 教育部人才培养模式改革和开放教育试点教材. 操 作 系 统. 第一章 操作系统引论 第二章 硬件环境 第三章 处理机管理、作业管理 第四章 进程管理 第五章 存储器管理 第六章 文件管理 第七章 设备管理 第八章 死 锁 第九章 现代操作系统技术与系统管理. 基本要求. 掌握基本原理 熟悉常用主要功能特点 了解操作系统设计思想与结构. 学习 方法. 知识: 需要记忆、积累 联想、对比 抓重点 技能: 需要训练、经验 方法、技巧 抓特点
E N D
操 作 系 统 计算机专业主干课程之一
操 作 系 统 第一章 操作系统引论 第二章 硬件环境 第三章 处理机管理、作业管理 第四章 进程管理 第五章 存储器管理 第六章 文件管理 第七章 设备管理 第八章 死 锁 第九章 现代操作系统技术与系统管理
基本要求 • 掌握基本原理 • 熟悉常用主要功能特点 • 了解操作系统设计思想与结构
学习方法 • 知识:需要记忆、积累 联想、对比 抓重点 • 技能:需要训练、经验 方法、技巧 抓特点 • 思路:逻辑思维 形象思维
操作系统知识体系结构 • 知识结构: 操作系统是计算机技术与管理技术的结合 • 知识面: 至少记住以下两句话: • .操作系统是方便用户,管理和控制整个计算机软硬件资源的程序系统(系统软件) • .操作系统有“六大类型”和“五大功能” (批处理,分时,实时,个人机系统,网络,分布式; 存储器,处理机,设备,文件管理和用户界面管理) • 知识点: “六大类型”和“五大功能” 的基本知识和应用技能
计算机操作系统是计算机技术和管理技术的结合。计算机操作系统是计算机技术和管理技术的结合。 管理技术:1. 分门别类 2. 详细记录 3. 调度策略
数据结构 • (堆)栈 Stack • 队(列) Queue • 表(格) Table • 树(型) Tree • 图(论) Graphic、Chart、Map、Picture、Drawing • 场(论) Field
第一章 操作系统引论 • 操作系统的形成的发展 • 操作系统的特征和体系结构 • 操作系统的类型和主要产品 • 表征操作系统的用户界面
操作系统的概念(1) • 操作系统的英文名是Operating System,缩写成OS • 操作系统是一种软件,属于系统软件 • 从用户角度看,操作系统可以看成是计算机的硬件扩充 • 人机交互方式来看,操作系统是用户与机器的接口 • 用管理者角度看,操作系统也是管理资源的程序扩充
操作系统的概念(2) • 从计算机的系统结构看,操作系统是一种层次、模块结构的程序集合,属于有序分层法,是无序模块的有序层次调用。 • 操作系统是计算机技术和管理技术的结合 • 操作系统相当于计算机系统的“管理机构”。操作系统是为计算机用户服务,它的主人就是用户。 • OS是管理和控制计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。
一个完整的计算机系统的组成(硬件和软件) 什么是操作系统(OS的定义,见上页) 理解OS的定义,注意三点: 1、OS是软件,且是系统软件。 2、OS的基本职能是控制和管理系统内各种资源,有效地组织多道程序的运行。 3、OS提供众多服务,方便用户使用,扩充硬件功能。 操作系统的形成和发展
操作系统的主要功能 • 存储器管理(内存分配、地址映射、内存保护、内存扩充) • 处理机管理(作业和进程调度、进程控制、进和通讯) • 设备管理(缓冲区管理、设备分配、设备无关性) • 文件管理(文件存储空间的管理,文件操作的一般管理,目录管理、文件读写和存储控制) • 用户接口(命令、程序、图形界面)
操作系统的地位 • 计算机系统中软、硬件之间的关系。 • 操作系统是裸机之上的第一层软件,与硬件关系尤为密切。 • OS是整个系统的控制管理中心,既管硬件,又管软件。 • OS为其它软件提供运行环境。 • 各软件(系统软件、支撑(工具)软件、应用软件)间有层次关系。
操作系统的发展历史(1) • 1946年—50年代末 • 当时计算机处于电子管时代,根本没有操作系统。人们把这个时期称为“手工操作阶段”。顾名思义人们当时使用的计算机大量需要人工控制,还没有“管家”来为他们服务。 • 50年代后期 • 计算机的运行速度有了很大的提高,从每秒几千次、几万次发展到每秒几十万次、上百万次。
操作系统形成的历史(2) • 联机批处理系统 • 脱机批处理系统 • 50年代末—60年代中期 • 此时计算机进入了第二代——晶体管时代。为了解决人机矛盾,提高自动化程度,
操作系统形成的历史(3) • 人们研制了监督程序,由该程序自动依次处理一系列任务 • 60年代中期——70年代中期 • 计算机进入第三代——集成电路时代。在这一时期操作系统初步形成并完善。 • 出现了三种最基本的操作系统类型:多道批处理操作系统、分时操作系统和实时操作系统。
操作系统形成的历史(4) • 80年代至今 • 第四代计算机,大规模集成电路工艺技术飞速发展。操作系统也有了进一步发展:出现了个人计算机上的操作系统、网络操作系统和分布式操作系统。
课程学习要领 • 登高望远:“会当凌决顶,一觅众山小” • 三大宇宙观: • 时空观: 计算机发展特点:速度加快和容量增大; 计算机工作:在特定时刻、特定地点建立“0”和“1” ; • 静动观: 软硬件新产品不断涌现; • 阴阳观( “对立统一” ): 计算机人才和行业的剧烈竞争; 用户需求和产品的矛盾。
1.2 操作系统的特征和体系结构 • OS的基本特征 并 发 共 享 异步性 • OS的体系结构(程序模块的组织方式) 单块式结构 层次结构 微内核结构
操作系统的类型和主要产品 六大类型: • 批处理操作系统 (单道批处理系统 、多道程序设计技术、 多道批处理操作系统) • 分时操作系统 • 实时操作系统 • 个人机系统 • 网络操作系统 • 分布式操作系统
多道批处理操作系统 • 单道运行:每次只调一个用户程序进入内存让它运行 • 多道程序设计:即在系统内(内存)同时存放并运行几道相互独立的程序。 • 多道程序设计的基础:是将运行过程进一步细化成几个小的步骤,从而实现宏观上的并行。但从微观上看,内存中的多道程序轮流地或分时地占用处理机,交替执行。
多道程序系统 ≠ 多重处理系统 ≠ 多用户 ≠ 多终端 • 多道是指内存中驻留多个程序或一个程序的多个程序段,因此,多用户系统一定是采用多道技术。而多道系统不一定是多用户系统。多重处理系统一般指多CPU系统。当然,一个CPU的系统采用分时技术可以为多用户服务。多用户的关键技术是在用户之间要有保密保安措施。终端指用户使用的硬件设备,即使一个终端也可为多用户用,例如,银行的自动取款机(ATM)。 • 纯码 = 可重入代码
分时技术:把CPU的时间分成很短的时间片(例如,几十至几百毫秒)工作分时技术:把CPU的时间分成很短的时间片(例如,几十至几百毫秒)工作 随着时间片的时间减少,对换时间所占的比例随之增大。随着用户数目的不断增加,这种矛盾会越来越突出 特点是计算机规定人(用户) 基本特征:同时性、交互性、独立性和及时性 实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内作出快速反应 交互作用能力较差 特点是人(用户)规定计算机 三种典型应用形式:过程控制系统、信息查询系统和事务处理系统。 分时 实时
单用户操作系统(DOS、WINDOWS、OS/2、Windows 95/98等) 特征 个人使用 界面友好 管理方便 适于普及 多用户操作系统(Unix、Linux) 特点 多用户使用 可移植性良好 功能强大 通讯能力强 个人机系统
网络操作系统 • 计算机网络=计算机技术+通讯技术 • 计算机网络的特征:分布性、自治性、互连性、可见性(IP地址或域名) • 网络操作系统的功能:网络通讯、资源共享和保护、网络服务和网络接口。 • 最大特点用户知道多个计算机的存在,可以远程登录。 • 目前流行的有Sun公司的网络文件系统NFS、Novell公司的NetWare、微软公司的的Windows NT 和自由软件Linux等。
分布式操作系统 • 多计算机系统除网络系统外还有分布式系统。 • 分布式系统特征:分布式处理、模块化结构、利用信息通信、实施整体控制。 • 分布式操作系统特点:透明性、灵活性、可靠性、高性能和可扩充性。 • 理解:运行在不具有共享内存的多台计算机上,但在用户眼里却像是一台计算机。其运行的基础是一群联网的计算机,其行为却像是一台虚拟的单处理计算机,用户不必关心计算机的 资源在什么地方、什么时间工作以及资源如何调配。
硬件相关: 应用程序 ----------------------- 虚机器界面 操作系统 ----------------------- 物理机器界面 硬件 假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果? →人们将对二进制程序操作 从二极发光管读答案
硬件相关(续1): 指实现代码中包含存储器的物理地址,包含对设备接口寄存器和设备接口缓冲区的读写等等 • 实现该工作的过程代码和硬件因素密切相关,即需要设置与测试、使用物理地址、设备接口寄存器等等 • 硬件相关必然复杂繁琐、代码量大 • 硬件相关的工作,其实现代码不通用
硬件相关(续2): 由于操作系统承担了上述工作,在其之上的各类程序就没有必要直接同硬件打交道了。硬件改变时,操作系统相应变化即可,其他的程序不用作出改变 硬件相关还表现在有关硬件的状态必定带来对应代码的变化
与应用无关: 是指这些工作是任何一个程序都需要的、最基本的工作 它们具有共性,工作过程相同与具体应用无直接关系,即与用户所关心的应用目标无直接关系
操作系统的主要产品系列 • DOS • MS Windows • OS/2 • UNIX • Linux
微软MS DOS 个人计算机的成功,逼得IBM采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战 但没有操作系统不行。要想快就是找现成系统配套,IBM公司洽谈 CP/M操作系统不顺利,机遇落到了微软公司 在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的QDOS操作系统的协议 当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓
IBM在1981年推出个人计算机,宣布了PC-DOS操作系统IBM在1981年推出个人计算机,宣布了PC-DOS操作系统 版权合同:没有限制MS-DOS 随着IBM PC和MS DOS普及,CP/M逐渐走向下坡路 MS DOS有优良的文件系统 但受到Intel x86体系结构的限制 缺乏以硬件为基础的存储保护机制 它属于单用户单任务操作系统 从1981的 1.0版到1998年在Windows 95/98之下的7.0版,MS DOS历经了16个年头 迄今仍有MS DOS爱好者继续开发各种DOS软件产品 兼容机市场,Compaq 与 Micro Channel
拯救苹果公司的Macintosh(MAC OS) 在推出IBM PC机后,市场卷起一股龙卷风 IBM自己也没有料到产品会有如此巨大的成功 IBM的成功说明必有其他公司失败。甚至连苹果公司也遇到了问题,销售数量落到了兰色巨人的后面 苹果公司推出Lisa机遭到失败,Apple III型也遭到失败 分析家们:微机市场上的战斗似乎兰色巨人要嬴了
施乐Palo Alto研究中心-70年代的计算机研究思想库 世界上第一台个人计算机Alto,1972年在这里出现 图形界面,手持鼠标,面向对象程序设计 微机网络,桌面出版和激光打印等等 很多先进概念和技术的原型都首次出现在这里
1979年苹果公司允许施乐公司购买一百万股的苹果公司股票1979年苹果公司允许施乐公司购买一百万股的苹果公司股票 作为回报,施乐公司允许苹果公司的少数人员,包括乔布斯,在有限的时间内考察施乐公司Palo Alto研究中心内部,并同该思想库的研究人员交谈 苹果公司对Palo Alto研究中心内的技术大感吃惊 他们更吃惊的是,施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!
对Palo Alto研究中心这些科学家们而言,苹果公司的人是他们第一次遇到真正理解他们技术的人 这些科学家们后来有的去了苹果公司,微软公司,有的最终创办了自己的公司 在访问的基础上,苹果决定立即开发采用这些新技术的个人计算机 苹果公司已看到 IBM PC机的技术有多么糟糕,但他们卖得又是特别的好
MAC OS、鼠标的新型个人计算机 1984年,人们看到一则广告:“What was that?”和对Macintosh的介绍, 这是配有图形界面操作系统 MAC OS和鼠标的新型个人计算机 MAC机一上市立即在市场上获得极大的成功 当年比尔.盖茨都说,这是一台他的妈妈也能使用的计算机 Macintosh把苹果公司从连续的失败中拯救出来 苹果公司又开始向前发展 正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者
一波三折的微软Windows操作系统 1983年10月,PC机竞争厂家的图形界面相关产品上市 面对市场压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统 然而宣布容易,交货就不简单了,Windows交货期的灾难,成了当年计算机界的笑柄 直到1985年11月20日,Windows 1.0才正式上市
Windows的历史记录 Windows在当时微软历史上创了几个记录:延迟交货次数最多,投入开发人员最多,开发时间最长,更换主管人员最多 不过几年之后,Windows终于创造了销售成绩最佳的历史记录 1992年4月,推出Windows 3.1, 1993年5月,发表Windows NT Windows 95,Windows CE,Windows 98,Windows 2000,Windows XP,.net 个人计算机采用Windows占90%以上,微软公司成了垄断PC行业的同义词
基于微内核的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等等
IBM大型计算机操作系统OS/390 90年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温 三十年的改进,IBM S/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统 支持即UNIX 95标准,UNIX应用程序可在IBM OS/390上运行 同时还可继续运行S/390应用程序,包括S/370上开发的应用程序 包括TCP/IP的多种通信协议,具有高网络安全性 采用面向对象程序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性
由于历史渊源,OS/390有不同的系统运行方式: S/370本机模式,支持原先在S/370运行的程序 ESA/390模式,支持到10个240M处理器内存和256个通道 ESA/390 LPAR模式,系统可分成最多十个部分,每个部分有自己的CPU,存储器和通道,且分别运行不同的操作系统,如S/370, ESA/370 和ESA/390等 在PC机时代,人们曾经估计大型计算机会衰亡 IBM S/390是大型计算机复活的一个典型 那么,在21世纪的Internet和后PC的时代,大型机还会有什么演化,只有让时间来说明
嵌入式操作系统的代表VxWorks VxWorks支持各种工业标准,包括POSIX, ANSI C和TCP/IP网络协议 VxWorks运行系统的核心是一高效率的微内核 微内核支持各种实时功能,包括快速多任务处理,中断支持,抢占式和轮转式调度 微内核设计减轻了系统负载并可快速响应外部事件 从只需几千字节存储器的深嵌式产品设计到复杂高端实时系统设计,开发人员有八十多个选件并可构成上百个不同的配置
VxWorks开发主机:Windows 9x,Windows NT, Sun Solaris, SunOS, HP-UX等 支持目标微处理器:86, 68k, PPC, CPU 32, i960, SPARC, SPARCLite, SH, ColdFire, R3000, R4000, C16X, ARM, MIPS等 在“极地登陆者”号,“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorks VxWorks负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作 目前在国内也占据嵌入式开发系统市场主要份额
Internet时代与Linux 1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程 Linus需要终端仿真程序来存取Usenet新闻组的内容,于是他写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序 然后写了磁盘驱动程序,文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核 Linux就以这样极其古怪但也极其自然式问世
操作系统领域中新的操作系统 有线电视机顶盒领域, PowerTV 移动通信领域,EPOC 掌上计算机领域,Palm OS 数字影像领域, Digita
研究中的新的操作系统 哈佛大学的VINO,使应用得以重用内核构件 犹他州大学的OSKit,提供构造操作系统所需的基础构件,也提供高层次构件。OSKit可用来构造新的OS MIT Exokernel,该系统只有一个极小的核。系统抽象通过Library Operating System完成 NASA空间飞行中心(GSFC)研制Beowulf项目开始于1994年,用商业化的微型计算机,Linux和以太网等构造集群。已有世界各地的约六十个大学和研究机构在使用 加州大学伯克利分校NOW集群操作系统,100台Ultra SPARC-I处理机集群,排名于世界最快的200台超级计算机之内