程式執行指令:
處理器從記憶體獲取指令(fetch)
對指令解碼(decode)
執行指令(execute)
作業系統(operating system):
負責讓程式執行變得容易,允許程式共享記憶體,與裝置互動。
虛擬化(virtualization):
作業系統將物理資源轉換為更通用、更強大且更易於使用的虛擬形式。因此,作業系統也稱為虛擬機器(virtual machine)。
作業系統提供了一些介面(api)來供使用者執行程式,分配記憶體,訪問檔案等,稱為系統呼叫(system call)。可以說作業系統為應用程式提供了乙個標準庫(standard library)。
虛擬化允許多個程式共享cpu,記憶體和裝置。因此,作業系統也稱為資源管理器(resource manager)。
virtualizing the cpu
將單個cpu轉化為看似無限數量的cpu,從而讓許多程式看似同時執行。
virtualizing memory
每個程序訪問自己的私有虛擬位址空間(virtual address space),作業系統以某種方式對映到機器的物理記憶體上。
乙個正在執行的程式中的記憶體引用不會影響其他程序(或者作業系統本身)的位址空間。
對於正在執行的程式,他完全擁有自己的物理記憶體。但實際情況是,物理記憶體是由作業系統管理的共享資源。
concurrency
構建正確的併發程式:
如果乙個記憶體中存在有很多併發執行的執行緒,如何構建乙個正確工作的程式?作業系統需要什麼原語?硬體應該提供哪些機制?如何利用它們來解決併發問題?
persistence
檔案系統:
作業系統中管理磁碟的軟體稱為檔案系統(file system),它負責以可靠和高效的方式,將使用者建立的任何檔案儲存在系統的磁碟上。
作業系統提供了一種通過系統呼叫來訪問裝置的標準和簡單的方法。
作業系統的功能:
設計目標:
作業系統介紹
在早期想讓計算機執行程式的話就要參考一堆硬體功能函式,且要學習機器語言才能編寫程式,如果能將所有硬體都驅動,並且提供乙個開發軟體的參考介面來給工程師開發軟體的話,那開發軟體就變得很簡單,這就是作業系統 作業系統核心 kernel 作業系統其實也是一組程式,該程式的重點是在於管理計算機的所有活動以及驅...
作業系統介紹
現代的計算機系統主要是由乙個或者多個處理器,主存,硬碟,鍵盤,滑鼠,顯示器,印表機,網路介面及其他輸入輸出裝置組成。程式設計師無法把所有的硬體操作細節都了解到,管理這些硬體並且加以優化使用是非常繁瑣的工作,這個繁瑣的工作就是作業系統來幹的,有了他,程式設計師就從這些繁瑣的工作中解脫了出來,只需要考慮...
什麼是作業系統?作業系統介紹
一 作業系統介紹 作業系統是管理計算機硬體與軟體資源的電腦程式,會對計算機管理硬體 驅動硬體 管理軟體 資源分配與 作業系統也提供乙個讓使用者與系統互動的操作介面。在計算機中,作業系統是其最基本也是最為重要的基礎性系統軟體。經過幾十年以來的發展,計算機作業系統已經由一開始的簡單控制迴圈體發展成為較為...