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 + -
显示快捷键?