第一讲高级操作系统课件.ppt
第一讲高级操作系统第1页,此课件共98页哦授课教师 陈向群第2页,此课件共98页哦2003年第一学期高级操作系统年第一学期高级操作系统课程计划课程计划 15次课次课 课堂讲授课堂讲授11-1211-12次次 专题课专题课 1-21-2次次 复习答疑复习答疑1-21-2次次 成绩成绩 平时成绩平时成绩 小论文小论文 4040分分阅读指定阅读指定PaperPaper,编写,编写读书报告读书报告 期中考试(无)期中考试(无)期末考试期末考试 6060分分 复习题复习题复习题复习题 每次课每次课3-53-5题题第3页,此课件共98页哦小论文要求小论文要求 字数要求字数要求 3 3页纸页纸 正文字数限制在正文字数限制在3000400030004000字字 语言文字要求语言文字要求 简洁、流畅简洁、流畅 风格要求风格要求 朴实(素)朴实(素)格式要求格式要求 题目题目 学生姓名、学号、电学生姓名、学号、电子邮件地址子邮件地址 正文正文 参考文献参考文献*字体字体 正文正文 小四小四 主体为宋体主体为宋体第4页,此课件共98页哦小论文要求(续)小论文要求(续)内容要求内容要求 内容丰富内容丰富 论述论述 自己的观点自己的观点 全面全面 论文提交论文提交 E-mailE-mail到到 文件名格式:文件名格式:学号(后学号(后3 3位)位)-论文标论文标题题 评分标准评分标准 难度系数加分难度系数加分 *加加2 2分;分;*加加5 5分分 总分:总分:4040分分对内容掌握程度:对内容掌握程度:1515分分语言叙述表达:语言叙述表达:1010分分条理性:条理性:1010分分综合印象:综合印象:5 5分分第5页,此课件共98页哦参考书目参考书目 现代操作系统,陈向群,机械工业出版社现代操作系统,陈向群,机械工业出版社 分布式操作系统,陆丽娜,电子工业出版社分布式操作系统,陆丽娜,电子工业出版社 分布式操作系统,尹俊文,国防科大出版社分布式操作系统,尹俊文,国防科大出版社 高级操作系统,何炎祥,科学出版社高级操作系统,何炎祥,科学出版社 Modern Operating System Andrew S.Tanenbaum Distributed Operating Systems&Algorithms,Randy Chow,Theodore Johnson Distributed Operating Systems Concepts&Practice,Doreen L.Galli第6页,此课件共98页哦注意学习方式的变化注意学习方式的变化概念定位概念定位 为什么引入?解决什么问题?为什么引入?解决什么问题?数据结构与算法为主线数据结构与算法为主线 工作方式?工作方式?实现过程?实现过程?特点或优缺点特点或优缺点 第7页,此课件共98页哦操作系统做什么?#include int main(int argc,char*argv)puts(hello world);return 0;第8页,此课件共98页哦 程序执行系统调用,在文件描述符中写一字符串程序执行系统调用,在文件描述符中写一字符串 用户告诉操作系统执行用户告诉操作系统执行hellohello程序程序 操作系统找到该程序,检查其类型操作系统找到该程序,检查其类型 检查程序首部,找出正文和数据的地址检查程序首部,找出正文和数据的地址 文件系统找到第一个磁盘块文件系统找到第一个磁盘块 父进程需要创建一个新的子进程,执行父进程需要创建一个新的子进程,执行hellohello程序程序 操作系统需要将执行文件映射到进程结构操作系统需要将执行文件映射到进程结构 操作系统设置操作系统设置CPUCPU上下文环境,并跳到程序开始处上下文环境,并跳到程序开始处 程序的第一条指令执行,失败,缺页中断发生程序的第一条指令执行,失败,缺页中断发生 操作系统分配一页内存,并将代码从磁盘读入,继续执行操作系统分配一页内存,并将代码从磁盘读入,继续执行 更多的缺页中断,读入更多的页面更多的缺页中断,读入更多的页面第9页,此课件共98页哦 操作系统检查字符串的位置是否正确操作系统检查字符串的位置是否正确 操作系统找到字符串被送往的设备操作系统找到字符串被送往的设备 设备是一个伪终端,由一个进程控制设备是一个伪终端,由一个进程控制 操作系统将字符串送给该进程操作系统将字符串送给该进程 该进程告诉窗口系统它要显示字符串该进程告诉窗口系统它要显示字符串 窗口系统确定这是一个合法的操作,然后将字符串转换成像窗口系统确定这是一个合法的操作,然后将字符串转换成像素素 窗口系统将像素写入存储映像区窗口系统将像素写入存储映像区 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射电子束显示器发射电子束 你在屏幕上看到你在屏幕上看到helloworldhelloworld第10页,此课件共98页哦(1)程序的执行)程序的执行 负责启动每个程序负责启动每个程序 以及结束程序的工作以及结束程序的工作(2)完成与硬件有关的工作)完成与硬件有关的工作(3)完成与应用无关的工作)完成与应用无关的工作易于使用,基本服务,统一性易于使用,基本服务,统一性(4)计算机系统的效率与安全问题)计算机系统的效率与安全问题操作系统的工作第11页,此课件共98页哦硬件相关:硬件相关:应用程序-虚机器界面虚机器界面操作系统操作系统-物理机器界面物理机器界面硬件硬件假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果?人们将对二进制程序操作人们将对二进制程序操作 从二极发光管读答案从二极发光管读答案第12页,此课件共98页哦硬件相关(续1):指实现代码中包含存储器的物理地址,包含对设备接口寄存器和设备接口缓冲区的读写等等实现该工作的过程代码和硬件因素密切相实现该工作的过程代码和硬件因素密切相关,即需要设置与测试、使用物理地址、关,即需要设置与测试、使用物理地址、设备接口寄存器等等设备接口寄存器等等硬件相关必然复杂繁琐、代码量大硬件相关必然复杂繁琐、代码量大硬件相关的工作,其实现代码不通用硬件相关的工作,其实现代码不通用第13页,此课件共98页哦硬件相关硬件相关(续(续2 2):由于操作系统承担了上述工作,由于操作系统承担了上述工作,在其之上的各类程序就没有必要直接在其之上的各类程序就没有必要直接同硬件打交道了。硬件改变时,操作同硬件打交道了。硬件改变时,操作系统相应变化即可,其他的程序不用系统相应变化即可,其他的程序不用作出改变作出改变硬件相关还表现在有关硬件的状态硬件相关还表现在有关硬件的状态必定带来对应代码的变化必定带来对应代码的变化第14页,此课件共98页哦与应用无关:是指这些工作是任何一个程序都需要的、是指这些工作是任何一个程序都需要的、最基本的工作最基本的工作它们具有共性,工作过程相同它们具有共性,工作过程相同与具体应用无直接关系,即与用户所关与具体应用无直接关系,即与用户所关心的应用目标无直接关系心的应用目标无直接关系第15页,此课件共98页哦操作系统的定义操作系统是计算机系统中的一个系统软件,操作系统是计算机系统中的一个系统软件,是一些程序模块的集合是一些程序模块的集合它们能以尽量它们能以尽量有效有效、合理合理的方式组织和管理计算的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、得用户能够灵活、方便方便、有效的使用计算机,使、有效的使用计算机,使整个计算机系统能高效地运行。整个计算机系统能高效地运行。第16页,此课件共98页哦有效:有效:系统效率,资源利用率系统效率,资源利用率(如:(如:CPU利用的充足与否,内存、外利用的充足与否,内存、外部设备是否忙碌)部设备是否忙碌)合理:合理:公平与否,如果不公平则会产生公平与否,如果不公平则会产生“死锁死锁”或或“饥饿饥饿”方便:方便:用户界面用户界面第17页,此课件共98页哦操作系统的特征并发:在计算机系统中同时存在多个程序宏观上:这些程序是同时在执行的微观上:任何时刻只有一个程序在执行即微观上这些程序在CPU上轮流执行并行:(与并发相似,但多指硬件支持)第18页,此课件共98页哦共享:共享:操作系统与多个用户的程序共同使操作系统与多个用户的程序共同使用计算机系统中的资源用计算机系统中的资源操作系统特征(续)随机性:随机性:操作系统必须随时对以不可预测的次序发操作系统必须随时对以不可预测的次序发生的事件进行响应生的事件进行响应如何考虑周密、设计适当第19页,此课件共98页哦研究操作系统的几种观点研究操作系统的几种观点作为软件来看的观点作为软件来看的观点资源管理的观点资源管理的观点进程的观点进程的观点虚机器观点虚机器观点服务提供者观点服务提供者观点第20页,此课件共98页哦1.作为软件来看的观点软件的特性软件的特性外在特性:外在特性:软件是种语言软件是种语言,是界面是界面界面界面:使用方式使用方式(命令(命令,系统调用等系统调用等)内在特性:内在特性:软件的结构软件的结构a.由有几部分组成由有几部分组成b.每个部分的功能每个部分的功能c.部分之间的关系部分之间的关系第21页,此课件共98页哦2.资源管理的观点操作系统操作系统-资源管理者资源管理者硬件资源:硬件资源:CPU,内存,外部设备(I/O设备,外存,时钟,网络接口等)软件资源:软件资源:硬盘上的文件,信息第22页,此课件共98页哦管理资源记录资源使用状况记录资源使用状况如如 哪些资源空闲,好坏与否,被谁使用哪些资源空闲,好坏与否,被谁使用,使用多长时间等使用多长时间等合理的分配资源合理的分配资源静态分配策略(在程序运行前分配,但效率不高)动态分配策略(在程序运行过程中何时用资源,何时分配。其缺点是会出现死锁)具体完成分配具体完成分配回收资源回收资源第23页,此课件共98页哦3.进程的观点是从操作系统运行的角度动态的观察操是从操作系统运行的角度动态的观察操作系统作系统从这个观点来看:从这个观点来看:操作系统是由一些可同时独立运行的操作系统是由一些可同时独立运行的进程和一个对这些进程进行协调的核进程和一个对这些进程进行协调的核心组成心组成.第24页,此课件共98页哦进程:完成某一特定功能的程序完成某一特定功能的程序是程序的一次执行过程是程序的一次执行过程是动态有生命的,当它执行时存在,否则是动态有生命的,当它执行时存在,否则消亡消亡第25页,此课件共98页哦4.虚机器观点从操作系统内部结构来看:从操作系统内部结构来看:把操作系统分成若干层把操作系统分成若干层每一层完成其特定功从而构成一个虚机器,每一层完成其特定功从而构成一个虚机器,并对上一层提供支持并对上一层提供支持通过逐层功能扩充通过逐层功能扩充,最终完成整个操作系统最终完成整个操作系统虚机器虚机器而操作系统虚机器向用户提供各种功能而操作系统虚机器向用户提供各种功能,完成用户请求完成用户请求第26页,此课件共98页哦5.服务提供者的观点在操作系统之外从用户角度来看:在操作系统之外从用户角度来看:操作系统为用户提供一组功能强大的、操作系统为用户提供一组功能强大的、方便易用的命令或系统调用方便易用的命令或系统调用第27页,此课件共98页哦6.6.其他观点其他观点操作系统作为操作系统作为 仲裁者(协调者)仲裁者(协调者)使多个应用程序使多个应用程序/用户高效用户高效公平地一起工作公平地一起工作保护用户不互相干扰保护用户不互相干扰例子:并发,存储保护例子:并发,存储保护文件系统,网络文件系统,网络操作系统作为操作系统作为 管理程序管理程序 硬件平台扩展为运行平台硬件平台扩展为运行平台运行平台是承载应用程序的载体运行平台是承载应用程序的载体平台之争平台之争企业竞争的范围已经超出了市场、企业竞争的范围已经超出了市场、资本和技术资本和技术竞争的焦点:竞争的焦点:表面上:平台(标准)表面上:平台(标准)实质上:争夺产业的制高点实质上:争夺产业的制高点第28页,此课件共98页哦操作系统作为操作系统作为 幻觉制造者幻觉制造者(illusionist)(illusionist)提供硬件的高层界面,取消硬件限制提供硬件的高层界面,取消硬件限制 操作系统提供无限的内存、无限的操作系统提供无限的内存、无限的CPUCPU操作系统作为操作系统作为 管理者管理者(government)(government)有效合理地分配资源,保护用户不受侵犯有效合理地分配资源,保护用户不受侵犯 提供安全、保密措施提供安全、保密措施第29页,此课件共98页哦操作系统作为操作系统作为 历史教员历史教员 学习过去,预测未来学习过去,预测未来操作系统作为操作系统作为 A PARENTA PARENT程序创建和执行程序创建和执行存取存取I/OI/O设备设备控制对文件的存取控制对文件的存取系统存取系统存取错误检测和回应错误检测和回应统计统计操作系统作为操作系统作为 标准服务提供者标准服务提供者 提供每个用户需要的标准工具提供每个用户需要的标准工具 如标准库、窗口系统如标准库、窗口系统第30页,此课件共98页哦操作系统的发展操作系统发展是随着计算机硬件技术、应用软件的发展而发展的目标:充分利用硬件 提供更好的服务第31页,此课件共98页哦第一台数字计算机英国数学家英国数学家CharlesBabbageCharlesBabbage(1792-18711792-1871)设计)设计BabbageBabbage投入了毕生精力投入了毕生精力但却没能让它成功地运行起来但却没能让它成功地运行起来因为当时的技术不可能达到需要的精度因为当时的技术不可能达到需要的精度当然,这个分析机没有操作系统当然,这个分析机没有操作系统第32页,此课件共98页哦19361936年年 图灵(图灵(A.M.TuringA.M.Turing)发表划时代论文)发表划时代论文论可计算数及其在判定问题中的应用论可计算数及其在判定问题中的应用论述了一种论述了一种“图灵机图灵机”只要为它编好程序只要为它编好程序 它就可以承担其他机器能作的任何工作它就可以承担其他机器能作的任何工作重要性重要性:世界上还没人提出通用计算机概念前世界上还没人提出通用计算机概念前 图灵已在理论上证明了它存在的可能性图灵已在理论上证明了它存在的可能性 电子计算机之父第33页,此课件共98页哦电子计算机之父德国人兰德德国人兰德楚泽(楚泽(Konrad Zuse)最早提出)最早提出了了“程序设计程序设计”的概念的概念 1949年楚泽的年楚泽的Z4计算机计算机 安装在瑞士苏黎士技术学院安装在瑞士苏黎士技术学院 一直稳定地运行到一直稳定地运行到1958年年美国人冯美国人冯诺依曼(诺依曼(John von Neumann)提)提出了出了“存储程序存储程序”的概念的概念第34页,此课件共98页哦所有的这些所有的这些“电子计算机之父电子计算机之父”们们计算机先驱者们计算机先驱者们没有提及有关计算机没有提及有关计算机“操作系统操作系统”的任何思的任何思想想也没有在也没有在“操作系统操作系统”的设计方面进行任何的设计方面进行任何尝试尝试 第35页,此课件共98页哦二战对武器设计的需要二战对武器设计的需要美国、英国和德国等国家美国、英国和德国等国家开始了电子数字计算机的研究工作开始了电子数字计算机的研究工作哈佛大学的哈佛大学的HowardAikenHowardAiken普林斯顿高等研究院的普林斯顿高等研究院的JohnNeumannJohnNeumann(冯(冯诺依曼)诺依曼)宾夕法尼亚大学的宾夕法尼亚大学的J.PresperEckertJ.PresperEckert和和WilliamWilliamMauchleyMauchley德国电话公司的德国电话公司的KonraadZuseKonraadZuse以及其他一些人以及其他一些人都使用真空管成功地建造了运算机器都使用真空管成功地建造了运算机器第36页,此课件共98页哦早期数字计算机的演变操作系统硬件基础的完善 第一台数字电子计算机第一台数字电子计算机ENIAC(Electronic Numerical Integrator and Computer)1943年开始建造年开始建造1946年投入使用年投入使用用于弹道计算用于弹道计算 第一颗原子弹的计算第一颗原子弹的计算 第37页,此课件共98页哦没有程序设计语言(甚至没有没有程序设计语言(甚至没有汇编),更谈不上操作系统汇编),更谈不上操作系统程序员提前预约一段时间程序员提前预约一段时间,然后然后到机房将他的插件板插到计到机房将他的插件板插到计算机里算机里期盼着在接下来的时间中期盼着在接下来的时间中几万个真空管不会烧断几万个真空管不会烧断从而可以计算自己的题目从而可以计算自己的题目运算速度:运算速度:1000010000次次/每秒每秒,18000,18000个真空管个真空管,占地占地182182平方米,重量平方米,重量130130吨,功耗吨,功耗140kW140kW第38页,此课件共98页哦早期数字计算机早期数字计算机没有任何操作系统没有任何操作系统程序:人工编制二进制代码程序:人工编制二进制代码输入:通过卡片或者纸带输入计算机输入:通过卡片或者纸带输入计算机 完成之后按下控制台运行键完成之后按下控制台运行键 命令计算机开始运行命令计算机开始运行运行结果:通过卡片、纸带以及氖灯显示运行结果:通过卡片、纸带以及氖灯显示完全依赖人工运行方式完全依赖人工运行方式 运行效率非常低运行效率非常低第39页,此课件共98页哦新创造发明大事记 1947年,晶体管发明年,晶体管发明1948年,英国年,英国Manchester 大学大学 依据依据“存储程序存储程序”概念概念 建造了第一台具有随机存取存储器建造了第一台具有随机存取存储器 可存储程序和数据的计算机可存储程序和数据的计算机 1951年,第一台年,第一台“旋风旋风”实时控制计算机投入运行实时控制计算机投入运行 用于美国防空系统用于美国防空系统软磁盘在这一年发明软磁盘在这一年发明第一台通用计算机第一台通用计算机UNIVAC I投入运行投入运行第40页,此课件共98页哦第一台实时控制计算机第一台实时控制计算机“旋风旋风”(Whirlwind)计算机)计算机 第41页,此课件共98页哦1952年,年,IBM 推出推出IBM 701型真空管计算机型真空管计算机 用于科学计算,配有卡片阅读机,打印机,磁鼓用于科学计算,配有卡片阅读机,打印机,磁鼓 第一台磁带机,已经构成了完整的输入、运算处理和输第一台磁带机,已经构成了完整的输入、运算处理和输出能力出能力1953年,王安博士发明磁芯存储器。年,王安博士发明磁芯存储器。1954年年,IBM 推出推出IBM 704型计算机型计算机 第一台具有变址和浮点运算能力的商用数字计算机第一台具有变址和浮点运算能力的商用数字计算机1955年年,IBM 推出第一台晶体管计算机推出第一台晶体管计算机IBM 608型。型。1957年,年,Fortran由由IBM公司设计完成公司设计完成1958年,年,LISP程序设计语言出现程序设计语言出现1959年,年,IBM 推出推出IBM 1401数据处理系统数据处理系统 共销售了一万余台共销售了一万余台 配有配有IBM 1403 高速打印机,现代高速打印机,现代“链式链式”打印机的先驱打印机的先驱第42页,此课件共98页哦批处理操作系统技术出现的背景 50年代中后期,系统的运行方式依旧:年代中后期,系统的运行方式依旧:运算程序通过卡片机、纸带机和输入内存运算程序通过卡片机、纸带机和输入内存 运算完毕之后,再启动输出打印机打出结果运算完毕之后,再启动输出打印机打出结果当时,计算机稀少,的机时费用昂贵当时,计算机稀少,的机时费用昂贵 大段的时间在等待输入和输出过程中浪费了大段的时间在等待输入和输出过程中浪费了官僚主义在计算中心也到处存在官僚主义在计算中心也到处存在 严重影响了计算机效率的提高严重影响了计算机效率的提高 用户上机时间的安排,甚至以日为单位安排用户上机时间的安排,甚至以日为单位安排第43页,此课件共98页哦东部联合计算机会议(东部联合计算机会议(Eastern Joint Computer Conference)用户提出能否使计算机作业更流畅一些,效率高一些用户提出能否使计算机作业更流畅一些,效率高一些 用户的反映,得到当时系统管理员们的重视用户的反映,得到当时系统管理员们的重视1955年,第一套批处理管理程序(年,第一套批处理管理程序(Batch Processing Monitor Program)由由General Motors Research Center开发在开发在IBM 701上运行上运行1956年,由于年,由于IBM 701机不稳定机不稳定 用户用户General Motors 和和 North American Aviation 于在于在IBM 709机上改写了批处理管理程序,称为机上改写了批处理管理程序,称为GM/NAA I/O System由由North American Aviation开发的管程开发的管程 (FMS,FORTRAN Monitor system)也在)也在IBM 709投入运行投入运行1960年,年,GM/NAA I/O System被的被的IBM用户组织用户组织SHARE进一步发展进一步发展 成为成为SHARE Operating System(SOS)批处理操作系统技术出现的背景(2)第44页,此课件共98页哦软件开放性软件开放性早期操作系统诞生的温床早期操作系统诞生的温床早期的计算机用户们在实际应用上的需求早期的计算机用户们在实际应用上的需求对计算机软件设计的开放性思想对计算机软件设计的开放性思想是操作系统发展的强大动力是操作系统发展的强大动力这时期的操作系统这时期的操作系统 不仅是完全开放的不仅是完全开放的 而且是免费共享的而且是免费共享的 第45页,此课件共98页哦操作系统没有被任何一位操作系统没有被任何一位“计算机之父计算机之父”所预见所预见早期操作系统,批处理系统的出现早期操作系统,批处理系统的出现说操作系统的出现是必然的、不可避免的说操作系统的出现是必然的、不可避免的为了有效的利用昂贵而又稀缺的计算资源为了有效的利用昂贵而又稀缺的计算资源 电子数字计算机电子数字计算机就必然会寻找有效管理计算资源的方法就必然会寻找有效管理计算资源的方法 让计算机系统本身拥有系统资源的管理能力让计算机系统本身拥有系统资源的管理能力 操作系统操作系统启示启示第46页,此课件共98页哦操作系统性能的提高围绕资源管理性能的竞赛 60年代初期,英国年代初期,英国Manchester 大学大学 推出推出Atlas I Supervisor 早期操作系统早期操作系统 首先引进了系统调用(首先引进了系统调用(system calls)虚拟存储(虚拟存储(virtual memory)的概念)的概念有了系统调用有了系统调用 系统管理员可使用操作系统提供的内部功能系统管理员可使用操作系统提供的内部功能 应用程序设计师也可通过系统调用应用程序设计师也可通过系统调用 使用操作系统的一些内部功能使用操作系统的一些内部功能 同时又不影响同时又不影响OS自身的运行和安全自身的运行和安全有了虚拟存储有了虚拟存储 计算机程序不再受物理存储器大小的限制计算机程序不再受物理存储器大小的限制 IBM 701机:内存机:内存 2K,36位字的容量位字的容量 IBM 704机:内存机:内存32K,36位字的容量位字的容量 第47页,此课件共98页哦分时操作系统的出现分时操作系统的出现1962年,麻省理工学院得到一台年,麻省理工学院得到一台IBM 7090计算机计算机 配有配有FMS批处理系统,批处理系统,32K 字节内存字节内存 0.35 MIPS运算速度,运算速度,当时价值当时价值350万美元万美元麻省教授麻省教授Herb Teager 和和 Marvin Minsky 提出希望能够有类似在旋风计算机上的工作方式提出希望能够有类似在旋风计算机上的工作方式 能够快速得到运算的结果能够快速得到运算的结果 John McCarthy 提出了提出了 “在在IBM 7090上的分时运行程序上的分时运行程序”,并进行了实验并进行了实验1959年年Teager 和和McCarthy共同发表共同发表 “分时程序测试分时程序测试”报告报告CTSS分时系统思想在实际应用中取得了巨大的成功分时系统思想在实际应用中取得了巨大的成功第48页,此课件共98页哦启示分时系统的出现,是:分时系统的出现,是:提高计算机运算效率与改善人机交互界面提高计算机运算效率与改善人机交互界面 两个方面的努力而产生的结果两个方面的努力而产生的结果 把把CPU的处理时间划分为时间片的处理时间划分为时间片 每个时间片处理一个终端上的交互操作每个时间片处理一个终端上的交互操作 充分利用了计算机高速运算处理的特点充分利用了计算机高速运算处理的特点 妥善地解决了妥善地解决了 大量终端交互要求和短暂处理时间间的矛盾大量终端交互要求和短暂处理时间间的矛盾实现了操作系统性能的一个大的飞跃实现了操作系统性能的一个大的飞跃第49页,此课件共98页哦大型分时系统的实践大型分时系统的实践Multics 项目项目1962年,在年,在ARPA支持下,支持下,MIT、贝尔实验室和通用电气公司、贝尔实验室和通用电气公司 决定开发一种决定开发一种“公用计算服务系统公用计算服务系统”希望能够同时支持整个波士顿地区所有的分时用户希望能够同时支持整个波士顿地区所有的分时用户 称作称作Multics(MULTiplexed Information and Computing Service)Multics设计目标:设计目标:使用便利的远程终端,大量终端通过电话线接入计算机主机使用便利的远程终端,大量终端通过电话线接入计算机主机 连续工作(无关机)连续工作(无关机)可变的配置能力,无需用户程序重新配置可变的配置能力,无需用户程序重新配置 高可靠的大型文件系统高可靠的大型文件系统 大容量的用户信息共享大容量的用户信息共享 存储和构造层次化信息结构的能力存储和构造层次化信息结构的能力 支持从数字运算到分时系统各种应用支持从数字运算到分时系统各种应用 多种程序设计环境和人机界面多种程序设计环境和人机界面 允许随技术的发展,而不断进化系统允许随技术的发展,而不断进化系统第50页,此课件共98页哦段式存储思想是段式存储思想是Multics 提出的重要思想之一提出的重要思想之一Multics的虚拟地址由的虚拟地址由18位段号和位段号和16位字偏移量组成位字偏移量组成Multics文件系统:多级树形结构文件系统:多级树形结构 并允许用户建立自己的子目录结构并允许用户建立自己的子目录结构Multics的每个文件都有文件保护机制的每个文件都有文件保护机制对于执行进程则采用一套保护环的安全机制对于执行进程则采用一套保护环的安全机制Multics系统几乎完全是由系统几乎完全是由PL/1语言写成语言写成 约有约有30万行代码万行代码实际运行的实际运行的Multics硬件环境是一个多处理机系统硬件环境是一个多处理机系统 它允许当某个它允许当某个CPU被取出维护时被取出维护时 整个系统继续运行整个系统继续运行 第51页,此课件共98页哦Multics正式研制开始于正式研制开始于1965年年 研制难度超出了所有人的预料研制难度超出了所有人的预料 第一阶段的目标原计划在几个月内实现第一阶段的目标原计划在几个月内实现 但直到但直到1967年年12月才得以完成月才得以完成长期的研制工作达不到预期目标长期的研制工作达不到预期目标 1969年年4月贝尔实验室退出了研制工作月贝尔实验室退出了研制工作 随后通用电气公司退出随后通用电气公司退出经过努力,经过努力,Multics于于1969年年10月开始在月开始在MIT投入使用投入使用 陆续销售和安装了几十个陆续销售和安装了几十个Multics系统系统多数运行多数运行Multics的计算机系统在九十年代中陆续被关闭的计算机系统在九十年代中陆续被关闭最后一个运行最后一个运行Multics的计算机系统的计算机系统 在加拿大国防部于在加拿大国防部于2000年年10月月30日日17:08关闭关闭第52页,此课件共98页哦Multics引入了许多现代操作系统的重要概念的雏形引入了许多现代操作系统的重要概念的雏形对现代操作系统的形成对现代操作系统的形成特别是代特别是代UNIX的成功有着巨大的影响的成功有着巨大的影响Multics是第一个采用是第一个采用“层次化文件系统层次化文件系统”(hierarchical file system)概念的系统)概念的系统是今天人们在是今天人们在 Windows,MACOS,DOS,UNIX,Linux等等操作系统上时刻使用的文件系统等等操作系统上时刻使用的文件系统多语言支持能力多语言支持能力支持支持EPL、EPLBSA、PL/I、ALM、COBOL、FORTRAN、BCPL等等等等第53页,此课件共98页哦Multics的最大贡献使使UNIX的两个主要发明人的两个主要发明人Ken Thompson和和Dennis Ritchie 有机会发挥他们的才智有机会发挥他们的才智 充分吸收了有关充分吸收了有关Multics的设计思想和新概念的设计思想和新概念在在UNIX中,许多命令,控制变量,中,许多命令,控制变量,shell文本等等和文本等等和Multics一样一样UNIX这个名称也是从这个名称也是从Multics的发音中演化而来的发音中演化而来Dennis Ritchie在在Multics的工作是实现的工作是实现BCPL语言语言 Dennis Ritchie后来把后来把BCPL语言改造为语言改造为C语言语言 用用C语言重新改写了语言重新改写了UNIX操作系统操作系统更重要的是,更重要的是,UNIX吸取了吸取了Multics中的教训中的教训 任何新生事物在经历了一次困难的诞生过程之后任何新生事物在经历了一次困难的诞生过程之后 它的第二次出现过程通常是比较顺利的它的第二次出现过程通常是比较顺利的Multics为为UNIX的成功储备了技术,培养了人才的成功储备了技术,培养了人才第54页,此课件共98页哦操作系统设备无关性的尝试IBM System/360 60年代初期,第三代集成电路计算机开始出现年代初期,第三代集成电路计算机开始出现在当时,大多数计算机厂商都有几条完全不同的计算机生产线在当时,大多数计算机厂商都有几条完全不同的计算机生产线然而开发和维护完全不同的产品,对厂商来说是昂贵的然而开发和维护完全不同的产品,对厂商来说是昂贵的一些计算机用户,在开始时只需要使用一台小计算机一些计算机用户,在开始时只需要使用一台小计算机 后来可能需要一台较大的计算机后来可能需要一台较大的计算机 而且希望能在较大的计算机上更快地执行原有的程序。而且希望能在较大的计算机上更快地执行原有的程序。厂家和用户都需要系统软件在不同型号的计算机之间兼容厂家和用户都需要系统软件在不同型号的计算机之间兼容上述问题都是对当时的操作系统严重依赖特定的硬件上述问题都是对当时的操作系统严重依赖特定的硬件 不具备设备无关性的反映不具备设备无关性的反映1964 年年IBM 宣布推出宣布推出System/360计算机系统计算机系统 IBM公司试图通过引入公司试图通过引入System/360来一次性地解决上述两个问题来一次性地解决上述两个问题 由于所有的计算机都有相同的体系结构和指令集由于所有的计算机都有相同的体系结构和指令集 因此,在理论上,为一种型号机器编写的程序因此,在理论上,为一种型号机器编写的程序 可以在其他所有型号的机器上运行可以在其他所有型号的机器上运行 第55页,此课件共98页哦第56页,此课件共98页哦“单一家族单一家族”思想也带来了缺点思想也带来了缺点:所有的软件,包括操作系统所有的软件,包括操作系统OS/360都要能够在所有机器上运行都要能够在所有机器上运行它要适用于所有型号的机器和不同的用途它要适用于所有型号的机器和不同的用途IBM无法写出满足相互冲突需要的无法写出满足相互冲突需要的OS软件软件其实当时别人也不能完成这项工作任务其实当时别人也不能完成这项工作任务 第57页,此课件共98页哦整个整个OS/360操作系统操作系统 包含数千名程序员写的数百万行汇编语言代码包含数千名程序员写的数百万行汇编语言代码 系统占据了大量存储空间和一半的系统占据了大量存储空间和一半的CPU时间时间 数百万行汇编代码中有成千上万处错误数百万行汇编代码中有成千上万处错误 IBM不断地发行新的版本试图更正这些错误不断地发行新的版本试图更正这些错误 每个新版本在更正老错误的同时又引入新错误每个新版本在更正老错误的同时又引入新错误 所以随着时间的流逝所以随着时间的流逝 整个整个OS/360中错误数量大致保持不变中错误数量大致保持不变OS/360的设计者之一的设计者之一Fred Brooks 写过一本书描述开发写过一本书描述开发OS/360的经验的经验 其封面是一群史前恐龙陷入泥潭而不能自拔其封面是一群史前恐龙陷入泥潭而不能自拔 这幅图画,恰当的表述了这幅图画,恰当的表述了OS/360状况状况 第58页,此课件共98页哦IBM System/360计算机 第59页,此课件共98页哦现代操作系统的代表UNIX 1961年,以年,以DEC的的PDP-1作为起点作为起点小型计算机开始崛起小型计算机开始崛起 PDP-1计算机计算机4K个字长为个字长为18比特的内存比特的内存 每台售价每台售价120,000美元美元今天看来,昂贵的不可思议今天看来,昂贵的不可思议当时,它价格还不到当时,它价格还不到IBM 7094的的5%所以该机型非常热销所以该机型非常热销PDP-1开辟了全新的小型计算机产业开辟了全新的小型计算机产业第60页,此课件共98页哦小型计算机,电子游戏和UNIX的成功19691969年,在贝尔退出年,在贝尔退出MULTICSMULTICS研制项目后,研制项目后,KenThompsonKenThompson和和DennisM.RitchieDennisM.Ritchie想申请经费买计算机从事操作系统想申请经费买计算机从事操作系统研究,但多次申请得不到批准研究,但多次申请得不到批准项目无着落,他们在一台无人用的项目无着落,他们在一台无人用的PDP-7PDP-7上,重新摆弄原先上,重新摆弄原先在在MULTICSMULTICS项目上设计的项目上设计的“空间旅行空间旅行”游戏游戏为了使游戏能够在为了使游戏能够在PDP-7PDP-7上顺利运行,他们陆续开发了浮点运上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、算软件包、显示驱动软件,设计了文件系统、实用程序、shellshell和汇编程序和汇编程序到了到了19701970年,在一切完成后,给新系统起了个同年,在一切完成后,给新系统起了个同MULTICSMULTICS发发音相近的名字音相近的名字UNIXUNIX随后,随后,UNIXUNIX用用C C语言全部重写,自此,语言全部重写,自此,UNIXUNIX诞生了诞生了第61页,此课件共98页哦世界上第一个真正体现了操作系统领域各种先进概念和技术的操作系统,是世界上第一个真正体现了操作系统领域各种先进概念和技术的操作系统,是UNIXUNIX操作系统的出现,有它的偶然性和必然性操作系统的出现,有它的偶然性和必然性偶然性表现在偶然性表现在 研究工作多次的报告,都没有得到上级主管的认可研究工作多次的报告,都没有得到上级主管的认可 因为这些领导害怕会再有一次类似于因为这些领导害怕会再有一次类似于Multics项目的失败项目的失败 玩游戏的结果,导致世界上最有名的操作系统之一出现玩游戏的