• <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>
            什么是操作系統?
            操作系統Operating System,簡稱OS)是管理和控制計算機硬件軟件資源的計算機程序,是直接運行在“裸機”上的最基本的系統軟件,任何其他軟件都必須在操作系統的支持下才能運行。

            現在世面上的操作系統個可以說是百花齊放,但是它們的基本功能都是類似的, 包括:
            進程管理, 內存管理,文件系統,網絡通訊,安全機制,用戶界面,驅動程序等。

            同時我們會發現它們的基本架構也都是類似的,包括應用層, API層, 內核層。


            先說應用層, 系統應用(System Application)是指系統自帶的關鍵進程, 比如Windows和Mac都會有自己的Shell進程, Windows是Explorer.exe, Mac是Find.com. 用戶應用(User Application)是指我們自己開發的應用程序, 比如QQ,Photoshop。系統應用和用戶應用本質上沒什么區別,都是通過系統API實現的,但是系統應用因為是操作系統開發公司的自家程序, 很多時候可以調用未公開的API。

            再說API層,API層內部很多時候可以分更多的層, 比如Android會把這層分為Library和Application Framework, Mac和ios會把它分為分為Core Service和Media。API層盡管最底層都是C/C++, 但是上層不同平臺會用不同的語言實現, 比如Android選擇用Java封裝Framework; Mac/ios選擇用Objective-C封裝Cocoa框架; Windows就更豐富了,有Windows C API,也有COM API,甚至還有WinRT API, 在這些C/C++ API上層,還有為不同語言(.net)封裝的新API。

            最后說Kernel層,內核既是程序在CPU處理器上運行的調度器,也是訪問外部設備的橋梁,同時又提供了安全服務。操作系統內核類型, 包括微內核,宏內核,混合內核。宏內核(Monolithic, 也稱單內核,巨內核), 將所有系統功能都放在同一地址空間中,甚至將該地址空間映射到所有進程,Linux/Unix都是典型的宏內核。 微內核(Microkernel), 內核只負責最關鍵的任務調度和內存管理,其他功能全都交給外部用戶態的服務程序完成,該架構下內核會很穩定,但是效率太低, Mac OS X內核XNU的核心Mach是一個微內核。混合內核(hybrid kernel)結合了2種內核的優點, Windows和Mac是典型的混合內核。
            Windows的基本架構可以參考我的這篇<<理解 Windows API 調用過程>>和<<理解WinRT >>。

            我們再看當前市面上流行的操作系統的種類以及它們之間的關系,主要包括桌面端(PC),移動端(Mobile), 還有服務器端(Server),大概分布如下:
            PC: Windows, Mac, ChromeBook
            Mobile: Android, ios, WinPhone
            Server: Linux, Unix

            這些操作系統之間有何關系?
            這些系統實際上都不是獨立存在的,很多系統是從另外一個系統"進化"而來,下圖展現了這種關系:

            其中ChromeOS可能國內大家用的不多, 它Google ChromeBook的OS系統,北美學校比較流行,主要以Web為界面開發工具,C/C++為后臺開發工具。

            上面我也可以看到系統的2個大分支, 一個是Unix/Linux, 另外一個視Windows分支,我在<<關于字符集,編碼格式,大小端的簡單總結>>最后也提到了2個分支關于UFT8和Unicode16的區別。

            最后,上面我也可以看到幾家操作系統大公司的布局:

            蘋果希望借助Mac OS和ios統一PC和Mobile市場, 這2個系統盡管運行在不同的硬件架構上(x86和ARM), 但是蘋果應該視用同一份代碼代碼開發的(內部用宏做區分),應用層也用同一套API(Cocoa).

            微軟希望借助Win10的UWP統一PC和Mobile市場,Win phone7本來是采用Win CE架構的, Win Phone8之后微軟改成了NT架構,這樣和PC就實現了統一,具體我在<<GDI VS Dxgi>>也有相關闡述。

            Google以開放的姿態,它的Android和ChromeOS分別有個應用市場(Google Play Store和Google Chrome Store),好像有合并的打算,同時Google內部也在開發”Fuchsia“新操作系統。

            蘋果和微軟的戰略很相似,Google相對有些不一樣,未來會誰勝誰負,我們拭目以待吧。

            posted on 2016-11-27 22:25 Richard Wei 閱讀(1743) 評論(0)  編輯 收藏 引用 所屬分類: 行業動態
            欧美亚洲国产精品久久高清| 狠狠狠色丁香婷婷综合久久五月| 久久www免费人成看国产片| 青草影院天堂男人久久| 久久播电影网| 久久这里只有精品18| 国产精品内射久久久久欢欢 | 天堂久久天堂AV色综合| 国产精品99久久99久久久| 久久久久久亚洲精品不卡| 日本强好片久久久久久AAA| 国内精品伊人久久久久影院对白| 国产成人精品综合久久久| 精品久久久久久无码免费| 日韩人妻无码精品久久免费一| 国产激情久久久久影院小草| 色欲久久久天天天综合网| 久久婷婷五月综合色99啪ak | 欧美麻豆久久久久久中文| 国产精品一区二区久久| 久久人人爽人人爽人人爽| 久久精品国产72国产精福利| 91精品国产色综合久久| 亚洲AV无码成人网站久久精品大| 久久久青草青青国产亚洲免观| 久久香蕉国产线看观看乱码| 日韩久久久久久中文人妻| 久久久精品久久久久久| 国产亚州精品女人久久久久久 | 久久96国产精品久久久| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 天天影视色香欲综合久久| 欧美激情精品久久久久| 久久精品国产精品亚洲精品| 99久久99久久| 狠狠久久亚洲欧美专区| 久久夜色精品国产亚洲| 国产精品日韩欧美久久综合| 久久久久国产| 亚洲七七久久精品中文国产| 久久经典免费视频|