目錄
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個女朋友。
從微觀角度來說:同一時刻,張三隻是和一個女朋友在一起。
這個就是并發。
是以現在張三通過這樣的一張時間表,就把這些女朋友很好的進行一個“排程”。
規劃時間表的過程,也就是“排程”的過程。