preemption

    1熱度

    2回答

    在Autosar中,可運行參數映射到任務。由於優先級,任務可以被搶佔。 搶佔點在哪裏?搶先發生在可運行的程序之間嗎? 是可運行的原子執行,還是可以在其執行過程中被搶佔?

    0熱度

    1回答

    根據POSIX standard,寫入管道保證是原子的(如果數據大小小於PIPE_BUF)。 據我所知,這意味着任何試圖寫入管道的線程將永遠不會在另一個線程的寫入過程中訪問管道。我不清楚這是如何實現的,以及這種原子性保證是否有其他含義。 這是否僅僅意味着寫入線程在寫入函數內部的某處獲取了鎖? 是否寫入管道的線程保證在寫入操作期間永遠不會被調度超出上下文?

    0熱度

    1回答

    我有一個內核模塊。它有一個IOCTL,它分配頁面,然後使用kmap_atomic一次一頁地映射到內核。 當我運行通過一個測試應用程序行使這種IOCTL,我得到以下調度BUG: [41216.007065] BUG: scheduling while atomic: app/1242/0x00000002 [41216.007403] Modules linked in: allocato

    -1熱度

    1回答

    在同一CPU內核上運行有兩個進程(P-A和P-B)。進程B是多線程的。我希望進程A在進程B的線程每2微秒後被搶佔。 在固定的時間間隔(以微秒爲單位)之後,是否可以編寫一個計時器中斷(或其他)來搶佔進程A?

    0熱度

    3回答

    我寫在需要 等待串行使用select() 讀取串行數據(RS232數據採訪節目115200波特), 時間戳它(clock_gettime()), 讀取的ADC上SPI, 解釋它, 在另一個tty設備 循環發送新數據,並重復 的ADC是無關緊要的了。 在循環結束時,我再次使用select()和0超時輪詢並查看數據是否已經可用,如果這意味着我有溢出,即,即。我期望循環在更多數據之前結束,並且在循環開始

    1熱度

    2回答

    我在玩perf以瞭解如何找出進程進入「D」(不間斷睡眠)狀態的原因。 我使用PERF命令: perf record -g -p 4710 -e sched:sched_stat_iowait,sched:sched_stat_blocked sleep 60 其中4710是我進程的PID叫meetmaker。 然後我在看perf script輸出是 meetmaker-3.0.0 4710 [

    0熱度

    1回答

    從document我知道Pod必須由一個調度程序調度。如調度程序A計劃程序包a和調度程序B計劃程序包b。 問題是:可以a搶先b如果b已經在運行?哪個調度程序將執行此操作?

    -1熱度

    1回答

    我有這個問題涉及到嵌入式系統中,這種表達我在調度員的一個源文件中發現: What is a multi-rate non preemptive OS/Dispatcher ? 我瞭解一些基於我的研究等調度,非搶佔系統RTOS ..但我沒有找到合併的表達。 我可以理解的是,分派器是負責向運行隊列添加進程/線程的實體。非搶佔意味着任務開始運行時,任務不能由其他任務停止,直到完成並且多速率意味着調度

    0熱度

    1回答

    對於這種情況:進程B將等待進程A釋放自旋,因此預先排好? Process A: -->spin lock --> do strict call --> before unlock time int Time int ISR: --> Process A time slice finished --> need schedule -->ISR ret --> schedule to Process

    1熱度

    1回答

    當RT_PREEMPT補丁發佈Linux內核4.11,最新穩定的Linux內核? 我知道我可以在主線Linux內核使CONFIG_PREEMPT但什麼是這個主線PREEMPT和RT_PREEMPT補丁之間的區別是什麼? 後者是否做得更好?