從機(jī)制與策略探究Linux內(nèi)核設(shè)計(jì)之道_第1頁
從機(jī)制與策略探究Linux內(nèi)核設(shè)計(jì)之道_第2頁
從機(jī)制與策略探究Linux內(nèi)核設(shè)計(jì)之道_第3頁
從機(jī)制與策略探究Linux內(nèi)核設(shè)計(jì)之道_第4頁
從機(jī)制與策略探究Linux內(nèi)核設(shè)計(jì)之道_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

從機(jī)制與策略探究Linux內(nèi)核設(shè)計(jì)之道第一頁,共51頁。所見的是暫時(shí)的所不見的是永遠(yuǎn)的—《圣經(jīng)》形而上謂之道形而下謂之器—《易經(jīng)》第二頁,共51頁。文、史、哲文學(xué)--使看不見的東西被看見哲學(xué)-----迷宮中望見星空史學(xué)-----沙漠玫瑰的開放摘自龍應(yīng)臺(tái)的《百年思索》第三頁,共51頁?!短靻枴诽旌嗡呈煞秩赵掳矊倭行前碴惡侮H而晦何開而明角宿未旦曜靈安藏--屈原第四頁,共51頁。做學(xué)問要在不疑處有疑大膽的假設(shè),小心的求證--胡適第五頁,共51頁。提供機(jī)制而不是策略機(jī)制-提供什么樣的功能策略-怎樣實(shí)現(xiàn)這些功能Unix/Linux設(shè)計(jì)理念第六頁,共51頁。如果說機(jī)制是一種框架,那么,策略就是填充框架的一個(gè)個(gè)具體實(shí)體。機(jī)制提供的是一種開放而寬松的環(huán)境,而策略就是在這個(gè)環(huán)境下賴以生存的生命個(gè)體。機(jī)制與策略第七頁,共51頁。Linux系統(tǒng)整體結(jié)構(gòu)硬件文件系統(tǒng)進(jìn)程管理進(jìn)程間通信內(nèi)存管理網(wǎng)絡(luò)內(nèi)核

模塊系統(tǒng)調(diào)用系統(tǒng)調(diào)用應(yīng)用軟件應(yīng)用軟件……3環(huán)0環(huán)第八頁,共51頁。Xen體系結(jié)構(gòu)硬件Xen系統(tǒng)管理程序DomainU

系統(tǒng)調(diào)用應(yīng)用軟件應(yīng)用軟件……3環(huán)Domain01環(huán)0環(huán)Hypercall第九頁,共51頁。隔離變化-系統(tǒng)調(diào)用機(jī)制系統(tǒng)調(diào)用OS內(nèi)核應(yīng)用程序隔離變化第十頁,共51頁。調(diào)用read()read()封裝例程system_callsys_read()

應(yīng)用

C庫

系統(tǒng)調(diào)用處理程序sys_read()

用戶空間

內(nèi)核空間一個(gè)系統(tǒng)調(diào)用的執(zhí)行機(jī)制程序員操作系統(tǒng)第十一頁,共51頁。一個(gè)系統(tǒng)調(diào)用的執(zhí)行機(jī)制從程序的角度看,實(shí)際上不直接與系統(tǒng)調(diào)用打交道,而是跟API打交道,API是對(duì)系統(tǒng)調(diào)用的封裝。庫函數(shù)以及應(yīng)用程序怎樣使用系統(tǒng)調(diào)用,內(nèi)核并不關(guān)心,內(nèi)核只跟系統(tǒng)調(diào)用打交道,而且是實(shí)現(xiàn)系統(tǒng)調(diào)用的大場景。系統(tǒng)調(diào)用抽象出了用于完成某種特點(diǎn)目的的函數(shù),至于這些函數(shù)怎么用不是內(nèi)核關(guān)心的。用戶空間的程序無法直接執(zhí)行內(nèi)核代碼。它們不能直接調(diào)用內(nèi)核空間中的函數(shù),因?yàn)閮?nèi)核駐留在受保護(hù)的地址空間上。如果進(jìn)程可以直接在內(nèi)核的地址空間上讀寫的話,系統(tǒng)的安全性和穩(wěn)定性將不復(fù)存在。第十二頁,共51頁。應(yīng)對(duì)變化-模塊機(jī)制內(nèi)核母體驅(qū)動(dòng)程序一個(gè)新的文件系統(tǒng)新功能….第十三頁,共51頁。隱藏差異-虛擬文件系統(tǒng)機(jī)制用戶程序虛擬文件系統(tǒng)VFSMinixExt3……NTFS設(shè)備文件文件系統(tǒng)的系統(tǒng)調(diào)用接口,包括read()、write()、open()、close()等第十四頁,共51頁。不同文件系統(tǒng),不同驅(qū)動(dòng)程序都有統(tǒng)一的接口用戶程序不關(guān)心具體文件系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié),使用抽象、統(tǒng)一、虛擬的界面VFS的機(jī)制參見“Linux內(nèi)核之旅”上關(guān)于Linux文件系統(tǒng)的兩篇文章第十五頁,共51頁。內(nèi)存管理機(jī)制邏輯地址空間物理地址空間編譯程序看到的OS看到的第十六頁,共51頁。虛存管理機(jī)制地址映射第十七頁,共51頁。

