• <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 閱讀(270) 評論(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

            搜索

            最新評論

            久久亚洲春色中文字幕久久久| 国产综合精品久久亚洲| 亚洲国产成人久久综合区| 久久av高潮av无码av喷吹| 欧美午夜A∨大片久久 | 久久天天躁夜夜躁狠狠| 亚洲国产高清精品线久久| 国产成人精品综合久久久久| 国产麻豆精品久久一二三| 激情五月综合综合久久69| 中文字幕精品久久| 99久久中文字幕| 久久久久久久久波多野高潮| 国产精品青草久久久久婷婷| 亚洲日韩欧美一区久久久久我| 伊人色综合久久天天人手人婷 | 精品久久久久中文字幕日本| 久久精品夜色噜噜亚洲A∨| 色偷偷久久一区二区三区| 久久精品国产亚洲Aⅴ蜜臀色欲| 精品国产乱码久久久久软件| 国内精品欧美久久精品| 午夜精品久久久久久99热| 日本欧美国产精品第一页久久| 国产精品久久久久久搜索| 99精品国产99久久久久久97| 色综合久久88色综合天天| 久久婷婷国产综合精品| 少妇人妻综合久久中文字幕| 久久精品国产一区| 99久久国产热无码精品免费| 亚洲精品无码久久一线| 欧美亚洲另类久久综合婷婷| www亚洲欲色成人久久精品| 99精品国产在热久久无毒不卡| 久久精品国产亚洲AV影院| 综合久久一区二区三区| 亚洲精品tv久久久久| 99精品国产免费久久久久久下载| 久久人人爽人人爽人人片AV麻豆| 久久精品国产亚洲Aⅴ蜜臀色欲|