• <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>

            內(nèi)核的忙碌生活 轉(zhuǎn)載

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

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

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

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

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

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

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

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

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

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

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

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

            評論

            # re: 內(nèi)核的忙碌生活 轉(zhuǎn)載 2008-04-09 15:13 mm

            內(nèi)核和內(nèi)核進程的區(qū)別是什么  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


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

            導(dǎo)航

            統(tǒng)計

            公告

            Polymerized Myblog successfully, WELCOME...

            常用鏈接

            留言簿(1)

            隨筆分類(4)

            相冊

            study community

            搜索

            最新評論

            亚洲国产天堂久久综合| 久久久久久久97| 精品一久久香蕉国产线看播放| 久久电影网| 欧美喷潮久久久XXXXx| 99久久亚洲综合精品成人| 亚洲精品视频久久久| 狠狠色丁香婷综合久久| 久久久久国产一级毛片高清板 | 国产精品美女久久久久| yellow中文字幕久久网| 久久精品国产2020| 久久精品国产黑森林| 久久精品无码专区免费青青| 狠狠色综合网站久久久久久久| 亚洲伊人久久精品影院| 精品久久人人做人人爽综合| 国内精品久久久久久久久电影网| 99久久精品国产一区二区蜜芽| 亚洲国产精品一区二区久久hs| 久久亚洲国产欧洲精品一| 久久久久高潮综合影院| 日批日出水久久亚洲精品tv| 久久久久久狠狠丁香| 亚洲国产精品无码成人片久久| 色综合久久久久综合99| 青青青青久久精品国产h| 日产精品久久久久久久性色| 久久精品无码一区二区WWW| 久久久久亚洲AV无码专区网站| 日本免费久久久久久久网站| 奇米综合四色77777久久| 久久精品国产亚洲AV忘忧草18| 伊人久久精品影院| 久久人人爽人人精品视频| 九九久久精品国产| 久久精品无码一区二区三区免费| 久久99久久成人免费播放| 国内精品久久久久久久亚洲| 久久精品夜色噜噜亚洲A∨| 久久精品国产亚洲一区二区三区|