1 / 37

第 7 章

第 7 章. 磁碟作業與檔案系統. 本章提要. 檔案與檔案系統 代碼式的檔案管理 FILE HANDLE MS-DOS 的檔案處理功能呼叫 檔案處理的實例 程式前置區 PSP 與命令參數 MS-DOS 樹狀檔案系統支援 DUMP SECTOR:int 25h、int 26h. 檔案與檔案系統. 檔案是資料的集合, 通常是存於磁片或磁帶裡。由於檔案不只一個, 因此必須把檔案做有條理的組織, 檔案組織與管理的規則叫做 檔案系統. FILE HANDLE 的觀念.

anisa
Download Presentation

第 7 章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 7 章 磁碟作業與檔案系統

  2. 本章提要 • 檔案與檔案系統 • 代碼式的檔案管理 FILE HANDLE • MS-DOS 的檔案處理功能呼叫 • 檔案處理的實例 • 程式前置區 PSP 與命令參數 • MS-DOS 樹狀檔案系統支援 • DUMP SECTOR:int 25h、int 26h

  3. 檔案與檔案系統 • 檔案是資料的集合, 通常是存於磁片或磁帶裡。由於檔案不只一個, 因此必須把檔案做有條理的組織, 檔案組織與管理的規則叫做檔案系統

  4. FILE HANDLE 的觀念 • 這是來自 Unix File Descriptor 的觀念。當我們 OPEN 或 CREATE 一個檔案時, DOS 就給予此檔案一個號碼, 凡此以後直到檔案 CLOSE 為止, 我們就不直接提到檔名, 而用 DOS 所給的號碼來代表檔案。這種用以代表檔案的號碼, 就叫做檔案掛號碼或檔案代碼 (FILE HANDLE)

  5. 周邊設備檔 Device file

  6. 周邊設備檔的 HANDLE 0000H~0004H

  7. 檔案的結構 • 整個檔案就是一個一個的字元排列而成, 然後用一個讀寫指位器 (R/W Pointer) 指向讀寫位置, 讀寫動作是以 BYTE 為單位:

  8. 檔案的屬性 • 檔案可分成很多種類, MS-DOS 以一個叫 attribute (屬性) 的 byte 來記錄檔案的種類, 此 byte 的每一 bit 代表一種檔案屬性, 建立新檔時要指定其屬性:

  9. 檔案處理的功能呼叫 – 3CH

  10. 檔案處理的功能呼叫 – 3DH

  11. 設定檔案的開啟模式 • BIT 2~0:

  12. 檔案處理的功能呼叫 – 3FH

  13. READ 或 WRITE 資料的情形

  14. 檔案處理的功能呼叫 – 42H

  15. 以 seek來移動讀寫指位器的情形

  16. 程式載入的情形

  17. 認識 PSP • PSP 是使用者與系統溝通的重要資訊區。當程式載入執行之初, DOS 會主動的與使用者程式做一些必要而基本的訊息交換。DOS 這些必要訊息的交換便是經由 PSP 來達成的

  18. PSP 的格式

  19. PSP 的格式

  20. PSP 的 3 個區域 • 00H ~ 5BH:相關資訊及位址區 • 5CH ~ 7FH:FCB 使用區 • 80H ~ FFH:DTA 或參數區

  21. 參數區與 DTA:80H ~ FFH • 鍵入這樣的命令: • 在命令執行之初, DOS 會在 PSP 的 80h ~ ffh 區間填入:

  22. 與樹狀目錄有關的呼叫

  23. 搜尋檔案

  24. DTA 的問題 • 最初 DOS 是把命令後的參數放在 PSP 的 DTA 內, 然而每次 4eh、4fh 呼叫搜尋到檔案時, 也會把檔案的相關資料放在 DTA:

  25. 設定 DTA

  26. work 工作區的資料結構 • 因 MS-DOS 徑名最長為 64 bytes, 所以 work 以每 64 bytes 為一單位: 

  27. work 工作區的資料結構 • 搜尋完所有的子目錄後, work 工作區就變成:

  28. work 工作區的資料結構 • 將 work 區設在程式下方的空區:

  29. 自我呼叫的副程式 – search

  30. DUMP SECTOR:int 25h、int 26h • Int 25h 與 int 26h 是一對專門用來讀寫磁區的中斷系統呼叫。使用時, 各暫存器之設定格式如下: • al:指定所欲讀寫之磁碟機 • ds:bx:指向 DTA 的起始位址 • cx:指定所欲讀寫的磁區數 • dx:指定讀寫之起始磁區號碼

  31. DUMP SECTOR:int 25h、int 26h

  32. 實例 SECDUMP

  33. 實例 SECDUMP

  34. 實例 SECDUMP

  35. 實例 SECDUMP

  36. 實例 SECDUMP

  37. 實例 SECDUMP 的執行結果

More Related