欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

嵌入式操作系統(tǒng)輸入輸出設(shè)備軟件化方法

文檔序號:6556503閱讀:135來源:國知局
專利名稱:嵌入式操作系統(tǒng)輸入輸出設(shè)備軟件化方法
技術(shù)領(lǐng)域
本發(fā)明涉及基于因特網(wǎng)的分布式圖案協(xié)同設(shè)計(jì)技術(shù),特別是涉及一種圖案協(xié)同設(shè)計(jì)中對象鎖和區(qū)域鎖同時(shí)存在的復(fù)雜加鎖方法。
背景技術(shù)
現(xiàn)代計(jì)算機(jī)系統(tǒng)中配置了大量外圍設(shè)備。一般說,計(jì)算機(jī)的外圍設(shè)備分為兩大類一類是存儲型設(shè)備,如磁帶機(jī)、磁盤機(jī)等。以存儲大量信息和快速檢索為目標(biāo),它在系統(tǒng)中作為主存儲器的擴(kuò)充,所以,又稱輔助存儲器;另一類是輸入輸出型設(shè)備,如顯示器、卡片機(jī)、打印機(jī)等。它們把外界信息輸入計(jì)算機(jī),把運(yùn)算結(jié)果從計(jì)算機(jī)輸出。
設(shè)備管理是操作系統(tǒng)中最龐雜和瑣碎的部分,普遍使用輸入輸出設(shè)備中斷、緩沖器管理、通道、設(shè)備驅(qū)動調(diào)度等多種技術(shù),這些措施較好地克服了由于外部設(shè)備和主機(jī)速度上不配所引起的問題,使主機(jī)和外設(shè)并行工作,提高了使用效率。但是,在另一方面卻給用戶的使用帶來極大的困難,它必須掌握輸入輸出設(shè)備系統(tǒng)的原理,對接口和控制器及設(shè)備的物理特性要有深入了解,這就使計(jì)算機(jī)推廣應(yīng)用受到很大限制。為了方便地使用各種外圍設(shè)備。
以上兩類外圍設(shè)備的物理特性各不相同,因此,操作系統(tǒng)對它們的管理也有很大差別。為了使這些設(shè)備在用戶面前具有統(tǒng)一的格式和一致的面貌,對于存儲型設(shè)備,信息以文件為單位存??;對于輸入輸出設(shè)備,信息以文件為單位輸入輸出。這樣,用戶可以通過“按名存取”文件實(shí)現(xiàn)對外圍設(shè)備的訪問,而不必考慮直接控制外圍設(shè)備時(shí)應(yīng)做的許多繁瑣工作。操作系統(tǒng)除了要提供文件系統(tǒng)外,還必須要有實(shí)現(xiàn)對外圍設(shè)備上文件信息的物理存取和設(shè)備控制的功能。操作系統(tǒng)中完成這一功能的程序就是設(shè)備管理。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種嵌入式操作系統(tǒng)輸入輸出設(shè)備軟件化方法。
本發(fā)明解決其技術(shù)問題采用的技術(shù)方案如下將輸入輸出的軟件組織組織成一種層次結(jié)構(gòu),低層軟件屏蔽硬件的具體細(xì)節(jié),高層軟件向用戶提供一個(gè)簡潔、規(guī)范的界面,整個(gè)系統(tǒng)分為以下四個(gè)部分。
1)用戶空間的輸入輸出設(shè)備軟件向用戶提供一個(gè)一個(gè)簡潔、規(guī)范的操作接口,用于完成用戶程序中的輸入輸出設(shè)備操作;2)與硬件無關(guān)的輸入輸出設(shè)備軟件與硬件設(shè)備無關(guān)軟件的基本功能能是執(zhí)行適用于所有設(shè)備的常用I/O功能,并向用戶層軟件提供一個(gè)一致的接口;3)設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序中包括了所有與設(shè)備相關(guān)的代碼,每個(gè)設(shè)備驅(qū)動程序只處理一種設(shè)備,或者一類緊密相關(guān)的設(shè)備,設(shè)備驅(qū)動程序的功能是從與設(shè)備無關(guān)的軟件中接收抽象的請求,并執(zhí)行它;4)輸入輸出設(shè)備中斷處理程序?qū)⒅袛嗵幚矸旁诓僮飨到y(tǒng)的最底層進(jìn)行處理,一邊其余部分盡可能少地與之發(fā)生聯(lián)系;當(dāng)一個(gè)進(jìn)程請求輸入輸出設(shè)備操作時(shí),該進(jìn)程將被掛起,直到輸入輸出設(shè)備操作結(jié)束并發(fā)生中斷。當(dāng)中斷發(fā)生時(shí),中斷處理程序執(zhí)行相應(yīng)的處理,并解除相應(yīng)進(jìn)程的阻塞狀態(tài);輸入輸出中斷的類型和功能如下通知用戶程序輸入輸出操作沿鏈推進(jìn)的程度,此類中斷有程序進(jìn)程中斷;通知用戶程序輸入輸出操作正常結(jié)束,當(dāng)輸入輸出控制器或設(shè)備發(fā)現(xiàn)通道結(jié)束、控制結(jié)束、設(shè)備結(jié)束等信號時(shí),就向通道發(fā)出一個(gè)報(bào)告輸入輸出操作正常結(jié)束的中斷;通知用戶程序發(fā)現(xiàn)的輸入輸出操作異常,包括設(shè)備出錯(cuò)、接口出錯(cuò)、輸入輸出設(shè)備程序出錯(cuò)、設(shè)備特殊、設(shè)備忙等,以及提前中止操作的原因;5)訪問輸入輸出設(shè)備過程①用戶通過用戶空間的輸入輸出設(shè)備軟件訪問輸入輸出設(shè)備;②設(shè)備無關(guān)軟件在數(shù)據(jù)塊緩沖區(qū)中查找此設(shè)備塊;③調(diào)用設(shè)備驅(qū)動程序向硬件發(fā)出相應(yīng)的請求;④輸入輸出設(shè)備發(fā)出中斷;⑤執(zhí)行中斷處理程序。
本發(fā)明具有的有益效果是使用分層機(jī)制隱藏底層無關(guān)信息,降低訪問輸入輸出設(shè)備的復(fù)雜度。根據(jù)硬件的相關(guān)性,將硬件的軟件組織合理分層,使輸入輸出設(shè)備與用戶無關(guān),有效解決了訪問設(shè)備時(shí)的錯(cuò)誤處理,同步、異步傳輸以及訪問獨(dú)占性外圍設(shè)備和共享性外圍設(shè)備。能夠及時(shí)處理用戶對輸入輸出設(shè)備的請求,保證了硬件資源的合理分配和高度可靠性。


