概念:乙個正在執行的程式,在作業系統角度講,程序就是乙個pcb,pcb就是作業系統對乙個正在執行的程式的描述,通過這個描述實現對指定程式的排程管理。在linux中是乙個結構體—struct task_struct
程式:一系列有序的指令集合,程式設計師編寫的**,並儲存在硬碟中
所有資料指令想要被cpu處理,都會先將**和資料載入到記憶體。
cpu分時機制:cpu以極快的速度切換排程執行所有的程式,每個程式在cpu上執行乙個時間片之後就會切換排程下乙個程序
pcb–程序控制塊
每個執行的程式都會有乙個pcb,pcb是用來描述程序的,也就是說,每個程序的描述資訊和屬性都在pcb中。
作業系統如何實現多個程式的排程執行:將這個執行中的程式描述起來,然後將這些描述組織起來進行管理,通過實現對pcb的排程管理實現對執行中程式的切換排程執行。
描述資訊:
記憶體指標:包括程式**和程序相關資料的指標,還有和其他程序共享的記憶體塊的指標
程式計數器:程式中即將被執行的下一條指令的位址
上下文資料:程序執行時處理器的暫存器中的資料
程序識別符號: 程序的唯一標識
狀態、記賬資訊、程序優先順序、io資訊等
cpu多核–多個處理核心-每個核心都有自己的暫存器,可以排程乙個程式的執行
並行:同時執行/執行
併發:輪詢處理執行
時間片:cpu排程執行程式的時間段
Linux 程序概念
任何計算機系統都包含乙個基本的程式集合,成為作業系統 os 它包括 作業系統是管管理的軟體 使用者操作 使用者操作介面 shell,lib,指令等 作業系統 驅動程式 硬體 作業系統管理硬體 系統呼叫 在開發者角度,作業系統會對外表現為乙個整體,但是會暴露自己的一部分介面供上層開發者使用,這部分由作...
Linux 程序概念
程序排程演算法 在早期作業系統的排程方式大多數是非剝奪的,這是由於早期的應用一般是科學計算或事務處理,不太把人機互動的響應時間指標放在首要位置。在這種情況下,正在執行的程序可一直占用cpu直到程序阻塞或終止。這種方式的排程演算法可以很簡單,且比較適用對於響應時間不關心或者關心甚少的批處理科學計算或事...
Linux 程序概念
調研程序的排程演算法.短程序優先演算法,對預計執行時間短的程序優先分派處理機。通常後來的短程序不搶先正在執行的程序。演算法優點 相比fcfs 演算法,該演算法可改善平均周轉時間和平均帶權周轉時間,縮短程序的等待時間,提高系統的吞吐量。演算法缺點 對長程序非常不利,可能長時間得不到執行,且未能依據程序...