后人总是站在前人的肩膀上远眺,人类才得以智慧和进步。
我们(码农)写(复)的(制)业务代码,其实就是调用操作系统所提供的接口,来完成一定的需求。也或许连操作系统层面都没涉及到,仅仅是虚拟机或数据库等中间件提供出来的接口。不管怎样,一天不去了解操作系统,一天就会对操作系统感觉很神秘,以为操作系统只有微软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 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。