將一台計算機看作乙個ktv娛樂中心,每乙個ktv包房看作乙個cpu。現在只考慮單cpu也就是只有乙個ktv包房的情況。現在有很多客戶想到包房裡面k歌,每乙個客戶可以看作乙個程序。資源有限,所以必須有乙個排隊/排程機制,誰先唱歌誰後唱歌,怎麼切換。 ktv的管家,也可就是作業系統,由它來完成排程。當客人不是很多的時候,乙個簡單的先進先出的佇列就可以解決這個問題。但是當客人越來越多的時候,如果還是先進先出,會讓後來的客戶等很長的時間。為了解決這個問題,給每乙個客戶分配乙個時間片,時間片用盡之後,就得讓出ktv,由管家安排其他的客人唱歌。當然,如果乙個客人唱完一段想休息一下,也可以自願讓出ktv,也是允許的。所以管家要有乙個優先順序演算法,決定那個客人先唱哪個客人後唱,客人之間的優先順序等等問題。這樣這個ktv就是多工的了。
使用者態與核心態:我們將客人唱歌時稱之為使用者態,將ktv管家工作時稱之為核心態。 客人在包間裡面唱完一首歌,打算切歌,這個時候需要讓管家幫忙,所以會暫時進入到核心態一段時間。這個過程稱之為系統呼叫。客人正在唱歌的時候,服務生過來敲門,是否需要飲料瓜子,此時管家會讓客人暫停唱歌,他接收瓜子等,之後繼續讓客人唱歌。這一過程稱之為中斷。可以看到,管家有兩個狀態了,乙個是客人委託管家換歌時進入,乙個是服務生打斷後時進入。將前者稱之為程序上下文,將後者稱之為終端上下文。
程序切換:ktv為了提供更好的服務,在每一位客人退出的時候,都要把包間的環境資訊記錄下來,比如燈光,音響,點歌曲目等記錄下來,下次客人再進入包間的時候,將這些資訊恢復過來,客人可以接著上次的繼續唱歌。這裡的燈光音響可以看作是程序的環境變數,而點歌曲目,則可以看作是程序的堆疊。當前唱歌曲目,可以看作是程序的sp暫存器。
程序與執行緒:客人在申請到包間的唱歌時間片後,它可以在邀請他的朋友一起來唱歌。可以想見,他的朋友們過來的時候,使用的時間片,環境資訊等都是和客人共享的。這就是作業系統中的程序和執行緒。乙個程序被建立後,它可以在建立多個執行緒,這些執行緒和程序共享位址空間。而對於包房管家而言,誰交錢,交錢之後既可以擁有ktv的唱歌權,也就是可以背排程,至於客人是否邀請自己的朋友過來,不再排程的考慮範圍之內。
多核:乙個ktv娛樂中心有多個包房,對於客人而言,它可以在任意的乙個包房裡面唱歌。我們曾將乙個包房比作乙個cpu,那麼乙個ktv娛樂中心也就可以比作多核計算機。多核可以容納多個客人同時唱歌,這樣就提高了娛樂中心的運營能力了。
作業系統相關概念
作業系統相關概念 windows windows中文是窗戶的意思。另外還有微軟公司 推出的視窗 電腦作業系統名為windows 隨著電腦硬體和軟體系統的不斷公升級,微軟的windows作業系統也在不斷公升級,從16位 32位到64位 作業系統。從最初的windows1.0到大家熟知的windows9...
作業系統 作業系統的概念
3 作業系統的目標和功能 作業系統用做擴充機器 計算機系統自上而下可區分為 從作業系統的角度 計算機系統的概述 在計算機中的cpu 記憶體 輸入 輸出裝置等硬體,提供了基本的計算機資源 應用程式等規定了按何種方式來使用這些資源來為使用者服務 作業系統控制和協調各使用者程式對硬體的分配和呼叫。所以作業...
作業系統中程序概念的理解
作業系統中程序概念的理解 提 起程序這個概念,讓很多經常使用計算機的人感到陌生,其實我們經常和它打交道,只要在計算機上執行乙個程式,相應的乙個程序就誕生了,而且它伴隨著整個操 作過程,直到程式終止。程序在作業系統中是乙個非常抽象 非常重要 非常難以理解的概念。對程序概念的深入透徹的理解,有助於理解作...