青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

思考系統API設計的問題

最近正好在思考系統API設計中考量的一些問題,

【某網友討論到】
: 那地址是不是同一個地址呢。我現在的理解是這樣的,假設有巨大的真實內存。windows首先將高2G的內存自己占了,用作各種內核對象。這2G內存共享給每個進程,但進程不能直接訪問,只能通過windows給定的函數訪問。
: 然后每個進程都給他2G內存,進程如果創建自己的對象就放到自己那2G內存里面,如果要建立內核對象就放到共享的那高2G里面去。
: 所以不同進程如果可以訪問高2G內存的話,任何進程訪問到同一個高地址實際上都是訪問到同一個對象。但如果訪問低2G地址的話,不同進程是對應不同的對象的。



在不同的進程中,詢問同一個內核對象的實際地址(無論是線性地址還是物理地址),是無意義的:

首先,內核對象只能由在內核態下的例程才能直接訪問,在我們日常的代碼中,所調用的Windows API,比如CreateFile, (注意調用剛開始時是處于用戶態下的),一般都會在ntdll.dll中找到對應的內核函數或例程,接著系統切換到內核態,開始調用實際對應的內核函數(KiCreateFile),這個時候才會去訪問內核對象的實際地址,然后建立一個該內核對象對應當前進程的Handle,并把它返回給caller,同時切換回用戶態;因此,對于用戶態程序來說,只要且只能知道該內核對象在當前進程中的對應的Handle就可以對其進行操作了;

其次,這樣的設計是出于對OS核心數據結構(當然包括我們正在討論的內核對象)的保護;如果用戶態程序可以輕易的獲取內核數據結構的實際地址,那么對于整個OS的安全和穩定顯然構成很大的問題;一個用戶態的誤操作可以輕易的引起整個OS的崩潰,而有了這一層的保護,崩潰的只是當前進程而不是整個系統;

接著上面這點,也可以看出,內核對象的如此設計達到了接納OS本身的平滑演進的目的。從Windows 3.0到95/98,從NT到Win2k/XP,再到眼下的Vista/Win7,Windows操作系統本身發生了巨大的變化和進步,采納了無數的新技術新方法,但是它基本的系統應用編程接口,也就是我們所熟知的windows API,卻并沒有發生太大的改變,很多Win 3.0 這個16位OS時代的程序代碼只要當初設計規范編碼規范,稍許修改就可以在最新版的OS上運行如飛;是什么做到了這些?也就是所謂的極為重要的向后兼容性,我個人認為,把操作系統的重要/主要功能抽象成內核對象,并通過一套極為solid的API暴露出來,達成了這個目標。

這是一種更高層次上的面向對象,把實現的細節,把系統的復雜,簡單而優雅的封裝了起來。你只要調用CreateFile去建個文件或管道或郵槽,不用擔心當前OS是Windows 3.0還是Win7,獲得的Handle,你也不用去關心它以及它所指向的內核對象是Windows 3.0的實現還是Win7的實現。

Windows上所有的精彩幾乎都是基于這套通過內核對象概念抽象并暴露的API基礎之上,COM/OLE,這個二十年前震撼性的ABI和IPC范疇的技術規范,其中很多的設計思路也是植根于內核對象的設計理念,如COM對象的引用計數和內核對象引用計數,IUnknown和Windows Handle(前者是指向某個二進制兼容的組件對象,后者引用或間接指向某個內核對象,都是對于某個復雜概念的一致性抽象表述),等等;

十年前的.net,本來是作為COM的升級版本推出,把COM/OLE的實現復雜性封裝在了虛擬機平臺CLR里面,而從這個虛擬機的開源實現SSCLI,我們可以看到大量的COM機制在.net的具體實現里面起了舉足輕重的作用。在這些VM中大量symbol有著COR的前綴或者后綴,COR指代什么?Common Object Runtime, 原來CLR/SSCLI的設計思路也是把OS通過虛擬機VM的形式,并通過common object向應用程序暴露功能。

小結一下,
OS內核對象API,三十年前系統級別的對象抽象;
COM/OLE,二十年前二進制組件級別的對象抽象;
.net/CLR, 十年前虛擬機平臺級別的對象抽象;

寫到這里倒是引起了我其他的一些思考,軟件工業界一直以來對面向對象OO是熱火朝天,特別是語言層面,從C++/Java/C#到Python/JScript,不一而足;

但是我們有沒有從根本性的設計理念上對面向對象,察納雅言了呢?

如果現在設計Windows這套API的任務放在大家面前,會采用內核對象/Handle方案還是直接指向OS內部數據結構的方式來暴露功能?

從三十年前的這套API的設計中,我們真的可以學到很多。


 

