使用者程式讀盤請求的整個過程

2021-09-05 13:12:27 字數 2469 閱讀 4698

自行獲取

在傳統的作業系統中,設流式檔案

yourfile

已經開啟,且讀寫指標

offset

移至2700

位元組處,根據要求說明系統完成使用者程式讀盤請求

read(

fd, 500, 100)

的整個過程

滿足如下條件:

ø基於符號檔案目錄與索引結點的目錄組織方式 ø

物理檔案組織採用混合索引方式 a.

直接定址可定址

10個物理塊 b.

一級索引可索引

128個物理塊 c.

yourfile

檔案體存放於從

200號開始的連續物理塊中 ø

檔案的邏輯塊長等於物理塊長,均為

512位元組 ø

讀操作通過單緩衝進行 ø

本次是第一次讀操作

命令:read(fd,500,100)

(1)fd:使用open開啟檔案後,在使用者和檔案間建立了一條通路,並返回的乙個檔案描述符。

對寫而言,使用者所傳送的資訊的源位址

(3)「100」使用者讀取的位元組數

1、請求者程序從使用者空間進入核態

2、裝置無關性軟體執行 3

、磁碟驅動程序執行 4

、cpu

響應通道發來的完成中斷請求 5

、磁碟驅動程序執行

6、請求者程序返回使用者空間

1.1

使用者空間執行

read

函式,準備系統呼叫引數

1.2

通過系統呼叫進入核態

2.1

呼叫邏輯檔案系統求要讀的資料所在的邏輯塊號

(5=[2700/512]

)(十進位制)

2.2

確定youfile

所在的裝置、把邏輯塊號轉換為物理塊號

(5+200

) (十進位制)

2.3

申請分配輸入緩衝區

2.4

把讀操作的引數(檔名、所在的裝置、物理塊號、

緩衝區位址

)通知磁碟驅動程序

2.5

喚醒磁碟驅動程序

2.6

請求者程序阻塞

在執行下面步驟之前,os需要檢查緩衝區是否有已經所查記錄的快取。若有,則將記錄從緩衝區分離出來,送到請求者程序資料區,喚醒請求者程序後,自我阻塞;若無,則執行下列步驟:

3.1

磁碟驅動程序根據讀操作的引數將一維物理塊號轉換為三維實體地址(柱面號、磁軌號、扇區號)(

抽象要求轉化為裝置控制器能夠識別的具體命令,包括位址,讀寫等其他命令)

3.1.1 對請求程序的請求進行合法性進行檢查,例如:你不可能讓乙個印表機來讀取一些資料。

3.1.2 檢查裝置控制器中暫存器引數,來檢查裝置狀態。

3.2

組織通道程式並

向裝置控制器傳送必要引數(如:波特率、奇偶校驗方式等,停止位數及資料位元組長度等)

3.3

啟動通道與裝置(

準備i/o操作)

3.4

磁碟驅動程序自行阻塞(如果裝置請求佇列無其它請求)

4.1

正在執行其它程序的

cpu響應裝置完成中斷

4.2

通過外中斷進入核態 (

在把控制權轉交給中斷處理程式之前,需要保護被中斷程序的cpu環境,這由硬體實現,其中有:把處理機狀態字psw和儲存在程式計數器pc中下一條指令的位址儲存在

中斷保留區(棧)

中。然後把被中斷程序的cpu現場資訊,即將包括所有cpu暫存器的(如通用暫存器、段暫存器等)內容都壓入中斷棧中。)

4.3

再次喚醒磁碟驅動程序(

轉入相應的中斷處理程式——也就是說此i/o中斷處理程式是由裝置驅動程式完成的)

4.4

分析中斷原因,進行磁碟

中斷處理(判斷本次中斷是否正常完成,是正常中斷還是異常結束,若為前者,則做結束處理,若為後者,便根據相關原因做異常處理)

4.5

從中斷返回(

是否返回被中斷的程序取決於是否採用了遮蔽中斷:

a.若採用了,則返回到被中斷的程序

b.若是採用了巢狀中斷方式,如果沒有優先順序更高的中斷請求i/o,在完成中斷後,仍要返回被中斷的程序;

如果有,則系統將優先處理優先順序更高的中斷請求。 )

5.1

裝置驅動程序把輸入緩衝區中的資料分離出來併發送到請求者程序的資料區,即從緩衝區內偏移位址

【 140 】

(十進位制)(

)讀100

位元組送使用者資料區,修改讀寫指標

offset

為 【 2800 】

(十進位制)

——2700+100

5.2

喚醒請求者程序,磁碟驅動程序自行阻塞

6.1

釋放輸入緩衝區

6.2

請求者返回使用者態

HTTP請求的整個過程

這是這兩天面試的時候的一道面試題,當時答得不好,現在總結了一下。一次完整的 http 請求包括一下幾個步驟 這僅是個人的理解 dns解析 tcp 連線 瀏覽器傳送http請求 伺服器響應請求 瀏覽器解析html檔案 瀏覽器布局渲染 1.dns網域名稱解析。1 首先會在瀏覽器dns快取中搜尋是否有對應...

網頁http請求的整個過程

這是這兩天面試的時候的一道面試題,當時答得不好,現在總結了一下。一次完整的 http 請求包括一下幾個步驟 這僅是個人的理解 dns解析 tcp 連線 瀏覽器傳送http請求 伺服器響應請求 瀏覽器解析html檔案 瀏覽器布局渲染 1.dns網域名稱解析。1 首先會在瀏覽器dns快取中搜尋是否有對應...

瀏覽器發起請求的整個過程

網域名稱解析 tcp三次握手 ip層發起http請求 伺服器響應http請求,返回結果 瀏覽器解析html,請求具體的資源檔案 瀏覽器對頁面進行渲染 dns 是網際網路使用的命名系統,採用客戶 伺服器模型,協議是udp 協議,使用53號埠 先找自身快取 找到根網域名稱伺服器層層向下查詢,找到後層層返...