第十章 系統級I/O
Unix/ I/O:
這種將設備優雅地映射為文件的方式,允許Linux內核引出一個簡單、低級的應用接口,成為Unix I/O,這使得所有的輸入和輸出都能以一種統一且一致的方式來執行:
1)打開文件
2)Linux shell創建的每個進程開始時都有三個打開的文件:
標準輸入、標準輸出、標準錯誤
3)改變當前的文件位置(從文件開頭起始的字節偏移量)
4)讀寫文件
5)關閉文件
文件:
普通文件:包含任意數據,但是應用程序常常要區分文本文件和二進制文件。
目錄:一組文件鏈接的集合,每個鏈接對應一個文件,每個目錄至少包含兩個鏈接,一個是“.”對應當前目錄自身的鏈接,一個是“..”對應上級父目錄的鏈接。
套接字:用來與另一個進程進行跨網絡通信
共享文件:
內核用三個數據結構來表示打開的文件:
描述符表:每個進程都擁有一個獨立的描述符表, 它的表項是由該進程打開的描述符來索引的。
文件表:打開文件的集合由該表來維護,所有進程共享該表,文件表有個表項,它是由三個部分組成,分別是:該文件的位置,描述符表的應用計數,和v-node表的表項指針。
v-node表:所有進程共享該表
第十章 系統級I/O
相關推薦
第十章 系統級I/O
程序 描述 個數 方式 網絡 文件鏈接 允許 source linu Unix/ I/O: 這種將設備優雅地映射為文件的方式,允許Linux內核引出一個簡單、低級的應用接口,成為Unix I/O,這使得所有的輸入和輸出都能以一種統一且一致的方式來執行: 1)打開文件 2)L
深入理解計算機系統 第十章 系統級I/O
關於 內核 檢索 執行 循環 讀取 當前 讀寫 原因 很多高級語言都提供了執行 I/O 的較高級別的函數。為什麽我們還要學習 Unix I/O? 原因:1、由於 I/O 和其他系統概念之間有循環依賴關系,故了解 Unix I/O 將幫助我們理解其他的系統概念 2、有些特
Java網路程式設計——第十章 非阻塞I/O
使用非阻塞IO方式實現chargen收發協議 客戶端 import java.io.IOException; import java.net.InetSocketAddress; import java.net.SocketAddress; import java.nio.ByteBuffer; imp
操作系統——第五章 輸入輸出(I/O)管理
image 就是 輸出 nbsp 輸入輸出 輸入 dct alt 技術 這就是SDT表和DCT表 操作系統——第五章 輸入輸出(I/O)管理
第18章、java I/O系統
擴充套件內容: 1、uml常用線的含義 聚合、組合、泛化、實現、依賴、關聯 http://blog.csdn.net/jianfpeng241241/article/details/49617449 2、策略模式 http://blog.csdn.net/hguisu/article/details/7558
系統級I/O
讀取 基本操作 文章 src 數據讀寫 fcm 文件名 創建 eat 一、UNIX I/O 在UNIX系統中有一個說法,一切皆文件。所有的I/O設備,如網絡、磁盤都被模型化為文件,而所有的輸入和輸出都被當做對相應文件的讀和寫來執行。這種將設備映射為文件的方式,允許
Unix環境高級編程(十五)高級I/O
結構 truct 分享圖片 描述符 %d 強制 ring 用法 cep 1、非阻塞I/O 對低速設備的I/O操作可能會使進程永久阻塞,這類系統調用主要有如下情況:(1)如果數據並不存在,則讀文件可能會使調用者永遠阻塞(例如讀管道、終端設備和網絡設備)。(2)如果數據不能立
第三章 文件 I/O
符號 current 改變 延遲 比較 修改 esc 第5章 命令 3.1 引言 先說明可用的文件 I/O 函數:open、read、write、close,然後說明不同緩沖區長度對read和write函數的影響。 本章所說的函數經常被稱為不帶緩沖的 I/O (un
系統級I/O與標準I/O--“深入理解計算機系統”
概念簡介 輸入輸出I/O是在主存和外部裝置(如磁碟,網路和終端)之間拷貝資料的過程。 輸入就是從I/O裝置拷貝資料到貯存,而輸出就是從主存拷貝資料到I/O裝置。 所有語言的執行時系統都提供執行I/O的較高級別的工具。例如,ANSI C提供標準I/O庫,包含像pri
【APUE】第3章 文件I/O (3) 文件共享、原子操作、函數dup/dum2、函數sync/fsync/fdatasync、函數fcntl、函數ioct1、目錄/dev/fd 使用說明
src 技術分享 fsync 表之間 eight 進程 所有 修改 數據塊 1、文件共享 UNIX系統支持在不同的進程間共享打開文件。為了說明這種共享,以下介紹內核用於所有I/O的數據結構。 內核使用3種數據結構表示打開文件,它們之間的關系決定了在文件共享方面一個進程對
Java程式設計思想 第十八章:Java I/O
I/O源端與之通訊的接收端:檔案、控制檯、網路連結等。 通訊方式:順序、隨機存取、緩衝、二進位制、按字元、按行、按字等。 1. File類 File(檔案)既能代表一個特定檔名稱,又能代表一個目錄下的一組檔案的名稱。如果是檔案集,可以對此集合呼叫list()方法,
第十章 I/O重定向和管道
0.摘要 概念與技巧 -I/O重定向:概念與原因 -標準輸入,輸出和標準錯誤的定義 -重定向標準I/O到檔案 -使用fork來為其他程式重定向 -管道(Pipe) -建立管道後呼叫fork 相關的系統呼叫與函式 -dup,dup2 -pipe
【軟件構造】第十章 線程和分布式系統
ack pty 安全策略 tput 共享數據 原則 都是 比較 res 本章關註復雜軟件系統的構造。 本章關註復雜軟件系統的構造。 這裏的“復雜”包括三方面: 這裏的“復雜”包括三方面: (1)多線程序 (2)分布式程序 (3) GUI 程序 Outline 並發編程
資料庫系統概論(第十章: 資料庫恢復技術)
第十章 資料庫恢復技術10.1 事務的基本概念10.1.1.事務 1、事務(Transaction)是使用者定義的一個數據庫操作序列,這些操作要麼全做,要麼全不做,是一個不可分割的工作單位。 2、事務和程式是兩個概念 (1)在關係資料庫中,一個事務可
.NET Core實戰專案之CMS 第十章 設計篇-系統開發框架設計
這兩天比較忙,週末也在加班,所以更新的就慢了一點,不過沒關係,今天我們就進行千呼萬喚的系統開發框架的設計。不知道上篇關於架構設計的文章大家有沒有閱讀,如果閱讀後相信一定對架構設計有了更近一部的理解,如果你沒有閱讀也希望大家能好好閱讀一下!其實說白了,架構是為了應對軟體系統複雜度而提出的一個解決方案,架構設計的
作業系統概念(高等教育出版社,第七版)複習——第十章:檔案系統介面
第十章 檔案系統介面 基礎知識 檔案屬性 名稱,識別符號,型別,位置,大小,保護,時間、日期和使用者標誌。 檔案操作 建立檔案、寫檔案、讀檔案、在檔案內重定位、刪除檔案、截短檔案。 每個開啟檔案有如下
資料庫系統概念(機械工業出版社,第六版)複習——第十章:資料儲存和資料存取
第十章 資料儲存和資料存取 檔案組織 每個檔案分成定長的儲存單元,稱作塊(block),塊是儲存分配和資料傳輸的基本單元。 變長記錄 分槽頁結構: 分槽的頁結構一般用於在塊中組織記錄。 分槽頁頁頭,在
網絡操作系統 第十章 DNS服務器管理與配置
ip地址 targe 相互 一次 baidu 頂級 light main 能夠 習題 1、什麽是域名系統?描述域名解析的過程。 1)域名系統:Domain Name System縮寫DNS,是因特網的一項核心服務域名系統作為可以將域名和IP地址相互映射的一個分布式數據庫,能
【作業系統】第十章檔案系統介面
檔案系統由兩個不同部分組成: 一組檔案:檔案用於儲存相關資料 目錄結構:目錄用於組織系統內檔案並提供檔案相關資訊 10.1檔案概念 檔案是記錄在外存上的相關資訊的具有名稱的集合。 從使用者角度而言,檔案是邏輯外存的最小分配單元,即除非資料在
作業系統概念(第十章) 檔案系統介面
檔案概念 檔案是記錄在外存上得相關資訊的具有名稱的集合。其具有連續的邏輯地址空間 通常,檔案表示資料和程式。 資料檔案可以包括,數字、字元、字串或二進位制。檔案可以是自由形式,如文字檔案,也可以具有嚴格的格式。 檔案必須具有可以長期資訊儲存的性質