深入理解Linux内核-系统调用
2015-08-13 10:23
423 查看
系统调用:用户态进程向内核发出的,实现用户态进程调用硬件设备的函数或者中断; 优点:使编程更容易,将用户从学习硬件设备的低级编程特性中解放;提高系统到安全性,内核在满足请求之前可以做正确性检查;提高可移植性; 系统调用与API调用的区别: 1、API调用是一个函数定义;系统调用是通过软中断向内核发出的明确请求 2、内核不可以访问库函数 内核中,返回值为正数或者0表示系统调用成功结束,否则表示出错条件 进入内核态的两种方式:1、执行 int $0x80 指令 ;2、执行 sysenter 指令 内核推出系统调用方式:1、执行 iret 指令; 2、使用sysexit指令 系统调用传递参数: 1、它将参数保存在CPU寄存器,然后由内核去读取;不能直接讲参数从用户态栈传递到内核态栈,原因是这样会更复杂 2、受寄存器的限制,参数的个数不能超过6个;多余6个可以通过传参数集合的地址 3、参数的长度受寄存器的限制,不能超过32bit,同样可以通过传地址解决。 参数检查: 1、
相关文章推荐
- centos输入正确帐号密码也不能登陆解决方法
- linux怎么设置默认启动到字符界面,而非图形界面
- Linux 统计某个字符串出现的次数
- Linux平台块设备到字符设备(裸设备)的三种映射方式(转载)
- 类找不到问题追踪及分析
- AMD开发新Linux显卡驱动 缩小与英伟达差距
- Linux下各种压缩文件的解压命令(更新)
- Linux内核-常见问题
- Linux中断enable_irq&enable_irq_wake
- Centos 6上python pycha简易使用
- Linux动态链接库的使用
- 64位CentOS 6.4下安装wine(32位)
- Linux 初始 RAM 磁盘(initrd)概述
- linux 上传本机文件:curl、unzip
- android /linux休眠与唤醒(一)
- Ubuntu 14.04 为 root 帐号开启 SSH 登录
- AngularJS权威教程(www.Linuxidc.com整理)2
- AngularJS权威教程(www.Linuxidc.com整理)1
- Linux6 虚拟机克隆网卡问题及解决
- Linux find命令示例