培根:读史使人明智 操作系统的简史
(1955-1965) 计算机非常昂贵,上古神机IBM7094 ,造价在250万美元以上
-
计算机使用原则:只专注于计算
-
批处理操作系统(Batch system)
-
典型代表:IBSYS
从IBSYS 到OS/360(1965-1980)
计算机开始进入多个行业:科学计算(IBM 7094) ,银行(IBM 1401)
-
需要让一台计算机干多种事
-
多道程序(multiprogramming)
-
作业之间的 切换和调度 成为核心:因为既有IO 任务,又有计算任务,需要让CPU忙碌(多进程结构和进程管理概念萌芽!)
-
典型代表:IBM OS/360(360 表示全方位服务) ,开发周期5000 个人年
从OS/360 到MULTICS(1965-1980)
计算机进入多个行业,使用人数增加
-
如果每个人启动一个作业,作业之间快速切换
-
分时系统(timesharing)
-
代表:MIT MULTICS (MULTiplexed Information and Computer Service)
-
核心仍然是 任务切换 ,但是资源复用的思想对操作系统影响很大,虚拟内存就是一种复用
从MULTICS 到UNIX(1980-1990)
小型化计算机出现,PDP-1 每台售价120,000 美元,不足7094 的5%
-
越来越多的个人可以使用计算机
-
1969 年:贝尔实验室的Ken Thompson、 、 Dennis Ritchi 等在一台没人使用的PDP-7 上开发一个简化MULTICS ,就是后来的UNIX
-
UNIX 是一个简化的MULTICS ,核心概念差不多,但更灵活和成功
从UNIX 到Linux(1990-2000)
1981 ,IBM 推出IBM PC ;个人计算机开始普及
-
很多人可以用计算机并接触UNIX
-
1987 年Andrew Tanenbaum 发布了MINIX( 非常类似UNIX) 用于教学
-
Linus Torvalds 在386sx 兼容微机上学习minix ,作出小Linux 于1991 年发布
-
1994 年,Linux 1.0 发布并采用GPL 协议,1998 年以后 互联网世界里展开了
一场历史性的Linux
IBSYS ->OS/360-> MULTICS-> Unix -> Linux
核心思想、技术
-
用户通过执行程序来使用计算机( 吻合冯诺依曼的思想)
-
作为管理者,操作系统要让多个程序合理推进,就是 进程管理
-
多进程(用户) 推进时需要内存复用等等
多进程结构是操作系统基本图谱!
对于操作系统,实现概念远比理解概念重要!
软件实现
-
对于操作系统,实现很重要OS/360->UNIX
-
需要真正的群体智慧 UNIX ->Linux
历史是多线条的:PC 与DOS
PC 机的诞生一定会导致百花齐放。IBM 推出PC ,自然要给这个机器配一个操作系统
-
1975 年Digital Research 为Altair 8800 开发了操作系统CP/M
-
CP/M :写命令让用户用,执行命令对应的程序,单任务执行
-
1980 出现了8086 16 位芯片,从CP/M 基础上开发了QDOS(Quick and Dirty OS)
从QDOS 到MS-DOS
Bill Gates 要进入历史舞台了…
-
1975 年,22 岁的Paul Allen 和20 岁的 Bill Gates 为Altair 8800 开发了BASIC 解释器,据此开创了微软
-
1977 年Bill Gates 开发FAT 管理磁盘
-
QDOS 的成功在于 以CP/M 为基础将BASIC 和FAT 包含了进来(文件管理和编程环境… 都是用户关心的!)
-
1980 年IBM 想和Digital Research 协议授权使用CP/M ,但没有达成,转向和微软合作;1981 微软买下QDOS ,改名为MS-DOS(Disk OS) ,和IBM PC
从MS-DOS 到Windows
MS-DOS 的磁盘、文件、命令让用方便,但似乎可以更方便
-
1989 年,MS-DOS 4.0 出现,支持了鼠标和键盘,此时微软已经决定要放弃MS-DOS
-
不久后Windows 3.0 大获成功
-
后来就是一发不可收拾了,95 ,XP ,Vista ,Win 7 ,Win 8 , Win 10...
-
文件、开发环境、图形界面对于OS的重要性
还要说一说Mac OS 与iOS
1984 年,苹果推出PC( 麦金塔机,Macintosh) ,简称Mac 机,其处理器使用IBM 、Intel 或AMD等,核心在于屏幕、能耗等
-
与Mac 机一起发布System X 系统,一上来就是GUI
-
在System 7 以后改名为Mac OS 8
-
2007 年发布iOS ,核心仍然是Mac OS ,专为移动设备,如手势等
-
Mac OS 核心是UNIX ,专注于界面、文件、媒体等和用户有关的内容
CP/M -> QDOS-> MS-DOS-> Windows
Unix -> System -> Mac OS -> iOS
总结历史: 历史又要开始让人明智了
核心思想、技术
-
仍然是程序执行、多进程、程序执行带动其他设备使用的基本结构
-
但用户的使用感觉倍加重视了:各种文件、编程环境、图形界面
软件实现
-
如何通过文件存储代码、执行代码、操作屏幕…
-
如何让文件和操作变成图标、点击或触碰…
计算机硬件、操作系统、启动、接口…
温故:操作系统要管理硬件,方便我们使用…
温故: 设备 管理的表格进行了初始化;等待用户的 设备 使用( 系统调用) ,将其展开成 设备 细节
void main(void)
{ mem_init();
trap_init();
……
sched_init();
buffer_init();
hd_init();
floppy_init();
sti();
move_to_user_mode();
if(!fork()){init();}
}
可以知新了…
要管理硬件资源