操作系統學習筆記3 | 操作系統簡史
讀史使人明智。通過操作系統的歷史,了解操作系統是怎麼編出來的,為什麼要有那些模塊,哪些東西才是核心。
參考資料:
- 課程:哈工大操作系統(本部分對應 L6 && L7)
- 實驗:操作系統原理與實踐_Linux – 藍橋雲課 (lanqiao.cn)
- 筆記:操作系統學習導引 · 語雀 (yuque.com)
1. 多進程發展漫步
由於裸機使用十分不便,操作系統自計算機誕生就開始出現了。
-
1955年~1965年,上古神機 IBM7094 與批處理操作系統 IBSYS

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

-
很多故事都是從這個操作系統發展的
-
多任務的需求催生了 多道程序 multiprogramming 的誕生
-
OS/360 的設計中開始出現多進程結構和進程管理的相似概念
多進程結構是操作系統最核心的圖像。
-
-
1965年~1980年,MULTICS(來自MIT),計算機進入多個行業,每台計算機的使用人數增加

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

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

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的故事。
-

-
-
從QDOS到MS-DOS
-
1975年,BASIC語言解釋器,後續磁盤文件管理系統 FAT
-
而編程環境和文件管理,都是用戶實在關心的
-
QDOS 成功在把 FAT 和 BASIC解釋器 包含進來
-
改名MS-DOS 和 IBM PC 一起出售
Disk OS.
微軟的第一個操作系統即MS-DOS。

-
-
從 MS-DOS 到 Windows
- 計算機開始商業化,通過文件、成熟的開發環境、圖形界面使用計算機更加方便。

-
Mac OS && iOS
- 思路與 Windows 相似,更關注人機交互的界面、文件、媒體。

4. 再總結
從CP/M -> QDOS -> MS-DOS -> Windows 以及 Unix -> System -> Mac OS -> iOS:
-
核心思想、技術:
-
仍然以多進程管理為基本結構
-
加入了圖形界面、編程環境和文件管理等內容,更重視用戶的體驗
-
-
軟件實現:
- 如何通過文件存儲代碼、執行代碼、操作屏幕
- 如何讓文件和操作變成圖標,點擊或者觸碰?
-
學習重點:
- 掌握、實現操作系統的多進程圖譜
- 掌握、實現操作系統的文件操作視圖
-
多進程(CPU與內存)與文件(IO、磁盤、文件)是本課程剩餘內容的兩大主題

5. 後面的學習
接下來具體就會
-
多進程圖譜
管理進程:
fork-
CPU管理
-
內存管理
地址,為什麼
*p=7可以訪問內存。
-
-
文件視圖
-
磁盤管理
-
終端設備管理
操作設備也是操作文件 ,比如:
# 操作顯示器 dev tty0
-













