📄 report.txt
字号:
操作系统实验二 实验题目:系统调用
1. 从Linux 0.11现在的机制看,它的系统调用最多能支持几个参数传递?你能想出办法来扩大这个限制吗?
答:
Linux 0.11的系统调用最多支持3个参数传递,分别放在寄存器ebx、ecx、edx中。
可以利用堆栈传递多个参数,并且可以借助指针传递大块数据。
2. 实验中要求在出错时返回-EINVAL。为什么要有负号?应用程序是怎么得到EINVAL的?
答:
因为系统调用出错时的返回值为负值(正确时为非负值),而errno.h中定义的EINVAL为22,所以要加负号。
系统调用的返回值存放在寄存器eax中,调用结束后直接把返回值给应用程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -