iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0

Process

tags: IT鐵人

Process

Process就是前面提到的Job跟Task,Process是執行中的程式。

當Process被建立時,主要組成包括下列:

Section 內容
Code Section(Text Section) 就是Program code部分。
Data Section Containing the global variables。
Stack 包含temporary data(例如Function Parameters、Local variables、return address)。
Heap 包含Memory dynamically allocated during run time(例如pointer變數的需求空間)。
Programming counter & other registers 會有下一條指令的所在位置。

Process的內容在Memory中如下:

Memory會分配一塊區間給Process,而最低的放Code Section跟Data Section,之後heap往上長而Stack由上往下長。

PCB

PCB的全名是Process Control Block,就是在Process被建立時,kernel會建立一個表格,紀錄有關該Process的資訊,以便之後切換不同process時還可以正常運作。

PCB主要紀錄的資訊有:

項目 內容
Process NO. unique Process ID.
Process State ready, new, running, wait state,etc.
CPU Register accumulator, Stack Top pointer, Index register,etc.
CPU Scheduling Info process優先權值, PCB pointer,etc.
Memory Management Info Base limit register值 or page Table or Segment Table, base on OS memory management.
Program Counter Next instruction address.
Accounting Info Process使用CPU Time的最大值, 目前使用了多少CPU Time, 多少資源, etc.
I/O-Status Info 目前配給process之I/O-Device為何,已發出哪些I/O-request,完成多少I/O-request,etc.

State Transition

前面說紀錄PCB的目的就是為了能夠切換不同的process,所以每個Process都會需要在不同的state中切換,就有了以下的State Transition Diagram:

建立好Process後,分配完Memory後進入ready state,拿到CPU後進入running state,中間會來回切換執行別的process,執行完成之後就terminated,如果執行中間需要進行I/O或是意外狀況,則進入waiting state等待完成。

這種類型的State Transition Diagram是考慮了Memory不夠的狀況,這時候有些process會swap進入disk,等到Memory夠用或是該輪到他的時候再從disk移出來。

Scheduler

提到了process會輪流執行,那麼就要介紹有甚麼挑選process的方式,以下會介紹三種Scheduler:

種類 內容
Long-Term Scheduler 又稱為Job Scheduler,目的在於從Job Queue中抓Job進入Memory中以便執行。因為執行的頻率最低,所以稱為Long-Term。
Short-Term Scheduler 又叫做CPU Scheduler或Process Scheduler。目的在於從Ready Queue中抓Process給CPU執行。因為執行頻率最高,所以稱為Short-Term。
Medium-Term Scheduler 當Memory空間不夠時,要把Process swap out到disk中,直到空間足夠時再將Process swap in到Memory。因為執行頻率在中間,所以稱為Medium-Term。

What's Next?

這邊介紹了PCB以及會有不同的State,後面會介紹在切換不同的process時會發生甚麼事情,以及一些酷東西XDD

上一篇 下一篇
System Call & OS架構 Child Process


上一篇
Day-19 System Call & OS架構
下一篇
Day-21 Child Process
系列文
杰哥的考研紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言