<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
        My Github

      操作系統核心原理-7.設備管理:I/O原理

      一、I/O的基本知識

      1.1 為何要有I/O

        前面闡述了操作系統具有進程管理、內存管理、外存管理三大核心功能,但是計算機歸根是為人類服務的,這就要求計算機必須提供某種機制使得人們可以向計算機發出命令或操縱計算機。也就是說計算機與人之間必須存在某種溝通的機制,這種溝通的機制就是計算機的輸入輸出機制。輸入輸出的存在才使得計算機的存在有了意義,就像一個人,如果沒有輸入輸出,那么就不能與外部世界打交道。

       ?。?)輸入提供的是一個“人→計算機”的通道,即人或外部世界通過輸入向計算機發出命令或提供數據。

        (2)輸出提供的是一個“計算機→人”的通道,計算機通過這個通道向人禍外部世界輸出自己的計算機結果。

      1.2 I/O管理要達到的目的

        簡單來說,I/O就是提供一個人際交互的通道,使得人和計算機能夠進行溝通。具體來說,I/O的目的有以下兩點:

       ?。?)屏蔽輸入輸出設備的差異:提供一個統一的界面來屏蔽輸入輸出設備的差異

        (2)在不同設計之間進行數據表示的轉換:數據能夠在不同設備之間相互轉換而無需用戶操心

      二、I/O的硬件和軟件

      2.1 I/O的硬件

        所有的I/O設備均可以分為兩個大類:塊設備字符設備。塊設備是以數據塊為單位存儲和傳輸數據的輸入輸出設備,如磁盤、光盤、U盤等;而字符設備則是將數據按照字符為單位來存放和傳輸的設備,如鼠標、鍵盤、打印機等等。

        (1)I/O設備的差異性

        I/O設備由于種類不同、制造商不同、技術標準不同,其特性可以有巨大的不同。因此,屏蔽這些巨大的不同,使得不同的設備相互共存并不是一件容易的事情。

       ?。?)設備控制器

        I/O設備本身并不是一個不可分割的整體,而是由不同的部件構成。一般來說,一個I/O設備至少可以分為兩部分:機械部分和電子部分。機械部分是設備的物理硬件部分,而電子部分則是設備的控制器??刂破骺梢蕴幚矶鄠€設備,或者說多個同類的設備可以共用一個控制器,如下圖所示:

      I/O Controllers

      2.2 I/O的軟件

        除了有了I/O的硬件是不夠的,畢竟,對于用戶來說,直接對硬件進行操作十分困難。我們知道,操作系統的角色是魔術師和管理者,魔術是將不同I/O設備的差異屏蔽,使它們看上去似乎是一樣的東西,都具有令人賞心悅目的界面;而管理則是對這些設備進行管理,該獨享的獨享,該共用的共用,需要緩沖的緩沖,并對設備進行實際的驅動(發出讀寫命令)。

        具體來說,I/O軟件的目標如下:

       ?。?)設備獨立:程序對I/O設備的訪問不依賴于設備的物理特征,且在I/O程序的編寫時無須事先指定I/O設備。

       ?。?)統一命名:設備或文件的命名不依賴于具體的計算機,這樣使用名字將使程序可以在任何機器上運行;

        (3)錯誤處理:對輸入輸出過程中產生的數據錯誤進行偵測與糾正,而且糾錯應該在最靠近硬件的層面上進行;

       ?。?)數據傳輸:實際操控數據在主機和外設之間的傳遞;

       ?。?)緩沖:為數據傳輸提供一個臨時存放地,然后在方便時將數據拷貝到最后目的地。

        (6)共用與獨享:將設備盡量變為共享,以增大資源利用率和降低死鎖發生的概率。例如,將磁盤、打印機變為共享。

      三、I/O軟件的分層

        為了完成一個繁瑣的工作,人們通常將其分為更小的任務來處理。在I/O軟件上自然也不會例外。I/O軟件通常按照I/O功能進行分層,每一層有提供獨特的功能,并與相鄰的層面設計有標準界面。一般來說,I/O軟件都有以下幾層:

        (1)用戶層I/O軟件

        (2)設備獨立的操作系統軟件

       ?。?)設備驅動程序

       ?。?)中斷服務程序

      3.1 中斷服務程序

        由于大多數I/O均為中斷驅動,中斷驅動服務程序就稱為絕大部分I/O軟件的不可分割的部分。中斷服務程序由于直接與硬件相關,因此針對不同的I/O硬件,中斷響應的處理方式也不盡相同。因此,中斷服務程序是I/O軟件系統分層里面的最底層。

      3.2 設備驅動程序

        設備驅動程序顧名思義就是直接驅動I/O設備進行輸入或輸出操作的軟件。它屬于與設備控制器直接聯系的I/O軟件部分,與具體的I/O設備直接相關,并針對每個特定的I/O設備進行優化。

      3.3 設備獨立的操作系統軟件

        設備驅動程序并不直接從用戶處接收I/O請求,而是通過操作系統軟件獲得的。操作系統在設計時之所以有這層軟件是因為I/O軟件的一部分與設備有關,一部分與設備無關。而如果與設備無關,就可以將這部分共用起來,放置在設備驅動程序之上,為用戶提供一個統一的I/O界面。

      3.4 用戶層I/O軟件

        設備驅動程序從設備獨立的操作系統軟件層接收I/O請求,而設備獨立的操作系統軟件則從用戶或應用軟件處接收指令。這時,還差一個發出指令的界面,這個界面就是用戶層I/O軟件。我們可能大多數都見過在一段C程序中

          count = write(fd, buffer, nbytes)

        這一句命令就是用戶層I/O軟件的一部分,write是一個由高級語言提供的庫函數,用戶與這個庫函數打交道,而這個庫函數在編譯之后會變成一系列指令,來完成系統調用過程。

      參考資料

      鄒恒明,《操作系統之哲學原理》,機械工業出版社

       

      posted @ 2016-01-24 02:19  EdisonZhou  閱讀(5009)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日韩精品专区在线影观看| 国产亚洲精久久久久久久91| 自贡市| 亚洲永久精品日韩成人av| 欧美日韩一区二区三区视频播放| 午夜免费福利小电影| 亚洲精品国偷自产在线| 久久精品波多野结衣| 国产精品无码专区av在线播放| 日韩丝袜欧美人妻制服| 公天天吃我奶躁我的在线观看| 国产成人免费永久在线平台| 日韩人妻无码精品久久久不卡| 久草热大美女黄色片免费看| 女人被爽到高潮视频免费国产| 麻豆蜜桃av蜜臀av色欲av| 玩弄漂亮少妇高潮白浆| 怡红院一区二区三区在线| 国内揄拍国内精品人妻久久| av男人的天堂在线观看国产| 99精品国产在热久久婷婷| 国产一级r片内射免费视频| 性色av无码不卡中文字幕| 无码视频伊人| 国产免费视频一区二区| 国产亚洲AV电影院之毛片| 茄子视频国产在线观看 | 炉霍县| 国产成人午夜在线视频极速观看| 少妇被粗大的猛进出69影院| 久久国产免费观看精品3| 久草热在线视频免费播放| 国产亚洲精品VA片在线播放| 亚洲 制服 丝袜 无码 | 无码av天天av天天爽| 久章草在线毛片视频播放| 日韩V欧美V中文在线| 久久久久四虎精品免费入口| 国产区成人精品视频| 中文毛片无遮挡高潮免费| 色伊人久久综合中文字幕|