Soft_Job 板


LINE

這書不好是他直接假設你知道計算機的timer怎麼用 這邊有個範例 https://www.embeddedrelated.com/showarticle/182.php 計算機底層沒有提供幾點幾分做什麼事這種很高階的排程器 你如果要計算時間的話 唯一的精確方式就是用CPU提供的timer interrupt 概念上大概就是對timer寫入要等待的時間跟一些參數 時間到的時候timer會拉一個interrupt 跳轉到timer的ISR(一個函數) 這樣就完成一次時間的計算 但問題來了 CPU通常不會有太多timer 所以你一次只能計很有限的事情 要多排幾個東西的話 就要把task都存起來 進到ISR的時候來檢查現在要做什麼 其中最有效的方式就是PQ 因為PQ保證頂端的工作必定是下一個工作 只要取pq.top().time - now()就能得到下一次要等待的時間 如果中途插入也是一樣的操作 當然你要用list 或array也可以 但這就單純浪費複雜度 至於RR還是SJF 跟這邊沒有任何關係 頂多就是你在實現multitasking的時候會需要用timer來做scheduling --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.228.129.84 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1666361344.A.1DB.html
1F:推 ntpuisbest: 原來底層沒有提供幾點幾分喔,想問為何array是浪費複 10/21 22:49
2F:→ ntpuisbest: 雜度 10/21 22:49
3F:→ ntpuisbest: array的話要怎麼做排程,只能無腦polling嗎? 10/21 22:49
4F:→ gasbomb: 因為array你沒辦法用O(1)拿到最優先的task 10/21 22:51
5F:→ gasbomb: 除非你每次insert的時候都sort 可是這樣更浪費 10/21 22:53
6F:→ Apache: 你再想一下 我覺得你沒有搞清楚問題 10/21 23:09
7F:推 MoonCode: 這id好棒 內容也讚 10/21 23:39
8F:推 humanfly: 感謝分享 10/22 00:32
9F:推 jasonwung: 推推 10/22 00:40
10F:推 ntpuisbest: 概念上大概就是對timer寫入要等待的時間跟一些參數 10/22 00:46
11F:→ ntpuisbest: 時間到的時候timer會拉一個interrupt 跳轉到timer的IS 10/22 00:46
12F:→ ntpuisbest: R(一個函數) 10/22 00:46
13F:→ ntpuisbest: 我想重點應該在這句? 10/22 00:47
這樣講好了 你有很多task 分別要在不同時間執行 但你現在只有一個timer 一次只能設定一個要等的時間 那你應該怎麼做才能最有效處理這麼多task?
14F:推 viper9709: 推解說 10/22 00:49
15F:→ Firstshadow: 大師 10/22 08:59
16F:推 oneheat: 不是Kernel沒有提供幾點幾分,而是Kernel的機制是會有一 10/22 13:56
17F:→ oneheat: 個固定的timer 每n ms(看freq 多少),會起來做一次一系 10/22 13:56
18F:→ oneheat: 列的操作 10/22 13:56
19F:推 jason222333: 推 10/22 14:03
20F:推 longlongint: 講的不錯而且有看對問題 推 10/22 14:56
21F:推 Hsins: 這文章好棒欸 10/23 14:01
22F:推 Karlsland: 大師 10/23 23:16
※ 編輯: Apache (125.228.129.84 臺灣), 10/23/2022 23:25:32
23F:推 richer6605: 推 10/25 02:52
24F:推 sxy67230: 補充一下計時的部分,現在很多年輕一輩都不知道主機板 10/25 10:31
25F:→ sxy67230: 其實有一個RTC電池,主要是要儲存物理時鐘透過石英晶體 10/25 10:31
26F:→ sxy67230: 來計時,早期PC那個壞掉要做schedule就很麻煩,現在基 10/25 10:31
27F:→ sxy67230: 本上這塊已經做到很難壞了 10/25 10:31
28F:→ sxy67230: 我覺得原原PO把一個複合的問題沒有想得很透徹,timer、 10/25 10:34
29F:→ sxy67230: interrupt、scheduler是一個複合的概念,全部都變成一 10/25 10:34
30F:→ sxy67230: 個就很難抽象思考 10/25 10:34







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP