系統(tǒng)調(diào)用和過程調(diào)用之間的關(guān)鍵區(qū)別
2023-02-24 20:18 作者:愿我們來日方長(zhǎng) | 我要投稿
系統(tǒng)調(diào)用和過程調(diào)用之間的關(guān)鍵區(qū)別在于,系統(tǒng)調(diào)用將控制轉(zhuǎn)移(跳轉(zhuǎn))到OS中,同時(shí)提高硬件特權(quán)級(jí)別(hardware privilege level)。 用戶應(yīng)用程序以所謂的用戶模式(user mode)運(yùn)行,這意味著硬件限制了應(yīng)用程序的功能。例如,以用戶模式運(yùn)行的應(yīng)用程序通常不能發(fā)起對(duì)磁盤的I/O請(qǐng)求,不能訪問任何物理內(nèi)存頁或在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù)包。 在發(fā)起系統(tǒng)調(diào)用時(shí) [通常通過一個(gè)稱為陷阱(trap)的特殊硬件指令],硬件將控制轉(zhuǎn)移到預(yù)先指定的陷阱處理程序(trap handler)(即預(yù)先設(shè)置的操作系統(tǒng)),并同時(shí)將特權(quán)級(jí)別提升到內(nèi)核模式(kernel mode)。 在內(nèi)核模式下,操作系統(tǒng)可以完全訪問系統(tǒng)的硬件,因此可以執(zhí)行諸如發(fā)起I/O請(qǐng)求或?yàn)槌绦蛱峁└鄡?nèi)存等功能。 當(dāng)操作系統(tǒng)完成請(qǐng)求的服務(wù)時(shí),它通過特殊的陷阱返回(return-from-trap)指令將控制權(quán)交還給用戶,該指令返回到用戶模式,同時(shí)將控制權(quán)交還給應(yīng)用程序,回到應(yīng)用離開的地方。
標(biāo)簽: