操作系统首先是一个软件,它的设计脱离不了软件设计的范畴。从纯软件发展的角度对其进行考察,有助于我们了解操作系统的历史。下表给出了软件设计角度下的操作系统发展轨迹。
|
主流操作系统 |
系统特点 |
计算机语言 |
软件特点 |
背 |
无软件时期 |
无 |
手工操作 |
无编程语言,直接使用机器代码 |
手工操作 |
1936年图灵提出图灵机模型 |
系统雏形期 |
单道批处理系统 |
作业运行的监督程序 |
编程语言雏形期 |
无交互机制 |
1957年FORTRAN语言开发成功 |
操作系统理论的成形期 |
多道批处理系统分时系统 |
操作系统结构确立,分为处理机管理、内存管理、设备管理、文件管理等模块 |
①
② ③ C语言逐渐成为主导 |
①
② |
20世纪60年代的软件危机引发了软件工程的发展; 1969年Unix诞生; 1972年C语言推出 |
现代操作系统时期 |
类Unix系列 Windows系列 |
人机交互成为主题
①
② |
面向对象语言成为主流 |
①
② |
20世纪80年代中期,面向对象技术开始逐步发展 |
网络时代 |
网络操作系统 |
微内核技术兴起 |
Java语言和脚本语言兴起 |
追求设计个性化;注重感官效果 |
1995年推出Java |
开源软件时代 |
嵌入式系统 |
单内核与微内核竞争激烈 |
编程工具向跨平台方向发展 |
可移植性成为主题 |
1991年发布了免费的操作系统Linux |
分析上表,可以知道:
·
程序设计理论约束着操作系统设计。操作系统的发展滞后于计算机语言的发展。从结构化设计到对象化设计,操作系统总是最后应用新编程理论的软件之一。
·
至今,对于操作系统是否需要彻底对象化(即微内核化)还处于徘徊时期,仍在探索单内核与微内核的最佳结合方式。
·
人机交互技术主要是为用户考虑,这是操作系统设计方面的变革。
·
以Linux为代表的开源软件的出现,打破了带有神秘色彩的、传统的封闭式开发模式。