linux 0.11 int80实现,Linux0.11内核--系统中断处理程序int 0x80实现原理

2023-11-20

extern int sys_setup ();    // 系统启动初始化设置函数。 (kernel/blk_drv/hd.c,71)

extern int sys_exit ();     // 程序退出。 (kernel/exit.c, 137)

extern int sys_fork ();     // 创建进程。 (kernel/system_call.s, 208)

extern int sys_read ();     // 读文件。 (fs/read_write.c, 55)

extern int sys_write ();    // 写文件。 (fs/read_write.c, 83)

extern int sys_open ();     // 打开文件。 (fs/open.c, 138)

extern int sys_close ();    // 关闭文件。 (fs/open.c, 192)

extern int sys_waitpid ();  // 等待进程终止。 (kernel/exit.c, 142)

extern int sys_creat ();    // 创建文件。 (fs/open.c, 187)

extern int sys_link ();     // 创建一个文件的硬连接。 (fs/namei.c, 721)

extern int sys_unlink ();   // 删除一个文件名(或删除文件)。 (fs/namei.c, 663)

extern int sys_execve ();   // 执行程序。 (kernel/system_call.s, 200)

extern int sys_chdir ();    // 更改当前目录。 (fs/open.c, 75)

extern int sys_time ();     // 取当前时间。 (kernel/sys.c, 102)

extern int sys_mknod ();    // 建立块/字符特殊文件。 (fs/namei.c, 412)

extern int sys_chmod ();    // 修改文件属性。 (fs/open.c, 105)

extern int sys_chown ();    // 修改文件宿主和所属组。 (fs/open.c, 121)

extern int sys_break ();    // (-kernel/sys.c, 21)

extern int sys_stat ();     // 使用路径名取文件的状态信息。 (fs/stat.c, 36)

extern int sys_lseek ();    // 重新定位读/写文件偏移。 (fs/read_write.c, 25)

extern int sys_getpid ();   // 取进程id。 (kernel/sched.c, 348)

extern int sys_mount ();    // 安装文件系统。 (fs/super.c, 200)

extern int sys_umount ();   // 卸载文件系统。 (fs/super.c, 167)

extern int sys_setuid ();   // 设置进程用户id。 (kernel/sys.c, 143)

extern int sys_getuid ();   // 取进程用户id。 (kernel/sched.c, 358)

extern int sys_stime ();    // 设置系统时间日期。 (-kernel/sys.c, 148)

extern int sys_ptrace ();   // 程序调试。 (-kernel/sys.c, 26)

extern int sys_alarm ();    // 设置报警。 (kernel/sched.c, 338)

extern int sys_fstat ();    // 使用文件句柄取文件的状态信息。(fs/stat.c, 47)

extern int sys_pause ();    // 暂停进程运行。 (kernel/sched.c, 144)

extern int sys_utime ();    // 改变文件的访问和修改时间。 (fs/open.c, 24)

extern int sys_stty ();     // 修改终端行设置。 (-kernel/sys.c, 31)

extern int sys_gtty ();     // 取终端行设置信息。 (-kernel/sys.c, 36)

extern int sys_access ();   // 检查用户对一个文件的访问权限。(fs/open.c, 47)

extern int sys_nice ();     // 设置进程执行优先权。 (kernel/sched.c, 378)

extern int sys_ftime ();    // 取日期和时间。 (-kernel/sys.c,16)

extern int sys_sync ();     // 同步高速缓冲与设备中数据。 (fs/buffer.c, 44)

extern int sys_kill ();     // 终止一个进程。 (kernel/exit.c, 60)

extern int sys_rename ();   // 更改文件名。 (-kernel/sys.c, 41)

extern int sys_mkdir ();    // 创建目录。 (fs/namei.c, 463)

extern int sys_rmdir ();    // 删除目录。 (fs/namei.c, 587)

extern int sys_dup ();      // 复制文件句柄。 (fs/fcntl.c, 42)

extern int sys_pipe ();     // 创建管道。 (fs/pipe.c, 71)

extern int sys_times ();    // 取运行时间。 (kernel/sys.c, 156)

extern int sys_prof ();     // 程序执行时间区域。 (-kernel/sys.c, 46)

extern int sys_brk ();      // 修改数据段长度。 (kernel/sys.c, 168)

extern int sys_setgid ();   // 设置进程组id。 (kernel/sys.c, 72)

extern int sys_getgid ();   // 取进程组id。 (kernel/sched.c, 368)

extern int sys_signal ();   // 信号处理。 (kernel/signal.c, 48)

extern int sys_geteuid ();  // 取进程有效用户id。 (kenrl/sched.c, 363)

extern int sys_getegid ();  // 取进程有效组id。 (kenrl/sched.c, 373)

extern int sys_acct ();     // 进程记帐。 (-kernel/sys.c, 77)

