linux時(shí)間子系統(tǒng)——定時(shí)器

在進(jìn)入時(shí)間子系統(tǒng)需要了解的--理論 - D0

  • 中斷
    • <u>中斷上半部</u>:設(shè)備產(chǎn)生中斷 - 中斷處理程序處理

    其特點(diǎn)為

    1. 中斷處理程序執(zhí)行期間辨赐,所有其他中斷被禁止芙沥。
    2. 由于0.的存在本處理程序具有嚴(yán)格的時(shí)間限制诲祸。
    3. 執(zhí)行期間處理器處于<u>中斷上下文</u>。
    4. 中斷處理程序的實(shí)現(xiàn)機(jī)制有平臺(tái)相關(guān)性而昨。
    • <u>中斷下半部</u>:執(zhí)行“與中斷處理密切相關(guān)但中斷處理程序本身不執(zhí)行的工作”

    中斷下半部的實(shí)現(xiàn)機(jī)制有:軟中斷救氯、tasklet、工作隊(duì)列歌憨。

  • 上下文着憨?

    中斷上下文和進(jìn)程上下文:

    • 處理器總處于以下三種狀態(tài)之一 1. 內(nèi)核態(tài),運(yùn)行于進(jìn)程上下文务嫡,內(nèi)核代表進(jìn)程運(yùn)行于內(nèi)核空間甲抖; 2. 內(nèi)核態(tài)漆改,運(yùn)行于中斷上下文,內(nèi)核代表硬件運(yùn)行于內(nèi)核空間准谚;3. 用戶態(tài)挫剑,運(yùn)行于用戶空間。
    • 用戶空間的應(yīng)用程序柱衔,通過(guò)系統(tǒng)調(diào)用樊破,進(jìn)入內(nèi)核空間。這個(gè)時(shí)候用戶空間的進(jìn)程要傳遞 很多變量唆铐、參數(shù)的值給內(nèi)核哲戚,內(nèi)核態(tài)運(yùn)行的時(shí)候也要保存用戶進(jìn)程的一些寄存 器值、變量等艾岂。所謂的<u>“進(jìn)程上下文”</u>顺少,可以看作是用戶進(jìn)程傳遞給內(nèi)核的這些參數(shù)以及內(nèi)核要保存的那一整套的變量和寄存器值和當(dāng)時(shí)的環(huán)境等。
    • 硬件通過(guò)觸發(fā)信號(hào)澳盐,導(dǎo)致內(nèi)核調(diào)用中斷處理程序祈纯,進(jìn)入內(nèi)核空間。這個(gè)過(guò)程中叼耙,硬件的 一些變量和參數(shù)也要傳遞給內(nèi)核腕窥,內(nèi)核通過(guò)這些參數(shù)進(jìn)行中斷處理。所謂的<u>“ 中斷上下文”</u>筛婉,其實(shí)也可以看作就是硬件傳遞過(guò)來(lái)的這些參數(shù)和內(nèi)核需要保存的一些其他環(huán)境(主要是當(dāng)前被打斷執(zhí)行的進(jìn)程環(huán)境)簇爆。
    • 運(yùn)行在進(jìn)程上下文的內(nèi)核代碼是可以被搶占的(Linux2.6支持搶占)。但是一個(gè)中斷上下文爽撒,通常都會(huì)始終占有CPU(當(dāng)然中斷可以嵌套入蛆,但我們一般不這樣做),不可以被打斷硕勿。正因?yàn)槿绱松诨伲\(yùn)行在中斷上下文的代碼就要受一些限制,不能做下面的事情:1源武、睡眠或者放棄CPU扼褪。這樣做的后果是災(zāi)難性的,因?yàn)閮?nèi)核在進(jìn)入中斷之前會(huì)關(guān)閉進(jìn)程調(diào)度粱栖,一旦睡眠或者放棄CPU话浇,這時(shí)內(nèi)核無(wú)法調(diào)度別的進(jìn)程來(lái)執(zhí)行,系統(tǒng)就會(huì)死掉. 2闹究、嘗試獲得信號(hào)量 如果獲得不到信號(hào)量幔崖,代碼就會(huì)睡眠,會(huì)產(chǎn)生和上面相同的情況. 3、執(zhí)行耗時(shí)的任務(wù) 中斷處理應(yīng)該盡可能快赏寇,因?yàn)閮?nèi)核要響應(yīng)大量服務(wù)和請(qǐng)求吉嫩,中斷上下文占用CPU時(shí)間太長(zhǎng)會(huì)嚴(yán)重影響系統(tǒng)功能。4嗅定、訪問(wèn)用戶空間的虛擬地址 因?yàn)橹袛嗌舷挛氖呛吞囟ㄟM(jìn)程無(wú)關(guān)的率挣,它是內(nèi)核代表硬件運(yùn)行在內(nèi)核空間,所以在中端上下文無(wú)法訪問(wèn)用戶空間的虛擬地址
    • 關(guān)于current:進(jìn)程上下文中引用有意義露戒,中斷上下文引用無(wú)意義。
    • 關(guān)于上下文的切換:只能發(fā)生在內(nèi)核態(tài)捶箱。
  • 鎖智什?
    • spin_lock:
  • 堆棧是什么?
  • what is "cache line" ?
  • 通知鏈技術(shù)

參考文獻(xiàn):

<a href=http://www.ibm.com/developerworks/cn/linux/l-cn-linuxkernelint>ibmlinux內(nèi)核中斷內(nèi)幕</a>
<a href=http://blog.chinaunix.net/uid-24919665-id-3018666.html>linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)筆記---下半部和推后執(zhí)行的工作</a>
<a href=http://www.cnblogs.com/hustcat/articles/1505618.html>進(jìn)程上下文和中斷上下文</a>

linux時(shí)間子系統(tǒng)——D1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丁屎,一起剝皮案震驚了整個(gè)濱河市荠锭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晨川,老刑警劉巖证九,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異共虑,居然都是意外死亡愧怜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)妈拌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拥坛,“玉大人,你說(shuō)我怎么就攤上這事尘分〔峦铮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵培愁,是天一觀的道長(zhǎng)著摔。 經(jīng)常有香客問(wèn)我,道長(zhǎng)定续,這世上最難降的妖魔是什么谍咆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮香罐,結(jié)果婚禮上卧波,老公的妹妹穿的比我還像新娘。我一直安慰自己庇茫,他們只是感情好港粱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般查坪。 火紅的嫁衣襯著肌膚如雪寸宏。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天偿曙,我揣著相機(jī)與錄音氮凝,去河邊找鬼。 笑死望忆,一個(gè)胖子當(dāng)著我的面吹牛罩阵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播启摄,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼稿壁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了歉备?” 一聲冷哼從身側(cè)響起傅是,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蕾羊,沒(méi)想到半個(gè)月后喧笔,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡龟再,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年书闸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片利凑。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡梗劫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出截碴,到底是詐尸還是另有隱情梳侨,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布日丹,位于F島的核電站走哺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏哲虾。R本人自食惡果不足惜丙躏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望束凑。 院中可真熱鬧晒旅,春花似錦、人聲如沸汪诉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至鱼鼓,卻和暖如春拟烫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背迄本。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工硕淑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嘉赎。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓置媳,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親公条。 傳聞我的和親對(duì)象是個(gè)殘疾皇子半开,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)赃份,斷路器,智...
    卡卡羅2017閱讀 134,672評(píng)論 18 139
  • 1 中斷介紹 1.1 簡(jiǎn)介 中斷控制是計(jì)算機(jī)發(fā)展中一種重要的技術(shù)奢米。最初它是為克服對(duì)I/O接口控制采用程序查詢所帶來(lái)...
    瘋狂小王子閱讀 8,081評(píng)論 0 9
  • 1 臨界區(qū) 1.1簡(jiǎn)介 在早期計(jì)算機(jī)系統(tǒng)中抓韩,只有一個(gè)任務(wù)進(jìn)程在執(zhí)行,并不存在資源的共享與競(jìng)爭(zhēng)鬓长。隨著技術(shù)和需求的飛速...
    Fly晴天里Fly閱讀 9,037評(píng)論 2 13
  • 中斷上下文和進(jìn)程上下文 設(shè)備的中斷會(huì)打斷內(nèi)核中進(jìn)程的正常調(diào)度和運(yùn)行谒拴,系統(tǒng)對(duì)更高吞吐率的追求勢(shì)必要求中斷服務(wù)程序盡可...
    Joe_HUST閱讀 1,732評(píng)論 0 1
  • http://blog.csdn.net/maochengtao/article/details/30713459...
    3e1094b2ef7b閱讀 975評(píng)論 0 2