2018操作系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
2018操作系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
2018操作系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
2018操作系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
2018操作系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、凡VD3東北大學(xué)秦皇島分校計(jì)算機(jī)與通信工程學(xué)院操作系統(tǒng)課程設(shè)計(jì)設(shè)計(jì)題目Linuxj力、專業(yè)名稱計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)學(xué)號(hào) 學(xué)生姓名 黎楠指導(dǎo)教師 王翠榮設(shè)計(jì)時(shí)間 2018年01月01日一2018年01月12日實(shí)用標(biāo)準(zhǔn)文案課程設(shè)計(jì)任務(wù)書專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)號(hào):學(xué)生姓名(簽名):設(shè)計(jì)題目:Linux中的虛擬文件系統(tǒng)的分析與進(jìn)程管理器一、設(shè)計(jì)實(shí)驗(yàn)條件綜合樓1208、1210實(shí)驗(yàn)室二、設(shè)計(jì)任務(wù)及要求1 . Linux中的虛擬文件系統(tǒng)的分析;2 .進(jìn)程管理器;三、設(shè)計(jì)報(bào)告的內(nèi)容1 .設(shè)計(jì)題目與設(shè)計(jì)任務(wù)(設(shè)計(jì)任務(wù)書)題目一:Linux中的虛擬文件系統(tǒng)的分析要求:虛擬文件系統(tǒng)(VFS)是物理文件系統(tǒng)與服務(wù)

2、之間的一個(gè)接口層。試說明 它與物理文件系統(tǒng)有何關(guān)系,以及 VFS超級(jí)塊地實(shí)現(xiàn)方法;題目二:進(jìn)程管理器要求:在Linux或Windows系統(tǒng)環(huán)境下,實(shí)現(xiàn)一個(gè)系統(tǒng)進(jìn)程管理器,能夠顯示 當(dāng)前系統(tǒng)的活動(dòng)進(jìn)程信息(進(jìn)程名、用戶、優(yōu)先級(jí)、內(nèi)存使用等) ,并能結(jié)束 或創(chuàng)建特定進(jìn)程??蓞⒖?Windows下“任務(wù)管理器”功能。2 .前言(緒論)(設(shè)計(jì)的目的、意義等)任何一個(gè)操作系統(tǒng)都是基于文件系統(tǒng)之上的,在Linux操作系統(tǒng)中下的文件系 統(tǒng)主要可分為三大塊:一是上層的文件系統(tǒng)的系統(tǒng)調(diào)用,二是虛擬文件系統(tǒng) VFS(Virtual Filesystem Switch) ,三是掛載到 VFS中的各實(shí)際文件系統(tǒng), 例

3、如ext2 , jffs 等。VFS處于文件系統(tǒng)的使用者與具體的文件系統(tǒng)之間,將 兩者隔離開來。這種引入一個(gè)抽象層次的設(shè)計(jì)思想,即“上層不依賴于具體實(shí) 現(xiàn),而依賴于接口;下層不依賴于具體實(shí)現(xiàn),而依賴于接口”,就是著名的“依精彩文檔實(shí)用標(biāo)準(zhǔn)文案賴反轉(zhuǎn)”,它在Linux內(nèi)核中隨處可見。所以對(duì)VFSt物理文件系統(tǒng)之間關(guān)系 的分析以及VFS超級(jí)塊的實(shí)現(xiàn)方法顯得格外重要。而正是因?yàn)樘摂M文件系統(tǒng)的 存在,跨文件系統(tǒng)的文件操作才能得以實(shí)現(xiàn)。 對(duì)虛擬文件系統(tǒng)的分析將有助于 我們對(duì)Linux文件系統(tǒng)的學(xué)習(xí),同時(shí)對(duì)深入理解 Linux操作系統(tǒng)有很大幫助。3 .設(shè)計(jì)主體(各部分設(shè)計(jì)內(nèi)容、分析、結(jié)論等)3.1. Li

