1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      Linux系統原理知識 進程切換的概念介紹

      更新時間: 2008-04-09 15:17:24來源: 粵嵌教育瀏覽量:778

        一、tast_struct結構

        它是一個數據結構,可以說,它代表了一個進程。它有很多字段,大體有一下幾種:

        標識號:進程標識、用戶標識、組標識。

        狀態: Linux的進程的四種基本狀態

        調度信息:優先級、時間片等

        進程鏈信息:父進程、子進程的指針

        文件信息:打開文件、虛擬文件系統

        上下文信息:進程的運行環境

        二、I386體系的任務管理和調度

        I386體系從硬件上支持任務間的切換。為此目的,增設了一種新段:任務狀態段(TSS),首先它和數據段、代碼段一樣也是一種段,其次它記錄了任務的狀態信息。

        與其它段一樣,也有描述它的結構:TSS描述符表,它記錄了一個TSS的信息,同時還有一個TR寄存器,它指向當前任務的TSS。任務切換的時候,cpu會將原寄存器的內容寫出到相應的TSS,同時將新TSS的內容填到寄存器中,這樣就實現了任務的切換。

        三、Linux進程切換

        Linux任務切換是通過switch_to這個宏實現的,它利用長跳指令,當長跳指令的操作數是TSS描述符的時候,就會引起CPU的任務的切換,此時,cpu將所有寄存器的狀態保存到當前任務寄存器TR所指向的TSS段(當前任務的任務狀態段)中,然后利用長跳指令的操作數(TSS描述符)找到新任務的TSS段,并將其中的內容填寫到各個寄存器中,,將新任務的TSS選擇符更新到TR中。這樣系統就正式開始運行新切換的任務了。上面提到的task_struct中的tss成員就是記錄TSS段內容的。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 婷婷综合中文字幕亚洲 | 伊人久久男人的天堂 | 思思九九热在线视频免费精品 | 日韩一级在线播放 | 日韩精品一品道精品在线观看 | 亚洲欧美丝袜精品久久 |