操作系统原理:操作系统的启动 中断/异常/系统调用
操作系統(tǒng)的存儲(chǔ)剛開始并不是內(nèi)存里,而是先放在硬盤DIsk上? ?。由BIOS(基本輸入輸出系統(tǒng))提供支持。
開機(jī)時(shí),BIOS首先檢查外設(shè),檢查完沒問題。再加載相應(yīng)的軟件?。
Bootloader: 這個(gè)程序的作用就是將 操作系統(tǒng)從硬盤加載到內(nèi)存中。 BIOS 預(yù)先占用了系統(tǒng)內(nèi)存從640kb開始到1M 。內(nèi)存地址可以表示成 CS:IP? ? ?其中CS 是段寄存器,IP是指令寄存器 ,這兩個(gè)寄存器的組合就可以指定成具體的內(nèi)存地址。以X86 為例,BIOS啟動(dòng)的開始地址為 CS:IP =0xf000:fff0. Bootloader一般放在第一個(gè)硬盤扇區(qū)。
?
BIOS啟動(dòng)首先自檢,檢查外設(shè)是否能正常工作,尋找顯卡,鼠標(biāo),鍵盤等。當(dāng)檢查可以正常工作時(shí),將bootloader程序從硬盤放到內(nèi)存中去(512個(gè)字節(jié)),以X86 為例,加載到0x7c00的開始地址。此時(shí)CPU控制權(quán)交給bootloader,執(zhí)行bootloader,找到硬盤中操作系統(tǒng)的起始地址和操作系統(tǒng)長度,把OS放到內(nèi)存中。之后把CPU控制權(quán)交給OS。
?
?
系統(tǒng)調(diào)用(system call):為應(yīng)用程序請求操作提供服務(wù)。可異步和同步,對于返回值,同步會(huì)等待值返回再執(zhí)行下一步,異步發(fā)出系統(tǒng)調(diào)用請求后,緊接著就會(huì)執(zhí)行下一步操作。
異常 (Exception): 應(yīng)用程序產(chǎn)生的,在執(zhí)行過程中發(fā)生非法的指令,破壞其他程序的處理狀態(tài)。異常是同步的
中斷 (interrupt;): 來源于外設(shè),是異步的,外設(shè)不清楚什么時(shí)候中斷會(huì)發(fā)生。中斷時(shí)持續(xù)的,對應(yīng)用程序時(shí)透明的,中斷即停止應(yīng)用程序的執(zhí)行,只不過暫停時(shí)間很短感受不清楚。
?
操作系統(tǒng)是可以信任的軟件。訪問外設(shè)需要通過操作系統(tǒng)訪問。操作系統(tǒng)屏蔽對外設(shè)的細(xì)節(jié)處理過程,為上層軟件提供統(tǒng)一的訪問外設(shè)的接口。
總結(jié)
以上是生活随笔為你收集整理的操作系统原理:操作系统的启动 中断/异常/系统调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统原理: 操作系统概述
- 下一篇: 操作系统原理:中断,异常,系统调用