4、nux中的虛擬文件系統(tǒng)的分析【題目分析】虛擬文件系統(tǒng)(Virtual File System,簡(jiǎn)稱VFS),是Linux內(nèi)核中的一個(gè)軟件層,用于給用戶空間的程序提供文件系統(tǒng)接口;同時(shí),它也提供了內(nèi)核中 的一個(gè)抽象功能,允許不同的文件系統(tǒng)共存。系統(tǒng)中所有的文件系統(tǒng)不但依賴 VFS共存,而且也依靠VFS協(xié)同工作。VFS支持的文件系統(tǒng)可以分為3種類型: 基于磁盤的文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)、特殊文件系統(tǒng)(虛擬文件系統(tǒng))。為了能夠支持各種實(shí)際文件系統(tǒng),VFS定義了所有文件系統(tǒng)都支持的基本的、 概念上的接口和數(shù)據(jù)結(jié)構(gòu);同時(shí)實(shí)際文件系統(tǒng)也提供VFS所期望的抽象接口和數(shù)據(jù)結(jié)構(gòu),將自身的諸如文件、目錄等概念在形式

5、上與VFS的定義保持一致。換句話說,一個(gè)實(shí)際的文件系統(tǒng)想要被 Linux支持,就必須提供一個(gè)符合 VFSfe準(zhǔn)的 接口,才能與VFS協(xié)同工作。實(shí)際文件系統(tǒng)在統(tǒng)一的接口和數(shù)據(jù)結(jié)構(gòu)下隱藏了具 體的實(shí)現(xiàn)細(xì)節(jié),所以在VFS層和內(nèi)核的其他部分看來,所有文件系統(tǒng)都是相同的。System CallVFSVFATEXT2EXT3NFS圖1 VFS在內(nèi)核中與其他的內(nèi)核模塊的協(xié)同關(guān)系精彩文檔實(shí)用標(biāo)準(zhǔn)文案【VFS與物理文件系統(tǒng)的關(guān)系】Linux的VFS位于Linux整個(gè)文件系統(tǒng)的最上層,是一種軟件機(jī)制,提供文 件系統(tǒng)對(duì)用戶命令、系統(tǒng)調(diào)用及內(nèi)核其他模塊的統(tǒng)一接口,負(fù)責(zé)管理并控制下層 的邏輯文件系統(tǒng),使它們按照各自特定

6、的模式正常運(yùn)轉(zhuǎn),同時(shí)能夠?qū)τ脩籼峁┍M 可能相同的表現(xiàn)形式。VFS是物理文件系統(tǒng)與服務(wù)之間的一個(gè)接口層,它對(duì) Linux 的每個(gè)文件系統(tǒng)的所有細(xì)節(jié)進(jìn)行抽象,使得不同的文件系統(tǒng)在Linux核心以及系統(tǒng)中運(yùn)行的進(jìn)程看來都是相同的。嚴(yán)格的說,VFS并不是一種實(shí)際的文件系統(tǒng)。它只存在于內(nèi)存中,并沒有真正存在于磁盤分區(qū)中,磁盤分區(qū)存放的是邏輯文件系 統(tǒng)的內(nèi)容,所有VFS的數(shù)據(jù)結(jié)構(gòu)都是在系統(tǒng)啟動(dòng)之后才建立完成,并在系統(tǒng)關(guān)閉 時(shí)撤銷。同時(shí),它必須和其他實(shí)際存在于磁盤的文件系統(tǒng), 比如Linux默認(rèn)的ext2 或者Windows NT的NTFS等邏輯文件系統(tǒng)一起,才能構(gòu)成一個(gè)完整的文件系統(tǒng)。VFS對(duì)邏輯文件系統(tǒng)