extern int sys_phys ();     // (-kernel/sys.c, 82)

extern int sys_lock ();     // (-kernel/sys.c, 87)

extern int sys_ioctl ();    // 设备控制。 (fs/ioctl.c, 30)

extern int sys_fcntl ();    // 文件句柄操作。 (fs/fcntl.c, 47)

extern int sys_mpx ();      // (-kernel/sys.c, 92)

extern int sys_setpgid ();  // 设置进程组id。 (kernel/sys.c, 181)

extern int sys_ulimit ();   // (-kernel/sys.c, 97)

extern int sys_uname ();    // 显示系统信息。 (kernel/sys.c, 216)

extern int sys_umask ();    // 取默认文件创建属性码。 (kernel/sys.c, 230)

extern int sys_chroot ();   // 改变根系统。 (fs/open.c, 90)

extern int sys_ustat ();    // 取文件系统信息。 (fs/open.c, 19)

extern int sys_dup2 ();     // 复制文件句柄。 (fs/fcntl.c, 36)

extern int sys_getppid ();  // 取父进程id。 (kernel/sched.c, 353)

extern int sys_getpgrp ();  // 取进程组id,等于getpgid(0)。(kernel/sys.c, 201)

extern int sys_setsid ();   // 在新会话中运行程序。 (kernel/sys.c, 206)

extern int sys_sigaction ();    // 改变信号处理过程。 (kernel/signal.c, 63)

extern int sys_sgetmask (); // 取信号屏蔽码。 (kernel/signal.c, 15)

extern int sys_ssetmask (); // 设置信号屏蔽码。 (kernel/signal.c, 20)

extern int sys_setreuid (); // 设置真实与/或有效用户id。 (kernel/sys.c,118)

extern int sys_setregid (); // 设置真实与/或有效组id。 (kernel/sys.c, 51)

// 系统调用函数指针表。用于系统调用中断处理程序(int 0x80),作为跳转表。

