# Operating System Examples ## Solaris Scheduler - ==Priority-based== multilevel feedback queue scheduling - Six classes of scheduling 1. real-time 2. system 3. time sharing 4. interactive 5. fair share 6. fixed priority - 每個類別都有自己的priorities和scheduling algorithm - scheduler轉換class-specific priorities into global priorities -  ### Example(time sharing, interactive) - i/o bound priority high - Time quantum expired - 新的thread's priority,根據他使用的entire time quantum without blocking - 若執行超過tq,優先度往下降 - Return from sleep - 剛從sleeping(I/O wait)return回來的thread的新的priority - 期待趕快執行,所以優先度提高 -  --- ## Windows XP Scheduler - Multilevel feedback queue - 排程 - 從最高優先的queue排到最低優先的queue(priority level: 0 ~ 31) - 永遠跑最高優先度的thread - 每個queue用==round robin== - 除了==Real-Time class==,Priority動態改變 -  ## Linux Scheduler - ==Preemptive priority== based scheduling - 只有==user mode== processes可以被preempted - 兩個不一樣的process priority ranges 1. Real-time tasks 2. Other tasks - 低的值表示高的優先度 - 高的優先度表示有更長的time quantum - Real-time tasks:(priority range 0~99) - 靜態的優先度 - Other tasks:(priority range 100~140) - 動態的優先度根據task interactivity -  - Scheduling algorithm - 當task還有剩餘的time quantum,被視為合格的且可以執行的task - 當task耗盡他的time quantum,他會被認為是==expired==且不是合格的task去執行 - 當一個task expired,新的優先度和time quantum會被賦予 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up