系統(tǒng)調(diào)用及進(jìn)程控制_第1頁
系統(tǒng)調(diào)用及進(jìn)程控制_第2頁
系統(tǒng)調(diào)用及進(jìn)程控制_第3頁
系統(tǒng)調(diào)用及進(jìn)程控制_第4頁
系統(tǒng)調(diào)用及進(jìn)程控制_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第9章相關(guān)說明章相關(guān)說明說明:(1)實(shí)驗(yàn)相關(guān)ppt內(nèi)容選自操作系統(tǒng)課程設(shè)計(jì)的核心實(shí)驗(yàn)。第第9章章 系統(tǒng)調(diào)用及進(jìn)程控制實(shí)驗(yàn)系統(tǒng)調(diào)用及進(jìn)程控制實(shí)驗(yàn)提綱提綱提綱提綱實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)?zāi)康膎理解理解BIOS中斷調(diào)用、系統(tǒng)調(diào)用以及中斷調(diào)用、系統(tǒng)調(diào)用以及C語言標(biāo)準(zhǔn)庫語言標(biāo)準(zhǔn)庫函數(shù)的聯(lián)系和區(qū)別;函數(shù)的聯(lián)系和區(qū)別;n理解理解Linux API和系統(tǒng)調(diào)用的區(qū)別;和系統(tǒng)調(diào)用的區(qū)別;n熟悉熟悉Linux下進(jìn)程控制相關(guān)的系統(tǒng)調(diào)用,并熟練下進(jìn)程控制相關(guān)的系統(tǒng)調(diào)用,并熟練使用相關(guān)函數(shù)完成進(jìn)程控制的操作;使用相關(guān)函數(shù)完成進(jìn)程控制的操作;n學(xué)習(xí)寫學(xué)習(xí)寫makefile文件文件提綱提綱實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容n1登錄Linux系統(tǒng);n2在

2、home目錄下建立以自己學(xué)號(hào)為文件名的文件;n3拷貝實(shí)驗(yàn)提供源代碼至自己建立的文件;n4閱讀關(guān)于系統(tǒng)調(diào)用fork,exec,wait,exit,pipe等函數(shù)(可通過man函數(shù)進(jìn)行查詢);n5編寫makefile,用make編譯源代碼中fork.c,pipe.c,并填寫相關(guān)實(shí)驗(yàn)報(bào)告;n6運(yùn)行上一步生成的可執(zhí)行文件,觀察結(jié)果及進(jìn)程,并填寫實(shí)驗(yàn)報(bào)告相關(guān)內(nèi)容;n7查閱資料,掌握信號(hào)和進(jìn)程調(diào)度閱讀signal.c代碼,編譯并運(yùn)行,另開終端,用ps和kill命令終止進(jìn)程;提綱提綱實(shí)驗(yàn)算法(系統(tǒng)調(diào)用)實(shí)驗(yàn)算法(系統(tǒng)調(diào)用)操作系統(tǒng)的主要功能是為應(yīng)用程序的運(yùn)行創(chuàng)建良好的環(huán)境,為了達(dá)到這個(gè)目的,內(nèi)核提供一系列具

3、備預(yù)訂功能的多內(nèi)核函數(shù),通過一組稱為系統(tǒng)調(diào)用(system call)的接口呈現(xiàn)給用戶。系統(tǒng)調(diào)用把應(yīng)用程序的請(qǐng)求傳給內(nèi)核,調(diào)用相應(yīng)的內(nèi)核函數(shù)完成所需的處理,將處理結(jié)果返回給應(yīng)用程序,如果沒有系統(tǒng)調(diào)用和內(nèi)核函數(shù),用戶將不能編寫大型應(yīng)用程序。Linux提供系統(tǒng)調(diào)用,讓用戶進(jìn)程能夠調(diào)用內(nèi)核函數(shù)。這些系統(tǒng)調(diào)用允許用戶操縱進(jìn)程、文件和其他系統(tǒng)資源,從用戶級(jí)切換到內(nèi)核級(jí)。也就是說,系統(tǒng)調(diào)用的執(zhí)行會(huì)引起特權(quán)級(jí)的切換,是一種受約束的、為切換到保護(hù)核心的“函數(shù)調(diào)用”。普通函數(shù)調(diào)用不會(huì)引起特權(quán)級(jí)的轉(zhuǎn)換,一般不受約束。實(shí)驗(yàn)算法(實(shí)驗(yàn)算法(BIOS中斷調(diào)用)中斷調(diào)用)BIOS中斷服務(wù)程序?qū)嵸|(zhì)上是微機(jī)系統(tǒng)中軟件與硬件之

