操作系統(tǒng)學(xué)習筆記

1.操作系統(tǒng)是什么?

操作系統(tǒng)是一種軟件,是用于連接應(yīng)用程序和計算機硬件的軟件。應(yīng)用程序通過操作系統(tǒng)的提供的系統(tǒng)調(diào)用來與計算機硬件打交道。用戶通過操作系統(tǒng)來使用計算機(命令、圖形界面、應(yīng)用程序)。操作系統(tǒng)負責管理計算機硬件資源,如CPU時間片的分配,內(nèi)存,磁盤,文件和終端。

2.學(xué)習操作系統(tǒng)學(xué)習什么?

操作系統(tǒng)的啟動過程.

計算機通電啟動后首先執(zhí)行BIOS。BIOS會進行硬件檢查磁盤,內(nèi)存,CPU等,如果沒有問題則開始將操作系統(tǒng)載入內(nèi)存。載入后開始執(zhí)行操作系統(tǒng)的代碼。

shell

shell不斷等待用戶輸入命令,接收到命令后進行執(zhí)行。

系統(tǒng)調(diào)用

應(yīng)用程序如何使用系統(tǒng)調(diào)用的。
linux中分為用戶態(tài)和內(nèi)核態(tài),內(nèi)核態(tài)即為操作系統(tǒng)的代碼和數(shù)據(jù)。用戶態(tài)的程序不能訪問內(nèi)核態(tài)的代碼和數(shù)據(jù)。需要通過系統(tǒng)調(diào)用來訪問計算機資源等。系統(tǒng)調(diào)用具體通過int 0x80中斷的方式進行。
常見的系統(tǒng)調(diào)用


image.png

從兩個方面學(xué)習操作系統(tǒng)

一是進程:CPU如何進行進程調(diào)度,死鎖問題,內(nèi)存管理
二是文件:IO管理,磁盤管理

操作系統(tǒng)的發(fā)展

單道批處理系統(tǒng)->多道批處理系統(tǒng)->分時系統(tǒng),實時系統(tǒng)

3.多進程圖像

操作系統(tǒng)的作用是管理計算機硬件。CPU是一種計算機硬件,所以也需要操作系統(tǒng)來管理。要管理CPU首先要知道CPU是如何工作的。CPU的工作方式是取指執(zhí)行。

那么最簡單的管理CPU方式是直接將PC指向程序的起始位置,CPU開始取指執(zhí)行,這樣CPU就工作起來了。但當遇到IO操作時,CPU需要等待。由于IO操作比CPU運行速度慢幾個數(shù)量級,導(dǎo)致CPU利用率下降。由此引入并發(fā)執(zhí)行的概念。程序A執(zhí)行IO操作時,CPU去執(zhí)行程序2,進行程序切換,取指執(zhí)行。這里便引入了進程的概念:進程是運行中的程序,在計算機系統(tǒng)用PCB描述。

進程切換

schedule() {
  pNew = getNext(ReadyQueue);  //選擇要運行的進程,涉及“進程調(diào)度"算法
  switch_to(pCur,pNew);        //保存現(xiàn)場:復(fù)制cpu到pcbCur;準備運行:復(fù)制pNew到cpu
}

內(nèi)存管理

多個進程同時在內(nèi)存中執(zhí)行,如何做到不相互影響數(shù)據(jù)?
地址空間分離,映射表

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容