- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统理论的探索-(之二).doc
操作系统理论的探索:(之二)
操作系统的历史
操作系统的发展过程是一个从无到有、从简单到复杂的过程在这里我们从三个角度来观察操作系统的发展历史,硬件发展的角度、软件发展的角度、进化的角度。
1.1 硬件的轨迹
操作系统的理论是在计算机的应用中诞生并成长,它的发展与计算机硬件的发展是密不可分的,这些内容多数教材上都有,这里就简单的罗列一下:
表1.1 硬件角度下的操作系统发展轨迹
年 代硬 件 特 点操作系统特点背 景机械计算机时代
17世纪~20世纪初 1)纯机械结构,低速
2)只能进行简单的数学运算 纯手工操作从计算尺至差分机到分析机发展了数百年第一代计算机
1946年~50年代末
电子管计算机 1)体积大、能耗高、故障多、价格贵
2)难以普及应用 无操作系统
(程序按机器码编写,载体从插件板到卡片与纸带) 1906年发明电子管
1946 ENIAC研制成功
(第一台电子管计算机) 第二代计算机
50年代末~60年代中期
晶体管计算机 1)采用印刷电路
2)稳定性与可靠性大大提高
3)批量生产成为可能
4)进入的实际应用领域但数量有限 1)单道批处理系统
2)系统以监督软件形式出现
3)作业处理按顺序方式处理 1947年发明晶体管第三代计算机
60年代中期~70年代初
集成电路计算机 1)体积减小,性价比迅速提高
2)小型计算机发展迅速
3)进入商业应用
4)尚不适合家庭应用的需求 1)涌现大批操作系统
多道批处理系统、分时系统和实时系统
2)奠定了现代操作系统的基本框架 1958年发明集成电路
1971年INTEL发明微处理器 第四代计算机
70年代中~至今
大规模集成电路计算机 1)性能大幅度提高,价格不断下降
2)个人电脑成为市场的主角
3)电脑迅速普及
4)计算机应用进入高速发展的轨道 1)操作系统的理论基本完善
2)系统与网络通讯一体化
(分布式操作系统和网络操作系统)
3)人机交互成为设计重点
4)操作系统性能日渐稳定 1981年IBM-PC机诞生
1993年 INTER开始商业化运作
从这张表中可以看出:
在硬件的性价比较低的时候,操作系统设计完成了追求硬件使用率的理论探索,从批处理到分时系统
在硬件性价比越来越高后,操作系统的设计开始追求系统的可靠和稳定,出现了多处理器系统和分布式系统
电脑开始普及后,操作系统的设计开始追求用户界面的友好
从第一代到第二代计算机系统,应用范围很小,导致操作系统的发展非常缓慢,直到第三代系统出现后,才得以高速发展
从第三代计算机到第四代计算机,操作系统的功能模块划分没有变化,说明计算机硬件结构已经稳定,操作系统的发展逐渐脱离硬件的发展脚步,形成自己的理论体系
进入第四代系统后,分布式系统和多处理器系统虽然极大的扩充了操作系统理论,但系统结构仍旧保持不变,完善的部分是各功能模块的枝节理论
总的讲,随着操作系统理论的日益完善,操作系统设计中与硬件相关的部分比重越来越小,渐渐走出软件附属于硬件的局面,至今它已经支撑起一个庞大的软件产业 1.2 软件的轨迹
操作系统首先是一个软件,它的设计脱离不了软件设计的范畴,因此可以从纯软件发展的角度考察这里简单的从软件设计发展的过程分析操作系统的历史
表1.2 软件设计角度下的操作系统发展轨迹
主流系统系统特点计 算 机 语 言软 件 特 点背 景无软件时期无手工操作无编程语言
直接使用机器代码 手工操作1936年图灵提出图灵机系统雏形期单道批处理系统作业运行的监督程序编程语言雏形期无交互机制1957年 FORTRAN语言开发成功操作系统的理论成形期多道批处理
分时系统
实时系统
多处理系统 系统结构确立分为处理机、内存、设备、文件等模块1)编程语言大量涌现
2)结构化程序设计
3)C语言逐渐成为主导 1)字符式人机交互界面
2)操作命令繁多 60年代的软件危机导致软件工程的发展
1970年 UNIX产生
1972年 C语言推出 现代操作系统时期类UNIX系列
INIX中模块间调用是通过如下方式分解消息来实现的。
在此摘录部分源代码进行分析。
(注:《OPERATING SYSTEM Design and Implementation》第二版,Andre 和Albert S.INIX系统中内存管理模块的main.c文件的一部分
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/mm/main.c
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
文档评论(0)