作業系統 程序

2021-08-18 23:44:44 字數 1230 閱讀 4587

記憶體中的程序:

程序中斷時(如時間片到期),儲存當前程序狀態

運用的是pcb資料結構儲存程序上下文:

****程序排程:

1、非搶占式(批處理系統)------------------------>>排程標準是:先來先服務;最短作業優先

2、搶占式(互動系統)----->>排程標準:1、公平(合理分配cpu)2、響應時間短(使用者輸入到執行完成的時間短)3、吞吐量大(單位時間完成的任務數量多)   這三個標準是互相矛盾的

所以搶占式系統就有以下幾種排程策略:

1、輪轉(時間片)

2、優先順序(動態優先順序,等待時間增長,不斷提公升的優先順序)

3、多級佇列反饋

生產者和消費者問題(印表機問題)(共享變數不一致的問題):

偽**如下:

產生問題的核心:

1、排程的不可控  2、counter++,counter--;不是原子操作   ------->>>p.counter!=c.counter;

臨界區:當程序進入臨界區的時候不允許其他程序進行操作

實現臨界區問題:

1、關閉中斷,在程序進入臨界區的時候,關閉中斷,使得該cpu只執行當前程序。問題:如果多核的情況下要關閉多個中斷;並且在程序執行完畢後要重新開啟中斷,不然系統會崩潰,所以這個關閉中斷操作不能交給應用程式許可權;所以這只是理論存解決的方案。

2、硬體指令實現鎖

3、訊號量(djstra)

注意:偽**如下:

作業系統 程序

在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...

作業系統 程序

程序是作業系統中的重要概念,描述了程式的執行資訊。乙個程序就是一次執行。可以把程式想象成類,程序就是例項。引入程序的概念有利於實現多程式並行的設計。每乙個程式執行的時候可以大致分為io任務和計算任務,如果乙個程序正在io,那麼應該把cpu讓給另乙個程序執行計算任務,這樣可以提公升cpu的利用率,這就...

作業系統程序

乙個程序就是乙個正在執行的程式。它包括 程序狀態。包括 每個程序在作業系統中用程序控制塊pcb來表示,用來儲存與該程序有關的各種狀態資訊。pcb只是基本原理中的說法,對於乙個真實的作業系統可能不叫pcb,比如linux中叫做任務結構體 task struct 分時系統是在程序之間快速切換,以便使用者...