亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 關于內核調度的一個問題 [打印本頁]

作者: ceerqingting    時間: 2014-02-19 16:50
標題: 關于內核調度的一個問題
本帖最后由 ceerqingting 于 2014-02-19 16:53 編輯

問題:
程序需要新建一個進程/線程,這個新建線程/進程的特殊之處在于需要一直在內核中運行,不被調度程序切換
請問,該怎么實現?或者該查閱那方面資料?
程序是python編寫的,不知道python有沒有模塊可以解決上述問題?
作者: MMMIX    時間: 2014-02-19 17:16
ceerqingting 發(fā)表于 2014-02-19 16:50
問題:
需要一直在內核中運行,不被調度程序切換


需要直接訪問內核中的數據結構么?
作者: ceerqingting    時間: 2014-02-19 17:23
回復 2# MMMIX
我私信你了,看到了嗎?

   
作者: MMMIX    時間: 2014-02-19 22:47
ceerqingting 發(fā)表于 2014-02-19 17:23
回復 2# MMMIX
我私信你了,看到了嗎?


我從不在私信中討論技術問題。
作者: angeltears    時間: 2014-02-20 09:57
提示: 作者被禁止或刪除 內容自動屏蔽
作者: ceerqingting    時間: 2014-02-20 11:09
回復 4# MMMIX


   
作者: MMMIX    時間: 2014-02-20 16:23
回復 5# angeltears


    在一定程度上,不能。
作者: MMMIX    時間: 2014-02-20 16:30
回復 6# ceerqingting


    必須是 30ms 么?如果要求是嚴格的30ms間隔,我還真不清楚Linux的實時性能不能滿足你的要求。
作者: myworkstation    時間: 2014-02-20 20:10
回復 1# ceerqingting


    Linux的是分時操作系統(tǒng),這本身就決定了它的調度是不精確的,你可看看RealTime OS的實現。
作者: ceerqingting    時間: 2014-02-20 20:12
回復 8# MMMIX
并不一定非要30ms,可以有一些偏差,但是如果相差70ms就偏差太大了
請問您知不知道可能是什么原因才會造成這種偏差?

   
作者: ceerqingting    時間: 2014-02-20 20:12
回復 9# myworkstation
并不一定非要30ms,可以有一些偏差,但是如果相差70ms就偏差太大了
請問您知不知道可能是什么原因才會造成這種偏差?


   
作者: myworkstation    時間: 2014-02-20 21:34
回復 11# ceerqingting


    通過以下命令看看內核的時鐘精度:
  1. cat /boot/config-`uname -r` | grep -E 'CONFIG_HZ|CONFIG_NO_HZ'
復制代碼
linux內核從2.6.21提供了對tickless kernel(CONFIG_NO_HZ)的支持,它會根據系統(tǒng)負載動態(tài)觸發(fā)時鐘中斷,而之前的版本CONFIG_HZ相對是固定的,CentOS的基本上都是1000,部分系統(tǒng)有200的,你可以看看這個。至于修改這個值,需要重新編譯內核,在內核源碼目錄下執(zhí)行make menuconfig
  Processor type and features -> Timer frequency
作者: MMMIX    時間: 2014-02-20 22:41
ceerqingting 發(fā)表于 2014-02-20 20:12
回復 8# MMMIX
并不一定非要30ms,可以有一些偏差,但是如果相差70ms就偏差太大了
請問您知不知道可能是 ...


如果代碼本身沒有問題的話(例如阻塞什么的),最大的可能就是系統(tǒng)負載過高了。

另外,你是如何實現 30ms 間隔的?不同的實現方式也對最終的效果有影響。
作者: liuiang    時間: 2014-02-26 12:56
換實時系統(tǒng)吧,分時系統(tǒng)這種問題基本無解。

不過你可以聽取樓上的建議,增大系統(tǒng)HZ,提升任務優(yōu)先級,降低系統(tǒng)負載,在允許一定的偏差的情況下,還是有可能實現的。
作者: xiao_zheng_jia    時間: 2014-04-08 21:51
我以前看過書好像記得,linux好像提供一種軟實時調度策略,sched_fifo 。此類線程實時性較好。另外,linux內核中持有自旋鎖時是可以禁用內核搶占,不能讓內核調度的。不知道可不可以把那些實時性要求高的代碼放在自旋鎖內執(zhí)行,不過長時間持有自旋鎖會讓其他任務得不到處理。另外,不要在自旋鎖內睡眠。最后,我是個學生,說的都只是理論東西,如果幼稚了,大神勿怪。
作者: lixinwei1985@si    時間: 2014-04-09 09:23
創(chuàng)建個時鐘線程來處理 30ms完全沒問題




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2