7、進(jìn)行抽象,采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)在內(nèi)存中描述所有這些 文件系統(tǒng),接受用戶層的系統(tǒng)調(diào)用和核心層其他模塊的訪問,通過VFS操作函數(shù), 按照一定的映射關(guān)系,把這些訪問重新定向到邏輯文件系統(tǒng)中相應(yīng)的函數(shù)調(diào)用, 然后由邏輯文件系統(tǒng)來完成真正的具體操作。這樣,VFS只負(fù)責(zé)處理設(shè)備無關(guān)的操作,主要是進(jìn)行具體操作的映射關(guān)系。正是VFS的這種抽象的功能層次,保證了 Linux系統(tǒng)可以支持多種不同的邏輯文件系統(tǒng),所有文件系統(tǒng)都具有基本相同 的外部表現(xiàn),而且可以方便地進(jìn)行相互訪問。針對(duì)下層的邏輯文件系統(tǒng),Linux系 統(tǒng)中的VFS為它們提供一致的接口,統(tǒng)一管理各種邏輯文件系統(tǒng),包括進(jìn)行文件 系統(tǒng)的注冊(cè)和注銷、安裝和卸載

8、等,提供限額機(jī)制,對(duì)用戶存儲(chǔ)空間進(jìn)行有效的 控制。對(duì)文件操作進(jìn)行適當(dāng)?shù)霓D(zhuǎn)換,轉(zhuǎn)交由具體的邏輯文件系統(tǒng)進(jìn)行處理,然后 把具體的操作結(jié)果提供給上層的調(diào)用者。針對(duì)上層,VFS為用戶層函數(shù)調(diào)用和內(nèi)核其他模塊的訪問提供 接口,接受訪問并返回由具體邏輯文件系統(tǒng)完成的結(jié)果。此 外,VFS還負(fù)責(zé)管理文件系統(tǒng)的各種緩沖區(qū),保證文件系統(tǒng)的整體效率。從本質(zhì)上講,文件系統(tǒng)是特殊的數(shù)據(jù)分層存儲(chǔ)結(jié)構(gòu),它包含文件、目錄和相 關(guān)的控制信息。為了描述這個(gè)結(jié)構(gòu),Linux引入了一些基本概念:文件一組在邏輯上具有完整意義的信息項(xiàng)的系列。在 Linux中,除了普通文 件,其他諸如目錄、設(shè)備、套接字等也以文件被對(duì)待??傊?,“一切皆文件

9、”。目錄 目錄好比一個(gè)文件夾,用來容納相關(guān)文件。因?yàn)槟夸浛梢园幽夸洠?所以目錄是可以層層嵌套,形成 文件路徑。在Linux中,目錄也是以一種特殊文精彩文檔實(shí)用標(biāo)準(zhǔn)文案件被對(duì)待的,所以用于文件的操作同樣也可以用在目錄上。目錄項(xiàng) 在一個(gè)文件路徑中,路徑中的每一部分都被稱為目錄項(xiàng);如路徑 /home/source/helloworld.c 中,目錄 /, home, source 和文件 helloworld.c 者B 是一個(gè)目錄項(xiàng)。索引節(jié)點(diǎn)用于存儲(chǔ)文件的元數(shù)據(jù)的一個(gè)數(shù)據(jù)結(jié)構(gòu)。文件的元數(shù)據(jù),也就是文 件的相關(guān)信息,和文件本身是兩個(gè)不同的概念。它包含的是諸如文件的大小、擁有者、創(chuàng)建時(shí)間、磁盤位置等

10、和文件相關(guān)的信息。超級(jí)塊用于存儲(chǔ)文件系統(tǒng)的控制信息的數(shù)據(jù)結(jié)構(gòu)。描述文件系統(tǒng)的狀態(tài)、文 件系統(tǒng)類型、大小、區(qū)塊數(shù)、索引節(jié)點(diǎn)數(shù)等,存放于磁盤的特定扇區(qū)中。如上的幾個(gè)概念在磁盤中的位置關(guān)系如圖4所示。分區(qū)分區(qū)分區(qū)分區(qū)VFS依靠四個(gè)主要的數(shù)據(jù)結(jié)構(gòu)和一些輔助的數(shù)據(jù)結(jié)構(gòu)來描述其結(jié)構(gòu)信息,這些數(shù)據(jù)結(jié)構(gòu)表現(xiàn)得就像是對(duì)象;每個(gè)主要對(duì)象中都包含由操作函數(shù)表構(gòu)成的操作對(duì) 象,這些操作對(duì)象描述了內(nèi)核針對(duì)這幾個(gè)主要的對(duì)象可以進(jìn)行的操作。下圖就是邏輯上對(duì) VFS及其下層實(shí)際文件系統(tǒng)的組織圖,可以看到用戶層只 能于VFS打交道,而不能直接訪問實(shí)際的文件系統(tǒng),比如EXT2 EXT3 PROC換句話說,就是用戶層不用也不能區(qū)別

11、對(duì)待這些真正的文件系統(tǒng),不過,SOCKET!然也屬于VFS的管轄范圍,但是有其特殊性,就是不能像打開大部分文件系統(tǒng)下 的“文件” 一樣打開socket ,它只能被創(chuàng)建,而且內(nèi)核中對(duì)具有特殊性處理。精彩文檔實(shí)用標(biāo)準(zhǔn)文案EXT273int fd = open()int fd = socket()UserVFS KernelFAT32PROCSOCKET圖3邏輯上對(duì)VFS及其下層實(shí)際文件系統(tǒng)的組織圖Net DeviceDriver【超級(jí)塊的實(shí)現(xiàn)方法】VFS描述文件系統(tǒng)使用超級(jí)塊和inode的方式,所謂超級(jí)塊就是對(duì)所有文件 系統(tǒng)的管理機(jī)構(gòu),每種文件系統(tǒng)都要把自己的信息掛到 super_blocks這么

12、一個(gè)全 局鏈表上。內(nèi)核中是分成2個(gè)步驟完成:首先每個(gè)文件系統(tǒng)必須通過 register_filesystem 函數(shù)將自己的 file_system_type 掛接至U file_systems 這個(gè) 全局變量上,然后調(diào)用 kern_mount函數(shù)把自己的文件相關(guān)操作函數(shù)集合表掛到 super_blocks上。每種文件系統(tǒng)類型的讀超級(jí)塊的例程(get_sb )必須由自己實(shí) 現(xiàn)。super_Nocks5uper_blocklisl_head sjstfile_sy5tem_type *s_typesuper operations _即file_syslems*next“scckfTs&ck_(s_

13、lypesuper_block.指向后面的文件系既VFS管理層具體的文件系蛇層精彩文檔&Dckf&_ops altocjnodedestrayjnwJe指向后面的 文件系隼類理洞_曲sockfs_ops:_allK_inodedeslroy_fnodeA sod(fs_get_stA sock alloc inode5ock_d&stroy_inodfi實(shí)用標(biāo)準(zhǔn)文案圖4超級(jí)塊的實(shí)現(xiàn)存儲(chǔ)一個(gè)已安裝的文件系統(tǒng)的控制信息,代表一個(gè)已安裝的文件系統(tǒng);每次 一個(gè)實(shí)際的文件系統(tǒng)被安裝時(shí),內(nèi)核會(huì)從磁盤的特定位置讀取一些控制信息來填 充內(nèi)存中的超級(jí)塊對(duì)象。一個(gè)安裝實(shí)例和一個(gè)超級(jí)塊對(duì)象一一對(duì)應(yīng)。超級(jí)塊通過其結(jié)構(gòu)

14、中的一個(gè)域s_type記錄它所屬的文件系統(tǒng)類型。VFS超級(jí)塊是各種邏輯文件系統(tǒng)在安裝時(shí)建立的,并在這些文件系統(tǒng)卸載時(shí)自動(dòng)刪除,它只存在于內(nèi)存中。VFS中保存了系統(tǒng)中掛接的文件系統(tǒng)的鏈表以及這些 文件系統(tǒng)對(duì)應(yīng)的VFS超級(jí)塊。系統(tǒng)啟動(dòng)后所有被初始化的文件系統(tǒng)都要向VFS登記。每個(gè)已安裝的文件系統(tǒng)由一個(gè) VFS超塊表示,它包含如下信息:Device:表示文件系統(tǒng)所在塊設(shè)備的設(shè)備標(biāo)志符。例如系統(tǒng)中第一個(gè)IDE硬盤的設(shè)備標(biāo)志符為0x301 oInode pointers: 這個(gè) mounted inode 指針指向文件系統(tǒng)中第個(gè) inode。 而covered inode指針指向此文件系統(tǒng)安裝目錄的in

15、ode。根文件系統(tǒng)的VFS超塊 不包含covered指針。Blocksize:以字節(jié)記數(shù)的文件系統(tǒng)塊大小,如 1024字節(jié)。Superblock operations:指向此文件系統(tǒng)一組超塊操縱例程的指針。這些例程被VFS用來讀寫inode和超塊。File System type:這是一個(gè)指向已安裝文件系統(tǒng)的 file_system_type 結(jié)構(gòu)的指針。File System specific:指向文件系統(tǒng)所需信息的指針。一個(gè)超級(jí)塊對(duì)應(yīng)一個(gè)文件系統(tǒng)(已經(jīng)安裝的文件系統(tǒng)類型如 ext2 ,此處是實(shí)際 的文件系統(tǒng))。之前我們已經(jīng)說了文件系統(tǒng)用于管理這些文件的數(shù)據(jù)格式和操作之 類的,系統(tǒng)文件有系統(tǒng)

16、文件自己的文件系統(tǒng),同時(shí)對(duì)于不同的磁盤分區(qū)也有可以 是不同的文件系統(tǒng)。那么一個(gè)超級(jí)塊對(duì)應(yīng)一個(gè)獨(dú)立的文件系統(tǒng),保存文件系統(tǒng)的 類型、大小、狀態(tài)等等。(“文件系統(tǒng)”和“文件系統(tǒng)類型”是不同的概念,一個(gè) 文件系統(tǒng)類型下可以包括很多文件系統(tǒng)即很多的super_block)對(duì)于不同的文件系統(tǒng)有不同的 super_block,對(duì)于不同的super_block的操作 也是不同的,所以我們?cè)谙旅娴膕uper_block結(jié)構(gòu)中可以看到上面說的抽象的struct 結(jié)構(gòu)(例如下面的:struct super_operations) :(linux 內(nèi)核 2.4.37)精彩文檔實(shí)用標(biāo)準(zhǔn)文案struct super_b

17、lock !746struct list_head747kdef_ts_dev;748unsigned LongS-blocksizej749unsigned chars_blocksize_bits;750unsigned char751unsigned long longs_miflxbytesj752struct file_5ystem_type*s_type;753struct $uper_operations*s_9P;754struct d q ot_ope rat Ians*dq_ 叩,755struct quotactl_ops*s_qcapj7s5unsigned lon75

18、7unsigned long758struct dentry*5_root;759struct rw_5emaphore_umoLint;76struct semaphoreOocti761ints_count;762atcmic_t_active;763764struct list_heads_dirtyj765struct list_head5_locked_inodes;766Struct list_heads_files;76776Bstruct block_device*s_bdev;769struct list_heads_instarices;7%struct quota_inf

19、o5_dquotj771772union 773struct minix_sb_infominix_sbi774struct ext2_sb_infoe)ct2_sb;775struct ext3_st)_inFoext3_sb;776struct hpf5_5b_infohpf5_sb;777struct ntf5_sb_infontf5_sb;778struct msdoS-Sb-infomsdos_sbi779struct isofs_sb_info780struct nfs_sb_infonfs_sb;781struct sysv_sb_infosysv_sbj782struct af