posted on 2010-12-01 21:28 flagman 閱讀(10235) 評論(0)  編輯 收藏 引用 所屬分類: 設計 Design操作系統 OSCOM/COM+.net/CLR

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美综合精品久久成人| 一区二区高清在线观看| 午夜欧美视频| 国产亚洲毛片| 久久视频免费观看| 久久九九精品99国产精品| 国内综合精品午夜久久资源| 久久久久看片| 久久久久网址| 亚洲伦伦在线| 中国日韩欧美久久久久久久久| 欧美午夜精品一区| 欧美在线日韩精品| 久久久久久久久久久久久9999| 亚洲成人直播| 亚洲理论电影网| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 久久精品夜色噜噜亚洲aⅴ| 性久久久久久久久久久久| 极品尤物久久久av免费看| 亚洲国产高清视频| 欧美视频在线不卡| 欧美在线亚洲一区| 欧美成人国产一区二区| 亚洲在线播放| 久久久在线视频| 亚洲一区亚洲| 久久一区视频| 午夜伦理片一区| 蜜臀久久99精品久久久画质超高清 | 欧美精品高清视频| 欧美在线一区二区三区| 你懂的一区二区| 欧美在线观看视频在线| 欧美~级网站不卡| 久久福利影视| 欧美日韩国产高清| 久久女同精品一区二区| 欧美另类99xxxxx| 久久夜精品va视频免费观看| 欧美日韩a区| 牛人盗摄一区二区三区视频| 国产精品日韩在线| 亚洲国产日韩欧美综合久久| 国产农村妇女精品一区二区| 亚洲高清一区二区三区| 国内成+人亚洲| 亚洲午夜av| 一区二区高清在线观看| 快射av在线播放一区| 久久国产精品久久久久久久久久 | 久久免费视频这里只有精品| 亚洲欧美日韩国产一区二区三区| 另类激情亚洲| 美女久久网站| 激情婷婷久久| 久久国产毛片| 久久久久久久一区二区| 国产精品私房写真福利视频 | 久久久蜜臀国产一区二区| 欧美三日本三级三级在线播放| 欧美aaaaaaaa牛牛影院| 狠狠色丁香久久婷婷综合丁香| 亚洲永久免费精品| 亚洲一区二区免费在线| 欧美日韩高清免费| 亚洲精品乱码久久久久久| 亚洲精品影院| 欧美女主播在线| 亚洲精品国产精品国自产观看| 亚洲国产欧美另类丝袜| 美日韩在线观看| 亚洲国产精品成人| 亚洲美女精品成人在线视频| 欧美高清一区| 亚洲毛片在线免费观看| 亚洲私人影吧| 国产九九精品视频| 欧美影院午夜播放| 免播放器亚洲| 亚洲人成网站777色婷婷| 欧美77777| 9色精品在线| 欧美亚洲免费电影| 国产亚洲欧洲一区高清在线观看| 欧美一区二区精品久久911| 久久久久一区二区三区| 亚洲成人影音| 欧美精品不卡| 亚洲欧美一区二区三区久久| 久久精品免费看| 亚洲国产精品激情在线观看| 欧美国产精品人人做人人爱| 一本久道久久综合狠狠爱| 亚洲欧美日韩一区二区| 国内精品美女av在线播放| 狼狼综合久久久久综合网 | 久久成人18免费网站| 禁断一区二区三区在线| 欧美成人午夜激情视频| 在线视频免费在线观看一区二区| 欧美中文字幕第一页| 亚洲七七久久综合桃花剧情介绍| 欧美日韩三区| 久久久久在线| 亚洲性人人天天夜夜摸| 欧美.www| 欧美在线www| 亚洲精品综合精品自拍| 国产免费亚洲高清| 欧美电影在线观看| 亚洲欧美日韩国产成人| 亚洲黄色成人网| 欧美在线网站| 99re8这里有精品热视频免费| 国产精品一区二区久激情瑜伽| 欧美xart系列高清| 欧美在线视频免费观看| 一区二区三区国产精品| 欧美黑人多人双交| 久久免费少妇高潮久久精品99| 亚洲深夜激情| 亚洲精品欧美精品| 狠色狠色综合久久| 国产精品女主播在线观看| 欧美精品成人91久久久久久久| 久久精品视频免费播放| 亚洲欧美日韩一区在线| 日韩视频一区二区三区在线播放免费观看 | 亚洲人成网在线播放| 国语自产精品视频在线看| 国产精品久久亚洲7777| 欧美美女视频| 欧美精品日韩一本| 美腿丝袜亚洲色图| 久久影视三级福利片| 久久国产一区| 欧美一区二区精品在线| 亚洲一区日韩在线| 亚洲视频碰碰| 中文久久精品| 亚洲图片在线观看| 正在播放亚洲一区| 在线综合亚洲欧美在线视频| 亚洲美女视频在线免费观看| 亚洲高清视频一区二区| 欧美成人精品三级在线观看| 久久在线播放| 农村妇女精品| 欧美激情一区二区三区在线视频| 欧美高潮视频| 亚洲高清不卡av| 亚洲国产另类精品专区| 亚洲精品久久久久久下一站| 91久久夜色精品国产九色| 亚洲国产成人一区| 亚洲区国产区| 中文亚洲欧美| 欧美一区1区三区3区公司| 久久精品女人的天堂av| 麻豆91精品91久久久的内涵| 美国三级日本三级久久99| 欧美电影免费| 国产精品九九| 国产真实久久| 亚洲激情图片小说视频| 一区二区三区www| 午夜日韩电影| 久久综合久久综合久久| 欧美激情在线播放| 亚洲视频一区二区| 久久九九全国免费精品观看| 久久久亚洲国产天美传媒修理工 | 欧美护士18xxxxhd| 欧美视频在线不卡| 国产日韩视频一区二区三区| 影音先锋中文字幕一区| av成人免费在线观看| 欧美一区二区三区免费视频| 久久在线视频在线| 亚洲精品一区二区三区福利| 性欧美video另类hd性玩具| 欧美v亚洲v综合ⅴ国产v| 国产精品视频xxxx| 亚洲国产一区二区a毛片| 亚洲永久视频| 欧美黄色网络| 亚洲一区二区三区涩| 久久在线免费| 国产精品爽爽ⅴa在线观看| 91久久午夜| 久久久一区二区| 正在播放亚洲| 欧美激情精品久久久久久大尺度 | 国产精品乱人伦中文| 亚洲大片在线观看| 香蕉久久夜色精品国产| 亚洲精品久久久久久久久| 久久精品视频免费| 国产九区一区在线|