linux及安全第五周总结】的更多相关文章

Linux内核设计第五周 ——扒开系统调用三层皮(下) 一.知识点总结 1.给MenuOS增加新的命令的步骤 更新menu代码到最新版 test.c中main函数里,增加MenuConfig() 增加相应的函数 make rootfs 自动编译脚本 2.gdb调试 详细介绍见第三周的学习笔记 3.系统调用在内核代码中的处理过程 (1)系统调用在内核代码中的工作机制和初始化 (2)简化后便于理解的system_call伪代码 system_call完整代码在arch/x86/kernel/entr…
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内核分析第五周学习总结——扒开应用系统的三层皮(下) 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 (一)给MenuOS增加time和time-asm命令 (二)使用gdb跟踪系统调用内核函数sys_time (三)系统调用在内核代码中的工作机制和初始化 1. 系统调用在内核代码中的工作机制和初始化 2. 简化后便于理解的system_call伪代码 3…
Linux内核分析第五周 扒开系统调用的三层皮(下) 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 实验:分析system_call中断处理过程 1.给MenuOS增加time和time-asm命令 rm menu -rf //强制删除原menu文件 git clone http://github.com/mengning/menu.git //从github中克隆 cd me…
linux内核分析第五周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 把menu删除: rm menu -rf 强制删除 重新克隆一个新的Menu: 进入Menu,用makerootfs自动编译生成根文件系统,同时还自动启动MenuOS 增加了两个命令:time和time_a…
Linux内核分析第五周--扒开系统调用的"三层皮"(下) 李雪琦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识点总结 (一)给MenuOS增加time和time-asm命令 1.更新menu代码到最新版 2.test.c中main函数里,增加MenuConfig() 3.增加对应的两个函数,Time和TimeAsm函数 4.make rootfs自动…
Linux内核分析第五周学习总结--分析system_call中断处理过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 新学习到的知识:  给menu添加新的功能  使用gdb调试符号表,与程序同步调试  学习了系统调用的大致作用流程 使用gdb跟踪调试内核函数sys_fork 分析系统调用过程 总结 我对于系统调用过程的理解是,系统调用都要经过一次中断,通过中断向量表,启动对应中断服务程序…
第五周 扒开系统调用的“三层皮”(下) 一.知识点总结 (一)给MenuOS增加time和time-asm命令 在实验楼中,首先 强制删除menu (rm menu -rf) 重新克隆一个新版本的menu(git clone https://github.com/mengning/menu.git 进入menu之后,输入make rootfs,就可以自动编译,自动生成根文件系统 输入help,可以发现系统支持更多的命令:help version quit time(显示系统时间) time-as…
韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 1. 克隆并自动编译MenuOS rm menu -rf 强制删除原menu文件 git clone http://github.com/mengning/menu.git 从github中克隆 cd menu make rootfs 运行自动编译脚本,生成根文件系统,启…
一.实验相关 1.下载老师最新的menu文件,并在其中添加上周所编写的代码,并运行 下载 添加 运行 2.gdb调试跟踪 gdb设置跟踪文件(先进入linux-3.18.6所在的文件) gdb设置断点 二.流程图 三.遇到的问题 进入gdb调试时,执行file linux-3.18.6/vmlinux指令提示未找到相应文件.之后用地址使用../linux-3.18.6/vmlinux还是未找到相应文件.退出gdb调试,发现水平分割后处在根目录,从home进入shiyanlou在到LinuxKer…
张文俊+ 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 学习总结 1.给MenuOS增加time和time-asm命令 首先,将time这两个文件添加到MenuOS里面,需要以下指令: rm menu -rf //其中,-rf为强制删除命令 然后通过以下指令重新克隆一个menu: git clone https://github.com/mengning/menu.git 然后按照…
给MenuOS增加time和time-asm命令 中间过程已省略了,我们所做的只是将menu更新 具体命令如下 rm menu -rf 强制删除 git clone http://github.com/mengning/menu.git 克隆相关信息 cd menu make rootfs 使用gdb跟踪系统调用内核函数sys_time 命令如下 使用gdb跟踪调试内核 qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.…
扒开系统调用的三层皮(下) 20135237朱国庆+ 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 分析system_call中断处理过程 1)先更新menu 2)在main函数中添加新的MenuConfig并添加相应函数 3)之后进入menu中使用make rootfs=>自动编译生成根文件系统 开始使用GDB调试 首先qemu -kernel linux-3.18.6/a…
第18章 调试 内核调试的难度大于用户级 一.准备开始 开始之前需要的是: 一个行为可靠且定义明确的bug 一个隐匿bug的内核版本 相关内核代码的知识和运气 想要成功的调试,取决于能不能将这些bug重现. 二.内核中的bug 产生:错误代码,同步错误,错误的管理硬件 症状:降低所有程序的运行性能,毁坏数据,系统死锁 三.通过打印来调试 1.健壮性 printk()函数在任何时候任何地方都能调用 2.日志等级 printfk()和printf()相比,可以指定一个日志级别,内核根据这个级别判断是…
(注意:本文总结备份中有较多我手写笔记的图片,其中重要的部分打出来了.本文对分析system_call对应的汇编代码的工作过程,系统调用处理过程”的理解,以及流程图都写在实验部分.) 实验部分 使用gdb跟踪分析一个系统调用内核函数 强制删除menu (rm menu -rf) 更新menu代码至最新版本(git clone https://github.com/mengning/menu.git) 在test.c中main函数中增加MenuConfig,以及增加上周自己选择Getegid,Ge…
作者:刘世鹏20135304  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 1. 通过内核的方式(跟踪调试系统调用)来理解并使用系统调用. rm menu -rf //强制删除当前menu git clone http://github.com/mengning/menu.git //重新克隆新版本的menu cd menu ls make rootfs…
本实验目的:通过以一个简单的menu小程序,跟踪系统调用的过程,分析与总结系统调用的机制和三层进入的过程. 实验原理:系统调用处理过程与中断处理的机制 系统调用是通过软中断指令 INT 0x80 实现的,而这条INT 0x80指令就被封装在C库的函数中.(软中断和我们常说的硬中断不同之处在于,软中断是由指令触发的,而不是由硬件外设引起的.)INT 0x80 这条指令的执行会让系统跳转到一个预设的内核空间地址,它指向系统调用处理程序,即system_call函数. system_call函数是怎么…
陈巧然原创作品 转载请注明出处   <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 使用gdb跟踪分析一个系统调用中断处理过程,分析系统调用从system_call开始到iret结束之间的整个过程. 实验过程: 登陆实验楼虚拟机http://www.shiyanlou.com/courses/195 打开shell终端,执行以下命令: cd LinuxKernel rm -rf menu git clone h…
系统调用在内核代码中的工作机制和初始化 xyz()与sys_xyz()是通过系统调用号联系在一起的 0x80与system_call是通过中断向量联系起来的 系统调用机制的初始化 用汇编代码编写系统调用的过程: 确定出需传入的参数,以及函数的返回值 选择适当的寄存器存储输入参数值,将输入参数值传给相应的寄存器 将系统调用号存入到eax寄存器中,并使用"int $0x80"语句,进入中断处理程序,中断号80代表进入系统调用 进入系统调用后: 进入sys_ call函数,该函数调用涉及到的…
rm menu -rf 强制删除原menu文件 git clone http://github.com/mengning/menu.git 从github中克隆 cd menu 在test.c中增加上周编写的两个函数:Getpid()和GetpidAsm(),修改test.c中的main函数,添加两行代码MenuConfig make rootfs这一步之后会打开menu,输入help后可以看到当前的系统调用: 分别执行刚加进去的两个系统调用: 插入断点进行调试: 从system_call开始到…
<Linux内核分析>第五周学习总结                                  ——扒开系统调用的三层皮(下) 姓名:王玮怡 学号:20135116 1.给menuOS增加getpid和getid-asm命令 (1)进入实验楼环境,使用rm menu -rf指令强制删除已有的内核,使用git clone https://github.com/mengning/menu.git重新克隆一个最新的内核. (2)进入menu,找到test.c文件,将getpid和getpid…
<Linux内核分析>第五周学习笔记 扒开系统调用的三层皮(下) 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 1. 通过内核的方式(跟踪调试系统调用)来理解并使用系统调用. rm menu -rf //强制删除当前menu git clone http://github.com/mengning/menu.git…
2018-2019-1 20189221<Linux内核原理与分析>第五周作业 实验四 实验过程 当用户态进程调用一个系统调用时,cpu切换到内核态并开始执行一个内核函数. 在Linux中是通过int $0x80来执行系统调用的,这条汇编指令产生向量为128的编程异常 传参:内核实现了很多不同的系统调用,进程必须指明需要哪个系统调用,这需要传递一个名为系统调用号的参数(使用eax寄存器) 系统调用也需要输入输出参数,例如:实际的值.用户态进程地址空间的变量的地址.包含指向用户态函数的指针的数据…
[李行之原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] <Linux内核分析> 第五周 PART ONE 实验过程 1.在MenusOS中增加time和time-asm命令 更新menu代码到最新版本(删除当前版本重新下载): 在main函数中增加MenuConfig ; 增加对应的time和time-asm函数 make rootfs(自动编译) 实验截图: (1)在m…
<Linux内核设计与实现>第五周读书笔记——第十一章 20135301张忻 估算学习时间:共2.5小时 读书:2.0 代码:0 作业:0 博客:0.5 实际学习时间:共3.0小时 读书:2.0 代码:0 作业:0 博客:1.0 耗时估计的公式:Y=X+X/N ,Y=X-X/N 第18章 调试295 调试工作艰难是内核级开发区别于用户级开发的一个显著特点,相比于用户级开发,内核调试的难度确实要艰苦得多.更可怕的是,它带来的风险比用户级别更高,内核的一个错误往往立刻就能让系统崩溃. 驾驭内核调试…
Linux第五周学习总结--扒开系统调用的三层皮(下) 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.给MenuOS增加time和time-asm命令 1. 克隆并自动编译MenuOS rm menu -rf 强制删除原menu文件 git clone http://github.com/mengning/menu.git 从github中克隆 2. test.c…
第五周 给MenuOS增加time和time-asm命令 更新menu代码到最新版 在main函数中增加MenuConfig 增加对应的Time函数和TimeAsm函数 make rootfs 使用gdb跟踪系统调用内核函数sys_time 一直按n单步执行会进入schedule函数 sys_time返回后进入汇编代码处理gdb无法继续跟踪 执行int 0x80之后执行system_call对应的代码 系统调用在内核代码中的处理过程 1.系统调用在内核代码中的工作机制和初始化 2.系统调用机制的…
linux课程第五周实验及总结 一.学习总结 给MenuOS增加time和time-asm命令(四步操作命令) rm menu -rf 强制删除git clone http://github.com/mengning/menu.git   克隆相关信息cd menumake rootfs 一个脚本,自动编译自动生成根文件系统,并自动启动MenuOS 使用gdb跟踪系统调用内核函数sys_time (gdb)b sys_time (gdb)c # 启动到MenuOs // 在MenuOs中使用ti…
<Linux内核原理与设计>第五周作业 视频学习及操作分析 一.用户态.内核态和中断 内核态在CPU执行中对应高执行级别,执行级别为0级,具有特权指令,可以访问任意物理地址:用户态执行级别为3级,在低级别执行状态下,代码掌控范围会受到限制. 内核态和用户态的区分:两者有一显著的区分方法,就是cs:eip寄存器.内核态时,cs:eip可以是任意地址,在32位X86机器上具有4G进程地址空间,因此既可以访问0X00000000-0Xbfffffff的地址空间,也可以访问0Xc0000000以上的地…