做爲我的,開發一個操做系統是幾乎不可能的。雖然目前沒有機會參與操做系統的開發,可是我對設計一個操做系統仍是頗有興趣的。瀏覽器
將來我所想象的操做系統,應該知足如下需求:緩存
1. 一個操做系統,多個平臺硬件。安全
早期操做系統就是爲了整合硬件平臺、方便軟件開發而出現的。如今不少操做系統都已忘初心,將大部分精力放在更有市場的軟件上的。將來的操做系統,應該能夠整合不一樣的配置的平臺和硬件,包括服務器、普通電腦、平板電腦、手機甚至包括手錶等智能設備。不一樣的設備對系統的要求可能不一樣,操做系統能夠提供針對不一樣平臺的版本,可是基於此操做系統開發的軟件能夠作到一次開發,多平臺執行。服務器
不一樣的平臺意味着有不一樣的用戶體驗和輸入方式。操做系統應該明確本身所在的平臺並針對當前平臺作更細緻的體驗優化。網絡
2. 操做系統主要功能模塊。工具
操做系統應該主要負責硬件交互、進程管理、安全控制和應用管理。整個操做系統應該移除不少不須要的功能,保證安裝包是量小的。其中,硬件交互主要包括輸入設備(如鍵盤、鼠標、觸屏、攝像頭、麥克風)管理、輸出設備(如屏幕、聲音)管理、網絡設備管理。而且預留接口方便第三方硬件的加入。優化
應用管理是操做系統級別的一個功能。包括用戶最常使用的桌面也都稱爲一個應用。用戶有權利負責卸載桌面。操作系統
若是一個操做系統不包含任何應用。那麼,用戶只能進行鼠標移動、添加和移除應用、開機和關機這些和硬件自身有關係的操做。而不能用於上網、聽歌、拍照等現代化操做。設計
3. 應用(軟件)視頻
應用是操做系統的核心。操做系統自己應該是一個幕後的進程管理者,它是無界面和功能的。全部用戶能夠看到的界面功能都是依賴於應用實現的。
操做系統能夠將應用分爲三個等級。
第一等級是直接和硬件交互的應用。這一類應用不受操做系統控制,將直接佔用CPU執行。這類應用主要用於安裝和修復操做系統自己。
第二等級是系統管理的應用。這一類應用通常是系統內置應用且沒法卸載,它們有權限負責管理硬件和操做系統自己,惡意的應用可能致使操做系統中止工做。好比應用管理軟件、任務查看器、殺毒軟件等都屬於這一類應用。
第三等級是上層應用。這一類應用有權限使用用戶的設備資源,好比文件讀寫、網絡設備、攝像頭等資源,可是它們只能使用屬於本身的資源,而沒法讀取或修改其它應用。用戶能夠根據須要爲這一等級的應用設定信任度,信任度低的應用若是須要使用涉及隱私的資源,則須要向用戶申請。大部分平常使用的軟件,如瀏覽器、計算器、遊戲等軟件,都屬於這個級別的應用。
操做系統能夠內置一些必備的應用以方便用戶操做,可是這些內置應用必須能夠徹底被用戶替換。操做系統應該內置的應用有:桌面、啓動菜單、通知條、控制檯(任務欄)、瀏覽器、輸入法、應用商店、系統設置、網絡鏈接工具、屏幕鍵盤、計算器、備忘錄、鬧鐘、視頻播放器、音樂播放器、文件瀏覽器、 辦公文檔查看器、相機、圖片查看器等基本應用。全部應用均可以預設在後臺長期運行,或者在某個特定事件後觸發後臺執行。可是全部後臺執行的程序必須通過用戶贊成或者經過已具備這些權限並具備受權權限的應用受權。這個設定將能夠避免應用在不知情的狀況下在後臺偷偷執行,浪費電力和網絡資源。
整個用戶的硬盤,看起來將是這個結構:/硬盤跟目錄1/系統//硬盤跟目錄1/應用1//硬盤跟目錄1/應用2//硬盤跟目錄1/文檔其中,每一個應用都被安裝在獨立的文件夾,它們互相不干擾,也不能互相共享文件。系統文件夾包括系統自己所需所有文件。文檔文件夾包括用戶本身使用的各個文檔數據,文檔文件夾下的數據能夠被任何應用受權讀寫。應用有權分享本身的文檔或數據,而且能指定分享的目標應用。可是應用不能主動讀寫其它應用的數據。每一個應用的文件夾下的內容格式都統一爲:App1/Bin/ 應用文件自己App1/Data 應用須要的數據和配置App1/Temp 應用須要的緩存文檔文件夾下默承認包含:圖片、音樂、視頻、文檔、雜項,用戶也能夠清空默認設置自定義文檔保存方式。4. 接口操做系統應該提供公共運行庫,方便應用開發,而且應用之間能夠互相調用和傳遞數據。