freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

unixlinux操作系統(tǒng)內(nèi)核結(jié)構(gòu)(留存版)

  

【正文】 O效率 ? 有助于保持文件系統(tǒng)的完整性 缺點(diǎn): ? 數(shù)據(jù)未及時(shí)寫(xiě)盤(pán)而帶來(lái)的風(fēng)險(xiǎn) ? 額外的數(shù)據(jù)拷貝過(guò)程,大量數(shù)據(jù)傳輸時(shí)影響性能 第四章 文件和文件系統(tǒng)的內(nèi)部結(jié)構(gòu) 現(xiàn)代 UNIX的文件系統(tǒng)通??捎扇竽K組成: ①本地文件系統(tǒng)( UFS) ——User File System ② 網(wǎng)絡(luò)文件系統(tǒng)( NFS) ——Network File System ③ 虛擬文件系統(tǒng)( VFS) ——Virtual File System 本地文件系統(tǒng)( UFS) 是 UNIX系統(tǒng)中的基本文件系統(tǒng),它通常固定存放在本地機(jī)器的存貯設(shè)備上,任何一種結(jié)構(gòu)形式的文件系統(tǒng)都必然會(huì)直接或間接地與某個(gè)本地文件系統(tǒng)相聯(lián)系。 直接 0 直接 1 直接 2 直接 11 一次間址 二次間址 三次間址 數(shù)據(jù)塊索引表 一級(jí)間址塊 二級(jí)間址塊 三級(jí)間址塊 數(shù)據(jù)塊 inode表的結(jié)構(gòu) 在內(nèi)存中,活動(dòng) i節(jié)點(diǎn)表類(lèi)似于數(shù)據(jù)緩沖區(qū)高速緩沖中的緩沖池結(jié)構(gòu)。 第一級(jí)存儲(chǔ)結(jié)構(gòu) 引導(dǎo)塊 超級(jí)塊 1號(hào)柱面組塊 2號(hào)柱面組塊 …… n號(hào)柱面組塊 第二級(jí)存儲(chǔ)結(jié)構(gòu) 超級(jí)塊拷貝塊 柱面組信息塊 i節(jié)點(diǎn)表塊 數(shù)據(jù)區(qū) 超級(jí)塊 是由 fs定義的數(shù)據(jù)結(jié)構(gòu),用于存放文件系統(tǒng)的靜態(tài)參數(shù): struct fs { 內(nèi)存超級(jí)塊鏈接指針 超級(jí)塊的磁盤(pán)地址 柱面組塊的位移量 最近修改時(shí)間 文件系統(tǒng)大小 文件系統(tǒng)塊大小 柱面組數(shù) 柱面組大小 片大小 文件系統(tǒng)標(biāo)識(shí)數(shù) 文件系統(tǒng)標(biāo)志區(qū) 最近訪問(wèn)的柱面組號(hào) 確定分配算法的參數(shù) } 超級(jí)塊拷貝塊: 在每個(gè)柱面組塊中存放有一個(gè)超級(jí)塊拷貝塊,其目的是使系統(tǒng)在超級(jí)塊被意外破壞時(shí),能從任何一個(gè)柱面組中進(jìn)行恢復(fù)而不致使整個(gè)文件系統(tǒng)陷入癱瘓。 153 。 變長(zhǎng)目錄結(jié)構(gòu)增加了算法復(fù)雜性和工作量,通常用在硬件性能較高的大型系統(tǒng)中。 /* 目錄項(xiàng) i節(jié)點(diǎn)號(hào) */ short d_reclen。 2 。 引導(dǎo)塊 超級(jí)塊 i節(jié)點(diǎn)表塊 數(shù)據(jù)區(qū) 引導(dǎo)塊: boot程序 超級(jí)塊: fs結(jié)構(gòu),存放文件系統(tǒng)的靜態(tài)參數(shù) i 節(jié)點(diǎn)表塊:磁盤(pán) imon表 數(shù)據(jù)區(qū): 各數(shù)據(jù)塊 ② 、兩級(jí)存儲(chǔ)結(jié)構(gòu)型 這種存儲(chǔ)結(jié)構(gòu)的文件系統(tǒng)由兩級(jí)組成:第一級(jí)由超級(jí)塊和若干個(gè) 柱面組塊 ( cylinder group block)所組成(如果是根文件系統(tǒng)則還包括引導(dǎo)塊)。它包含 12項(xiàng)直接索引表目和 3項(xiàng)間接索引表目。 預(yù)讀的結(jié)果: 放在緩沖池內(nèi),以免需要的時(shí)候再去啟動(dòng)磁盤(pán)讀數(shù)據(jù)塊。這四個(gè)空閑鏈表是: 0空閑緩沖區(qū)鏈表 ——存放文件系統(tǒng)超級(jí)塊 1空閑緩沖區(qū)鏈表 ——存放通常使用的數(shù)據(jù)塊 2空閑緩沖區(qū)鏈表 ——存放延遲寫(xiě)、無(wú)效數(shù)據(jù)或錯(cuò)誤內(nèi)容 3空閑緩沖區(qū)鏈表 ——存放沒(méi)有對(duì)應(yīng)存儲(chǔ)空間的緩沖區(qū)首部 如果某種類(lèi)型的空閑緩沖區(qū)不夠用時(shí),核心也從其它空閑緩沖區(qū)鏈表中取用空閑緩沖區(qū)。 存 儲(chǔ) 區(qū) 因?yàn)榫彌_區(qū)首部與數(shù)據(jù)存儲(chǔ)區(qū)之間有一一對(duì)應(yīng)的關(guān)系,所以通常把兩者統(tǒng)稱(chēng)為緩沖區(qū)。 … readfile (buf, number)。對(duì)其它資源的共享采用的是與之相似的另外幾種方法。 ? 鏈接的是“符號(hào)”而不是文件,因此“符號(hào)”可以是不存在的文件,即無(wú)意義的字符串。 read write open A 進(jìn)程 B 進(jìn)程 C 進(jìn)程 中斷與例外 ? 中斷(要保存上下文) : 來(lái)自 進(jìn)程之外 的事件(外設(shè)、時(shí)鐘等)引起的,發(fā)生在兩條指令執(zhí)行之間,中斷服務(wù)完畢后從下一條指令繼續(xù)執(zhí)行。 機(jī)器類(lèi)型 main(int argc, char *argv[]) { int fdold, fdnew。 exit(1)。 } 在用戶(hù)環(huán)境下,程序的執(zhí)行通常由命令解釋器 shell來(lái)完成,標(biāo)準(zhǔn)的命令格式為: cmd [options] [arguments] shell可識(shí)別的命令類(lèi)型有: 簡(jiǎn)單命令 cat file1 多條命令 who。這些代碼段是 “ 可再入段 ” (或 純代碼段 、可共享代碼段 ),被各用戶(hù)進(jìn)程段共享,為提高運(yùn)行速度,避免頻煩訪問(wèn)磁盤(pán),故常駐內(nèi)存,這些代碼段的集合就是 OS的內(nèi)核 。 struct file *u_ofile[NOFILE] NOFILE 為每個(gè)進(jìn)程最多可同時(shí)打開(kāi)的文件數(shù),這與系統(tǒng)中的進(jìn)程數(shù)和內(nèi)存大小以及交換區(qū)大小等有關(guān)系,一般為 20~100。 1. 可執(zhí)行文件的構(gòu)成: 進(jìn)程是可執(zhí)行文件的一次執(zhí)行實(shí)例,高級(jí)語(yǔ)言程序經(jīng)過(guò)編譯或匯編語(yǔ)言程序經(jīng)過(guò)匯編后所產(chǎn)生的、缺省名為 部分 : 文件頭 正文段 數(shù)據(jù)標(biāo)識(shí)段 其它信息段 文件頭 —— 1進(jìn)程 init進(jìn)程 ,由它來(lái)創(chuàng)建系統(tǒng)初始化過(guò)程中所需的其它所有的進(jìn)程。 空閑緩沖區(qū)鏈表 核心維護(hù)了一個(gè)空閑緩沖區(qū)鏈表,它按照 最近被使用的先后次序排列 。 這 63 個(gè) hash 鏈表就構(gòu)成了數(shù)據(jù)緩沖區(qū)高速緩沖的緩沖池,所有的緩沖區(qū)都存放在緩沖池中的某一個(gè)鏈表中。 本地文件系統(tǒng)的構(gòu)成 一個(gè)根文件系統(tǒng) + 若干子文件系統(tǒng)所組成 根文件系統(tǒng) 存放本操作系統(tǒng)的最主要和最基本的部分 可獨(dú)立啟動(dòng)運(yùn)行 系統(tǒng)起動(dòng)后,根文件系統(tǒng)就不能卸下來(lái) 子文件系統(tǒng) 主要存放應(yīng)用程序和用戶(hù)文件 一般不能獨(dú)立啟動(dòng) 系統(tǒng)運(yùn)行過(guò)程中可隨時(shí)安裝和卸下 網(wǎng)絡(luò)文件系統(tǒng)( NFS) 是本地機(jī)器上的文件系統(tǒng)和遠(yuǎn)地機(jī)器上的文件系統(tǒng)之間的介質(zhì),它管理和控制所有有關(guān)對(duì)遠(yuǎn)地文件的各種操作,給本地用戶(hù)提供一個(gè)訪問(wèn)遠(yuǎn)地文件的使用方便的高層接口,避免用戶(hù)直接涉及網(wǎng)絡(luò)通訊方面的具體細(xì)節(jié)?;顒?dòng) i節(jié)點(diǎn)表中的每一項(xiàng)就是一個(gè)活動(dòng) i節(jié)點(diǎn)緩沖區(qū),用來(lái)存放一個(gè)被打開(kāi)文件的 inode。 每個(gè)柱面組中的超級(jí)塊拷貝塊的存放位置為安全起見(jiàn)不一定都裝在柱面組中的最前面,而是可浮動(dòng)地裝在該柱面組中的任何位置。 584 xiaolan 584 。 文件名和文件名緩沖區(qū) 核心在內(nèi)存中建立了一個(gè)高速的名字緩沖區(qū),用來(lái)存放最近使用過(guò)的文件名,核心認(rèn)為“最近使用過(guò)的文件名馬上還要使用的可能性最大” 。 變長(zhǎng)目錄項(xiàng)的目錄結(jié)構(gòu) define MAXNAMLEN 255 struct direct { long d_ino。 153 home 0 tst 85 bin 85 。整個(gè)存儲(chǔ)結(jié)構(gòu)是一維的。 struct inode { 活動(dòng) i節(jié)點(diǎn)鏈接指針 狀態(tài)標(biāo)志 設(shè)備號(hào) i節(jié)點(diǎn)號(hào) 最近訪問(wèn)的 i節(jié)點(diǎn)在目錄中的位置 空閑 i節(jié)點(diǎn)鏈接指針 struct inmon { 文件模式和類(lèi)型( FIFO、 DIR、 CHR、 BLK、 REG、 LNK等) 文件鏈接數(shù) 文件所有者標(biāo)識(shí)數(shù)( UID) 文件所屬用戶(hù)組標(biāo)識(shí)數(shù)( GID) 文件大小 文件最近存取時(shí)間( atime, mtime, ctime) 數(shù)據(jù)塊索引表 其它信息 } } 數(shù)據(jù)塊索引表 數(shù)據(jù)塊索引表用于檢索本文件占用的數(shù)據(jù)塊。 預(yù)讀的命中率: 不一定達(dá)到 100%,但良好的系統(tǒng)結(jié)構(gòu)和算法可使命中率達(dá)到較高的水平。避免在取用空閑緩沖區(qū)時(shí),逐個(gè)判斷緩沖區(qū)中的內(nèi)容。 問(wèn)題的提出 : 磁盤(pán)機(jī)械運(yùn)行速度大大低于處理機(jī)的運(yùn)行速度; 多進(jìn)程并發(fā)運(yùn)行,少量的磁盤(pán)(通道)I/O成為瓶頸; 數(shù)據(jù)訪問(wèn)的隨機(jī)性,磁盤(pán)忙閑不均 解決辦法 : 建立一個(gè)被稱(chēng)為數(shù)據(jù)緩沖區(qū)高速緩沖(簡(jiǎn)稱(chēng)高速緩沖)的內(nèi)部數(shù)據(jù)緩沖區(qū)池( buffer pool)來(lái)存放要用的數(shù)據(jù); 寫(xiě)數(shù)據(jù)時(shí) 把數(shù)據(jù)盡量多地盡量長(zhǎng)時(shí)間地保存在緩沖池中 延遲寫(xiě) 出到磁盤(pán)上 以備后續(xù)進(jìn)程使用 讀數(shù)據(jù)時(shí) 先在緩沖池中查找已有的數(shù)據(jù) 如沒(méi)有,再?gòu)拇疟P(pán)讀取,并保存在緩沖池中 事先預(yù)讀數(shù)據(jù)到緩沖池中 緩沖區(qū)及緩沖區(qū)首部 緩沖區(qū)池由若干個(gè)緩沖區(qū)組成,每一個(gè)緩沖區(qū)又由兩部分組成:一個(gè)實(shí)際存放數(shù)據(jù)的存儲(chǔ)區(qū)和一個(gè)標(biāo)識(shí)該緩沖區(qū)的緩沖區(qū)首部。 int number。這是在 UNIX系統(tǒng)中共享文件(包括用戶(hù)文件和系統(tǒng)文件)的主要方法。 3.符號(hào)鏈結(jié)( symbol link) ——對(duì)應(yīng)命令名 ln s 文件 i節(jié)點(diǎn) abc xyz 文件名 ? 給文件的名字再取一個(gè)名字,而不是給文件節(jié)點(diǎn)再取一個(gè)名字。 一個(gè)進(jìn)程某時(shí)在“用戶(hù)態(tài)”下運(yùn)行,另一時(shí)刻又在“核心態(tài)”下運(yùn)行,在其生命周期內(nèi)可能在這兩種狀態(tài)間切換多次 用戶(hù)態(tài) 核心態(tài) 0 1 2 3 4 5 time A | B | C | D | A | 核心 ——處在核心態(tài)下的進(jìn)程的相應(yīng)部分的集合 硬件是按核心態(tài)和用戶(hù)態(tài)來(lái)執(zhí)行操作的,但對(duì)這兩種狀態(tài)下正在執(zhí)行程序的多個(gè)用戶(hù)是相同對(duì)待的。 編譯器的版本號(hào) 內(nèi)核( kernel) 系統(tǒng)調(diào)用的集合及實(shí)現(xiàn)系統(tǒng)調(diào)用的內(nèi)部算法就形成操作系統(tǒng)核心 ? 用戶(hù)看法 進(jìn)程和文件是 UNIX操作系統(tǒng)中最基本的兩個(gè)概念(抽象) 進(jìn)程: 所有處在運(yùn)行期間的程序?qū)嵗际沁M(jìn)程 一個(gè)進(jìn)程就是處在運(yùn)行期間的一個(gè)程序?qū)嵗? 涵蓋所有的動(dòng)態(tài)概念 文件: 所有靜態(tài)的無(wú)形數(shù)據(jù)和有形硬件設(shè)備 源程序、命令、圖片、郵件、 打印機(jī)、內(nèi)存、磁盤(pán)等 文件系統(tǒng) / bin usr etc home tmp dev who ls bin lib rc ttys st teach tty0 hd02 admin hwconf liu wang chen aa dir2 save
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1