為什麼要開發os:
每種不同的硬體使用規格不同,x86_64 x86_32以及arm架構不盡相同,各種記憶體規格也不同,各種顯示卡的顯示晶元也不同,需要程式猿自己去進行涉及對應的底層的排程,難度很大,而且如果更換硬體,程式就會失效。
程式猿和硬體之間的層次的嚴重不協調可以通過增加乙個中間層來解決。 程式猿和硬體之間層次相差太遠,不管是什麼硬體,使用該中間層解決差異,排程硬體,如果程式要畫一條直線,寫好程式之後,告訴中間層,中間層會呼叫該硬體的驅動程式驅動硬體在顯示器上顯示直線。底層硬體的差異就被隱藏起來。
作業系統把底層硬體的各種不同之處做完全的封裝,並通過乙個統一介面(系統呼叫 system call 簡稱syscall)提供給程式猿,是乙個應用程式和底層硬體銜接的中間層。但其實其功能不只如此,比如cpu分時等等功能。
應用開發介面api(
:由syscall(系統呼叫介面)和libcall(庫呼叫介面)組成。
在每個應用程式的開頭有符號表示其格式,
例如windows下為exe msi 二進位制程式,而linux下為elf二進位制程式,在程式執行前核心先識別是否可執行,然後才會放到cpu上跑。
所以abi是可識別、可支援相應檔案格式、並提供二進位制格式庫檔案(提供庫檔案,包括基本的syscall的封裝的libcall供給程式呼叫)的環境。
作業系統記憶體對映(隨筆錄)
作業系統 作業系統 operating system,簡稱os 是管理計算機 硬體與軟體資源的電腦程式。作業系統需要處理如管理與配置記憶體 決定系統資源供需的優先次序 控制輸入裝置與輸出裝置 操作網路與管理檔案系統等基本事務。作業系統也提供乙個讓使用者與系統互動的操作介面。歷史 原始系統我們直接操作...
作業系統的基本架構
乙個普通的作業系統,即類似於乙個軟體中介軟體,是使用者程式和硬體之間的 中介 因此,乙個達到要求的作業系統,便能夠執行許多使用者級別的應用程式 第三方程式 同時,這些應用程式可以 和使用者互動 和網際網路互動 和檔案系統互動 對於應用程式來說,作業系統就像是計算機本身,這台 計算機 提供了 1 程序...
系統架構師 作業系統 檔案管理
作業系統對計算機的管理包括兩個方面 硬體資源和軟體資源。硬體資源的管理包括cpu管理 儲存器管理 裝置管理等,主要解決硬體資源的有效和合理利用問題。軟體資源包括各種系統程式 各種應用程式 各種使用者程式,也包括大量的文件材料 庫函式等。每一種軟體資源本身都是具有一定邏輯意義的相關資訊的集合,在作業系...