<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 第?10?章?中斷處理 盡管一些設備可只使用它們的 I/O 區來控制, 大部分真實的設備比那個要復雜點. 設備不得不和外部世界打交道, 常常包括諸如旋轉的磁盤, 移動的磁帶, 連到遠處的線纜, 等等. 很多必須在一個時間片中完成, 不同于, 并且遠慢于處理器. 因為幾乎一直是不希望使處理器等待外部事件, 對于設備必須有一種方法使處理器知道有事情發生了. 當然, 那種方法是中斷. 一個中斷不過是一個硬件在它需要處理器的注意時能夠發出的信號. Linux 處理中斷非常類似它處理用戶空間信號的方式. 對大部分來說, 一個驅動只需要為它的設備中斷注冊一個處理函數, 并且當它們到來時正確處理它們. 當然, 在這個簡單圖像之下有一些復雜; 特別地, 中斷處理有些受限于它們能夠進行的動作, 這是它們如何運行而導致的結果. 沒有一個真實的硬件設備來產生中斷, 就難演示中斷的使用. 因此, 本章使用的例子代碼使用并口工作. 這些端口在現代硬件上開始變得稀少, 但是, 運氣地, 大部分人仍然能夠有一個有可用的端口的系統. 我們將使用來自上一章的簡短模塊; 添加一小部分它能夠產生并處理來自并口的中斷. 模塊的名子, short, 實際上意味著 short int ( 它是 C, 對不?), 來提醒我們它處理中斷. 但是, 在我們進入主題之前, 是時候提出一個注意事項. 中斷處理, 由于它們的特性, 與其他的代碼并行地運行. 因此, 它們不可避免地引起并發問題和對數據結構和硬件的競爭. 如果你屈服于誘惑以越過第 5 章的討論, 我們理解. 但是我們也建議你轉回去并且現在看一下. 一個堅實的并發控制技術的理解是重要的, 在使用中斷時.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看