後人老是站在前人的肩膀上遠眺,人類才得以智慧和進步。
咱們(碼農)寫(復)的(制)業務代碼,其實就是調用操做系統所提供的接口,來完成必定的需求。也或許連操做系統層面都沒涉及到,僅僅是虛擬機或數據庫等中間件提供出來的接口。無論怎樣,一天不去了解操做系統,一天就會對操做系統感受很神祕,覺得操做系統只有微軟Windows,本身的工做區也只能在Windows下。題外話,我推薦使用deepin操做系統做爲本身的工做環境,該系統確實很屌。git
早期的計算機不像如今的我的計算機同樣廣泛,他可不是通常人可以碰的起。架構還很難使用,除了指令週期並不快外(CPU慢),操做接口也很麻煩! 由於那個時候的輸入設備只有卡片閱讀器,輸出設備只有打印機,用戶也沒法與操做系統互動(多道批處理操做系統)。shell
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.ubuntu
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的版權收回去了,不可對學生提供源碼。promise
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 Lisabash
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學習
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 |