中文字幕在线精品不卡_正在播放露脸一区_久久综合欧美_www.男人天堂

哈爾濱海月數據恢復,技術亞洲領先 設為首頁加入收藏RSS訂閱
中國區:哈爾濱(總部)鄭州福建深圳沈陽合肥大連包頭淄博上海廣州
    南京杭州嘉興武漢濟南青島新疆太原
亞太區:印度韓國泰國新加坡馬來西亞澳大利亞
Solaris
Linux、Solaris和FreeBSD的內核比較

  來源:【51cto】 Linux、Solaris和FreeBSD都是計算機操作系統,Linux是一套自由使用和自由傳播的類Unix操作系統。Solaris 是Sun Microsystems研發的計算機 操作系統。FreeBSD是一種UNIX操作系統,是由經過BSD、386BSD和4.4BSD發展而來的Unix的一個重要分支。本文將介紹下他們內核的區別。

  調度和調度器

  Solaris的調度單位是kthread_t,FreeBSd是thread,Linux是task_struct。抬高一級,Solaris的進程是proc_t,當然每個進程里的線程就是kthread_t;Linux的進程和線程都由task_struct 表示,單線程的進程在Linux里是一個task_struct。單線程的進程在Solaris里有一個proc_t,一個kthread_t,還有一個klwp_t表示。klwp_t提供了用戶和內核模式線程切換的存儲區。FreeBSD里的單線程進程有一個proc ,一個thread 和一個ksegrp 。ksegrp 是“內核調度的實體組kernel scheduling entity group”。三個系統的線程表示結構不同,不過都支持調度線程。

  和大家熟悉的基本一樣,調度是基于優先級的。小小的數學問題是,在Linux和FreeBSD里,數字越小,優先級越高;而SUN的寶貝卻喜歡數字越大,優先級越高。參考下表

  表1

  三個系統都更推崇interactive 線程/進程(下面會提到interactive怎么回事)。Interactive 線程比compute-bound 線程優先級要高,不過得到的時間片要少一些。Solaris,FreeBSD和Linux都使用每CPU的“運行隊列 runqueue”。FreeBSD和Linux有一個active隊列和一個expired隊列。名字說得很清楚了--系統從active上按照優先級選擇線程進行調度。用完自己時間片的線程就從active搬到expired上(或者為了避免“餓死”的其他情況),active空以后,內核交換active和expired。FreeBSD還多一個idle 隊列--其他兩個queue都空的時候才輪到這個。Solaris的概念是每CPU“調度隊列 dispatch queue”。線程用完時間片后,內核給其一個新優先級然后放回調度隊列。所有3個系統的runqueue,對不同優先級的可運行線程都分別有鏈表。

  FreeBSD四個優先級共享一個鏈表,Solaris和Linux則每個優先級一個鏈表Linux和FreeBSD結合運行時間和睡眠時間計算線程的interactive-ness,Solaris查表。他們都不支持“gang scheduling”(有興趣查Google即知,并行計算上的調度算法,大白話說就是一組任務一把disptach到各個CPU上。勞倫斯.利弗莫爾那幫造*********的家伙***喜歡了,他們有******上***昂貴的玩具,可以理解)每個OS都調度下一個線程而不是N個線程開始運行。這3個OS都有利用CACHE(warm affinity)和負載均衡的機制。對超線程CPU,FreeBSD能盡量將多個線程保持在一個CPU節點上(當然可能是不同的CPU超線程上)。Solaris也有類似機制,不過是在用戶和應用的控制下,而且并不限于CPU的超線程,他們的術語是processor sets,FreeBSD的叫法是processor groups和其他2個OS******的不同是,Solaris同時支持多個“scheduling classes”。3個OS都支持POSIX的SCHED_FIFO,SCHED_RR和SCHED_OTHER (或者SCHED_NORMAL)。SCHED_FIFO 和SCHED_RR通常支持實時線程(我不同意。。。但是照翻。。。)。

  Solaris和Linux為支持實時線程都支持了內核搶占。Solaris支持fixed priority類,system class的是系統線程(比如換頁線程),interactive的是在X控制下運行窗口環境的線程,還有一個Fair Share Scheduler 用于資源管理。具體可以參考Solaris資料。FreeBSD的調度器是在編譯時決定的,Linux的調度?--要看版本了。

  支持在系統中加入新的調度類是要付出代價的。內核中每個可能決定調度的地方都得有一個間接得函數調用去call調度類相關的代碼。比如,當一個線程將要sleep時,內核調用調度類相關代碼,完成該類中線程sleep需要完成工作。在Linux和FreeBSD上,調度已經完成了所有工作。不需要再來一個間接調用。額外的層次,就意味著Solaris的調度要占用稍微多一點的系統開銷--不過提供了更多的功能。

  內存管理和分頁

  Solaris的進程地址空間由邏輯段segment組成。進程地址中的這些段可以通過pmap訪問。Solaris將其內存管理代碼和數據結構分為平臺無關和平臺相關部分(這不跟沒說一樣嘛。。。)。平臺相關部分位于HAT(hardware address translation)層。FreeBSD用vmspace描述進程地址空間,將其劃分為邏輯塊region。硬件相關部分在pmap(physical map)模塊,而vmap 例程處理硬件無關部分和數據結構。Linux使用內存描述符劃分進程地址空間,邏輯單位是memory areas。Linux也由pmap來examine 進程地址空間。

  Linux將機器相關層從更高層次的機器無關層中劃分出來。Solaris和FreeBSD中大多數類似代碼比如page fault處理是機器無關的,而Linux處理page fault的代碼則非常機器相關--從fault處理開始就是這樣了。由此下來的結果是,Linux能很快地完成大多數分頁相關代碼--因為數據抽象更少。不過,代價是,下層硬件的改變需要大量修改代碼--Solaris和FreeBSD則分別把這樣的工作堵截在HAT和pmap層搞定。

  Segment,region和meory area的分割是:區域的虛擬地址segmetn/region/memory area映射的object/文件的位置權限map的大小

  例如,程序的text(text段,即代碼)在一個segmetn/region/memory area中,OS管理地址空間的機制是類似的,不過數據結構名字完全不同。

  分頁3個系統都使用了***近***少使用least recently used算法的變種完成頁替換。他們都有一個守護daemon進程/線程完成頁替換。FreeBSD的是vm_pageout daemon,它周期性地,或者當free的內存不多時,被喚醒。當可用內存低于某個限制時,vm_pageout 運行例程vm_pageout_scan掃描內存并釋放一些頁面。vm_pageout_scan例程可能需要異步地將更改過的頁面寫回到磁盤,在釋放他們之前。不論由多少顆CPU,只有一個這樣的daemon。Solaris的是pageout daemon,它也周期性地運行,處理空閑內存不多的情況。Solaris中的分頁限制值在系統啟動時自動校準,這樣可以避免該守護進程過渡占用CPU或者向磁盤發出洪水般的換頁請求(嗯,flood這么翻正好 ;P )。

  FreeBSD的daemon在大多數情況下使用的值是固定的--不過也可以調整。Linux的LRU算法可以在運行時動態調整,而且可以有多個kswapd daemon,每CPU最多一個。這3個系統都使用global working set策略,而不是per process working set。FreeBSD有多個頁面鏈表來追蹤***近使用頁。包括active,inactive,cached和feee頁。根據使用情況,頁面在這些?幢砑渥呃醋呷ァ>7夢實囊趁婊嵩赼ctive上。退出的進程的數據頁面將被馬上放到free上。

  如果因為負載原因vm_pageout_scan 來不及掃描全部內存的話,FreeBSD內核可能將整個進程全部換出。如果內存短缺十分嚴重,vm_pageout_scan 可能會kill系統中******的進程。Linux也使用不同的頁面鏈表。物理內存被分為(多個)3重zone:一個DMA頁面,一個普通頁面,一個動態分配內存頁面。zone的實現很像由于x86架構限制而很產生的。頁面在hot,cold和free鏈表間移動--機制和FreeBSD的類似。經常用的頁面在hot上。可用頁面則在cold或者free上。

  SUN的大佬使用free鏈,哈希鏈,vnode頁面鏈支持自己的LRU實現。后兩者大致相當于FreeBSD和Linux的active/hot鏈--也是FreeBSD和Linux要掃描的鏈。Solaris要掃描的不是這兩個對象,它用two-handed clock算法掃描全部頁面(見Solaris Internals 或其他什么地方隨你便)。大致方法是,兩只手相隔固定舉例,前面的手將page的引用位清空以作為標識,如果自此開始沒有進程引用這個頁,后面的手就釋放這個頁面(當然如果需要就寫回磁盤)。

  3個系統在分頁時都考慮了NUMA本地性。他們都把IO buffer cache和虛擬內存頁面的cache合并到一個系統頁cache中。系統頁cache用于讀寫文件已經被mmap了文件,還有應用的text段和data段。

  文件系統

  3個系統都使用數據抽象層向應用隱藏文件系統實現細節。就是用大家熟悉的open,close,read,write,stat,等等系統調用訪問文件,無論下層的文件數據的實現和組織如何。Solaris和FreeBSD把這種機制稱為VFS(virtual file system),基本數據結構是vnode(virtual node)。Solaris和FreeBSD里每個被訪問的文件都有一個賦給他們的vnode。除了generic 的文件信息外,vnode還包含到file-system-specific 信息的指針。Linux采用了詳細的機制,也叫VFS(virtual file switch),文件系統無關的數據結構是inode。這個機構和vnode類似(小心:Solaris和FreeBSD也另有自己的inode--是UFS文件系統里file-system-dependent 的數據)。Linux還有兩個不同的結構,一個用于文件操作,另一個用于inode操作。Solaris和FreeBSD將他們合并為vnode操作。

  VFS允許在系統里實現多種文件系統。這意味著他們相互訪問對方的文件系統沒問題。只要相關的文件系統例程和數據結構已經被移植到VFS上。所有這3個系統都允許文件系統堆疊stacking。下表列出了每個OS實現的文件系統類型,不是全部哈。

 

  表2

  結論

  Solaris,FreeBSD和Linux顯然都在從對方身上獲益。隨著Solaris的開源,這種相互促進有望更快。Max個人已經感覺到Linux的變化是***快的。新技術被快速地集成進系統,只是文檔和健壯性可能有點落后。Linux有很多--或者有時是看上去有很多--開發者。FreeBSD則大概是(從某種意義上)3個系統中歷史***長的。Solaris來自BSD Unix和AT&T Bell實驗室Unix的結合,使用了更多數據抽象層,因而一般說來能更簡便地支持更多功能。不過,內核中大多數這樣的分層都沒有文檔描述。可能隨著代碼的開放這一點會有所改善。

  至于他們的差別,******的地方之一是page fault處理了。在Solaris中,發生page fault時,代碼是從平臺相關的trap handler開始執行的(以大家的智商,這好像不用說了吧。。。),然后會調用generic的as_fault例程,這個例程判斷發生page fault的segment,然后調用segment driver處理page fault。segment driver調用文件系統代碼,后者再調用進驅動程序,換入頁面。換入完成后,segment driver 調用HAT層來更新頁表項。在Linux上,發生page fault后,內核調用的代碼在會馬上進入平臺相關部分,這些處理可能更快,不過可能不太容易擴展和移植(后半段說得太省,不知道作者有沒有真的研究過Linux下對應的處理過程)。

  內核觀察和調試工具對正確理解系統行為有關鍵意義。在這方面,Solaris有kmdb,mdb和DTrace 。在開源之前,Max就對Solaris做過多年“反向工程”--他發現解決問題的時候使用工具總比閱讀代碼來得快--我也知道,不過得看什么場合,大家可不要被他誤導。Linux嘛,我看作者Max不太熟,所以認為沒有太多工具。對FreeBSD,他也認為只是可以用GDB調試內核的dump--Linux也可以。

  通過上文描述,Solaris,FreeBSD和Linux3個系統有差別,但他們也有很多相似之處。除了那些不同的命名習慣,這些OS在實現不同概念的時候采用了非常相似的方法。他們都支持線程的分時調度,支持***近未使用頁面替換算法實現請求調頁,支持虛擬文件系統層允許不同文件系統架構。

 

 