附圖是訪問輸入輸出設(shè)備訪問層次圖。
具體實(shí)施例方式
在實(shí)施一種嵌入式操作系統(tǒng)輸入輸出設(shè)備軟件化方法時(shí)采用C語言編寫。
具體方式如下將輸入輸出的軟件組織組織成一種層次結(jié)構(gòu),低層軟件屏蔽硬件的具體細(xì)節(jié),高層軟件向用戶提供一個(gè)簡潔、規(guī)范的界面,整個(gè)系統(tǒng)分為以下四個(gè)部分1)用戶空間的輸入輸出設(shè)備軟件向用戶提供一個(gè)一個(gè)簡潔、規(guī)范的操作接口,用于完成用戶程序中的輸入輸出設(shè)備操作。
建立例程庫,此類庫例程的主要工作是提供參數(shù)給相應(yīng)的系統(tǒng)調(diào)用并調(diào)用。它們作為用戶程序的一部分運(yùn)行。
建立虛擬設(shè)備,有效處理在多道程序系統(tǒng)中的獨(dú)占設(shè)備共享問題。
2)與硬件無關(guān)的輸入輸出設(shè)備軟件與硬件設(shè)備無關(guān)軟件的基本功能能是執(zhí)行適用于所有設(shè)備的常用輸入輸出設(shè)備功能,并向用戶層軟件提供一個(gè)一致的接口。
盡管某些輸入輸出設(shè)備軟件是設(shè)備相關(guān)的,但大部分獨(dú)立于設(shè)備。設(shè)備無關(guān)軟件和設(shè)備驅(qū)動程序之間的精確界限在各個(gè)系統(tǒng)都不盡相同。對于一些以設(shè)備無關(guān)方式完成的功能,在實(shí)際中由于考慮到執(zhí)行效率等因素,也可以考慮由驅(qū)動程序完成。
由設(shè)備無關(guān)軟件完成的功能對設(shè)備驅(qū)動程序的統(tǒng)一接口設(shè)備命名設(shè)備保護(hù)提供獨(dú)立于設(shè)備的塊大小緩沖區(qū)管理塊設(shè)備的存儲分配獨(dú)占性外圍設(shè)備的分配和釋放錯(cuò)誤報(bào)告設(shè)備無關(guān)軟件的基本功能能是執(zhí)行適用于所有設(shè)備的常用輸入輸出設(shè)備功能,并向用戶層軟件提供一個(gè)一致的接口。
3)設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序中包括了所有與設(shè)備相關(guān)的代碼。每個(gè)設(shè)備驅(qū)動程序只處理一種設(shè)備,或者一類緊密相關(guān)的設(shè)備。設(shè)備驅(qū)動程序的功能是從與設(shè)備無關(guān)的軟件中接收抽象的請求,并執(zhí)行它。
執(zhí)行一條輸入輸出請求的第一步,是將它轉(zhuǎn)換為更具體的形式。決定應(yīng)向控制器發(fā)送什么命令,這些控制命令發(fā)出后有兩種可能。在許多情況下,驅(qū)動程序需等待控制器完成一些操作,所以驅(qū)動程序阻塞,直到中斷信號到達(dá)才解除阻塞。另一種情況是操作沒有任何延遲,所以驅(qū)動程序無需阻塞。
對前一種情況,被阻塞的驅(qū)動程序須由中斷喚醒,而后一種情況下它根本無需睡眠。無論哪種情況,都要進(jìn)行錯(cuò)誤檢查。如果一切正常,則驅(qū)動程序?qū)?shù)據(jù)傳送給上層的設(shè)備無關(guān)軟件。最后,它將向它的調(diào)用者返回一些關(guān)于錯(cuò)誤報(bào)告的狀態(tài)信息。如果請求隊(duì)列中有別的請求則它選中一個(gè)進(jìn)行處理,若沒有則它阻塞,等待下一個(gè)請求。
4)輸入輸出設(shè)備中斷處理程序?qū)⒅袛嗵幚矸旁诓僮飨到y(tǒng)的最底層進(jìn)行處理,一邊其余部分盡可能少地與之發(fā)生聯(lián)系。
當(dāng)一個(gè)進(jìn)程請求輸入輸出設(shè)備操作時(shí),該進(jìn)程將被掛起,直到輸入輸出設(shè)備操作結(jié)束并發(fā)生中斷。當(dāng)中斷發(fā)生時(shí),中斷處理程序執(zhí)行相應(yīng)的處理,并解除相應(yīng)進(jìn)程的阻塞狀態(tài)。
輸入輸出中斷的類型和功能如下通知用戶程序輸入輸出操作沿鏈推進(jìn)的程度。此類中斷有程序進(jìn)程中斷。
通知用戶程序輸入輸出操作正常結(jié)束。當(dāng)輸入輸出控制器或設(shè)備發(fā)現(xiàn)通道結(jié)束、控制結(jié)束、設(shè)備結(jié)束等信號時(shí),就向通道發(fā)出一個(gè)報(bào)告輸入輸出操作正常結(jié)束的中斷。
通知用戶程序發(fā)現(xiàn)的輸入輸出操作異常,包括設(shè)備出錯(cuò)、接口出錯(cuò)、輸入輸出設(shè)備程序出錯(cuò)、設(shè)備特殊、設(shè)備忙等,以及提前中止操作的原因。
當(dāng)輸入輸出中斷被響應(yīng)后,中斷裝置交換程序狀態(tài)字引出輸入輸出中斷處理程序。輸入輸出中斷處理程序狀態(tài)字中得到產(chǎn)生中斷的通道號和設(shè)備號,并分析通道狀態(tài)字,弄清產(chǎn)生中斷的輸入輸出中斷事件的原則如下①如果是操作正常結(jié)束,那么,系統(tǒng)要查看是否有等待該設(shè)備或通道者,若有則釋放。
②如果由于操作中發(fā)生故障或某種特殊事件而產(chǎn)生的中斷,那么,操作系統(tǒng)要進(jìn)一步查明原因,采取相應(yīng)措施。
操作中發(fā)生的故障及其處理的方法有以下幾種設(shè)備本身的故障。
通道程序錯(cuò)。由通道識別的各種通道程序錯(cuò)誤。
啟動命令的錯(cuò)誤。
如果設(shè)備在操作中發(fā)生了某些特殊事件,那么,在設(shè)備操作結(jié)束發(fā)生中斷時(shí),也要將這個(gè)情況向系統(tǒng)報(bào)告。操作系統(tǒng)從設(shè)備狀態(tài)字節(jié)中的設(shè)備特殊位為1,可以判知設(shè)備在操作中發(fā)生了某個(gè)特殊事件。
③如果是人為要求而產(chǎn)生的中斷,那么,系統(tǒng)將響應(yīng)并啟動外圍設(shè)備。
④如果是外圍設(shè)備上來的“設(shè)備結(jié)束”等異步信號,表示有外圍設(shè)備接入可供使用或斷開暫停使用。操作系統(tǒng)應(yīng)修改系統(tǒng)表格中相應(yīng)設(shè)備的狀態(tài)。
5)訪問輸入輸出設(shè)備過程當(dāng)用戶程序試圖訪問輸入輸出設(shè)備時(shí),通過用戶空間的輸入輸出設(shè)備軟件提出請求,操作系統(tǒng)來執(zhí)行此操作,設(shè)備無關(guān)軟件首先在數(shù)據(jù)塊緩沖區(qū)中查找此塊,若未找到,則它調(diào)用設(shè)備驅(qū)動程序向硬件發(fā)出相應(yīng)的請求。用戶進(jìn)程隨即阻塞直到數(shù)據(jù)塊被讀出。
輸入輸出執(zhí)行完畢后,硬件發(fā)出一個(gè)中斷,它將激活中斷處理程序。中斷處理程序則從設(shè)備獲取返回狀態(tài)值并喚醒睡眠的進(jìn)程來結(jié)束此次輸入輸出設(shè)備請求,并使用戶進(jìn)程繼續(xù)執(zhí)行。
①用戶通過用戶空間的輸入輸出設(shè)備軟件訪問輸入輸出設(shè)備;②設(shè)備無關(guān)軟件在數(shù)據(jù)塊緩沖區(qū)中查找此設(shè)備塊;③調(diào)用設(shè)備驅(qū)動程序向硬件發(fā)出相應(yīng)的請求;④輸入輸出設(shè)備發(fā)出中斷;⑤執(zhí)行中斷處理程序。
權(quán)利要求
1.一種嵌入式操作系統(tǒng)輸入輸出設(shè)備軟件化方法,其特征在于將輸入輸出的軟件組織組織成一種層次結(jié)構(gòu),低層軟件屏蔽硬件的具體細(xì)節(jié),高層軟件向用戶提供一個(gè)簡潔、規(guī)范的界面,整個(gè)系統(tǒng)分為以下四個(gè)部分1)用戶空間的輸入輸出設(shè)備軟件向用戶提供一個(gè)一個(gè)簡潔、規(guī)范的操作接口,用于完成用戶程序中的輸入輸出設(shè)備操作;2)與硬件無關(guān)的輸入輸出設(shè)備軟件與硬件設(shè)備無關(guān)軟件的基本功能能是執(zhí)行適用于所有設(shè)備的常用I/O功能,并向用戶層軟件提供一個(gè)一致的接口;3)設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序中包括了所有與設(shè)備相關(guān)的代碼,每個(gè)設(shè)備驅(qū)動程序只處理一種設(shè)備,或者一類緊密相關(guān)的設(shè)備,設(shè)備驅(qū)動程序的功能是從與設(shè)備無關(guān)的軟件中接收抽象的請求,并執(zhí)行它;4)輸入輸出設(shè)備中斷處理程序?qū)⒅袛嗵幚矸旁诓僮飨到y(tǒng)的最底層進(jìn)行處理,一邊其余部分盡可能少地與之發(fā)生聯(lián)系;當(dāng)一個(gè)進(jìn)程請求輸入輸出設(shè)備操作時(shí),該進(jìn)程將被掛起,直到輸入輸出設(shè)備操作結(jié)束并發(fā)生中斷,當(dāng)中斷發(fā)生時(shí),中斷處理程序執(zhí)行相應(yīng)的處理,并解除相應(yīng)進(jìn)程的阻塞狀態(tài);輸入輸出中斷的類型和功能如下通知用戶程序輸入輸出操作沿鏈推進(jìn)的程度,此類中斷有程序進(jìn)程中斷;通知用戶程序輸入輸出操作正常結(jié)束,當(dāng)輸入輸出控制器或設(shè)備發(fā)現(xiàn)通道結(jié)束、控制結(jié)束、設(shè)備結(jié)束等信號時(shí),就向通道發(fā)出一個(gè)報(bào)告輸入輸出操作正常結(jié)束的中斷;通知用戶程序發(fā)現(xiàn)的輸入輸出操作異常,包括設(shè)備出錯(cuò)、接口出錯(cuò)、輸入輸出設(shè)備程序出錯(cuò)、設(shè)備特殊、設(shè)備忙等,以及提前中止操作的原因;5)訪問輸入輸出設(shè)備過程①用戶通過用戶空間的輸入輸出設(shè)備軟件訪問輸入輸出設(shè)備;②設(shè)備無關(guān)軟件在數(shù)據(jù)塊緩沖區(qū)中查找此設(shè)備塊;③調(diào)用設(shè)備驅(qū)動程序向硬件發(fā)出相應(yīng)的請求;④輸入輸出設(shè)備發(fā)出中斷;⑤執(zhí)行中斷處理程序。
全文摘要
本發(fā)明公開了一種嵌入式操作系統(tǒng)輸入輸出設(shè)備軟件化方法。在訪問輸入輸出設(shè)備時(shí),往往用采用軟件化的方法,抽象出硬件特征,方便操作系統(tǒng)的管理與使用。本發(fā)明使用分層機(jī)制,根據(jù)硬件的相關(guān)性,將硬件的軟件組織合理分層,使輸入輸出設(shè)備與用戶無關(guān),有效解決了訪問設(shè)備時(shí)的錯(cuò)誤處理,同步、異步傳輸以及訪問獨(dú)占性外圍設(shè)備和共享性外圍設(shè)備。能夠及時(shí)處理用戶對輸入輸出設(shè)備的請求,保證了硬件資源的合理分配和高度可靠性。本發(fā)明對嵌入式系統(tǒng)環(huán)境,尤其是面向嵌入式系統(tǒng)的嵌入式操作系統(tǒng),有重大意義。
文檔編號G06F9/46GK1828545SQ20061005025
公開日2006年9月6日 申請日期2006年4月7日 優(yōu)先權(quán)日2006年4月7日
發(fā)明者陳天洲, 胡威, 蔣寧, 嚴(yán)力科 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
土默特左旗| 白山市| 周宁县| 贵溪市| 长顺县| 辽阳市| 冷水江市| 南康市| 铜川市| 耒阳市| 定南县| 沅陵县| 高尔夫| 海安县| 同仁县| 介休市| 阜南县| 丰顺县| 沾化县| 莱芜市| 左权县| 抚州市| 巴林左旗| 满城县| 株洲县| 峡江县| 长顺县| 辽阳县| 白城市| 义乌市| 秦安县| 松阳县| 大丰市| 化州市| 通江县| 龙陵县| 多伦县| 鸡西市| 汉寿县| 株洲县| 会东县|