版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、南京工程學(xué)院操作系統(tǒng)與應(yīng)用程序的關(guān)系操作系統(tǒng)主要可以分為兩大部分:內(nèi)核和內(nèi)核之外的一些程序。內(nèi)核就是直接控制最底層的硬件, 而我們?nèi)粘K玫降能浖?,大都是通過(guò)內(nèi)核之外一些程序與內(nèi)核之間的接口完成的,例如 WINDOWS API 就是為我們提供了應(yīng)用程序與內(nèi)核的接口,以實(shí)現(xiàn)硬件上的一些操作。操作系統(tǒng)(Operating System簡(jiǎn)稱OS是一管理電腦硬件與軟件資源的程序,同時(shí)也是計(jì)算機(jī)系統(tǒng)的內(nèi)核與基石。操作系統(tǒng)是一個(gè)龐 大的管理控制程序,大致包括 5個(gè)方面的管理功能:進(jìn)程與處理機(jī)管理、作業(yè)管理、存儲(chǔ)管理、設(shè)備管 理、文件管理。目前微機(jī)上常見(jiàn)的操作系統(tǒng)有DOS OS/2、UNIX XENIX L
2、INUX Windows Netware。應(yīng)用軟件是用戶可以使用的各種程序設(shè)計(jì)語(yǔ)言,以及用各種程序設(shè)計(jì)語(yǔ)言編制的應(yīng)用程序的集合分為應(yīng)用軟件包和用戶程序.應(yīng)用軟件包是利用計(jì)算機(jī)解決某類問(wèn)題而設(shè)計(jì)的程序的集合,供多用戶使內(nèi)核系統(tǒng)與應(yīng)用程序的關(guān)系在Linux系統(tǒng)中,內(nèi)核為用戶程序提供了兩方面的支持。其一是系統(tǒng)調(diào)用接口,即中斷調(diào)用int 0x80; 另一方面是通過(guò)開發(fā)環(huán)境庫(kù)函數(shù)或內(nèi)核庫(kù)函數(shù)與內(nèi)核進(jìn)行信息交流。不過(guò)內(nèi)核庫(kù)函數(shù)僅供內(nèi)核創(chuàng)建的任務(wù)0和任務(wù)1使用,它們最終還是去調(diào)用系統(tǒng)調(diào)用。因此內(nèi)核對(duì)所有用戶程序或進(jìn)程實(shí)際上只提供 系統(tǒng)調(diào)用這一種統(tǒng)一的接口。 lib/目錄下內(nèi)核庫(kù)函數(shù)代碼的實(shí)現(xiàn)方法與基本C函數(shù)
3、庫(kù)libc中類似函數(shù)的實(shí)現(xiàn)方法基本相同,為了使用內(nèi)核資源,最終都是通過(guò)內(nèi)嵌匯編代碼調(diào)用了內(nèi)核系統(tǒng)調(diào)用功能。系統(tǒng)調(diào)用主要提供給系統(tǒng)軟件編程或者用于庫(kù)函數(shù)的實(shí)現(xiàn)。而一般用戶開發(fā)的程序則是通過(guò)調(diào)用像libc等庫(kù)函數(shù)來(lái)訪問(wèn)內(nèi)核資源。這些庫(kù)中的函數(shù)或資源通常被稱為應(yīng)用程序編程接口(APD ,其中定義了應(yīng)用程序使用的一組標(biāo)準(zhǔn)編程接口。通過(guò)調(diào)用這些庫(kù)中的程序,應(yīng)用程序代碼能夠完成各種常 用工作,例如,打開和關(guān)閉、對(duì)文件或設(shè)備的訪問(wèn)、進(jìn)行科學(xué)計(jì)算、出錯(cuò)處理以及訪問(wèn)組和用戶標(biāo)識(shí)號(hào)ID等系統(tǒng)信息。頁(yè)腳內(nèi)容1南京工程學(xué)院在UNI決操作系統(tǒng)中,最為普遍使用的是基于 POSI而準(zhǔn)的API接口。Linux當(dāng)然也不例外。A
4、PI與 系統(tǒng)調(diào)用的區(qū)別在于:為了實(shí)現(xiàn)某一應(yīng)用程序接口標(biāo)準(zhǔn),例如 POSIX其中的API可以與一個(gè)系統(tǒng)調(diào)用 對(duì)應(yīng),也可能由幾個(gè)系統(tǒng)調(diào)用的功能共同實(shí)現(xiàn)。當(dāng)然某些API函數(shù)可能根本就不需要使用系統(tǒng)調(diào)用,即不使用內(nèi)核功能。因此函數(shù)庫(kù)可以看做實(shí)現(xiàn)像 POSI麻準(zhǔn)的主體界面,應(yīng)用程序不用管它與系統(tǒng)調(diào)用 之間到底存在什么關(guān)系。無(wú)論一個(gè)操作系統(tǒng)提供的系統(tǒng)調(diào)用有多么大的區(qū)別,但只要它遵循同一個(gè)API標(biāo)準(zhǔn),那么應(yīng)用程序就可以在這些操作系統(tǒng)之間具有可移植性。系統(tǒng)調(diào)用是內(nèi)核與外界接口的最高層。在內(nèi)核中,每個(gè)系統(tǒng)調(diào)用都有一個(gè)序列號(hào)(在include/unistd.h 頭文件中定義),并且常以宏的形式實(shí)現(xiàn)。應(yīng)用程序不應(yīng)該
5、直接使用系統(tǒng)調(diào)用,因?yàn)檫@樣的話,程序 的移植性就不好了。因此目前 Linux標(biāo)準(zhǔn)庫(kù)(Linux Standard BaseLSB和許多其他標(biāo)準(zhǔn)都不允許應(yīng)用程 序直接訪問(wèn)系統(tǒng)調(diào)用宏。庫(kù)函數(shù)一般包括C語(yǔ)言沒(méi)有提供的執(zhí)行高級(jí)功能的用戶級(jí)函數(shù),如輸入 /輸出和字符串處理函數(shù)。 某些庫(kù)函數(shù)只是系統(tǒng)調(diào)用的增強(qiáng)功能版。例如,標(biāo)準(zhǔn) I/O庫(kù)函數(shù)fopen和fclose提供了與系統(tǒng)調(diào)用open 和clos睽似的功能,不過(guò)是在更高的層次上。在這種情況下,系統(tǒng)調(diào)用通常能提供比庫(kù)函數(shù)略微好一 些的性能,但是庫(kù)函數(shù)卻能提供更多的功能,而且更具檢錯(cuò)能力。實(shí)際上軟件程序還可以細(xì)分成兩種:系統(tǒng)程序軟件和應(yīng)用程序軟件。系統(tǒng)程序
6、軟件實(shí)際上就是我 們所說(shuō)的驅(qū)動(dòng)程序,它們的目的只有一個(gè),就是為了驅(qū)動(dòng)硬件,使之能正常地完成某種硬件功能,比 如網(wǎng)卡的發(fā)送數(shù)據(jù)功能,聲卡的播放聲音功能。應(yīng)用程序軟件則用來(lái)接收用戶的輸入請(qǐng)求,進(jìn)行很多 業(yè)務(wù)運(yùn)算后,再通過(guò)驅(qū)動(dòng)程序驅(qū)動(dòng)硬件去完成用戶所要求的任務(wù),有時(shí)候應(yīng)用程序軟件也負(fù)責(zé)把運(yùn)算 的最終結(jié)果反饋給用戶。畫成圖就是圖一那樣,注意,在整個(gè)軟件系統(tǒng)中,也只有驅(qū)動(dòng)程序最清楚硬 件的功能及工作方式,如果上面應(yīng)用程序想要硬件完成什么樣的任務(wù),必須使用相應(yīng)的驅(qū)動(dòng)程序所提 供的那些接口才行。驅(qū)動(dòng)程序直接驅(qū)動(dòng)硬件進(jìn)行工作,而應(yīng)用程序則只需要知道這些接口,通過(guò)它們 間接去驅(qū)動(dòng)硬件來(lái)完成任務(wù)。這種策略看似簡(jiǎn)單
7、好用,但也會(huì)受到兩方面因素的制約。頁(yè)腳內(nèi)容2南京工程學(xué)院首先,一個(gè)計(jì)算機(jī)系統(tǒng)里面的硬件設(shè)備通常不會(huì)只有一個(gè)。比方我的魅族MP卻除了音頻解碼器外,自然也有用來(lái)存儲(chǔ)歌曲的設(shè)備。這些設(shè)備各具不同的功能,完成這些功能的操作也就各不相同,就決 定了寫出來(lái)的驅(qū)動(dòng)程序也是各式各樣的,最后導(dǎo)致他們提供給應(yīng)用程序使用的接口也是千變?nèi)f化的, 如圖二那樣,用不同顏色的箭頭表示不同的接口使用。這大大增加了應(yīng)用程序開發(fā)的難度,因?yàn)閼?yīng)用 程序開發(fā)者不僅要考慮上層業(yè)務(wù)邏輯的處理,還要非常熟悉各種驅(qū)動(dòng)所提供出來(lái)的不同接口。圖二:一個(gè)應(yīng)用使用多個(gè)硬件設(shè)備其次,一個(gè)計(jì)算機(jī)系統(tǒng)里面同時(shí)運(yùn)行著的應(yīng)用程序通常也不會(huì)只有一個(gè),這些應(yīng)用程
8、序會(huì)競(jìng)爭(zhēng)使 用總量特定的硬件設(shè)備資源。比方你和朋友在用 qq聊天的同時(shí),也聽著千千靜聽放出來(lái)的音樂(lè),他們 都要使用屏幕設(shè)備shov川界面,也都要使用物理內(nèi)存 來(lái)運(yùn)行程序代碼。但是屏幕只有一個(gè),內(nèi)存也 只有那么多,所以在整個(gè)計(jì)算機(jī)系統(tǒng)范圍內(nèi),必須有某種機(jī)制來(lái)管理分配這些特定硬件資源的使用。 如圖三,設(shè)計(jì)的時(shí)候,這種機(jī)制要么放在應(yīng)用程序中實(shí)現(xiàn),要么放在驅(qū)動(dòng)程序中實(shí)現(xiàn),但無(wú)論放在哪 一方,都是會(huì)給這一方的程序開發(fā)者帶來(lái)額外的負(fù)擔(dān)。頁(yè)腳內(nèi)容3南京工程學(xué)院4鴕機(jī)冢鴕圖二一個(gè)應(yīng)用使用多個(gè)硬件設(shè)備計(jì)鴕機(jī)殺缺圖三:多個(gè)應(yīng)用使用多個(gè)硬件設(shè)備引入操作系統(tǒng)之后上面之所以說(shuō)額外,那是因?yàn)閷?duì)于應(yīng)用程序開發(fā)者來(lái)講,其重點(diǎn)
9、要考慮的是業(yè)務(wù)邏輯如何實(shí)現(xiàn), 而不是去考慮硬件資源的管理分配,也最好用不著去區(qū)分那么多驅(qū)動(dòng)程序的不同接口。類似的,對(duì)于 驅(qū)動(dòng)程序開發(fā)者來(lái)說(shuō),其要考慮的重點(diǎn)是如何正確的驅(qū)動(dòng)特定的硬件,而不是去考慮硬件資源的管理頁(yè)腳內(nèi)容4南京工程學(xué)院分配上。那這部分 額外”的工作由誰(shuí)去做呢,這正是后來(lái)出現(xiàn)的操作系統(tǒng)(3)的職責(zé)所在計(jì)修機(jī)票熨圖五:引入操作系統(tǒng)后的情況如圖五,操作系統(tǒng)幫我們考慮對(duì)各種硬件資源的分配管理,并完成對(duì)各種驅(qū)動(dòng)程序所提供接口的 抽象,形成一套簡(jiǎn)單一致的接口給上層的應(yīng)用程序去使用。如此,應(yīng)用程序開發(fā)人員只需要知道操作 系統(tǒng)所提供的這套編程接口 (API)就可以實(shí)現(xiàn)不同的業(yè)務(wù)應(yīng)用。前面我們講系統(tǒng)程序軟件實(shí)際上就是 驅(qū)動(dòng)程序,但這里我們講系統(tǒng)程序軟件是操作系統(tǒng)。概念上,我們認(rèn)為操作系統(tǒng)依賴于驅(qū)動(dòng)程序這一 層,但實(shí)際上,驅(qū)動(dòng)程序是嵌入到操作系統(tǒng)中去的,所以我們
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 41850.1-2024機(jī)械振動(dòng)機(jī)器振動(dòng)的測(cè)量和評(píng)價(jià)第1部分:總則
- U-48520-生命科學(xué)試劑-MCE-8289
- Asante-potassium-green-1-AM-APG-1-AM-生命科學(xué)試劑-MCE-2611
- 二零二五年度醫(yī)療健康產(chǎn)業(yè)股權(quán)轉(zhuǎn)讓協(xié)議示范文本合同
- 2025年度大數(shù)據(jù)分析與應(yīng)用聯(lián)合開發(fā)合同
- 2025年度美縫工程智能化施工管理合同
- 二零二五年度商務(wù)咨詢與管理優(yōu)化合同
- 2025年度畫家與設(shè)計(jì)師合作簽約合同
- 施工現(xiàn)場(chǎng)施工排水管理制度
- 施工現(xiàn)場(chǎng)施工防地震災(zāi)害威脅制度
- 模具生產(chǎn)車間員工績(jī)效考核表模板
- WORD2010第三講:文檔的格式化
- GB/T 17387-1998潛油電泵裝置的操作、維護(hù)和故障檢查
- GA/T 1133-2014基于視頻圖像的車輛行駛速度技術(shù)鑒定
- GB∕T 41461-2022 自助銀行網(wǎng)點(diǎn)服務(wù)要求
- 學(xué)校委托管理協(xié)議書范本
- 重醫(yī)大《護(hù)理學(xué)導(dǎo)論》期末試卷(兩套)及答案
- 部編新教材人教版七年級(jí)上冊(cè)歷史重要知識(shí)點(diǎn)歸納
- 重點(diǎn)時(shí)段及節(jié)假日前安全檢查表
- 建筑樁基技術(shù)規(guī)范2018年
- 物理調(diào)查問(wèn)卷
評(píng)論
0/150
提交評(píng)論