20、fs_stj_info7E3struct ufs_sb_infaufs_sb;784struct cfs_sb_infQc-Fs_sb;785struct shmem_sb_iiTfoshinem_sbj786Struct romfs_sb_inforoirrfs_sb;787struct 與千口smt)-f5_&b j73SStruct 力干0rifs_sb;739struct ad-f5_$b_lnfoadfs_sb;79。struct qnx4_sti_in-Foqnx4_sb;791struct reiserfs_sb_in-foreserfs_sb;792struct bfs_b_i

21、nfobfs_b;795struct Lidf_sb_nfoudf_sb;794struct ncp_sb_infoncpfs_sb;795struct usbdev_5b_infousbdevFs_sb;796struct jffs2_sb_infojffsl.ib;797struct crnnrfs_sb_infocrBm+s_sb;79Svoid*eneric_sbp;799下山精彩文檔實(shí)用標(biāo)準(zhǔn)文案S06 cjzh-i: TK曰 n曰十 f-j h - r -fnr* i/rc *nn 1 w*304Struct semaphore s_vfs_ren3me_sem)&05 806E13

22、struct semaphore s_nfsd_free_path_semiS14 ;圖 5 Struct super_operations解釋字段:s_list :指向超級(jí)塊鏈表的指針,這個(gè) struct list_head是很熟悉的結(jié)構(gòu)了,里面其實(shí)就是用于連接關(guān)系的prev和next字段。內(nèi)核中的結(jié)構(gòu)處理都是有講究的(內(nèi)核協(xié)議棧中也說過),內(nèi)核單獨(dú)使用一個(gè)簡(jiǎn)單 的結(jié)構(gòu)體將所有的super_block都鏈接起來,但是這個(gè)結(jié)構(gòu)不是 super_block本 身,因?yàn)楸旧頂?shù)據(jù)結(jié)構(gòu)太大,效率不高,所有僅僅使用structlist_head prev;list_head next;這樣的結(jié)構(gòu)來將su

