计算机是如何工作的
从白纸到图灵机
计算机是如何工作的说到底就是一个计算模型
1936年,英国数学家A.C.图灵提出了一种模型,通过纸带模拟人使用笔在纸上进行计算。即在纸带上读入3,在纸带上读入2,在纸带上读入 +,控制器查表知道是5,接着在纸带上写下5;此时图灵机只能进行加法运算。

从图灵机到通用图灵机
只能进行加法运算的计算模型显然是不够的,接着人们将控制器进行更改,当遇到加法操作时就改为加法控制器,当遇到乘法操作时就将控制器更改为乘法控制器。此时的通用图灵机就可以根据不同的运算方式来进行不同的计算控制,实现了通用的计算模型。
从通用图灵机到计算机
冯·诺依曼首次提出存储程序的思想。
一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构
计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备。
存储程序计算机在体系结构上主要特点有:1.以运算单元为中心;2.采用存储程序原理;3.存储器是按地址访问、线性编址的空间;3.控制流由指令流产生;4.指令由操作码和地址码组成;6.数据以二进制编码;
计算机在程序的控制下一步一步的从存储器中取出指令并进行处理,从此计算机工作的原理变成了取指执行
什么是操作系统
维基百科的解释
操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
简而言之
键盘能输入,鼠标能点,显示器能看。人们可以在其上面进行听音乐、看电影、浏览网站等一系列人机交互动作的东西。
将操作系统立起来
操作系统是工作在应用程序与计算机硬件之间的一层软件。向上给应用程序提供接口,向下管理各种硬件。
操作系统都管理那些硬件
CPU管理 内存管理 终端管理 磁盘管理 文件管理 网络管理 电源管理 多核管理
操作系统的历史
多进程图谱主线
1955-1965 年 IBM 7094
计算机使用只专注于科学计算
批处理操作系统
典型代表:IBSYS 监控系统
1965-1980 从IBSYS 到 OS/360
计算机开始进入多个行业,开始让计算机做很多事,往往既有IO任务,又有计算任务,如果按照以往的批处理系统,在执行IO任务的时候cup就要停下来。你让这么重要的计算机停一会?你觉得合适嘛?
多进程结构和进程管理概念萌芽
所以这个时候就出现了 多道程序 作业间的切换 和 调度 成为了核心
1965-1980 从OS/360到MULTICS
从OS/360到MULTICS并没有本质的区别,核心同样都是任务切换多道处理,但是增加了分时系统的概念
此时OS/360操作系统已经可以同时执行多个程序但是进程的切换是 在执行不下去的情况才切换,所以就会出现个别程序得不到cpu调度始终无法得到执行的情况,始终等待老倒霉蛋了!
所以就进行优化出现了分时系统的概念,cpu根据时间定期的切换,每个进程都一段一段的向前推进。
从此多进程的结构更加的清晰
1980-1990 MULTICS 到 UNIX
小型化计算机出现
UNIX是一个简化的MULTICS,核心概念差不多,同样还是任务切换 分时系统,但是更加的灵活和成功
Ken Thompson 和 Dennis Ritchie于1969年在贝尔实验室开发 后来重新用c语言进行编写
他们两个人是唯一通过做出系统而获得图灵奖的人 同时c语言同样是他们创造的
1990-2000从UNIX到Linux
个人计算机开始普及,很多人开始使用计算机
1987年 Andrew Tanenbaum 发布了MINX(非常类似UNIX) 用于教学
Linus Torvalds 在360sx 兼容微机上学习 MINIX ,并作出小Linux 并于 1991年发布
1994年 Linux 1.0 采用GPL 协议发布
1998年以后,互联网世界里展开了一场历史性的Linux的产业化运动
IBSYS - > OS/360 - > MULTICS -> Unix -> Linux
总结历史
多进程结构是操作系统的基本图谱
- 用户通过执行程序来使用计算机-> 吻合冯诺依曼思想
- 作为管理者,操作系统要让多个程序合理推进 -> 进程管理
- 多进程推进时需要内存复用等等
文件操作视图辅线
PC与DOS
IBM推出 PC机后,操作系统出现了百家争鸣的局面
1975年 Digital Research 这家公司 为 Altair8800 开发了操作系统 CP/M
CP/M : 写命令让用户使用,执行命令对应的程序,为单任务执行
1980年 出现了 8080 16位芯片,从 CP/M 的基础上开发了 QDOS(Quick and Dirty OS)
从QDOS到 MS-DOS
Bill Gates 进入历史舞台…..
1975年,22岁的 Paul Allen 和 20 岁的 Bill Gates 为 Altair8800 开发了 BASIC 解释器,据此开创了微软
1977年,Bill Gates 开发了 FAT磁盘管理系统
QDOS 的成功在于 以 CP/M 为基础,将BASIC and 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 大获成功 (乔布斯直呼内行hhh)
然后就一发不可收拾,95 、xp、Vista、Win7、Win8…
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
总结历史
- 仍然是程序执行,多进程,程序执行带动其他设备使用的基本结构
- 但用户的体验感更受重视:各种文件、编程环境、图形界面
至此操作系统两大基本主体伴随着操作系统历史更加的清晰!
参考资料