日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux进程管理子系统分析,linux进程管理子系统简要分析

發布時間:2024/7/23 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux进程管理子系统分析,linux进程管理子系统简要分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux進程管理:

進程與程序:

程序:存放在磁盤上的一系列代碼和數據的可執行映像,是一個靜止的實體。

進程:是一個執行中的程序,它是動態的實體

進程四要素:

1. 有一段程序供其執行,這段程序不一定是某個進程所專有,可以與其他進程共用

2. 有進程專用的內核空間堆棧

3. 在內核中有一個task_struct數據結構,即通常所說的“進程控制塊”。有了這個數據結構,進程才能成為內核調度的一個的一個基本單位接收內核的調度。

4. 有獨立的用戶空間

Linux進程狀態

1. TASK_RUNNING

進程正在被CPU執行,或者已經準備就緒,隨時可以執行,當一個進程剛被創建時,就處于TASK_RUNNING狀態。

2. TASK_INTERRUPTIBLE

處于等待中的進程,待等待條件為真時被喚醒,也可以被信號或者中斷喚醒。

3. TASK_UNINTERRUPTIBLE

處于等待中的線程,待資源有效時喚醒,但不可以由其它進程通過信號或中斷喚醒。

4. TASK_KILLABLE

Linux2.6新引入的進程睡眠狀態,原理類似于TASK_UNINTERRUPTIBLE,但是可以被致命信號SIGKILL喚醒。

5. TASK_TRACED

正處于被調試狀態的進程

6. TASK_DEAD

進程退出時(調用do_exit)所處的狀態

Linux進程描述

在Linux內核代碼中,線程、進程都使用結構task_struct(sched.h)來表示,它包含了大量描述進程/線程的信息,其中比較重要的有:

pid_t pid;//進程號

long state;//進程狀態

int prio;//進程優先級

Linux進程調度:

調度的概念:從就緒的進程中選出最合適的一個來執行。

1. 調度策略

SCHED_NORMAL(SCHED_OTHER):普通的分時進程

SCHED_FIFO:先入先出的實時進程

SCHED_RR:時間片輪轉的實時進程

SCHED_BATCH:批處理進程

SCHED_IDLE:只在系統空閑時才能夠被調度執行的進程

2. 調度時機

什么時候發生調度?即shedule()函數什么時候被調用。

調度時機----主動式

在內核中直接調用schedule().當進程需要等待資源等而暫時停止運行時,會把自己的狀態置于掛起(睡眠),并主動請求調度,讓出CPU。

范例:

1. current->state = TASK_INTERRUPTIBLE;

2. schedule();

調度時機---被動式

被動式調度又名:搶占式調度。分為:用戶態搶占和內核態搶占。

用戶態搶占:

內核態搶占:

調度時機---搶占計數

3. 調度步驟

Schedule函數工作流程如下:

1>. 清理當前運行中的進程

2>.選擇下一個要運行的進程

3>.設置新進程的運行環境

4>.進程上下文切換

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的linux进程管理子系统分析,linux进程管理子系统简要分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。