客戶服務 +more
上門服務
服務承諾
異地恢復
收費標準
付款方式
疑難解答
服務特色 +more
·免費檢測
·免費提供3天備份
·專業工程師提供服務
·免費清潔送修的介質
·數據恢復前報價,客戶確認后工程師開始數據恢復
·數據恢復不成功不收費
·與客戶簽訂保密協議,對客戶的數
 據嚴格保密,整個恢復過程不會對
 客戶的原盤有任何的寫操作,以確
 保原盤的數據完全

·免費參觀恢復全過程

·工程師在線免費咨詢

·專業工程師提供服務
服務器數據恢復 點擊這里給我發消

息
數據庫修復
點擊這里給我發

消息
硬盤數據恢復
點擊這里給我發消

息
中文字幕在线精品不卡_正在播放露脸一区_久久综合欧美_www.男人天堂

9000px;">

色欧美日韩亚洲| 国产成人亚洲综合a∨婷婷| 一本到不卡免费一区二区| 国产精品视频看| 国产91精品精华液一区二区三区 | 国产成人av资源| 久久夜色精品国产噜噜av| 久久精品二区亚洲w码| 精品国产一区二区亚洲人成毛片| 麻豆免费看一区二区三区| 日韩欧美国产高清| 国产一区二区三区在线看麻豆| 久久精品一级爱片| 99re8在线精品视频免费播放| 亚洲免费在线视频| 91精品在线免费观看| 美腿丝袜一区二区三区| 久久精品免视看| 91天堂素人约啪| 偷窥国产亚洲免费视频| 久久影院电视剧免费观看| 不卡的av电影| 亚洲成人综合视频| 久久精品一区二区三区不卡| 一本色道综合亚洲| 男男视频亚洲欧美| 国产精品第一页第二页第三页| 欧美午夜精品久久久| 极品少妇xxxx精品少妇| 欧美国产一区二区在线观看| 欧美日韩亚洲综合一区二区三区| 国产在线视视频有精品| 成人欧美一区二区三区| 欧美一区二区网站| 99久久婷婷国产综合精品电影| 午夜精品久久久久久久| 亚洲国产高清aⅴ视频| 欧美日韩日日摸| 岛国精品一区二区| 午夜国产不卡在线观看视频| 中日韩免费视频中文字幕| 欧美日韩五月天| 风间由美性色一区二区三区| 丝袜美腿亚洲一区二区图片| 国产精品乱码人人做人人爱| 91精品国产麻豆| 色婷婷综合久久久| 国产成人亚洲综合a∨婷婷图片| 亚洲一区二区三区视频在线| 国产精品全国免费观看高清| 欧美精品少妇一区二区三区| 成人激情开心网| 极品瑜伽女神91| 日日欢夜夜爽一区| 一区二区三区日韩| 亚洲三级电影全部在线观看高清| 精品久久久久一区二区国产| 日韩一区二区电影网| 成人精品在线视频观看| 久久国产精品露脸对白| 日韩一区精品视频| 亚洲韩国一区二区三区| 亚洲免费伊人电影| 国产精品高潮呻吟| 国产日产欧美精品一区二区三区| 欧美一区二区三区免费在线看| 欧美色综合天天久久综合精品| 97久久精品人人澡人人爽| 国产成人精品一区二| 九一九一国产精品| 美国十次综合导航| 美日韩一区二区| 婷婷亚洲久悠悠色悠在线播放| 亚洲女人小视频在线观看| 国产精品福利一区| 国产精品久久久久久久久果冻传媒 | 国产剧情在线观看一区二区| 理论电影国产精品| 日韩av中文在线观看| 日韩黄色免费电影| 视频一区二区中文字幕| 日韩av一级电影| 久久精品国产免费| 国产麻豆精品在线| 成人激情av网| 色噜噜久久综合| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 自拍视频在线观看一区二区| 亚洲欧美日韩人成在线播放| 亚洲欧美偷拍三级| 亚洲另类在线视频| 午夜久久久久久久久| 日本午夜精品视频在线观看| 毛片一区二区三区| 国产精品自拍毛片| 岛国一区二区三区| 色婷婷综合久久| 欧美日韩精品一区二区三区四区| 欧美一区二区国产| 国产精品嫩草久久久久| 一区二区三区免费网站| 日韩av一区二区三区四区| 国产九色精品成人porny| aaa亚洲精品| 69av一区二区三区| 国产视频不卡一区| 亚洲精品乱码久久久久久黑人| 午夜影院久久久| 久久91精品久久久久久秒播| 国产成人av影院| 欧美在线高清视频| 欧美大片顶级少妇| 综合自拍亚洲综合图不卡区| 日韩福利电影在线| 丁香啪啪综合成人亚洲小说 | 欧美日韩在线精品一区二区三区激情 | 国产91精品入口| 欧美日韩色一区| 久久久欧美精品sm网站| 一级日本不卡的影视| 国内精品久久久久影院薰衣草| av在线一区二区| 91麻豆精品国产91久久久更新时间 | 国产老女人精品毛片久久| 在线观看av不卡| 久久精品视频一区二区| 一二三四社区欧美黄| 国产成人日日夜夜| 欧美亚洲动漫制服丝袜| 久久在线观看免费| 午夜不卡av在线| 91在线观看视频| 久久免费视频一区| 午夜精品一区在线观看| 大桥未久av一区二区三区中文| 欧美精品三级日韩久久| 中文字幕一区二区三区在线播放 | 国产又黄又大久久| 91麻豆精品久久久久蜜臀| 亚洲欧美日韩国产综合| 国产一区 二区| 制服.丝袜.亚洲.另类.中文| 一区二区视频免费在线观看| 国产精品1区2区3区| 日韩欧美视频一区| 亚洲成a人v欧美综合天堂下载| 懂色av噜噜一区二区三区av| 精品国产三级电影在线观看| 日韩不卡一区二区三区| 在线亚洲一区二区| 亚洲天堂久久久久久久| jiyouzz国产精品久久| 久久免费午夜影院| 国产一区二区在线观看免费| 日韩欧美综合在线| 琪琪久久久久日韩精品| 欧美日韩国产高清一区| 亚洲综合成人在线| 欧日韩精品视频| 亚洲精品国产成人久久av盗摄| 99视频热这里只有精品免费| 国产无人区一区二区三区| 国产尤物一区二区在线| 久久亚洲免费视频| 麻豆精品视频在线| 日韩精品专区在线影院观看| 丝袜a∨在线一区二区三区不卡| 欧美性受xxxx| 亚洲国产婷婷综合在线精品| 在线影院国内精品| 视频在线观看一区| 欧美一区二区三区视频免费播放| 午夜精品久久久久影视| 日韩一区二区免费在线电影| 久久国产成人午夜av影院| xfplay精品久久| 国产福利一区二区三区视频在线 | 国产乱码字幕精品高清av | 亚洲一区二区在线播放相泽| 欧洲精品在线观看| 午夜欧美2019年伦理| 欧美一区二区女人| 国产乱子伦视频一区二区三区 | 91蝌蚪porny成人天涯| 亚洲国产你懂的| 欧美日韩黄色一区二区| 蜜桃久久久久久久| 久久久www免费人成精品| av中文字幕亚洲| 一区二区视频在线| 在线播放亚洲一区| 国产精品18久久久久| 亚洲欧洲国产日韩| 欧美理论在线播放| 精品午夜一区二区三区在线观看| 日本一区二区免费在线| 欧美性猛交xxxxxx富婆| 国产一区二区美女| 综合激情成人伊人| 日韩一区二区三区视频在线|