fn_ptr sys_call_table[] = { sys_setup, sys_exit, sys_fork, sys_read,

sys_write, sys_open, sys_close, sys_waitpid, sys_creat, sys_link,

sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod,

sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount,

sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm,

sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access,

sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir,

sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid,

sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys,

sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit,

sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid,

sys_getpgrp, sys_setsid, sys_sigaction, sys_sgetmask, sys_ssetmask,

sys_setreuid, sys_setregid

};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 0.11 int80实现,Linux0.11内核--系统中断处理程序int 0x80实现原理 的相关文章

  • 快速部署Ceph分布式高可用集群

    快速部署Ceph分布式高可用集群 Ceph简介 Ceph是一个PB EB级别的分布式存储系统 可以提供文件存储 对象存储 和块存储 它可靠性高 易扩展 管理简便 其中对象存储和块存储可以和其他云平台集成 一个Ceph集群中有Monitor节
  • 面试题:如何测试微信朋友圈(附图)

    如果碰到这种题目 我们可以从以下几个方面来分析 功能 界面 易用性 中断 网络 兼容性 安全性 性能测试 功能测试 1 朋友圈发送功能 1 只发送文本 a 考虑文本长度 1 1500字符 该数据为百度数据 超出最大字符长度 b 考虑文本类型
  • 用Python让奇怪的想法变成现实,2023年继续创作

    2023年继续写作 用文章记录生活 时间过得真快 一下就到2023年了 由于疫情肆虐 在网络的游弋的实现也长了 写作的自然也多了 回想一下 2018 2021年这三年时间里一篇文章也没写过为0 哈哈 没错 为0 这段时间总是忙于自己的工作
  • eclipse导入mysql jdbc驱动包的具体步骤及注意事项

    1 导入的驱动包的版本和mysql的版本是对应关系的 具体关系如下 Connector J 5 1 支持Mysql 4 1 Mysql 5 0 Mysql 5 1 Mysql 6 0 alpha这些版本 Connector J 5 0 支持
  • python使用rjust把二进制数变换成指定位宽

    首先使用bin把数转换成二进制数 然后使用rjust把该数转换为指定位宽 并且可以指定以什么数对齐 使用示例 b rjust w s 其中b是一个二进制数 w是指定位宽 s是补的数 b reverse 可以把b倒序
  • notepad++突然崩溃,保存的文件没了怎么办

    notepad还是很牛逼的 备份文件 C Users 你当前用户的用户名 AppData Roaming Notepad backup可以恢复
  • codeforces 102263 J

    题目 一开始贪心 直接枚举每个位置 一直wa 不知道错哪里了 后来才发现是dp 很多种情况是无法直接贪心的 设 d p i 0
  • 手把手教你用Python轻松玩转SQL注入——渗透利器

    前言 大家好 我是黄伟 相信大家经常有听到过SQL注入啥的 但是并不是特别了解 小编以前就是经常听别人说 但是自己啥都不懂 直到后来看了相关教材后才明白 原来是这么个东西 那么到底是什么东西了 又或者是不是个东西了 我们接着往下看 一 浅谈
  • Flutter 宽高自适应

    在Flutter开发中也需要宽高自适应 手动写一个工具类 集成之后在像素后面直接使用 px或者 rpx即可 工具类代码如下 import dart ui class HYSizeFit static double screenWidth 0
  • GitHub Action入门简介

    1 What is GitHub Actions GItHub Actions是一个持续集成和持续交付的平台 能够让你自动化你的编译 测试和部署流程 GitHub 提供 Linux Windows 和 macOS 虚拟机来运行您的工作流程
  • 《计算机系统2》学习笔记

    目录 计算机系统漫游 Amdahl定理 信息的表示和处理 信息存储 进制转化 小端法 大端法 布尔代数 位级运算 逻辑运算 移位运算 整数表示 无符号数编码 补码编码 有符号数和无符号数之间的转换 扩展数的位表示 截断数字 整数运算 无符号
  • 将Enum枚举转成Map,List结构

    JAVA枚举功能强大 感觉就像是一种简化版的类对象 可以有构造方法 可以重载 可以继承接口等等 JAVA枚举在实际开发中应用相当频繁 以下几个封装方法在实际开发中可能用到 将枚举类转化为Map以及List结构的一些操作方法 首先 新建一个枚
  • qt file not found 原因之一

    14 error h file not found 原因之一 在pri中说明的cpp文件 如果其中 include 本pri定义的其它文件 则会直接以此cpp文件为基础进行寻找 在 include 文件时 可以在cpp文件所在目录下 或以此
  • Qt中父子widget的事件传递

    以前我一直以为 在父widget上摆一个子widget后 当click子widget时 只会进入到子widget的相关事件处理函数中 比如进入到mousePressEvent 中 而不会进入到父widget的对应事件处理函数中 毕竟 cli
  • ajax跨域post请求数据_基于Python的Post请求数据爬取

    为什么做这个 和同学聊天 他想爬取一个网站的post请求 观察 该网站的post请求参数有两种类型 1 参数体放在了query中 即url拼接参数 2 body中要加入一个空的json对象 关于为什么要加入空的json对象 猜测原因为反爬虫
  • 《OSPF和IS-IS详解》一1.7 独立且平等

    本节书摘来自异步社区 OSPF和IS IS详解 一书中的第1章 第1 7节 作者 美 Jeff Doyle 更多章节内容可以访问云栖社区 异步社区 公众号查看 1 7 独立且平等 OSPF和IS IS详解与TCP IP相比 OSI协议对各国
  • shell命令之cp复制拷贝

    1 复制文件到文件中 cp file1 file2 file1 file2 表示某一文件 在当前目录下 将file1 的文件内容复制到file2 文件中 如果第二个文件不存在 则先创建文件 然后再拷贝内容 如果存在则直接覆盖 没有警告 加
  • C++ 函数指针

    include
  • 基于SSM+JSP的宠物医院信息管理系统

    项目背景 21世纪的今天 随着社会的不断发展与进步 人们对于信息科学化的认识 已由低层次向高层次发展 由原来的感性认识向理性认识提高 管理工作的重要性已逐渐被人们所认识 科学化的管理 使信息存储达到准确 快速 完善 并能提高工作管理效率 促

