作業系統——裝置驅動和檔案系統
L26 顯示器
IO裝置:鍵盤和顯示器,磁碟(抽象出一個檔案)
讓外設工作起來,cpu發出指令給顯示卡中的一個暫存器(視訊記憶體),顯示器根據顯示卡中的資訊來讓顯示器工作。所以讓外設工作,只需要向對應的暫存器中傳送指令,完成操作。外設去做對應的工作,外設服務程式執行結束後向cpu傳送一箇中斷,cpu進行中斷處理。
類似於out xxx, al這樣的指令讓外設工作,然後等外設完事後寫中斷處理程式。
向裝置控制器等暫存器寫的過程比較麻煩,為了讓out做的統一,讓使用者使用起來方便,內部隱藏很多細節,形成統一的檔案介面:檔案檢視。
總結:三件事,形成檔案檢視、發出out指令、形成中斷處理
操作外設的程式:
開啟外設檔案(open),不論什麼裝置都是open、read、write、close。區別在檔名,不同的檔名對應不同的裝置。根據裝置檔案找到控制器地址、內容格式等等。
printf記憶體寫到顯示器,fprintf記憶體寫到磁碟
從write開始分支,1是顯示器,
寫裝置驅動:寫出核心out指令,將相應的函式註冊在這些表上,建立dev什麼檔案和登錄檔對上,就行了。
編寫檔案驅動,是一個很重要的技能
L27 鍵盤
cup向外設發指令,原理簡單,細節複雜,統一的檔案檢視,檔名,檔案描述結構。
裝置讀寫後的中斷處理。鍵盤對應的是中斷處理。
如何使用鍵盤?
使用者:敲鍵盤、看結果
OS:“等待”使用者敲鍵盤,敲了就中斷(21號中斷)
處理中斷,根據掃描碼得到ASCII碼,ASCII碼放入緩衝佇列,等著程式去拿資料
L28 生磁碟的使用
原理一樣:檔案檢視、out、中斷,但是比前面顯示器和鍵盤複雜很多。包裝(抽象)層次複雜。
讓磁碟工作起來,就是生磁碟
磁碟結構:盤面、磁軌、扇區、磁頭
磁碟資料訪問的基本單位是大小為512位元組的扇區
扇區的大小是傳輸時間和碎片浪費的折中
磁碟資料讀寫過程:移動磁頭到相應的磁軌上,旋轉磁碟到相應的扇區上,和記憶體快取配合進行讀寫。(控制器—>尋道—>旋轉—>傳輸)
OS的核心就是向控制器中寫柱面、磁頭、扇區、快取位置
out指令寫這些資料,首先要知道這些資料,下面要把這一過程封裝一下
通過盤塊號讀寫磁碟(一層抽象)
磁碟驅動負責從block(一維地址)計算出cyl、head、sec(CHS)
OS內部實現一維地址到三維地址到編址,我們希望相鄰的盤塊可以快速讀出。
L29 從生磁碟到檔案
引出檔案就是熟磁碟了,
L30 檔案使用磁碟的實現
L31目錄與檔案系統
L32 目錄解析程式碼實現
相關文章
- 無作業系統時的裝置驅動和有作業系統時的裝置驅動作業系統
- 作業系統裝置管理作業系統
- 408 知識點筆記——作業系統(檔案系統、裝置管理)筆記作業系統
- 詳解Linux作業系統裝置驅動相容性(轉)Linux作業系統
- 裝置檔案系統教程(轉)
- 在UNIX裸裝置和檔案系統之間移動ORACLEOracle
- 在UNIX裸裝置和檔案系統之間移動ORACLE (轉)Oracle
- 作業系統學習筆記:裝置管理作業系統筆記
- Linux作業系統支援的檔案系統有哪些?Linux作業系統
- 作業系統實驗5 簡易檔案管理系統作業系統
- 樹莓派作業系統安裝和啟動樹莓派作業系統
- 作業系統中檔案系統的實現和分配方式探析(下)作業系統
- 檔案系統&&磁碟管理(六)–swap分割槽、迴環裝置、檔案系統配置檔案fstab
- Linux作業系統檔案系統的桌面應用(轉)Linux作業系統
- 作業系統檔案轉儲成BLOB作業系統
- 作業系統-記憶體、檔案管理作業系統記憶體
- Win10系統安裝驅動怎麼生成cat檔案和簽名Win10
- UNIX根檔案系統和附加檔案系統
- 作業系統(1)——作業系統概述作業系統
- 作業系統(一):作業系統概述作業系統
- XP和WIN7雙系統作業系統安裝教程Win7作業系統
- 檔案和檔案系統
- Linux的input輸入子系統:裝置驅動之按鍵驅動Linux
- 探索作業系統:核心、啟動和系統呼叫的奧秘作業系統
- oracle將控制檔案從裸裝置遷移到檔案系統Oracle
- 作業系統封裝操作作業系統封裝
- truncate一個linux作業系統檔案Linux作業系統
- 作業系統(二):作業系統結構作業系統
- 【作業系統】作業系統綜述(一)作業系統
- Java和作業系統互動細節Java作業系統
- Java 和作業系統互動細節Java作業系統
- 一個檔案系統過濾驅動的demo
- QNX 如何製作目標系統,製作系統映象,燒寫系統檔案
- 【作業系統2】作業系統啟動過程與異常/中斷,系統呼叫作業系統
- window檔案自動化上傳到linux作業系統Linux作業系統
- 利用rman遷移裸裝置資料檔案到檔案系統
- 開發Linux系統裝置驅動程式並不難(轉)Linux
- 作業系統1—作業系統概論(上)作業系統