4、間的一個(gè)可編程接口,主要用于程序軟件功能與微機(jī)硬件之間連接。BIOS中斷服務(wù)“封裝”了許多系統(tǒng)底層的細(xì)節(jié),使得一些用戶程序也能夠使用BIOS功能。實(shí)驗(yàn)算法(實(shí)驗(yàn)算法(C語言標(biāo)準(zhǔn)庫)語言標(biāo)準(zhǔn)庫)C語言標(biāo)準(zhǔn)庫是利用系統(tǒng)調(diào)用來實(shí)現(xiàn)的,它將依賴于系統(tǒng)的系統(tǒng)調(diào)用封裝起來,而對(duì)開發(fā)者透明。系統(tǒng)調(diào)用的實(shí)現(xiàn)在內(nèi)核完成,而C語言標(biāo)準(zhǔn)庫則在用戶態(tài)實(shí)現(xiàn),標(biāo)準(zhǔn)庫函數(shù)完全運(yùn)行在用戶空間。實(shí)驗(yàn)算法(實(shí)驗(yàn)算法(API和系統(tǒng)調(diào)用的區(qū)別)和系統(tǒng)調(diào)用的區(qū)別)實(shí)驗(yàn)算法(實(shí)驗(yàn)算法(makefile文件)文件)makefile文件:一個(gè)工程中的源文件可能不計(jì)其數(shù),其按類型、功能、模塊分別放在若干目錄中,makefile定義了一系列的規(guī)

5、則來指定哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至進(jìn)行更復(fù)雜的功能操作。makefile就像一個(gè)shell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令。Makefile文件需要按照某種語法進(jìn)行編寫,文件中需要說明如何編譯各個(gè)源文件并鏈接生成可執(zhí)行文件以及定義文件間的依賴關(guān)系。make是一個(gè)命令工具,即解釋makefile中指令的命令工具,一般來說,大多數(shù)IDE都有這個(gè)命令,如Delph的make,VC的nmake,GNU的make。makefile帶來的好處就是:“自動(dòng)化編譯”,程序一旦寫好,只需要一個(gè)make命令。整個(gè)工程自動(dòng)編譯,極大提高了軟件開發(fā)的效率。實(shí)驗(yàn)算法(文件描

6、述符)實(shí)驗(yàn)算法(文件描述符)實(shí)驗(yàn)算法(輸入輸出重定向)實(shí)驗(yàn)算法(輸入輸出重定向)實(shí)驗(yàn)算法(進(jìn)程通信機(jī)制實(shí)驗(yàn)算法(進(jìn)程通信機(jī)制管道)管道)管道是半雙工的,數(shù)據(jù)只能向一個(gè)方向流動(dòng);需要雙方通信時(shí),需要建立起兩個(gè)管道;管道只能用于父子進(jìn)程或者兄弟進(jìn)程之間(具有“親緣”關(guān)系的進(jìn)程);管道單獨(dú)構(gòu)成一種獨(dú)立的文件系統(tǒng):管道對(duì)于管道兩端的進(jìn)程而言就是一個(gè)文件,但它不是普通的文件,它不屬于某種文件系統(tǒng),而是自立門戶,并且只存在于內(nèi)存中。提綱提綱實(shí)驗(yàn)示例(函數(shù)示例)實(shí)驗(yàn)示例(函數(shù)示例)pid_t fork( void);/pid_t 是一個(gè)宏定義,其實(shí)質(zhì)是int 返回值: 若成功調(diào)用一次則返回兩個(gè)值,子進(jìn)程返回0,父進(jìn)程返回子進(jìn)程ID;出錯(cuò)返回-1。int pipe(int fd2)函數(shù)傳入值 fd2:管道的兩個(gè)文件描述符,fd0是管道讀出端,fd1是管道寫入端返回值:成功返回 0,失敗返回 -1。功能:創(chuàng)建一個(gè)管道,把管道的讀和寫文件描述符放到數(shù)組fildes中,fildes0元素作為管道的輸入描述符,fildes1元素作為管道的輸出描述符。int dup2(int oldfd, int targetfd)dup2函數(shù)允許調(diào)用者規(guī)定一個(gè)有效描述符oldfd和目標(biāo)描述符的targetfd。dup2函數(shù)成功返回時(shí),目標(biāo)描述符(dup2函數(shù)的第二個(gè)參數(shù))將變成源

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論