版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京大学计算机科学技术系Peking University,Department of Computer Science return 0; , 用户告诉操作系统执行hello程序, 操作系统找到该程序,检查其类型, 检查程序首部,找出正文和数据的地址, 文件系统找到第一个磁盘块, 父进程需要创建一个新的子进程,执行hello程序, 操作系统需要将执行文件映射到进程结构, 操作系统设置CPU上下文环境,并跳到程序开始处, 程序的第一条指令执行,失败,缺页中断发生, 操作系统分配一页内存,并将代码从磁盘读入,继续执行, 更多的缺页中断,读入更多的页面, 操作系统检查字符串的位置是否正确, 操作系
2、统找到字符串被送往的设备, 设备是一个伪终端,由一个进程控制, 操作系统将字符串送给该进程, 该进程告诉窗口系统它要显示字符串, 窗口系统确定这是一个合法的操作,然后将字符串转换成像素, 窗口系统将像素写入存储映像区, 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕), 显示器发射电子束, 你在屏幕上看到hello world, 程序执行系统调用,在文件描述符中写一字符串,3.为什么学习操作系统?,设计操作系统 或者 修改现有的系统 存在人们意识不到的大量“操作系统” 嵌入式系统(Embedded OS) 加深对使用的OS的理解,有利于深入编程 用户为了开发应用程序必须与操作系统打交
3、道 编程时借鉴操作系统的设计思想和算法 操作系统中所用的许多概念和技巧可以推广应用到其他领域 选择购买操作系统 我们并不总使用Win95/NT/2000/XP,涉及到计算机科学的很多领域,计算机体系结构/硬件 软件设计 程序设计语言 数据结构 算法 网络 学习核心技术并能在其他地方应用之,抽象,操作系统具有一种魔力(magic) 提供了无限的CPUs 无限的内存 单一全球计算能力 等等,思维方式的学习,大型、复杂系统的系统设计, 性能 与 方便使用 性能 与 简单性 硬件 与 软件 折衷权衡 Trade Off,操作系统是目前最复杂的软件成分,(1)程序的执行 负责启动每个程序,以及结束程序的
4、工作 (2)完成与硬件有关的工作 (3)完成与应用无关的工作 易于使用,基本服务,统一性 (4)计算机系统的效率与安全问题,4.操作系统的工作,硬件相关:,应用程序 - 虚机器界面 操作系统 - 物理机器界面 硬件,假如没有操作系统?怎样将目标代码送给硬件?怎样输出打印结果? 人们将对二进制程序操作 从二极发光管读答案,应用软件与现实硬件之间的软件,硬件抽象,可移植性 有限变为无限(接近) 提供保护,OS,硬件,硬件相关(续1):,指实现代码中包含存储器的物理地址,包含对设备接口寄存器和设备接口缓冲区的读写等等 实现该工作的过程代码和硬件因素密切相关,即需要设置与测试、使用物理地址、设备接口寄
5、存器等等 硬件相关必然复杂繁琐、代码量大 硬件相关的工作,其实现代码不通用,硬件相关(续2):,由于操作系统承担了上述工作,在其之上的各类程序就没有必要直接同硬件打交道了。硬件改变时,操作系统相应变化即可,其他的程序不用作出改变 硬件相关还表现在有关硬件的状态必定带来对应代码的变化,与应用无关:,是指这些工作是任何一个程序都需要的、最基本的工作 它们具有共性,工作过程相同与具体应用无直接关系,即与用户所关心的应用目标无直接关系,小结:操作系统做什么,扩展的机器 隐藏硬件细节 向用户提供虚拟机,方便使用 资源管理者 时间 空间,基本目的,1介绍操作系统的基本概念、基本结构及运行环境 2介绍操作系
6、统原理、设计方法和实现技术 3介绍操作系统的演化过程、发展研究动向、新技术以及新思想 4介绍各种有代表性的、典型的操作系统实例 5培养学生分析问题、解决问题的基本能力,培养创造型人才,学习收获,1使学生对操作系统的基本概念、基本结构及运行环境有深入的认识,对操作系统这一课程有比较全面的把握 2使学生深入到操作系统内部,理解并掌握操作系统的基本原理、设计方法和实现技术 3使学生了解操作系统的演化过程、发展研究动向、新技术以及新思想,使学生具有透过变化看趋势、透过技术抓原理、把握学科发展脉搏的基本素质,为其今后在相关领域开展工作打下坚实的基础,第一章 操作系统概述,操作系统的基本概念 操作系统的特
7、征 研究操作系统的几种观点 操作系统的技术发展过程 著名的操作系统 操作系统的分类 操作系统的功能,一、操作系统的地位,计算机系统由硬件和软件组成 操作系统在硬件基础上的第一层软件 是其他软件和硬件之间的接口,操作系统设计者,应用软件设计者,应用软件设计者,二、操作系统的定义,操作系统是计算机系统中的一个系统软件, 是一些程序模块的集合,它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行,有效:系统效率,资源利用率 (如:CPU利用的充足与否,内存、
8、外部设备是否忙碌),合理: 公平与否,如果不公平则会产生“死锁”或“饥饿”,方便:两种角度: 用户界面 编程接口,三、操作系统的特征,并发: 在计算机系统中同时存在多个程序 宏观上:这些程序是同时在执行的 微观上:任何时刻只有一个程序在执行 即微观上这些程序在CPU上轮流执行 并行:(与并发相似,但多指硬件支持),操作系统特征(续),共享: 操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源) 操作系统要对系统资源进行合理分配和使用 资源在一个时间段内交替被多个进程所用,互斥共享(如音频设备) 同时访问(如可重入代码,磁盘文件) 资源分配难以达到最优化,虚拟: 一个物理实体
9、映射为若干个对应的逻辑实体分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率,操作系统特征(续),CPU每个用户(进程)的虚处理机 存储器每个进程都占有的地址空间(指令数据堆栈) 显示设备多窗口或虚拟终端,随机性: 操作系统必须随时对以不可预测的次序发生的事件进行响应 如何考虑周密、设计适当,操作系统特征(续),进程的运行速度不可预知:分时系统中,多个进程并发执行,“走走停停”,无法预知每个进程的运行推进快慢 难以重现系统在某个时刻的状态(包括重现运行中的错误) 性能保证:实时系统与分时系统相似,但通过资源预留以保证性能,四、研究操作系统的几种观点,作为软件来看的观点,资源管
10、理的观点,进程的观点,虚机器观点,服务提供者观点,1.作为软件来看的观点,软件的特性 外在特性: 软件是种语言,是界面 界面:使用方式 (命令,系统调用等) 内在特性: 软件的结构 a.由有几部分组成 b.每个部分的功能 c.部分之间的关系,2.资源管理的观点,操作系统-资源管理者 硬件资源: CPU,内存,外部设备(I/O设备,外存,时钟,网络接口等) 软件资源: 硬盘上的文件,信息,管理资源,记录资源使用状况 如 哪些资源空闲,好坏与否,被谁使用,使用多长时间等 合理的分配资源 静态分配策略 (在程序运行前分配,但效率不高) 动态分配策略 (在程序运行过程中何时用资源,何时分配。其缺点是会
11、出现死锁) 具体完成分配 回收资源,资源管理的目的,实现资源共享 提高资源利用率,操作系统功能,CPU(进程)管理,存储管理,文件管理,设备管理,作业管理,处理机管理,完成处理机资源的分配调度等功能 (处理机调度的单位可为进程或线程) 进程控制:创建、撤销、挂起、改变运行优先级等主动改变进程的状态 进程同步:协调并发进程之间的推进步骤,以协调资源共享;交换信息能力弱 进程通信:进程之间传送数据,以协调进程间的协作;交换信息能力强,也可以用来协调进程之间的推进 进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能;未必是进程控制操作所引起(可能是时间片轮转、I/O操作) 同一类型内
12、的公平性、高效率(吞吐量大)、作业周转时间等,存储管理,存储分配与回收 存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从垃圾中窃取其他进程的信息 地址映射(变换):进程逻辑地址到内存物理地址的映射 内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间,管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行,设备管理,设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。 设备独立性:提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAX Modem作为Windows上的打印机
13、设备) 设备分配与回收:在多用户间共享I/O设备资源 虚拟设备:设备由多个进程共享,每个进程如同独占 缓冲区管理:匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区),设备管理的目标是: 方便的设备使用、提高CPU与I/O设备利用率,信息管理,文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能 目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名 文件的读写管理和存取控制:解决信息安全问题。系统设口令、用户分类、文件权限 软件管理:软件的版本、相互依赖关系、安装和拆除等,解决软件资源的存储、共享、保密和保护,用户接口,操作系统向上提供两种接
14、口: 系统命令:供用户用于组织和控制自己的作业运行。命令行、菜单式或GUI(联机);命令脚本(脱机) 编程接口:供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数,目标:提供一个友好的用户访问操作系统的接口,3.进程的观点,从操作系统运行的角度动态的观察操作系统 从这个观点来看: 操作系统是由一些可同时独立运行的进程和一个对这些进程进行协调的核心组成,进程:,完成某一特定功能的程序 是程序的一次执行过程 是动态有生命的,当它执行时存在,否则消亡,4.虚机器观点,从操作系统内部结构来看: 把操作系统分成若干层 每一层完成其特定功从而构成一个虚机器,并对上一层提供支持 通过逐层功能扩充
15、,最终完成整个操作系统虚机器 而操作系统虚机器向用户提供各种功能, 完成用户请求,5. 服务提供者的观点,在操作系统之外从用户角度来看: 操作系统为用户提供一组功能强大的、方便易用的命令或系统调用,6.其他观点,操作系统作为 仲裁者(协调者) 使多个应用程序/用户高效,公平地一起工作 保护用户不互相干扰 例子:并发,存储保护,文件系统,网络,操作系统作为 管理程序 硬件平台扩展为运行平台 运行平台是承载应用程序的载体,平台之争 企业竞争的范围已经超出了市场、 资本和技术 竞争的焦点: 表面上:平台(标准) 实质上:争夺产业的制高点,操作系统作为 幻觉制造者(illusionist) 提供硬件的
16、高层界面,取消硬件限制 操作系统提供无限的内存、无限的CPU,操作系统作为 管理者(government) 有效合理地分配资源,保护用户不受侵犯 提供安全、保密措施,操作系统作为 历史教员 学习过去,预测未来,操作系统作为 标准服务提供者 提供每个用户需要的标准工具 如标准库、窗口系统,操作系统作为 A PARENT,程序创建和执行 存取I/O设备 控制对文件的存取 系统存取 错误检测和回应 统计,五、操作系统的发展,操作系统发展是随着计算机硬件技术、应用软件的发展而发展的 目标:充分利用硬件 提供更好的服务,1.概述 操作系统历史划分为4个阶段,控制台 一个用户,一次完成一个功能(计算,I/
17、O,用户思考/反应),程序通过卡片装入 用户在控制台前调试程序,第 1 阶段 硬件非常昂贵,没有操作系统,工作效率非常低每一用户都要自行编写涉及到硬件的源代码工作量大,难度高,易出错,需要大量人力和物力,第 2 阶段 硬件昂贵,人力便宜 简单批处理:装入程序、运行、打印结果、撤出、再重复 用户把程序(卡片或磁带)交给负责调度的操作员(系统管理员) 常驻监控程序自动地装入程序、运行、撤出作业,多道程序批处理系统 在磁盘上多个作业等待运行 多道程序 - 同时运行多个作业 - 选择若干作业准备运行(调度) 并装入内存(存储管理) - 运行一个作业,当它等待时切换至内存中的另一个作业(如需安装磁带,等
18、键按下),多道程序设计: 多个用户共享系统,增加:存储保护,重定位 利用率高(多个作业) 有必要采用并发程序设计技术 操作系统成为研究焦点: 需要处理复杂性,首次面对重大失败:,- MULTICS 于 1963 年开始, 直至 1969 年才发布,- IBM 的 OS/360 发布时, 带着已知的 1000 个错误,早期计算机:单控制方式,- CPU负责计算,也负责传输,早期计算机的使用方式,- 一个用户独占全部资源,- 浪费:CPU与外设速度不匹配 手工操作方式和高速机器之间的不匹配,提高资源利用率,- 多部件并行,多任务共享,通道引入:传输和CPU相对独立 中断引入:各部件的协调动作成为可
19、能,体系结构的发展可以支持OS,多道程序运行模式,第 3 阶段 硬件较以前便宜,人力昂贵,交互式分时处理,一台计算机,多个便宜终端,- 所有用户可与系统立即交互,- 调试比较方便,磁盘便宜,故可在线存放程序和数据,- 1 张穿孔卡片 = 100个字节,- 1 MB = 10K卡片,- OS/360 有若干英尺长度的卡片,新问题,- 易于使用,提高人的生产力,- 合理的响应时间,- 引入文件系统,使用户可存取数据,解决,- 需要抢占式调度以便保持 适当的响应时间,- 需要避免抖动(程序在内存中 过于频繁的对换),- 需要提供适用的安全检测,成功:,一群计算机迷 ( Tomson, Ritchie
20、 ) 在贝尔实验室发展出了UNIX。 (这样他们可以在一台无人使用的DEC PDP-7 小型计算机上玩星际探险游戏),成功:,Ken Thompson,Dennis Ritchie 1983年图灵奖获得者 1999年4月 美国国家技术金奖,第 4 阶段 硬件非常便宜,人力昂贵,目标: 充分利用人和时间,个人计算雏形,CPU 便宜到可在每台终端上安装,功能强大有效 - 成为大众的计算机,放弃多道程序、并发和保护机制,使 OS 回归简单,使用户再次与系统交互,增强文件系统,响应时间、保护更为重要,网络:允许不同机器很容易共享资源 共享,安全,操作系统的历史: 变化!,意味着技术总在改变 要适应、折
21、衷权衡,2.历史上的操作系统,随历史线索,介绍一些重要的操作系统 真空管时代(1946年-1955年) 晶体管时代(1955年-1965年) 集成电路时代(1965年-1980年) 大规模集成电路时代(1980年-至今),第一台数字计算机,英国数学家Charles Babbage(1792-1871)设计 Babbage投入了毕生精力 但却没能让它成功地运行起来 因为当时的技术不可能达到需要的精度 当然,这个分析机没有操作系统,二战对武器设计的需要 美国、英国和德国等国家 开始了电子数字计算机的研究工作 哈佛大学的Howard Aiken 普林斯顿高等研究院的John Neumann(冯 诺依
22、曼) 宾夕法尼亚大学的J.Presper Eckert和William Mauchley 德国电话公司的Konraad Zuse以及其他一些人 都使用真空管成功地建造了运算机器,真空管计算机(1945年-1955年)时期,没有程序设计语言(甚至没有汇编),更谈不上操作系统 程序员提前预约一段时间,然后到机房将他的插件板插到计算机里 期盼着在接下来的时间中 几万个真空管不会烧断 从而可以计算自己的题目,ENIAC计算机(美国宾夕法尼亚大学),运算速度:5000次/每秒, 18000个真空管, 占地182平方米,重量130吨,功耗140kW,50年代早期 出现了穿孔卡片 程序写在卡片上然后读入计算
23、机 但计算过程则依然如旧,晶体管计算机(1955年-1965年)时期,50年代晶体管发明 计算机比较可靠,可成批地生产 用户可指望计算机长时间运行,完成一些工作 FORTRAN 1954年提出,1956年设计完成 ALGOL 1958年引入 COBOL 1959年引入 设计人员、生产人员、操作人员、程序人员和维护人员之间第一次有了明确的分工,要运行一个作业,先将程序写在纸上(用高级语言或汇编语言) 然后穿孔成卡片,再将卡片盒交给操作员 计算结果从打印机上输出 操作员到打印机上撕下运算结果送到输出室 程序员稍后可从取到结果 然后,操作员从输入室的卡片盒中读入另一个任务 如果需要FORTRAN编译
24、器,还要把它取来读入计算机 机时在走来走去时被浪费,批处理操作系统 - 现代操作系统雏型,为了改进主存和I/O设备之间的吞吐量 IBM 7094机引入了I/O 处理机概念 其思想是:在输入室收集全部的作业,用一台相对便宜的计算机 如IBM 1401计算机,将它们读到磁带上 另外用较昂贵的计算机,如IBM7094来完成真正的计算,第二代计算机典型的操作系统,FMS(FORTRAN Monitor System,FORTRAN监控系统) IBMSYS(IBM为7094机配备的操作系统) 这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成,第三代集成电路计算机(1965年-1980年)时期
25、,60年代初期,计算机开始采用集成电路 多数厂商有几条完全不同的生产线,生产不同的计算机 开发和维护完全不同的产品,对厂商来说是昂贵的 另外,新用户,在开始时只需要一台小计算机 后来可能需要一台大的计算机 而且希望能在新计算机上执行原有的程序 这样,厂家和用户需要软件在不同型号的计算机之间兼容,1964 年IBM 宣布推出System/360计算机系统 第一个采用小规模集成电路的主流机型 试图一次性地解决上述两个问题 由于所有的计算机 都有相同的体系结 构和指令集 在理论上,为一型 号编写的程序可以 在其他型号机器上 运行,IBM System/360的若干问题,IBM无法写出同时满足互冲突需
26、要的操作系统 其实别人也一样不能完成这项工作任务 IBM OS/360文件系统中有类型字段,定义文件的类型,有定长、不定长记录、块状和非块状文件 用户对于输出文件的大小,只有通过猜测 存储管理有基地址寄存器寻址方式,程序也可以访问和修改基地址寄存器,但是CPU生成的却是绝对地址,虽然不用进行动态再分配 但程序却被钉死在调入内存时的物理地址上,IBM System/360, 庞大的软件怪兽,数千名程序员写的数百万行汇编语言代码 系统自身占据了大量存储空间和一半的CPU时间 数百万行汇编代码中有成千上万处错误 IBM不断发行新的版本试图更正这些错误 每个新版本在更正老错误的同时又引入新错误 所以随
27、着时间的流逝,错误的数量大致保持不变,多道程序设计技术(multiprogramming),在IBM 7094机上,若当前作业因等待I/O而暂停, CUP只能踏步直至该I/O完成 对于CPU操作密集科学计算问题,浪费时间少 对于商业数据处理,I/O等待时间常占8090 解决办法 将内存分几个部分,每部分放不同的作业 当一个作业等待I/O时,另一个作业可以使用CPU 在主存中同时驻留多个作业需要硬件进行保护 以避免信息被窃取或攻击,Spooling 技术,程序卡片被拿到机房后 能够很快将一作业从卡片读入磁盘 任何时刻当一作业运行结束 操作系统就将一新作业从磁盘读出 装入空出的内存区运行 Spoo
28、ling技术 (Simultaneous Peripheral Operation On Line) 该技术也用于输出,分时系统,第三代计算机实质是批处理系统 而从一作业提交到结果取回, 往往长达数小时 一个逗号的误用会导致编译失败 而可能浪费程序员半天时间 问题的解决导致分时系统的出现 (CTSS,Compatible Time Sharing System) 分时系统实际上是多道程序的一个变种,分时系统的思想于1959年在MIT提出 每个用户有一个联机终端 在分时系统中,假设20个用户登录 其中17个在思考或谈论或喝咖啡 则CPU可给那三个需要的作业轮流分配服务 调试程序的用户常常只发出简
29、短的命令 而很少有长的费时命令 所以计算机能够为许多用户提供交互式快速服务 同时在CPU空闲时还能在后台运行大作业,第一个分时系统由 MIT的Fernando Corbato 等 1961年在一改装的IBM 7090/94机上开发成功 当时有32个交互式用户 IBM 7090/94计算机有32K内存,系统用5K,用户用27K,用户存储映象在内存和一台磁鼓之间切换 1962年Manchester大学的Atlas计算机投入运行 运行速度200 kFLOPS 第一个有虚拟存储器(virtual memory)和页面调度(paging) 的机器 指令执行是管道式(pipelined)的,MULTICS
30、的灾难,1965年在ARPA的支持下MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”, 希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICS (MULTiplexed Information and Computing Service ) MULTICS设计目标是:便利的远程终端使用,大量终端通过电话线接入计算机主机 高可靠的大型文件系统;大容量的用户信息共享;存储和构造层次化信息结构的能力,MULTICS研制难度超出了所有人预料 长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出了 但最终,经过多年的努力,MULTICS成功地应用 运行
31、MULTICS的计算机系统在九十年代中陆续被关闭 MULTICS引入了许多现代操作系统领域概念雏形,对随后操作系统特别是UNIX的成功有着巨大的影响,小型计算机,电子游戏和UNIX的成功,1969年,在贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M. Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准 项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏 为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序 到了197
32、0年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX 随后,UNIX用C语言全部重写,自此,UNIX诞生了,UNIX,UNIX是现代操作系统的代表。Unix运行时的安全性、可靠性以及强大的计算能力赢得广大用户的信赖 促使UNIX系统成功的因素: 首先,由于UNIX是用C语言编写,因此它是可移植的,UNIX 是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统 第二,系统源代码非常有效,系统容易适应特殊的需求 最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统,第四代大规模集成电路计算机(1980年-至今),CP/M 操作系统 随着
33、大规模集成电路发展,个人计算机时代到来了各种类型的个人计算机和软件层出不穷 1973年Gary Kildall看到对个人计算机操作系统的需求,设计了CP/M操作系统(Control Program/Microprocessor or Microcomputer) CP/M操作系统有较好的层次结构。它的BIOS把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好, 具有较好的可适应性和易学易用性 到了1981年,CP/M操作系统成为世界上流行最广的8位操作系统之一,微软MS DOS,个人计算机的成功,逼得IBM采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战 但没有操作系
34、统不行。要想快就是找现成系统配套,IBM公司洽谈 CP/M操作系统不顺利,机遇落到了微软公司 在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的QDOS操作系统的协议 当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓,IBM在1981年推出个人计算机,宣布了DOS操作系统 随着IBM PC和MS DOS普及,CP/M逐渐走向下坡路 MS DOS有优良的文件系统 但受到Intel x86体系结构的限制 缺乏以硬件为基础的存储保护机制 它属于单用户单任务操作系统 从1981的 1.0版到1998年在
35、Windows 95/98之下的7.0版,MS DOS历经了16个年头 迄今仍有MS DOS爱好者继续开发各种DOS软件产品,拯救苹果公司的Macintosh(MAC OS),在推出IBM PC机后,市场卷起一股龙卷风 IBM自己也没有料到产品会有如此巨大的成功 IBM的成功说明必有其他公司失败。甚至连苹果公司也遇到了问题,销售数量落到了兰色巨人的后面 苹果公司推出Lisa机遭到失败,Apple III型也遭到失败 分析家们认为,在微机市场上的战斗似乎兰色巨人要嬴了,施乐Palo Alto研究中心-70年代的计算机研究思想库,世界上第一台个人计算机Alto,1972年在这里出现 图形界面,手持
36、鼠标,面向对象程序设计 微机网络,桌面出版和激光打印等等 具有先进概念和技术的原型都首次出现在这里,1979年苹果公司允许施乐公司购买一百万股的苹果公司股票 作为回报,施乐公司允许苹果公司的少数人员,包括乔布斯,在有限的时间内考察施乐公司Palo Alto研究中心内部,并同该思想库的研究人员交谈 苹果公司对Palo Alto研究中心内的技术大感吃惊 他们更吃惊的是,施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!,对Palo Alto研究中心这些科学家们而言,苹果公司的人是他们第一次遇到真正理解他们技术的人 这些科学家们后来有的去了苹果公司,微软公司,有的最终创办了自己的公司 在访问的基础上
37、,苹果决定立即开发采用这些新技术的个人计算机 苹果公司已看到 IBM PC机的技术有多么糟糕,但他们卖得又是特别的好,MAC OS、鼠标的新型个人计算机,1984年,人们看到一则广告:“What was that?”和对Macintosh的介绍, 这是配有图形界面操作系统 MAC OS和鼠标的新型个人计算机 MAC机一上市立即在市场上获得极大的成功 当年比尔.盖茨都说,这是一台他的妈妈也能使用的计算机 Macintosh把苹果公司从连续的失败中拯救出来 苹果公司又开始向前发展 正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者,一波三折的微软Windows操作系统
38、,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,Wind
39、ows 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的代码 1
40、989年,Mach 内核中去掉了所有的BSD UNIX的代码,剩下了一个纯的Mach微内核,这就是Mach 3.0版本,它是OSF发布的基础,Mach中采用了许多当代操作系统使用的技术, 微内核、线程、进程间消息传递和面向对象的设计方法等等 在Mach的基础上,有不少用于微处理器、多处理器以及超级计算机的操作系统和实时嵌入式操作系统陆续设计和开发出来,如OSF/1,DCE Unix, NeXT等等,IBM大型计算机操作系统OS/390,90年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温 三十年的改进,IBM S/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算
41、机系统 支持即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/3
42、70, 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负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作 目前在国内也占据嵌入式开发系统市场
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 日照健康宣教中心介绍
- 2026届四川省威远县中考冲刺卷生物试题含解析
- 桂林市文化史专题一、二教学中教师问题剖析与对策探寻
- 格力电器股权激励对公司绩效的影响:机制、成效与启示
- 2026届河南省襄城县春联考中考押题数学预测卷含解析
- 2026届浙江省杭州市临安区、富阳区重点名校中考数学模拟试题含解析
- 黑龙江省七台河市勃利县达标名校2026届中考一模数学试题含解析
- 浙江省嘉兴市海宁市2026届中考生物考前最后一卷含解析
- 核态池沸腾中多气泡行为特性与传热过程的数值模拟与机理探究
- 核心力量训练:解锁中考生实心球成绩提升密码
- 2024河北高考地理真题卷解析 课件
- 国家职业技术技能标准 6-29-03-03 电梯安装维修工 人社厅发2018145号
- 理发店门面转租协议
- 放化疗相关口腔黏膜炎预防及护理课件
- 2023年10月自考00161财务报表分析(一)试题及答案含评分标准
- (2023版)小学道德与法治一年级上册电子课本
- 多维度空间课件
- 景观生态学课件
- 奋战五十天扶摇九万里-高考50天冲刺主题班会 高考倒计时主题班会课件
- 水下作业工程监理实施细则(工程通用版范本)
- GB/T 4393-2008呆扳手、梅花扳手、两用扳手技术规范
评论
0/150
提交评论