LINUX内核分析第四周学习总结--扒开系统调用的"三层皮" 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC 1000029000 扒开系统调用的"三层皮" 一.内核.用户态和中断处理 (一)如何区分用户态.内核态 1. 一般现在的CPU有几种不同的指令执行级别 在高级别的状态下,代码可以执行特权指令,访问任意的物理…
<Linux内核分析> 第四节 扒开系统调用的三层皮(上) 张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.用户态.内核态和中断 1.用户态.内核态和中断的处理过程 一般现代CPU都有几种不同的指令执行级别. 在高执行级别下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态. 而在相应的低级别执行状态下,代码的掌控范围会受到限制.只能在对…
<Linux内核分析> 第五节 扒开系统调用的三层皮(下) 20135307 一.给MenusOS增加time和time-asm命令 给MenuOS增加time和time-asm命令需要 更新menu代码 在main函数中增加menuconfig 增加对应的time和timeasm函数 make rootfs 二.使用GDB跟踪系统调用内核函数sys_time 实验报告 分析system_call中断处理过程 使用gdb跟踪分析一个系统调用内核函数(您上周选择那一个系统调用),系统调用列表参见…
[刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK FIVE(3.21——3.27)扒开系统调用的“三层皮”(下) SECTION 1 给MenusOS增加time和time-asm命令 1.操作步骤 进入实验楼 首先,强制(即 -rf命令)删除当前的menu 克隆一个新的menu(其中已经含有time了).但是通过实践以及查询,实验楼中对连入外网进行了限制,所以在实验…
Linux第四周学习总结--扒开系统调用的三层皮(上) 一.用户态.内核态和中断 系统调用通过库函数. 1.用户态和内核态 区分(不同的指令执行级别): 用户态:在相应的低执行状态下,代码的掌控范围受到限制,只能在对应级别允许的范围内活动 内核态:在高执行级别下,代码可以执行特权指令,访问任意的物理地址. Intel x86 CPU有四种不同的执行级别0-3,Linux只是用了期中的0级和3级分别表示内核态和用户态. 注意逻辑地址和物理地址的区别.逻辑地址是进程地址空间里面的 2.中断 中断处理…
转自:http://www.cnblogs.com/lalacindy/p/5276874.html 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 (一)用户态.内核态和中断处理过程 (二)系统调用概述 系统调用概述和系统调用的三层皮 (三)使用库函数API和C代码中嵌入汇编代码触发同一个系统调用 使用库函数API获取系统当前时间 C代码中嵌入汇编代码的方法(复习…
朱荟潼 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课http://mooc.study.163.com/course/USTC 1000029000 知识点梳理 一.用户态.内核态和中断处理过程 1.级别.如何区分 2.中断处理,用户态到内核态 3.保护现场和恢复现场 二.系统调用概述 1.操作系统为用户态进程与硬件设备进行交互提供了一组接口--系统调用 1.把用户从底层硬件编程中解放: 2.提高系统安全性: 3.用户程序具有可移植性: 2.API(应用编程接口)和系统调用…
LINUX内核分析第五周学习总结--扒开系统调用的"三层皮"(下) 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 1.克隆并自动编译MenuOS rm menu -rf //强制删除原menu文件 git clone https://github.com/me…
linux内核分析第四周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 # 上周回顾: installing 如何安装内核源代码 make mrproper 清理安装时生成的中间代码 启动Linux内核的三个参数: kernel initrd root所在分区.目录 gdb (gdb)file linux-3.18.6/vmlin…
Linux内核分析第四周学习总结--系统调用的工作机制 内核态 执行级别高,可以执行特权指令,访问任意物理地址,在intel X86 CPU的权限分级为0级. 用户态 执行级别低,只能访问0x00000000-0xbfffffff之间的逻辑地址,权限分级为3级. 区分与切换 CS:eip(代码段选择寄存器/偏移量寄存器)中,CS寄存器最低两位表示特权级.状态通过中断来切换,包括硬件中断和系统调用两种方式. 寄存器上下文 从用户态切换到内核态时,int指令会保存用户态的寄存器上下文到内核堆栈中,同…