• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 200, comments - 8, trackbacks - 0, articles - 0

            進程上下文 與 中斷上下文

            Posted on 2012-10-22 20:40 鑫龍 閱讀(315) 評論(0)  編輯 收藏 引用 所屬分類: linux內核
            進程上下文和中斷上下文是操作系統中很重要的兩個概念,這兩個概念在操作系統課程中不斷被提及,是最經常接觸、看上去很懂但又說不清楚到底怎么回事。造成這種局面的原因,可能是原來接觸到的操作系統課程的教學總停留在一種淺層次的理論層面上,沒有深入去研究。
            處理器總處于以下狀態中的一種:
            1、內核態,運行于進程上下文,內核代表進程運行于內核空間;
            2、內核態,運行于中斷上下文,內核代表硬件運行于內核空間;
            3、用戶態,運行于用戶空間。
            用戶空間的應用程序,通過系統調用,進入內核空間。這個時候用戶空間的進程要傳遞很多變量、參數的值給內核,內核態運行的時候也要保存用戶進程的一些寄存器值、變量等。所謂的“進程上下文”,可以看作是用戶進程傳遞給內核的這些參數以及內核要保存的那一整套的變量和寄存器值和當時的環境等。
            硬件通過觸發信號,導致內核調用中斷處理程序,進入內核空間。這個過程中,硬件的一些變量和參數也要傳遞給內核,內核通過這些參數進行中斷處理。所謂的“中斷上下文”,其實也可以看作就是硬件傳遞過來的這些參數和內核需要保存的一些其他環境(主要是當前被打斷執行的進程環境)。

            關于進程上下文LINUX完全注釋中的一段話:
               當一個進程在執行時,CPU的所有寄存器中的值、進程的狀態以及堆棧中的內容被稱為該進程的上下文。當內核需要切換到另一個進程時,它需要保存當前進程的所有狀態,即保存當前進程的上下文,以便在再次執行該進程時,能夠必得到切換時的狀態執行下去。在LINUX中,當前進程上下文均保存在進程的任務數據結構中。在發生中斷時,內核就在被中斷進程的上下文中,在內核態下執行中斷服務例程。但同時會保留所有需要用到的資源,以便中斷服務結束時能恢復被中斷進程的執行。
            欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久99这里只有精品国产| 中文字幕乱码久久午夜| 久久久噜噜噜久久熟女AA片 | 无码人妻久久一区二区三区免费| 久久91综合国产91久久精品| 国产精品成人久久久久三级午夜电影| 国产精品丝袜久久久久久不卡| 久久久久久av无码免费看大片| 精品永久久福利一区二区| 久久人人爽人人爽人人片AV麻豆 | 欧美粉嫩小泬久久久久久久| 蜜臀久久99精品久久久久久小说| 久久伊人色| 国产精品9999久久久久| 青青草原综合久久大伊人导航| 97精品依人久久久大香线蕉97| 狠狠色丁香婷婷综合久久来 | 久久男人AV资源网站| 国内精品久久久久影院免费| 无码人妻精品一区二区三区久久久 | 久久97久久97精品免视看| 久久久久亚洲AV无码麻豆| 久久久免费观成人影院| 99久久精品国产高清一区二区 | 久久亚洲中文字幕精品有坂深雪 | 精品蜜臀久久久久99网站| 久久久久久国产精品无码下载 | 精品国产日韩久久亚洲| 国产国产成人久久精品| 久久99久久99精品免视看动漫| 狠狠色丁香婷婷久久综合| 久久天天日天天操综合伊人av| 99久久精品国产一区二区| 久久精品国产免费一区| 国产99久久精品一区二区| 久久中文骚妇内射| 欧美午夜精品久久久久免费视 | 色诱久久av| 色综合久久88色综合天天 | 久久这里有精品视频|