管理者-管理軟硬件資源,提高效率服務(wù)者-提供各種服務(wù),方便用戶歸根結(jié)底是執(zhí)行者OS的本質(zhì)是什么第十八頁,共51頁。執(zhí)行用戶程序-為用戶服務(wù);響應(yīng)中斷-為外設(shè)服務(wù);執(zhí)行系統(tǒng)調(diào)用-解放程序員(因?yàn)槌绦騿T不再與繁雜的硬件打交道)執(zhí)行內(nèi)核線程-為操作系統(tǒng)自身服務(wù)

OS的執(zhí)行機(jī)制第十九頁,共51頁。執(zhí)行用戶程序-進(jìn)程機(jī)制;響應(yīng)中斷-中斷機(jī)制;執(zhí)行系統(tǒng)調(diào)用-軟中斷機(jī)制執(zhí)行內(nèi)核線程-線程機(jī)制

OS的執(zhí)行機(jī)制第二十頁,共51頁。進(jìn)程/線程的執(zhí)行機(jī)制第二十一頁,共51頁。

當(dāng)新的設(shè)備引入新類型的中斷時(shí),CPU和操作系統(tǒng)不用關(guān)注如何處理它。os負(fù)責(zé)提供接口,讓用戶通過該接口注冊根據(jù)設(shè)備具體功能而編制的中斷服務(wù)程序。如果用戶注冊了對(duì)應(yīng)于一個(gè)中斷的服務(wù)程序,那么CPU就會(huì)在該中斷到來時(shí)調(diào)用用戶注冊的服務(wù)程序。在中斷來臨時(shí)系統(tǒng)需要如何操作硬件、如何實(shí)現(xiàn)硬件功能這部分工作就完全獨(dú)立于CPU架構(gòu)和操作系統(tǒng)的設(shè)計(jì)。參見Linux內(nèi)核之旅上中斷趣味談中斷機(jī)制第二十二頁,共51頁。Linux把系統(tǒng)調(diào)用、異常和外部中斷納入統(tǒng)一框架處理。外部中斷分為上下兩半部分處理。上半部分就是通常的中斷處理過程下班部分有多種處理機(jī)制:softirq,tasklet,工作隊(duì)列中斷機(jī)制的實(shí)施第二十三頁,共51頁。structtasklet_struct{structtasklet_struct*next; unsignedlongstate; atomic_tcount; void(*func)(unsignedlong); unsignedlongdata; };中斷下半部機(jī)制的實(shí)施-tasklet第二十四頁,共51頁。Linux內(nèi)核安全框架-LinuxSecurityModule(LSM)第二十五頁,共51頁。通用性。當(dāng)選擇一個(gè)使用不同安全策略的模型時(shí),僅僅是裝載一個(gè)不同的內(nèi)核模塊,不再需要額外的內(nèi)核補(bǔ)丁。簡單性。LSM的實(shí)現(xiàn)應(yīng)不涉及復(fù)雜的安全理論,不干擾或不對(duì)安全模型的實(shí)現(xiàn)提供“具體的”支持;盡量減少對(duì)原有內(nèi)核的改動(dòng);不能對(duì)內(nèi)核執(zhí)行效率有大的影響。能夠使已有的POSIX.1ecapabllities邏輯結(jié)構(gòu)作為一個(gè)可選擇的安全模塊裝入。LSM設(shè)計(jì)原則和目標(biāo)第二十六頁,共51頁。LSM框架第二十七頁,共51頁。在內(nèi)核系統(tǒng)調(diào)用處理中,提供調(diào)用策略的接口提供包含安全鉤子函數(shù)的結(jié)構(gòu)體,及其內(nèi)核注冊、卸載函數(shù)在內(nèi)核核心數(shù)據(jù)結(jié)構(gòu)中,提供字段,保存對(duì)應(yīng)策略對(duì)應(yīng)數(shù)據(jù)提供額外的安全系統(tǒng)調(diào)用,方便實(shí)現(xiàn)對(duì)應(yīng)策略的內(nèi)核與用戶態(tài)交互LSM設(shè)計(jì)原則和目標(biāo)第二十八頁,共51頁。同步機(jī)制審計(jì)機(jī)制過濾機(jī)制(netfilter)Inotify機(jī)制……Linux內(nèi)核中的其他機(jī)制第二十九頁,共51頁。云時(shí)代終端操作系統(tǒng)-Android第三十頁,共51頁。Android來了第三十一頁,共51頁。從設(shè)計(jì)意圖出發(fā)第三十二頁,共51頁。Android框架第三十三頁,共51頁。Android空間的演繹(一)AndroidLinux第三十四頁,共51頁。Android空間的演繹(二)AndroidDalvikVMLinux第三十五頁,共51頁。Android空間的演繹(三)第三十六頁,共51頁。Android空間的演繹(四)第三十七頁,共51頁。Android空間的演繹(五)第三十八頁,共51頁。Android的核心機(jī)制binder第三十九頁,共51頁。云計(jì)算核心技術(shù)—虛擬化第四十頁,共51頁。xen體系結(jié)構(gòu)第四十一頁,共51頁。XenHypervisor是一個(gè)介于硬件和操作系統(tǒng)之間的軟件層,它負(fù)責(zé)在各虛擬機(jī)之間進(jìn)行CPU調(diào)度和內(nèi)存分配。XenHypervisor不僅抽象出硬件層,同時(shí)控制虛擬機(jī)的執(zhí)行,因?yàn)檫@些虛擬機(jī)共享同一個(gè)處理環(huán)境。XenHypervisor不會(huì)處理網(wǎng)絡(luò)、存儲(chǔ)設(shè)備、視頻以及其他I/O。XenHypervisor第四十二頁,共51頁。xen的驅(qū)動(dòng)分離機(jī)制第四十三頁,共51頁。虛擬設(shè)備模型第四十四頁,共51頁。Xenhypervisor實(shí)現(xiàn)了機(jī)制,而把策略留給domain0客戶操作系統(tǒng)。Xen本身并不支持任何設(shè)備,它只是提供一種機(jī)制,使得客戶操作系統(tǒng)可以直接訪問物理設(shè)備??蛻舨僮飨到y(tǒng)可以使用現(xiàn)有的設(shè)備驅(qū)動(dòng)程序。這就使得即使支持一個(gè)新設(shè)備無需修改xen機(jī)制與策略分離第四十五頁,共51頁。進(jìn)行著的開源項(xiàng)目-彈性云存儲(chǔ)/p/xy-cloud/第四十六頁,共51頁。類似于EC2彈性云平臺(tái)

按用戶需求自動(dòng)分配、管理、監(jiān)控虛擬機(jī)支持網(wǎng)絡(luò)虛擬化實(shí)現(xiàn)鏡像存儲(chǔ)的集中化--在hadoop上實(shí)現(xiàn)logstructure作為虛擬機(jī)鏡像存儲(chǔ)后臺(tái)實(shí)現(xiàn)虛擬機(jī)動(dòng)態(tài)調(diào)度實(shí)現(xiàn)虛擬機(jī)服務(wù)和數(shù)據(jù)分析等離線服務(wù)混合部署

功能介紹第四十七頁,共51頁。虛擬機(jī)主要承擔(dān)虛擬機(jī)的創(chuàng)建和銷毀,虛擬機(jī)調(diào)度主要承擔(dān)虛擬機(jī)的分配

和調(diào)度,后臺(tái)文件系統(tǒng)(hlfs)主要負(fù)責(zé)用戶數(shù)據(jù)的存儲(chǔ)和處理。

將發(fā)布0.1版實(shí)施方案第四十八頁,共51頁。采用hadoop作為分布式框架基礎(chǔ),在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論