好好學習,天天向上本文已收錄至我的github倉庫daydayup
· 使用者介面
· 程式執行
· i/o 操作
· 檔案系統操作
· 通訊
· 錯誤檢測
· 增值服務
· 資源分配
· 統計
· 保護和安全
· 作業系統服務
· 作業系統程式介面(系統呼叫)
· 作業系統使用者介面
· 系統程式
· · · · ·
既然作業系統有這麼多的服務,那麼我們平時是怎麼去使用作業系統的呢,或者說,平時我們是怎麼使喚管家為我們服務的呢?有兩種方式。
第一種,給管家留張小紙條,告訴他下午去菜市場買幾瓶82年的青島啤酒,然後管家看到後就屁顛屁顛屁顛跑去了。這種方式俗稱命令列,也就是黑乎乎的視窗,在黑視窗裡面敲命令然後系統執行命令。這種方式用起來可不算簡單,要是遇上個什麼複雜的操作,敲鍵盤都得敲半天。
第二種就是指哪打哪,比如我看見花園裡該除草了,就把管家喊過來,說:「你看這裡雜草這麼多,你去安排一下,把草除除吧」。然後管家又屁顛屁顛跑去幹活了,這種方式就是圖形化介面,比如咱們的windows,macos。這種方式可比第一種簡單多了,很多操作用滑鼠隨便點幾下就可以完成了,舒服極了~~~
看起來作業系統好像也沒什麼嗎, 作為普通使用者而言,點點滑鼠敲敲鍵盤就能完成很複雜的操作,就算對於開發者而言,調調常用的api就能完成需求。之所以我們可以很這麼方便地使用作業系統,那是因為作業系統遮蔽了諸多實現細節。我們平時使用的叫做使用者介面和系統程式,使用者介面和系統程式是作業系統提供給使用者的服務形式,那麼誰為系統程式提供服務呢——系統呼叫。系統呼叫是作業系統提供給程式的服務程式。
當執行open的時候,cpu從使用者模式切換到核心模式,作業系統根據名稱 「open」 查表,找到系統呼叫的位置,再到系統呼叫向量表中找到入口位址,然後開始執行系統呼叫的**,執行完後,cpu又切換到使用者模式,將執行結果返回給應用程式。
系統呼叫大致分為五大類:程序控制
,檔案管理
,裝置管理
,資訊維護
和通訊
。
既然系統呼叫是為系統程式提供服務的,一般認為用於管理、維護作業系統的程式是系統程式。那麼哪些屬於系統程式呢?
十幾年前,還沒有智慧型機,只有功能機,功能機效能有限,只能玩玩俄羅斯方塊什麼的。隨著手機效能的不斷進步,開始出現了android和ios這樣的智慧型手機作業系統。早期的android系統功能還很有限,介面也很醜,經過這麼多年的發展,才有今天的局面。我認為推動作業系統結構發展的原因有兩個,第一是在現有的硬體基礎上優化系統結構從而提公升效能,第二點是為了適應不斷更新迭代的計算機硬體從而體現硬體的價值。
虛擬機器我相信很多人都用過吧,虛擬機器是一種通過軟體模擬實現,具有完整硬體系統功能,並執行在乙個完全隔離環境中的完整計算機系統。虛擬機器也分為很多種,有高階語言虛擬機器供特定語言執行使用的,還有在一台計算機上虛擬出多個作業系統的。
碼字不易,可以的話,給我來個點讚
,收藏
,關注
本文已收錄至我的github倉庫daydayup
(二)作業系統的歷史 作業系統結構
unix家族 unix bsd是由伯克利在unix之上開發的開源作業系統。unix和c語言由乙個團隊開發,unix由c開發。linux家族 類unix的作業系統。安卓的核心也為linux kernel。windows家族 最初為dos系統。桌面佔統治地位,移動端與伺服器較為弱勢。windows作業系...
作業系統結構
作業系統結構 2010年10月20日 作業系統結構 作業系統與使用者介面 系統呼叫 作業系統結構 作業系統特徵 3.0使用者與作業系統的介面 1.命令介面 聯機介面 互動式 使用系統提供的操作命令,互動地控制程式執行和管理計算機系統.如系統管理,環境設定,許可權管理,檔案管理等 脫機介面 以作業說明...
作業系統 作業系統介面
介面表現為函式呼叫,由作業系統提供,連線作業系統和應用軟體。出於安全性考慮,應用程式不能直接在記憶體中任意訪問 將核心程式和使用者程式隔離 通過比較訪問資料段cpl和rpl的特權級和當前段dpl的特權級之間的關係 應用程式呼叫庫函式printf printf呼叫庫中的write函式 write將函式...