注:本文件主要整理了linux下io系統的基本知識,是整理的網易雲課堂的學習筆記,老師講得很不錯,鏈結如下:linux io系統
1.linux作業系統的基本構成
核心:作業系統的核心,負責管理系統的程序、記憶體、裝置驅動程式、檔案和網路系統;控制系統和硬體之間的相互通訊;決定著系統的效能和穩定性。
shell:提供給使用者介面的軟體。
檔案系統、應用程式
1.1 基本術語
1.檔案和檔案系統
檔案:資料或裝置的一種邏輯組織;
檔案系統:檔案間關係管理的一種邏輯組織。
2.程式和程序
程式:計算機執行的指令集合;
程序:程式的乙個執行例項,作業系統資源分配的最小單位。
3.執行緒(輕量級程序)
程式執行的基本單位,乙個程序內部可以有乙個或若干執行緒同時執行。
4.訊號
linux系統中程序通訊的一種技術,非同步程式設計的基礎。
5.客戶端和伺服器
2 啟動流程
晶元和部分外圍電路的初始化
載入核心
載入最小檔案系統
載入硬碟上的根檔案系統
啟動1號程序/sbin/init
bootloader:就是在作業系統核心執行之前執行的一段小程式,主要功能有:初始化硬體裝置、建立記憶體空間的對映圖,從而將系統的軟硬體環境帶到乙個合適的狀態,以便為最終呼叫作業系統核心準備好正確的環境。它是嚴重依賴於硬體,在嵌入式開發中建立乙個通用的bootloader幾乎是不可能的。在linux中稱為grub。
3記憶體管理
3.1 功能
1.程序隔離
保護獨立的程序,防止互相的干涉資料和儲存空間。
2.自動分配和管理
動態的分配,分配對管理員是透明的。
3.支援模組化的程式設計
能夠定義程式模組,並且動態的建立、銷毀模組,改變模組大小。
4.保護和訪問控制
允許一部分記憶體可以由各種使用者以各種方式進行訪問。
5.長期儲存
關電後長時間保護資訊
虛擬定址:
3.2 記憶體管理
3.2.1段頁式記憶體管理
(1)程序在虛擬記憶體中分為**段、資料段和堆疊段;
(2)程序在段中有許多固定大小的塊組成,這些塊稱為頁;
(3)虛擬位址由段號、頁號和頁中偏移量構成;
(4)虛位址和儲存中實位址(實體地址)的動態對映(以頁為單位,一般為4kb);
(5)缺頁:消除了程序全部載入記憶體中、按需調頁。
4.系統呼叫
系統呼叫是指作業系統提供給使用者程式的一組"特殊"介面,使用者程式可以通過這組介面來獲
得作業系統核心提供的特殊服務。
5. linux程序的執行狀態
核心態:程序執行在核心空間;
執行態:程序執行在使用者空間。
6. unix標準
(1)iso c(標準c)
(2)ieee posix:在linux中使用者程式設計介面(api)遵循了unix最流行的應用程式設計介面標準posix標準,這些系統呼叫程式設計介面主要通過c庫(libc)實現的。
作業系統基本知識
1 因為系統資源不足。2 程序執行推進的順序不合適。3 資源分配不當等。如果系統資源充足,程序的資源請求都能夠得到滿足,死鎖出現的可能性就很低,否則就會因爭奪有限的資源而陷入死鎖。其次,程序執行推進順序與速度不同,也可能產生死鎖。1 互斥條件 乙個資源每次只能被乙個程序使用。2 請求與保持條件 乙個...
MAC系統的基本知識
作業系統是執行在計算機硬體裝置之上,應用軟體執行在作業系統之上 應用軟體的本質 1.按照順序呼叫介面 2.應用軟體是執行在作業系統上面的乙個軟體 作業系統的作用 1.管理 用來管理計算機的硬體裝置 2.協調 協調計算機硬體之間和諧工作 3.提供介面 因為我們用01操作硬體很不方便,作業系統提供給人 ...
作業系統基本知識
1 併發 併發指同一時間內同時執行多個程式 並行指同一時間內同時執行多條指令 並行需要硬體支援比如 流水線,多核處理器,分布式作業系統 併發作業系統通過引入程序和執行緒,從而實現併發 2 共享 共享是指系統中的資源可以被多個併發程序共同使用。有兩種共享方式 互斥共享和同時共享。互斥共享的資源稱為臨界...