2017-03-04 113 views
-2

對於具有帶4個通用寄存器的CPU的操作系統。通過僅使用CPU寄存器(即不使用內存塊或堆棧),多少參數可傳遞給系統調用?操作系統和寄存器參數

假設寄存器的大小與傳遞給系統調用的參數相同。

+0

如何將參數傳遞給系統調用?除了參數之外是否還有系統調用的其他必需參數(它們是通用目錄還是機器有一些特殊的寄存器來執行系統調用)?參數的大小是否等於寄存器寬度? (你是否參加過課程並閱讀你的教科書?) – osgx

回答

1

你的問題完全是硬件特定的。該計劃是否爲「通用註冊」?在大多數處理器中,它是其他的不是。

你的堆棧指針是「通用寄存器?」再一次,在大多數處理器中,它只是在其他情況下不是。

根據硬件配置,您的答案可能在2到4之間。

+0

我在我的一個教程問題中遇到了這個問題,發現這個用詞很混亂,有點含糊。所以我希望在這裏的人可能比我更瞭解它,並且可能給我一個很好的答案。 – Kyle

+0

問題的要點是「有多少個寄存器是空閒的。」您必須知道您開始使用多少個寄存器以及多少個寄存器正在使用中。有些系統包含一個幀指針。在這種情況下,你的答案可能只有1。 – user3344003