• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            內核的忙碌生活 轉載

            我,作為計算機的內核,也就是人們眼中所謂的操作系統,是不折不扣的幕后英雄!給大家說說都干了些什么,你們就知道我不是在吹牛了。

            隨著散熱風扇的嗡嗡聲響起,我的忙碌生活就開始了。BIOS大哥習慣做甩手掌柜,把里里外外掃一遍發現沒什么意外后,就通知CPU,省下的事情,照舊——找內核。然后,睡大覺去了。

            CPU是我們這兒的頂梁柱,腦子特好使,幾乎從來不犯錯誤。不過這位同志的缺點就是太缺乏主觀能動性,總是不斷的問我:“下一步干什么?下一步干什么?”,他不覺得煩,我就要不厭其煩的告訴他。

            于是我開始搗鼓硬盤:“小樣,醒醒,把Shell給我”。硬盤這伙計懶,雖然記性沒話說,但就是磨嘰,找個東西要半天。對于我這個忙碌習慣了的人來說,實在受不了,所以我都是告訴他該找什么,然后該忙什么忙什么,反正找到了他會通知我(硬件中斷)。或者有時候干脆讓他和內存自己嘀咕去(DMA)。不過大家在一起時間長了,彼此也就了解了,有些合作的技巧:比如說我經常讓他找東西的時候多找點,相關的、用得到的,一股腦給我(預讀取),我都放到內存里(磁盤緩存),省得他麻煩,也省的自己老著急。

            內存正好和硬盤正相反,反應快是沒話說,但一歇班就全忘干凈了。于是還要硬盤一點點的告訴他,累。

            幾位同事都準備好了,就開始干活。其實我是個演員,不對不對,是管理人員,而且只是個中層管理人員。所以上面還有幾個老板(內核程序),還要伺候一大堆客戶(用戶程序)。

            老板好說,所有領導的話都是對的(內核總是假定內核的程序沒有錯誤)、都是重要的、緊急的(內核認為內核的要求都是合理的,應該盡快滿足的)。所以都應該是盡量滿足。客戶的情況就復雜了,經常會有客戶想干不能干的事情,而且客戶還可能會犯錯誤。這些都要進行協調,能解決的就盡量解決,實在無可救藥的,也只能舍小家,為大家了。(殺進程)

            不管是老板還是客戶,分配的任務也是五花八門:有的要求反應快,比如Shell和文本編輯程序,但是通常任務不重,也就是顯示個字,存個盤啥的,我們管這叫交互式進程;也有任務重的,比如編譯程序,但是快點慢點都成,這叫批處理進程;還要得要求隔一段時間就想做點兒什么的,比如計劃任務啥的,算是實時進程。總之,根據不同的任務特點,也有不同的應對辦法。但是這也要花心思,通過任務過去干過什么來確定他的特點,我們內部管這叫“基于過去行為的啟發式算法”。

            而我要做的事情就是盡可能地滿足所有人的要求!為了完成這個impossible mission,我努力學習、不斷總結經驗教訓,掌握了以下辦法:

            1. 把任務切片。由于CPU同志從來不關心在做什么、也從來不知道下一步要做什么。所以我就讓他這個時間段干這個任務,下個時間段干下個任務。這樣CPU同志就會分身術了!
            2. 把內存分頁。一個字節一個字節分配內存是會累死人的,而我的辦法是把把內存分成4K、4K的一小塊,然后按塊分配。在此基礎上,我還會用4K到4M不同大小的段來分配內存,以便解決內存的碎片問題,這就是著名的“伙伴算法”。
            3. 學會偷懶。有很多事情不一定立刻要做,比如說有的任務要求在內存里分配個地方,我的辦法是讓他覺得“貌似”已經分配完了就可以了,至于真正開辟內存空間,還是等他用到這塊空間的時候再說吧,一個小小的缺頁異常處理就可以搞定。
            4. 我還會能通過復雜的算法在固定的時間內決定下一個要處理的任務,這對付成百上千的任務時,效果相當好。
            5. ......

            類似這樣的工作技巧太多太多了,哎呀,又一個中斷響了,我要去忙了,同志們再見!o(∩_∩)o...

            posted on 2008-04-08 21:53 colen 閱讀(263) 評論(1)  編輯 收藏 引用 所屬分類: Kernel

            評論

            # re: 內核的忙碌生活 轉載 2008-04-09 15:13 mm

            內核和內核進程的區別是什么  回復  更多評論   

            <2008年4月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            導航

            統計

            公告

            Polymerized Myblog successfully, WELCOME...

            常用鏈接

            留言簿(1)

            隨筆分類(4)

            相冊

            study community

            搜索

            最新評論

            久久一日本道色综合久久| 少妇人妻88久久中文字幕| 国产婷婷成人久久Av免费高清| 狠狠色丁香久久婷婷综合图片| 久久久久久久国产免费看| 亚洲综合婷婷久久| 久久精品成人一区二区三区| 久久久网中文字幕| 欧美精品九九99久久在观看| 麻豆精品久久久久久久99蜜桃| 久久精品国产亚洲AV影院 | 久久精品国产免费一区| 亚洲国产天堂久久综合网站| 色婷婷久久综合中文久久一本| 少妇无套内谢久久久久| 国产精品一久久香蕉产线看| 国产精品亚洲美女久久久| 亚洲精品NV久久久久久久久久| 久久久久久国产精品无码下载| 国产精品久久成人影院| 伊人热热久久原色播放www| 99999久久久久久亚洲| 欧美激情一区二区久久久| 岛国搬运www久久| 久久久久女人精品毛片| 久久久久久综合网天天| 久久久精品久久久久久| 97久久精品午夜一区二区| 久久九九兔免费精品6| 精品久久久久成人码免费动漫| 国产精品狼人久久久久影院| 9久久9久久精品| 精品久久久久久亚洲| 国产精品9999久久久久| 粉嫩小泬无遮挡久久久久久| 久久久噜噜噜久久中文福利| 99久久无色码中文字幕人妻| 一本色道久久综合狠狠躁| 熟妇人妻久久中文字幕| 国产成人久久精品一区二区三区| 国产精品无码久久久久久|