23、per_block中的s_list鏈接起來,那么遍歷到s_list之后,直接讀取super_block這么長(zhǎng)的一個(gè)內(nèi)存塊,就可以將這個(gè)super_block直接讀進(jìn)來!這樣就很快捷方便!這也是為什么 s_list必須放在第 一個(gè)字段的原因。s_dev:包含該具體文件系統(tǒng)的塊設(shè)備標(biāo)識(shí)符。例如,對(duì)于 /dev/hda1 ,其設(shè)備 標(biāo)識(shí)符為0x301s_blocksize :文件系統(tǒng)中數(shù)據(jù)塊大小,以字節(jié)單位s_blocksize_bits :上面的size大小占用位數(shù),例如 512字節(jié)就是9 bitss_dirt :臟位,標(biāo)識(shí)是否超級(jí)塊被修改s_maxbytes :允許的最大的文件大小(字節(jié)數(shù))精彩

24、文檔實(shí)用標(biāo)準(zhǔn)文案struct file_system_type *s_type :文件系統(tǒng)類型(也就是當(dāng)前這個(gè)文件系統(tǒng)屬 于哪個(gè)類型? ext2還是fat32)要區(qū)分“文件系統(tǒng)”和“文件系統(tǒng)類型”不一樣! 一個(gè)文件系統(tǒng)類型下可以包括很多文件系統(tǒng)即很多的super_block ,后面會(huì)說!struct super_operations *s_op :指向某個(gè)特定的具體文件系統(tǒng)的用于超級(jí)塊操 作的函數(shù)集合struct dquot_operations *dq_op :指向某個(gè)特定的具體文件系統(tǒng)用于限額操作 的函數(shù)集合struct quotactl_ops*s_qcop :用于配置磁盤限額的的方法,

25、處理來自用戶空間的請(qǐng)求s_flags :安裝標(biāo)識(shí)s_magic:區(qū)別于其他文件系統(tǒng)的標(biāo)識(shí)s_root :指向該具體文件系統(tǒng)安裝目錄的目錄項(xiàng)s_umount:對(duì)超級(jí)塊讀寫時(shí)進(jìn)行同步s_lock :鎖標(biāo)志位,若置該位,則其它進(jìn)程不能對(duì)該超級(jí)塊操作s_count :對(duì)超級(jí)塊的使用計(jì)數(shù)s_active :引用計(jì)數(shù)s_dirty :已修改的索引節(jié)點(diǎn)inode形成的鏈表,一個(gè)文件系統(tǒng)中有很多的inode , 有些inode節(jié)點(diǎn)的內(nèi)容會(huì)被修改,那么會(huì)先被記錄,然后寫回磁盤。s_locked_inodes :要進(jìn)行同步的索引節(jié)點(diǎn)形成的鏈表s_files :所有的已經(jīng)打開文件的鏈表,這個(gè) file和實(shí)實(shí)在在的進(jìn)

