編譯原理,連結器,裝載器:是對作業系統依賴的一個工具,將使用者的程式碼變成可執行的機器碼,編譯器僅僅檢查和翻譯使用者的語言邏輯,但並不裝配成符合作業系統要求的可執行檔案格式,如windows要求的EXE檔案為PE格式(EXE檔案並不僅僅是一個可執行的程式碼段,而且包含了很多其他的內容,如資料段)。
作業系統介面API:是一個可以被使用者程式呼叫的系統功能介面,可以說,我們編寫程式,除了計算和流程控制這些只需要用到CPU指令和CPU暫存器的程式碼外,其餘要訪問其他(硬體)資源(包括記憶體,外設)的程式碼,均是透過呼叫OS的API來操作除CPU外的資源的,如向螢幕寫一個字母,對於程式來說簡單得很,print(“A”); 但是其編譯後執行的過程是複雜的,編譯後的程式會呼叫作業系統的API,將當前應用程式的狀態(上下文,如游標的位置)以及字母傳遞給顯示器的驅動程式去顯示。
作業系統管理與排程:作業系統要實現一般通用的資源管理,也要實現資源使用的協調,包含CPU,記憶體,磁碟,外設。
首先要確定為什麼需要作業系統,作業系統設計的目標是什麼?
1.我們總是不能等做完一件事情才去做另外一件,因為有些事情做的過程需要等待,有時候也需要暫停一下當前的任務,先去處理更急的事情,等我回來時又需要以前的任務保持當時的狀態,所以需要計算機也要具備這樣的能力,那怎麼實現呢?
2.CPU和記憶體是計算機的最需要的資源,就如我們的人腦一樣,一般很難在同一時間做兩件事情。需要處理好一件事情再處理另一件,如果處理得越快就越好,但是不能前一件事情要等待,你就休息了,後面一件也做不了,計算機的辦法就是你不用CPU了,那好你等待下,我先處理下一個事情。
3.我們寫程式,不可能對每個應用,我們重新去寫那些驅動程式,也不可能按照自己的想法去處理這些通常的資源管理。否則很多人各自寫的應用軟體就沒法在一個電腦上執行。
編譯原理,連結器,裝載器:是對作業系統依賴的一個工具,將使用者的程式碼變成可執行的機器碼,編譯器僅僅檢查和翻譯使用者的語言邏輯,但並不裝配成符合作業系統要求的可執行檔案格式,如windows要求的EXE檔案為PE格式(EXE檔案並不僅僅是一個可執行的程式碼段,而且包含了很多其他的內容,如資料段)。
作業系統介面API:是一個可以被使用者程式呼叫的系統功能介面,可以說,我們編寫程式,除了計算和流程控制這些只需要用到CPU指令和CPU暫存器的程式碼外,其餘要訪問其他(硬體)資源(包括記憶體,外設)的程式碼,均是透過呼叫OS的API來操作除CPU外的資源的,如向螢幕寫一個字母,對於程式來說簡單得很,print(“A”); 但是其編譯後執行的過程是複雜的,編譯後的程式會呼叫作業系統的API,將當前應用程式的狀態(上下文,如游標的位置)以及字母傳遞給顯示器的驅動程式去顯示。
作業系統管理與排程:作業系統要實現一般通用的資源管理,也要實現資源使用的協調,包含CPU,記憶體,磁碟,外設。
首先要確定為什麼需要作業系統,作業系統設計的目標是什麼?
1.我們總是不能等做完一件事情才去做另外一件,因為有些事情做的過程需要等待,有時候也需要暫停一下當前的任務,先去處理更急的事情,等我回來時又需要以前的任務保持當時的狀態,所以需要計算機也要具備這樣的能力,那怎麼實現呢?
2.CPU和記憶體是計算機的最需要的資源,就如我們的人腦一樣,一般很難在同一時間做兩件事情。需要處理好一件事情再處理另一件,如果處理得越快就越好,但是不能前一件事情要等待,你就休息了,後面一件也做不了,計算機的辦法就是你不用CPU了,那好你等待下,我先處理下一個事情。
3.我們寫程式,不可能對每個應用,我們重新去寫那些驅動程式,也不可能按照自己的想法去處理這些通常的資源管理。否則很多人各自寫的應用軟體就沒法在一個電腦上執行。