sys_open系统调用

sys_open系统调用当用户态调用open函数的时候,怎么进入内核态的,进入内核态后又发生了什么, 整个这个过程一般分为两个过程: 1.用户空间的处理 2.内核空间的处理 用户空间处理部分:是系统调

sys_open系统调用 当用户态调用open函数的时候,怎么进入内核态的,进入内核态后又发生了 什么, 整个这个过程一般分为两个过程: 1.用户空间的处理 2.内核空间的处理 用户空间处理部分:是系统调用从用户态切到核心态的过程。 核心空间处理部分则是 :open系统调用在 linux 内核中处理的整个过程 Linux 系统调用(SCI,system call interface)的实现机制实际上是一个多路 汇聚以及分解的过程,该汇聚点就是 0x80 中断这个入口点。也就是说,所有系统 调用都从用户空间中汇聚到 0x80 中断点,同时保存具体的系统调用号。当 0x80 中断处理程序运行时,将根据系统调用号对不同的系统调用分别处理(调用不同的 内核函数处理)。 下面看看具体的过程: 驱动中注册的时候究竟干了些什么,,,, -------------------------------------------------------------------- ------------ ----------------------------------------------------------- 驱动中的入口函数调用: file: fs/char_dev.c register_chrdev() cd =__register_chrdev_region(major, 0, 256, name); //向系统申请设备 号 if (IS_ERR(cd))

腾讯文库sys_open系统调用