随机推荐

  • bp利率最新消息是多少,bps利率是什么意思

    武汉房贷利率最新消息2022 3月26日起 武汉房贷利率将下调48BP 首套房贷款利率为5 2 二套房为5 4 其实武汉下调房贷利率也是在意料之内 此前的利率放在全国范围内比较 其实是比较高的 那利率降低后 每月能省多少钱呢 武汉房贷利率最
  • SSM框架和Spring Boot+Mybatis框架的性能比较?

    SSM框架和Spring Boot Mybatis框架的性能比较 没有一个绝对的答案 因为它们的性能受到很多因素的影响 例如项目的规模 复杂度 需求 技术栈 团队水平 测试环境 测试方法等 因此 我们不能简单地说哪个框架的性能更好 而是需要
  • qt 使用uic.exe 生成ui_xxxx.h文件的方法

    自己遇到这个问题 看了下别人的回答 总是有些不太清楚 就自己完善了下 1 制作好自己的xxxx ui文件 2 确定uic exe文件的地址 比如我的就是 D Anaconda3 pkgs qt 5 9 7 vc14h73c81de 0 Li
  • 雪糕的最大数量 排序+贪心

    雪糕的最大数量 雪糕的最大数量 题目描述 样例 数据范围 思路 代码 题目描述 夏日炎炎 小男孩 Tony 想买一些雪糕消消暑 商店中新到 n 支雪糕 用长度为 n 的数组 costs 表示雪糕的定价 其中 costs i 表示第 i 支雪
  • 于仕琪老师libfacedetection最新开源代码使用测试配置

    一 首先要感谢于老师的分享 二 此教程只是方便像我这样编程小白入门使用 若有不足之处 请原谅 网上对libfacedetection的介绍已经很多了 我在这里就不进行多余的解释 直接进入主题 下载地址 https github com Sh
  • Fsm2 Fsm2

    This is a Moore state machine with two states two inputs and one output Implement this state machine This exercise is th
  • 时序预测

    时序预测 MATLAB实现DBN深度置信网络时间序列预测 目录 时序预测 MATLAB实现DBN深度置信网络时间序列预测 预测效果 基本介绍 模型描述 程序设计 参考资料 预测效果 基本介绍 BP神经网络是1968年由Rumelhart和M
  • QMainwindow中添加的其他组件无法发送消息调用槽函数

    QMainwindow中添加的其他组件无法发送消息调用槽函数 问题所在 解决办法 问题所在 include mainwindow h include ui mainwindow h include QDebug include QMessa
  • [超实用]Java返回结果的工具类

    在做项目中 处理完各种业务数据后都需要返回值告诉前端最后的操作结果 但又不能直接返回一串错误代码信息 这个时候结果处理工具类就起了有比较好的作用 在此记录下 比较简单返回结果处理方法供大家参考学习 1 结果返回处理业务类 package r
  • python123.io---双一流高校及所在省份统计

    双一流高校及所在省份统计 类型 Python 组合数据类型 字典 d 中存储了我国 42 所双一流高校及所在省份的对应关系 请以这个列表为数据变量 完善 Python 代码 统计各省份学校的数量 d 北京大学
  • vue安装Base64转码

    第一步 项目文件路径下运行 npm install save js base64 或者 cnpm install save js base64 第二步 main js文件中引入 const Base64 require js base64
  • vue——vue-video-player插件实现rtmp直播流

    更新 flash已不可再使用 大家另寻出路吧 安装前首先需要注意几个点 vue video player插件 其实就是 video js 集成到 vue 中 所以千万不要再安装 video js 可能会出错 视频流我这个项目选择rtmp格式
  • 3559摄像头

    input aoni Webcam as devices platform soc 12310000 xhci 1 usb1 1 1 1 1 1 0 input input0 yuv转 的代码 https github com 198708
  • DC/DC闭环控制的丘克(Cuk)变换电路原理设计及实验仿真

    如果将降压 Buck 变换电路和升压 Boost 变换电路的拓扑结构进行对偶变换 即Boost变换电路和Buck变换电路串联在一起得到一种新的电路拓扑结构 丘克 CUK 变换电路 如图所示 Cuk变换电路的输入和输出均有电感 增加电感的值
  • matlab画圆并生成随机数

    A区域生成随机数 画圆 t 0 pi 100 2 pi x 10 cos t 30 3 y 10 sin t 89 8 plot x y r 生成随机数 a zeros 2 8 i 1 while i lt 8 temp1 rand 1 2
  • node中间件是什么意思?

    node中间件是什么意思 2020 09 11 16 11 17分类 常见问题 Node js答疑阅读 1757 评论 0 中间件是一种独立的系统软件或服务程序 分布式应用软件借助这种软件在不同的技术之间共享资源 中间件位于客户机 服务器的
  • Spark SQL 项目:实现各区域热门商品前N统计

    一 需求1 1 需求简介这里的热门商品是从点击量的维度来看的 计算各个区域前三大热门商品 并备注上每个商品在主要城市中的分布比例 超过两个城市用其他显示 1 2 思路分析使用 sql 来完成 碰到复杂的需求 可以使用 udf 或 udaf查
  • 四位均衡磨损格雷码

    什么是均衡磨损格雷码 均衡磨损格雷码是一种与标准格雷码具有相同的迭代后只变化一个位的特性 但每一个数位变化的次数相近的编码 为什么要均衡磨损 由于继电器输出PLC比晶体管输出PLC具有更好的可靠性 如果用继电器输出的PLC代替晶体管输出PL
  • 从0开始用shell写一个tomcat日志清理脚本

    一 目的 tomcat日志随着时间的流逝会越来越大 虽然我们可以使用cronolog对tomcat输出的日志根据日期进行切割 但是日子一长 进到logs 文件夹下都是密密麻麻的日志 不好查看也浪费了大量的空间 故本文的目的是编写一个脚本 能
  • linux 0.11 int80实现,Linux0.11内核--系统中断处理程序int 0x80实现原理

    extern int sys setup 系统启动初始化设置函数 kernel blk drv hd c 71 extern int sys exit 程序退出 kernel exit c 137 extern int sys fork 创