3
后人总是站在前人的肩膀上远眺,人类才得以智慧和进步。

我们(码农)写(复)的(制)业务代码,其实就是调用操作系统所提供的接口,来完成一定的需求。也或许连操作系统层面都没涉及到,仅仅是虚拟机或数据库等中间件提供出来的接口。不管怎样,一天不去了解操作系统,一天就会对操作系统感觉很神秘,以为操作系统只有微软Windows,自己的工作区也只能在Windows下。题外话,我推荐使用deepin操作系统作为自己的工作环境,该系统确实很屌。

第一章 历史

早期的计算机不像现在的个人计算机一样普遍,他可不是一般人能够碰的起。架构还很难使用,除了指令周期并不快外(CPU慢),操作接口也很麻烦! 因为那个时候的输入设备只有卡片阅读器,输出设备只有打印机,用户也无法与操作系统互动(多道批处理操作系统)。

1960年

1960年代初期麻省理工学院(MIT)开发了分时操作系统(Compatible Time-Sharing System,CTSS),它可以让大型主机通过提供多个终端机(Terminal)以接入主机(最大30台),从而利用主机的资源进行运算工作。架构如下:
图片描述

1965年前后,由贝尔实验室(Bell)、麻省理工学院(MIT)及通用电气公司(GE)共同发起Multics的项目,目的让大型主机可以同时提供300台以上终端机使用。参考网站http://www.multicians.org/
1969年:Ken Thompson的小型File Server System,他是Multics项目的成员之一。因为自己需要(为了移植一款叫“太空旅游”的游戏),在妻儿探亲的4个星期内,他用汇编语言(Assembler)写出了一组内核程序,以及一个小的文件系统。该系统就是UNIX的原型。当时Thomepson将Multics庞大的系统简化不少,于是同实验室的朋友都戏称这个系统为Unics.

1970年

1973年:UNIX正式诞生,Ritchie等人以C语言写出第一个正式UNIX内核。
1977年:重要的UNIX分支——BSD诞生。此时AT&T公司对UNIX还是持较开放的态度。这样得以与学术界合作开发,最重要的接触就是与加州伯克利(Berkeley)大学的合作。BSD全称是Berkeley Software Distribution。
BSD是重要的分支,且由Bill Joy开发的,后面Bill Joy和Andy Bechtolsheim等人在1982年成立Sun公司。
1979年:重要的 System V架构与版权声明,在此之前UNIX只能运行在服务器(Server)或是大型工作站(Workstation)。AT&T推出System V第七版UNIX后,就开始支持x86架构的个人计算机。也是这时,AT&T将UNIX的版权收回去了,不可对学生提供源码。

1980年

1980年:基于8086微处理器而设计的单用户操作系统SCP86-DOS (Disk Operating System)
1981年:在微软获取操作系统SCP86-DOS的专利后,将其配备在IBM-PC机上。版本为MS-DOC1.0版,第一个实际应用的16位操作系统。
1983年:苹果公司推出lisa,Apple Lisa是全球首款同时采用图形用户界面(GUI)和鼠标的个人电脑,开发lisa是葱1978年开始,用时5年。Macintosh的前驱。 下图为Apple Lisa
图片描述

1984年:x86架构的Minix操作系统诞生,AndrewTanenbaum(谭宁邦)教授自己手写Minix用于教学。1986年完成,并于次年出版Minix相关书籍。这系统不是完成免费,而是需要通过购买磁盘/磁带才行,虽然不贵,但毕竟不在网上流行,且开发者只有谭宁邦教授,所以该系统就基本止于这。
1984年:GNU项目与FSF基金会成立,由Richard Mathew Stallman(史托曼)成立的。相当有名的程序是C语言编译器 GNU C Compiler,也就是传说中gcc。也就是说之前的C语言编译器都是收费的。当然GNU的项目多的是,如Emacs、GNU C Library(GLIBC)、Bash shell。但这些程序当时还只能运行在UNIX上,直到Linux的出现。
1984年:苹果推出麦金塔(Mac),系统是Macintosh OS (系统 1.0),广告1984。是第一款批量生成带用户界面的个人电脑,屏幕拥有对用户友好的图标。下图为Macintosh 128K
图片描述

1985年:微软的Windows 1.0发布,下图为Windows 1.01的截图
图片描述

1987年:微软发布MS-DOS 3.3版,是非常成熟可靠的DOS版本,微软取得个人操作系统的霸主地位
1988年:图形接口XFree86项目,有鉴于图形用户接口(Graphical User Interface,GUI)的需求。MIT与其他第三方成立了非营利性质的XFree86组织,XFree86是以下的缩写:X Window System + Free + 86

1990年

1991年:芬兰大学生Linus Torvalds在BBS上发布了他的内核程序,用bash,gcc写的内核程序,从其开始了Linux不平凡之路。原文:

Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.
— Linus Torvalds

参考:
《鸟哥的Linux私房菜 基础学习篇第三版》
《操作系统》百度百科http://baike.baidu.com/item/%...
《Apple Lisa》wikipedia https://en.wikipedia.org/wiki...

附录
百度百科拿过来的一张操作系统发展历史,我没具体去考究,可以看出操作系统,真是五花八门。

年份 系统名称
1956年 GM-NAA I/O
1959年 SHARE Operating System
1960年 IBSYS
1961年 CTSSMCP (Burroughs Large Systems)
1962年 GCOS
1964年 EXEC 8OS/360 (宣称)TOPS-10
1965年 Multics (宣称)OS/360 (上市)Tape Operating System (TOS)
1966年 DOS/360 (IBM)MS/8
1967年 ACP (IBM)CP/CMSITSWAITS
1969年 TENEXUnix
1970年 DOS/BATCH 11 (PDP-11)
1971年 OS/8
1972年 MFT (operating system)MVTRDOSSVSVM/CMS
1973年 Alto OSRSX-11DRT-11VME
1974年 MVS (MVS/XA)
1975年 BS2000
1976年 CP/MTOPS-20
1978年 Apple DOS 3.1TripOSVMSLisp Machine (CADR)
1979年 POSNLTSS
1980年 OS-9QDOSSOSXDE (Tajo)Xenix
1981年 MS-DOS
1982年 Commodore DOSSunOS (1.0)Ultrix
1983年 Lisa OSCoherentNovell NetWareProDOS
1984年 Macintosh OS (系统 1.0)MSX-DOSQNXUniCOS
1985年 AmigaOSAtari TOSMIPS OSOberon operating systemMicrosoft Windows 1.0
1986年 AⅨGS-OSHP-UX
1987年 ArthurIRⅨMinixOS/2 (1.0)Microsoft Windows 2.0
1988年 A/UX (苹果电脑)LynxOSMVS/ESAOS/400
1989年 1989年NeXTSTEP (1.0)RISC OSSCO Unix (第三版)
1990年 Amiga OS 2.0BeOS (v1)OSF/1Microsoft Windows 3.0
1991年 SunOS 4.1.xLinux
1992年 386BSD 0.1Amiga OS 3.0Solaris 2.0Microsoft Windows 3.1
1993年 Solaris 2.1Solaris 2.2Solaris 2.3Plan 9FreeBSDNetBSDMicrosoft Windows NT 3.1
1994年 Solaris 2.4
1995年 Solaris 2.5Digital UNⅨOpenBSDOS/390Microsoft Windows 95
1996年 Microsoft Windows95 OSR2(OSR=OEMServicerelease)Microsoft Windows NT 4.0
1997年 Solaris 2.6InfernoMac OS 7.6SkyOS
1998年 Solaris 7Microsoft Windows 98
1999年 AROSMac OS 8Microsoft Windows 98 Second Edition
2000年 Solaris 8AtheOSMac OS 9MorphOSMicrosoft Windows 2000Microsoft Windows MeMac OS X Public Beta
2001年 Mac OS X v10.0 CheetahAmiga OS 4.0Mac OS X v10.1 PumaMicrosoft Windows XPz/OS
2002年 Solaris 9 for SPARCMicrosoft Windows XP 64-bit EditionWindows XP Tablet PC EditionWindows XP Media Center EditionSyllableMac OS X v10.2 Jaguar(美洲虎)(2002年8月23日)
2003年 Solaris 9 for x86Microsoft Windows Server 2003 (2003年3月28日)Microsoft Windows XP 64-bit Edition - 以Microsoft Windows Server 2003为基础,同一天释出。Mac OS X v10.3 Panther(黑豹)(2003年10月24日)
2004年 Microsoft Windows XP Media Center Edition
2005年 Solaris 10Microsoft Windows XP Professional x64 EditionMac OS X v10.4 Tiger(老虎)(2005年4月29日)
2006年 Microsoft Windows Vista
2007年 Mac OS X v10.5 Leopard(美洲豹)(2007年10月26日)
2008年 Ubuntu 8.04 LTSOpenSolaris 08/05Ubuntu 8.10OpenSolaris 08/11Windows Server 2008
2009年 Ubuntu 9.04Mac OS X v10.6 Snow Leopard (雪豹)(2009年8月28日)Windows 7Ubuntu 9.10Chrome OS
2010年 ubuntu 10.04ubuntu 10.10
2011年 Mac OS X v10.7Lion(2011年7月20日)Ubuntu 11.10
2012年 OS X Mountain Lion(Apple已将Mac OS X更名为OS X)Ubuntu 12.04[3] Windows 8
2013年 OS X MavericksWindows8.1
2014年 OS X Yosemite

电脑杂技集团
208 声望32 粉丝

这家伙好像很懂计算机~