搶占式優(yōu)先級調(diào)度算法流程圖 線程搶占的原因?
線程搶占的原因?首先要了解使用多線程的原因,以殺毒軟件為例。使用單線程,如果要執(zhí)行病毒查殺和垃圾清理,只能先執(zhí)行病毒查殺和垃圾清理中的一個,再執(zhí)行另一個。使用多線程,你可以同時(shí)清理垃圾和殺死病毒。但是
線程搶占的原因?
首先要了解使用多線程的原因,以殺毒軟件為例。
使用單線程,如果要執(zhí)行病毒查殺和垃圾清理,只能先執(zhí)行病毒查殺和垃圾清理中的一個,再執(zhí)行另一個。
使用多線程,你可以同時(shí)清理垃圾和殺死病毒。
但是問題也隨之而來,下面就來分析多線程的安全問題。搶占式執(zhí)行(線程安全的根本原因),首先明確線程是搶占式執(zhí)行,即CPU調(diào)度線程的時(shí)間是不確定的。
還是以病毒查殺為例。有可能病毒查殺的線程會在執(zhí)行中途從CPU調(diào)度出來,然后清理垃圾。
優(yōu)先級調(diào)度算法又分為
優(yōu)先級調(diào)度算法有兩種:一種是搶占式優(yōu)先級調(diào)度算法,另一種是非搶占式優(yōu)先級調(diào)度算法。
hrrn算法例題?
算法規(guī)則:每次調(diào)度前計(jì)算每個作業(yè)/進(jìn)程的響應(yīng)比,選擇響應(yīng)比最高的作業(yè)/進(jìn)程為其服務(wù)。
響應(yīng)率:響應(yīng)率(等待時(shí)間要求服務(wù)時(shí)間)/要求服務(wù)時(shí)間。
用于調(diào)度:可用于作業(yè)調(diào)度和進(jìn)程調(diào)度。
是否可以被搶占:非搶占 s算法。因此,只有當(dāng)當(dāng)前運(yùn)行的作業(yè)/進(jìn)程主動放棄處理器時(shí),才需要調(diào)度和計(jì)算響應(yīng)比。
優(yōu)點(diǎn):當(dāng)?shù)却龝r(shí)間和運(yùn)行時(shí)間(要求服務(wù)時(shí)間)相同時(shí),綜合考慮要求服務(wù)時(shí)間短的優(yōu)先(SJF的優(yōu)點(diǎn))。
當(dāng)需要相同的服務(wù)時(shí)間時(shí),長等待時(shí)間是優(yōu)選的(FCFS的優(yōu)勢)
對于長作業(yè),隨著等待時(shí)間變長,響應(yīng)比例會越來越大,從而避免長作業(yè)饑渴的問題。
優(yōu)先級調(diào)度算法?
優(yōu)先級調(diào)度算法是批處理系統(tǒng)中常用的算法。在進(jìn)程調(diào)度中,系統(tǒng)在每次調(diào)度時(shí)將處理器分配給就緒隊(duì)列中優(yōu)先級最高的進(jìn)程。
中文名
優(yōu)先級調(diào)度算法
種類
算法
它可以分為兩種類型:非搶占式優(yōu)先級算法和搶占式優(yōu)先級算法。
在非搶占式優(yōu)先級算法下,一旦系統(tǒng)將處理器分配給就緒隊(duì)列中優(yōu)先級最高的進(jìn)程,該進(jìn)程將一直運(yùn)行,直到它完成或發(fā)生某種情況使它放棄該處理器,然后系統(tǒng)可以將該處理器重新分配給就緒隊(duì)列中優(yōu)先級最高的另一個進(jìn)程。
在搶占式優(yōu)先級算法下,系統(tǒng)首先將處理器分配給就緒隊(duì)列中優(yōu)先級最高的進(jìn)程讓其運(yùn)行,但在運(yùn)行過程中,如果出現(xiàn)另一個優(yōu)先級更高的進(jìn)程,就會立即停止,將處理器分配給新的優(yōu)先級高的進(jìn)程。