操作系統學習筆記3 | 操作系統簡史

讀史使人明智。通過操作系統的歷史,了解操作系統是怎麼編出來的,為什麼要有那些模塊,哪些東西才是核心。


參考資料:


1. 多進程發展漫步

由於裸機使用十分不便,操作系統自計算機誕生就開始出現了。

  • 1955年~1965年,上古神機 IBM7094 與批處理操作系統 IBSYS

    image

    • 一個接一個的執行Job,一旦某個Job執行結束或者執行出錯,就去執行下一個Job;
    • 這時配置的批操作系統更像一個監控程序,用於順序切換任務,並將出錯信息輸出到磁帶;
  • 1965年~1980年,出現操作系統 OS/360(360表示全方位服務),計算機進入多個行業

    image

    • 很多故事都是從這個操作系統發展的

    • 多任務的需求催生了 多道程序 multiprogramming 的誕生

    • OS/360 的設計中開始出現多進程結構和進程管理的相似概念

      多進程結構是操作系統最核心的圖像。

  • 1965年~1980年,MULTICS(來自MIT),計算機進入多個行業,每台計算機的使用人數增加

    image

    • 引入 分時系統timesharing 的概念
    • 給計算機的每個用戶一定的時間來執行,定期進行切換,這樣每個人的任務都是一段段向前推進的,不會出現擱置太久情況
    • 分時 主要用於server,而 PC 中也有這樣的思想
  • 1980年~1990年,UNIX,小型化計算機開始出現,越來越多的個人可以使用計算機

    image

    • UNIX是一個簡化的MULTICS,核心概念差不多,但更靈活和成功
  • 1990年~2000年,Linux,個人計算機開始普及,很多人可以用計算機並接觸Unix

    image

2. 總結

從 IBSYS -> OS\360 -> MULTICS -> Unix -> Linux,核心其實是多進程管理的思想。

  • 核心思想、技術:
    • 馮·諾依曼思想:用戶通過執行程序來使用計算機;
    • 進程管理:要讓多個程序合理推進
    • 多進程、多用戶推進任務需考慮內存復用
  • 軟件實現:
    • 對於操作系統,真正實現它很重要
    • 需要合作、需要群體協作。
  • 學習重點:
    • 掌握操作系統的多進程圖譜並實現

3. 文件系統發展漫步

歷史總是多線條的,下面從另一條再看歷史。

  • PC與DOS

    • PC的推廣更是推動了計算機及操作系統的發展,1975年 Digital Research 為 Altair 8800 開發了操作系統 CP/M

    • CP/M 為用戶提供了命令,能夠執行命令對應的程序,並且給用戶通過命令行操作文件的可能。

    • 1980年,CP/M 的基礎上開發 QDOS

      這裡 QDOS 意指 Quick and Dirty OS,還不是 Disk Operation System

      如果QDOS繼續發展,可能沒有Bill Gates的故事。

    • image

  • 從QDOS到MS-DOS

    • 1975年,BASIC語言解釋器,後續磁盤文件管理系統 FAT

    • 而編程環境和文件管理,都是用戶實在關心的

    • QDOS 成功在把 FAT 和 BASIC解釋器 包含進來

    • 改名MS-DOS 和 IBM PC 一起出售

      Disk OS.

      微軟的第一個操作系統即MS-DOS。

    image.png

  • 從 MS-DOS 到 Windows

    • 計算機開始商業化,通過文件、成熟的開發環境、圖形界面使用計算機更加方便。
    • image.png
  • Mac OS && iOS

    • 思路與 Windows 相似,更關注人機交互的界面、文件、媒體。
    • image.png

4. 再總結

從CP/M -> QDOS -> MS-DOS -> Windows 以及 Unix -> System -> Mac OS -> iOS:

  • 核心思想、技術:

    • 仍然以多進程管理為基本結構

    • 加入了圖形界面、編程環境和文件管理等內容,更重視用戶的體驗

  • 軟件實現:

    • 如何通過文件存儲代碼、執行代碼、操作屏幕
    • 如何讓文件和操作變成圖標,點擊或者觸碰?
  • 學習重點:

    • 掌握、實現操作系統的多進程圖譜
    • 掌握、實現操作系統的文件操作視圖
  • 多進程(CPU與內存)與文件(IO、磁盤、文件)是本課程剩餘內容的兩大主題

    image

5. 後面的學習

接下來具體就會

  • 多進程圖譜

    管理進程:fork

    • CPU管理

    • 內存管理

      地址,為什麼*p=7可以訪問內存。

  • 文件視圖

    • 磁盤管理

    • 終端設備管理

      操作設備也是操作文件 ,比如:

      # 操作顯示器
      dev tty0
      

image