report.txt
来自「操作系统实验一到四 哈尔滨工业大学计算机学院的」· 文本 代码 · 共 23 行
TXT
23 行
操作系统实验二 实验题目:系统调用
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 + =
减小字号Ctrl + -
显示快捷键?