接下來是 100 天當中的第四部分 Linux 作業系統。剩下的幾天會做這階段的筆記。
作業系統是控制和管理整個計算機硬體和軟體資源、實現資源分配和任務調配、為系統用戶以及其他軟體提供接口和環境的程序的集合。
在沒有作業系統的年代,人們先把程序紙帶或卡片裝上計算機,啟動輸入機把程序送入計算機,通過控制台開關啟動程序運行。當程序執行完畢,打印機輸出計算的結果,卸下並取走紙帶。第二個用戶上機,重複同樣的步驟。在整個過程中用戶獨占機器,CPU 等待手工操作,資源利用率極低。
啟動計算機上的一個監督程序,在監督程序的控制下,計算機能夠自動的、成批的處理一個或多個用戶的作業。完成一批作業後,監督程度又從輸入機讀取作業存入磁帶機。按照上面的步驟重複處理任務。監督程序不停處理各個作業,使作業的自動轉接,減少作業的建立和手工操作的時間,提高計算機資源的利用。批處理系統可以分為單道批處理系統、多道批處理系統、聯機批處理系統、脫機批處理系統。
分時系統將處理器的運行時間分成很短的時間片,按時間片輪流把處理機分配給各個計算機作業使用。若某個作業在分配的時間片內不能完成計算,則該作業暫時中斷,把處理機讓給另一個作業使用,等待下一輪調度時再繼續運行。計算機速度很快,作業運行輪轉很快。每個用戶可以通過自己的終端向系統發出各種操作控制命令,在充分的人機交互情況下,完成作業的運行。為了解決分時系統不能及時響應用戶指令的情況,出現能夠在嚴格的時間範圍內完成事件處理,即時響應隨機外部事件的即時系統。
即時系統最大的特色就是即時性,如果有一個任務需要執行,即時系統會在短時間內執行該任務,不會有較長的延時。這種特性保證了各個任務的即時執行。
Linux 是一個通用作業系統。作業系統要負責任務調度、內存分配、處理外圍設備 I/O 等操作。作業系統通常由內核運行其他程序,管理磁盤、打印機等硬體設備的核心程序和系統程序設備驅動、底層庫、shell、服務程序等兩部分組成。
Linux 內核是芬蘭人 Linus Torvalds 開發的,於 1991 年 9 月發布。而 Linux 作業系統作為 Internet 時代的產物,它是由全世界許多開發者共同合作開發的,是一個自由的作業系統。