博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言open与sys_open的用法
阅读量:5798 次
发布时间:2019-06-18

本文共 311 字,大约阅读时间需要 1 分钟。

hot3.png

系统调用是有一个 CPU 运行等级的提升问题. 用户代码在 3 级, 操作系统代码在 0 级.

open 是对在 Ring 3 级对系统调用的一个包装. 
所有的系统函数只有一个系统调用入口, int $0x80, 在这条指令之前把调用的函数对应的功能号放到 %eax 寄存器.
这条指令产生一个中断, CPU 切换到中断处理程序, 运行等级从 Ring 3 级切换到 Ring 0 级. 开始在内核中运行. 内核再根据 %eax 中的功能号来调用不同的函数. sys_open 就是内核中处理 open 对应的功能号的函数.

转载于:https://my.oschina.net/u/920274/blog/3022245

你可能感兴趣的文章
CentOS 6.6 FTP install
查看>>
C#------判断btye[]是否为空
查看>>
图解Ajax工作原理
查看>>
oracle导入导出小记
查看>>
聊一聊log4j2配置文件log4j2.xml
查看>>
NeHe OpenGL教程 第七课:光照和键盘
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>
Android studio开多个窗口引起的问题
查看>>
第四章 TCP粘包/拆包问题的解决之道---4.1---
查看>>
RedisRepository分享和纠错
查看>>
html语言
查看>>
Unity接入谷歌支付
查看>>
laravel 使用 vue (gulp)
查看>>
QT 信号槽connect中解决自定义数据类型或数组作为函数参数的问题——QT qRegisterMetaType 注册MetaType——关键:注册自定义数据类型或QMap等容器类...
查看>>
HTTP之二 http 301 和 302的区别
查看>>
从源码看集合ArrayList
查看>>
Gephi
查看>>
git 入门宝典
查看>>