計算機速成課 第十八集 操作系統

1. 操作系統誕生背景

  • 1940,1950 年代的電腦,每次只能運行一個程序,程序員在打孔卡紙上寫程序
  • 然後拿到一個計算機房間,交給操作員,計算機空閒下來的時候,操作員會把程序放入,然後運行,輸出結果,停機
  • 運行一個程序通常需要幾個小時,幾天甚至幾周
  • 以前計算機慢的時候,手動放程序的做法可以接受,但是隨着計算機越來越快,放程序的時間比運行程序的時間更長
  • 我們需要一種方式,讓計算機自動運作,於是「操作系統」誕生了。

2. 操作系統介紹

  • 簡稱 OS,其實也是程序
  • 有操作硬件的特殊權限,可以運行和管理其他程序
  • 一般是開機第一個啓動的程序。其他所有程序都由操作系統啓動
  • 開始於 1950 年代
  • 第一個操作系統,加強了程序加載方式(指批處理)。
  • 批處理(batch processing):之前只能一次給一個程序,現在可以一次多個。當計算機運行完一個程序,會自動運行下一個程序,這樣就不會浪費時間,找下一個程序的紙卡
  • 外部設備:和計算機連着的其他設備。(因此程序員有的時候需要了解設備的硬件細節,一般是閱讀手冊來寫代碼)。現在是「即插即用」,以前是「祈禱能用」
  • 爲了程序員寫軟件更容易,操作系統充當軟件和硬件之間的媒介:提供 API 來抽象硬件,叫「設備驅動程序」,程序員可以用標準化機制和輸入輸出硬件交互

3. 1950年代尾聲

  • 這個時候,電腦已經非常快,經常是處理器閒着,等着外部慢的機械設備,比如打印機和讀卡器

4. 1950 年代後期,

  • Atlas:世界上第一臺超級計算機,由英國曼徹斯特大學開始研發
  • 1962 年,出現 Atlas Supervisor
    • 不僅可以自動加載程序
    • 還可以在單個 CPU 上同時運行幾個程序(通過調度來實現這一點)
    • 最終達到:多個程序可以同時運行,在單個 CPU 上共享時間,這種能力被稱爲「多任務處理」multitasking
    • 給每個程序分配專屬內容,
      • 解決程序切換的時候的數據丟失問題
      • 隔離後更好,可以實現「內存保護」,同時可以防止病毒程序
    • 虛擬內存
      • 程序可以假定內存總是從地址 0 開始
      • 內存地址「虛擬化」
      • 實際物理位置被操作系統隱藏和抽象了
      • 動態內存分配:
        • 使程序的內存大小可以靈活增減
        • 簡化了一切,爲操作系統同時運行多個程序提供了極大的靈活性

分時操作系統

  • 每個用戶只能用一小部分處理器、內存等
  • 最有影響力的是 Multics :多任務信息與計算系統,
    • 於 1969 年發佈
    • 是第一個從設計時就考慮到安全的操作系統
    • 複雜度超過當時的平均水準
    • 操作系統佔 1MB 內存,這在當時很多,可能是內存的一半
    • 被 Unix 的設計者稱爲沒有獲得商業成功是因爲「過度設計」,功能太多

Unix

  • 操作系統分爲兩部分
    • 1 操作系統的核心功能
      • 內核:內存管理、多任務、輸入/輸出處理
    • 2 一堆有用的工具
  • 由於其具有的簡單性,可以在更便宜更多的硬件上運行
  • 1970-1980 年代最流行的操作系統之一

Windows

  • 風行開始於 90 年代
  • 磁盤操作系統(MS-DOS)只有 160KB,一張磁盤就可以容納
  • 1981 年發佈,成爲早起家用電腦最受環境的操作系統
  • 雖然系統崩潰很討厭但還可以接受,因爲用戶可以重啓
  • 1985年,發佈早期 Windows,也會出現藍屏
    • 藍屏代表程序崩潰的非常嚴重,把系統也帶崩潰了
    • 新版的 Windows 有更好的保護,不會經常崩潰

今日操作系統

  • Mac OS, Windows, Linux, iOS, Android
  • 雖然一般只有一個用戶,就是正在使用設備的你,但是操作系統依然有「多任務」、「虛擬內存」、「內存保護」,因此可以同時運行多個程序
  • 一邊在瀏覽器看視頻,一邊使用修圖軟件,播放音樂等
  • 如果沒有操作系統這幾十年的發展,這些都不可能

2022.4.23

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章