26、程相關(guān)的 s_bdev:指向文件系統(tǒng)被安裝的塊設(shè)備u: u聯(lián)合體域包括屬于具體文件系統(tǒng)的超級(jí)塊信息s_instances :具體的意義后來會(huì)說的?。ㄍ活愋偷奈募到y(tǒng)通過這個(gè)子墩將所 有的super_block連接起來)s_dquot :磁盤限額相關(guān)選項(xiàng)super_block存在于兩個(gè)鏈表中,一個(gè)是系統(tǒng)所有super_block的鏈表,一個(gè) 是對(duì)于特定的文件系統(tǒng)的 super_block鏈表。所有的 super_block都存在于 super_blocks(VFS 管理層)鏈表中:精彩文檔實(shí)用標(biāo)準(zhǔn)文案 !supei_bLocles ! ! s_list ! i s_list! !sopi s_

27、op!I s_f s_lnf o ! s_f a_lnf o !1|iiI1H11圖6超級(jí)塊與VFS管理層鏈表.s_list! NULL !nextgetsbkill.sbfs_superssuperjtilocksupep_Jtlock圖7文件系統(tǒng)層的具體文件系統(tǒng)的超級(jí)塊3.2. 進(jìn)程管理器【任務(wù)描述】在 Windows系統(tǒng)環(huán)境下,實(shí)現(xiàn)一個(gè)系統(tǒng)進(jìn)程管理器,能夠顯示當(dāng)前系統(tǒng)的活動(dòng)進(jìn)程信息(進(jìn)程名、進(jìn)程ID、優(yōu)先級(jí)、線程數(shù)、內(nèi)存使用等),并能結(jié)束或創(chuàng)建特定精彩文檔實(shí)用標(biāo)準(zhǔn)文案的進(jìn)程?!驹创a】Forml:using System;using System.Collections.Generic;

28、using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading;using System.Diagnostics;using System.Management;namespace進(jìn)程管理器public partial class Forml : Formpublic Form1()InitializeComponent();this.listView1.Columns.Add(進(jìn)程名,65

29、,HorizontalAlignment.Center);this.listView1.Columns.Add(進(jìn)程 ID” , 65,HorizontalAlignment.Center);this.listView1.Columns.Add(線程數(shù),65,HorizontalAlignment.Center);this.listView1.Columns.Add(優(yōu)先級(jí),65,HorizontalAlignment.Center);this.listView1.Columns.Add(占用內(nèi)存,65,HorizontalAlignment .Center);this .listView1.

30、View = System.Windows.Forms. View.Details;精彩文檔實(shí)用標(biāo)準(zhǔn)文案private void getProcessInfo()trylistView1.Items.Clear();Process 口 MyProcesses = Process .GetProcesses();listView1.Items.Clear();Process 口 AllProcesses = Process .GetProcesses();foreach ( Process MyProcess in AllProcesses)ListViewItemitem1= new List

31、ViewItem (MyProcess.ProcessName + .exe ,0); /映像名稱item1.Checked = true;item1.SubItems.Add(MyProcess.Id.ToString();/ 進(jìn)程 PIDitem1.SubItems.Add(MyProcess.BasePriority.ToString();/ 優(yōu)先級(jí)item1.SubItems.Add(MyProcess.Threads.Count.ToString();/ 線程數(shù)item1.SubItems.Add(MyProcess.WorkingSet64 / 1024).ToString()+ K ); /內(nèi)存大小listView1.Items.AddRange(new ListViewItem item1 );catch pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論