一、系统调用的三层皮

  1. 内核态、用户态

     Intel x86 CPU有四个权限分级,0-3。Linux只取两种,0是内核态,3是用户态。
    
     0xc0000000以上的空间只能在内核态下访问
    
     0x00000000-0xbfffffff两种状态下都可以访问
  2. API、中断向量、中断服务程序

     中断向量(0x80)用于中断。在用户态和内核态转换、或者进程转换时使用。
    
     系统调用的服务例程中,中断向量(0x80)是linux中所有系统调用的入口点,每个系统调用至少有一个参数,即系统调用号,系统调用号将API与中断服务程序关联起来,系统调用号保存在eax中。

二、实验

  1. 云课堂中老师用了13号系统调用演示给我们看,由于网络不稳定,我就在自己电脑上的虚拟机中进行了实验。

  2. 29号系统调用pause();

    让进程暂停直到信号出现。

  3. 实验截图

     系统直接调用

    内嵌式汇编调用

三、出现的问题

由于实验没有在实验楼上进行,可能是linux版本不一样吧。编译时,系统对"%%eax"报错,好像是汇编出错。经反复调试,最后用了"%eax"。系统就不再报错,运行结果和预期的一样。截图如下:

然后上网查也没用具体的解释……

还请各位多多指教哦

参考资料

1.http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/syscall_32.tbl

2.http://blog.sina.com.cn/s/blog_4d7e63020101lj43.html

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

linux内核分析 第四周的更多相关文章

  1. LINUX内核分析第四周学习总结——扒开系统调用的“三层皮”

    LINUX内核分析第四周学习总结--扒开系统调用的"三层皮" 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC ...

  2. 20135327郭皓--Linux内核分析第四周 扒开系统调用的三层皮(上)

    Linux内核分析第四周 扒开系统调用的三层皮(上) 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/U ...

  3. linux内核分析第四周学习笔记

    linux内核分析第四周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

  4. LINUX内核分析第四周——扒开系统调用的三层皮

    LINUX内核分析第四周--扒开系统调用的三层皮 李雪琦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...

  5. Linux内核分析第四周学习总结——系统调用的工作机制

    Linux内核分析第四周学习总结--系统调用的工作机制 内核态 执行级别高,可以执行特权指令,访问任意物理地址,在intel X86 CPU的权限分级为0级. 用户态 执行级别低,只能访问0x0000 ...

  6. Linux内核分析第四周学习总结:扒开系统调用的三层皮(上)

    韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.用户态.内核 ...

  7. LINUX内核分析第四周学习总结——扒开应用系统的三层皮(上)【转】

    转自:http://www.cnblogs.com/lalacindy/p/5276874.html 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://moo ...

  8. Linux内核分析第四周学习总结

    朱国庆+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 扒开系统调用的三层皮 ...

  9. 20135320赵瀚青LINUX内核分析第四周学习笔记

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 概述 本周的内容主要是讲解系 ...

随机推荐

  1. 采用jquery同django实现ajax通信

    在网页访问中通过HTTP协议中的get/post文件发送数据或请求.在浏览器中输入url后,浏览器就会帮助我们完成请求的发送和返回,并刷新更新界面.但是,如果我们不想更新界面,仅仅是发送一个get/p ...

  2. Oracle管理监控之设置linux启动时自动启动oracle服务器

    1. 修改dbstart脚本(第78行):$ vi $ORACLE_HOME/bin/dbstartORACLE_HOME_LISTNER=$ORACLE_HOME 2. 修改/etc/oratab为 ...

  3. 《SEO在网页制作中的应用》视频笔记

    学习了慕课网<SEO在网页制作中的应用>视频,今天将里面的知识整理一下. 一.SEO介绍 1.  搜索引擎工作原理 搜索引擎现在主流有百度.谷歌.360,他们都有庞大的搜索引擎数据库,每个 ...

  4. 3322.org

    3322.org — Krebs on Security https://krebsonsecurity.com/tag/3322-org/

  5. Hello Redis - Voting on articles

    Redis in Action JOSIAH L. CARLSON MANNING Shelter Island ONE_WEEK_IN_SECONDS = 7 * 86400 VOTE_SCORE ...

  6. ArcGIS URL 组成

    转自帮助文档:http://server.arcgis.com/zh-cn/server/latest/administer/windows/components-of-arcgis-urls.htm ...

  7. Arctic Network---poj2349 最小生成树

    http://poj.org/problem?id=2349 题意:有n个点给出坐标,点和点之间可以用无线电或者卫星通信,每个点都有无线电收发器可进行无线电通信,但是只有m个点有卫星通信功能.卫星通信 ...

  8. 浅谈CSRF攻击方式(转)

    add by zhj: 在看Django开发的应用时,看到了CSRF,然后搜到了这篇文章,讲的不错.其实CSRF 攻击也蛮简单的.当你登陆网站A后,会在本地存有cookie,在cookie没有过期的情 ...

  9. BUG笔记:Firefox select选项右侧边框没了

    Firefox 的default select在某些情况下右侧边框会消失.截图如下: 这个目前为止没有看到有任何解决方案,HACK也没有...囧... 有高人知道吗?

  10. JVM学习笔记-内存管理

    第一章 内存分配 1. 内存区域.     方法区和堆(线程共享),程序计数器 , VM栈 和 本地方法栈(线程隔离).     1) java虚拟机栈:线程私有.描写叙述的是java方法执行的内存模 ...