天天看點

程序排程的基本過程1.什麼是程序2.作業系統是如何管理程序的

目錄

1.什麼是程序

2.作業系統是如何管理程序的

2.1.先描述一個程序

2.2.将若幹個程序組織起來

2.3.讓程序正常工作

2.4.程序的排程過程

1.什麼是程序

要知道程序的排程過程,首先我們要了解什麼是程序,我們打開任務管理器,就會發現它的第一欄就是程序,如下圖所示:
程式排程的基本過程1.什麼是程式2.作業系統是如何管理程式的
如果我們每多打開一個軟體,就會發現任務管理器程序中就回多一欄,這就是軟體對應的程序,我們可以了解為一個程序就是一個任務,當關閉任務時,對應的程序就會結束。這裡面的程序,有些是系統自動打開的,有些是我們手動打開的。 

2.作業系統是如何管理程序的

從剛剛到任務管理器中,我們可以看到有非常多的程序,那他們是如何被系統管理着的呢?

2.1.先描述一個程序

我們需要明确指出程序中的相關屬性。

例如:要形容一個學生,我們需要學生的學校,專業,姓名等等。

2.2.将若幹個程序組織起來

系統會利用适合的資料結構,将每個程序的相關資訊存放起來,友善以後的增删改查。

2.3.讓程序正常工作

一個程序如果要正常的工作,我們需要給他配置設定一些系統資源,在一個程序啟動前,其對應的檔案是存儲在硬碟上的,當我們輕按兩下某個軟體時,實際上是啟動了對應的.exe程式,就會加載到記憶體中,我們都需要哪些資源呢?

1.記憶體(用于加載.exe檔案)

2.硬碟(用于操作檔案)

3.CPU(用于執行程序上的指令)

2.4.程序的排程過程

程序排程隻會發生在多任務作業系統中,因為單任務作業系統每次隻會執行一個任務(程序),是以就不存在排程的說法。

多任務作業系統意味着每一時刻都有多個程序在運作,所謂的排程,其實就是時間管理。

假設張三是帥的一塌糊塗的美男子,身材還很好。

這就導緻張三會被很多妹子追求。

原則上來說:同一時刻,張三隻能談一個女朋友。

張三希望未來的女朋友:賢惠,有錢、膚白貌美。(站在現實生活的角度,作者還沒有見過這樣的人)

然而身邊的追求者,不存在這樣的人。

是以,張三就同時談3個女朋友(3個程序/任務),來集齊上述理想女友的所有特點。(三個任務同時執行)

A:有錢,長得一言難盡

B:賢惠:非常貼心,多的不說。

C:膚白貌美:美若天仙,就是有點脾氣、

集合三人的特點,張三将擁有完美的體驗。

但顯然不科學,為此張三需要合理的安排時間。

避免同一時刻,這三個人碰面。隻要不碰面,就是安全的。

在這個前提,張三就能将這種狀态為此下去。

名副其實的時間管理大師。

怎麼樣去管理時間呢?

制作一個時間表

周一:和A 去逛街

周二:和 B 去圖書館

周三:和 C 去看電影

周四…

每個人依次安排一個具體的時間,通過這樣的一張時間表,合理的去管理。

從宏觀角度來說:張三同時談了3個女朋友。

從微觀角度來說:同一時刻,張三隻是和一個女朋友在一起。

這個就是并發。

是以現在張三通過這樣的一張時間表,就把這些女朋友很好的進行一個“排程”。

規劃時間表的過程,也就是“排程”的過程。