什么是硬件" gate"在linux内核的上下文中?

时间:2015-11-09 10:06:50

标签: linux system-calls variadic-functions ioctl

  

在用户空间中,ioctl系统调用具有以下原型:

int ioctl(int fd, unsigned long cmd, ...);
     

由于点的原因,原型在Unix系统调用列表中脱颖而出,这通常将函数标记为具有可变数量的参数。但是,在实际系统中,系统调用实际上不能具有可变数量的参数。系统调用必须具有明确定义的原型,因为用户程序只能通过硬件" gate"来访问它们。

那么这些硬件门是什么?页码分别为135和136。

1 个答案:

答案 0 :(得分:2)

硬件“门”是允许切换到内核上下文的特定指令,通常是让程序从内核请求某些东西。这可能是syscallsysenterint 0x80等指令,具体取决于您的系统。

我应该注意到这些在实践中通常不被称为“硬件门”,而是类似“系统调用指令”。