文件权限

rwxp分别指Linux虚拟内存权限的不同部分,具体含义如下

  • r‌:读权限(Read),表示可以读取内存区域的内容。
  • w‌:写权限(Write),表示可以修改内存区域的内容。
  • x‌:执行权限(Execute),表示可以执行内存区域中的代码。
  • p‌:私有权限(Private),表示该内存区域的内容在进程间是私有的,其他进程无法访问。

    系统调用号

    在Linux中,每个系统调用被赋予一个系统调用号。这样,通过独一无二的号就可以关联系统调用。当用户空间的进程执行一个系统调用的时候,这个系统调用号就用来指明到底是要执行哪个系统调用;进程不会提及系统调用的名称。

系统调用号相当重要,一旦分配就不能再又任何变更,否则编译好的应用程序就会崩溃。此外,如果一个系统调用被删除,它所占用的系统调用号也不允许被回收利用,否则,以前编译过的代码会调用这个系统调用,但事实上却调用的是另外一个系统调用。

Linux有一个“未实现”系统调用sys_ni_syscall(),它除了返回-ENOSYS外不做任何其他工作,这个错误号就是专门针对无效的系统调用而设的。虽然很罕见,但如果一个系统调用被删除,或者变得不可用,这个函数就要负责“填补空缺”

内核记录了系统调用表中的所有已注册过的系统调用的列表,存储在sys_call_table中。每一种体系结构中,都明确定义了这个表。这个表为每一个有效的系统调用指定了唯一的系统调用号
Linux32位系统调用号
Linux64位系统调用号