1. 程式人生 > >2018-2019-1 20165231 《資訊安全系統設計基礎》第六週學習總結

2018-2019-1 20165231 《資訊安全系統設計基礎》第六週學習總結

教材學習內容總結

系統級 I/O

Unix I/O

  • 所有的I/O裝置都被模型化為檔案,而所有的輸入和輸出都被當做對相應檔案的讀和寫來執行。這種將這杯優雅地對映為檔案的方式,允許Linux核心引出一個簡單、低階的應用介面,稱為Unix I/O.且所有的輸入與輸出都可以用一種統一且一致方式來執行:開啟檔案Linux Shell改變當前檔案位置讀寫檔案關閉檔案

檔案

檔案型別:

  • 普通檔案:包含任意資料。
  • 目錄:包含一組連結的檔案,其中每個連結都將一個檔名對映到一個檔案,這個檔案可能是另一個目錄。
  • 套接字:用來與另一個程序進行跨網路通訊的檔案。

  • Linux目錄層次
    Linux目錄層次

開啟和關閉檔案

flags引數指明瞭程序的打算如何訪問這個檔案:

  • O_RDONLY:只讀。
  • O_WRONLY:只寫。
  • O_RDWR:可讀可寫。
  • O_CREAT:如果檔案不存在就建立他的截斷的空檔案。
  • O_TRUNC:如果檔案存在就截斷。
  • O_APPEND:每次寫操作前,設定檔案位置到檔案結尾處。

訪問許可權位:

讀和寫檔案

在某些情況下,read和write傳送的位元組比應用程式要求的要少。這些不足值不表示有錯誤。出現這樣的情況:

  • 讀時遇到EOF。
  • 從終端讀文字行。
  • 讀和寫網路套接字。

    檔案共享

    核心用三個相關的資料結構來表示開啟的檔案:
  • 描述符表
  • 檔案表
  • v-node表

典型的開啟檔案的核心資料結構,沒有共享:

檔案共享:

子程序繼承父程序的開啟檔案:

I/O 重定向

Linux shell提供了I/O重定向的操作符:ls > foo.txt

上週考試錯題總結

  • 錯題1:
    下面說法正確的是()
    A
    .
    CPU通過記憶體對映I/O向I/O裝置發命令
    B
    .
    DMA傳送不需要CPU的干涉
    C
    .
    SSD是一種基於快閃記憶體或Flash的儲存技術
    D
    .
    邏輯磁碟塊的邏輯塊號可以翻譯成一個(盤面,磁軌,扇區 )三元組。
    答案:A B C D
  • 錯題2:
    有關磁碟操作,說法正確的是()
    A
    .
    對磁碟扇區的訪問時間包括三個部分中,傳送時間最小。
    B
    .
    磁碟以位元組為單位讀寫資料
    C
    .
    磁碟以扇區為單位讀寫資料
    D
    .
    讀寫頭總處於同一柱面
    答案:A C D