摘要: 一、系统调用实验(下): 1.编辑 menu 中的 text.c 文件,给MenuOS增加 rename 和 rename_asm 命令: make rootf 打开 menu 镜像,可以看到MenuOS菜单中新增了两条命令: 2.gdb 跟踪 sys_rename:​ 同第二个实验相同,先使得 C 阅读全文
posted @ 2017-11-04 22:10 20179202杨晓桐 阅读(472) 评论(1) 推荐(2) 编辑
摘要: 一、系统调用实验: 1.知识准备: (1)系统调用的三层皮:xyz()(API)、system_call(所有系统调用的入口) 、 sys_xyz()(中断服务程序) (2)API是程序员在用户空间下可以直接使用的函数接口,它提供了一套封装例程,将系统调用在用户空间包装后供用户编程使用。涉及到与内核 阅读全文
posted @ 2017-10-28 17:53 20179202杨晓桐 阅读(514) 评论(2) 推荐(0) 编辑
摘要: 一、跟踪分析内核的启动过程实验 : 1.启动Menuos: qemu仿真kernel: 知识补充: (1)bzImage 是 vmlinux 经过 gzip 压缩后的文件,是压缩的内核映像,“b”代表的是“big”(bzImage 适用于大内核,zImage 适用于小内核)。vmlinux 是编译出 阅读全文
posted @ 2017-10-21 17:36 20179202杨晓桐 阅读(551) 评论(1) 推荐(1) 编辑
摘要: 一、mykernel 实验 : 1.深度理解函数调用堆栈: 上周已经一步步地分析过含有变量的函数调用时堆栈的变化,现在对堆栈框架进行一些补充,以以下程序为例: 大致栈空间以及自己领会的函数调用堆栈变化框架: 2.时间片轮转多道程序代码分析: 计算机工作的三个法宝是存储程序计算机、函数调用堆栈、中断机 阅读全文
posted @ 2017-10-15 17:06 20179202杨晓桐 阅读(622) 评论(5) 推荐(1) 编辑
摘要: 本周着重学习了汇编指令,并通过反汇编C程序了解栈帧变化。 实践 看了孟老师的演示视频后,我重新写了C程序,如下: 通过 反汇编,删除不需要的信息: 在分析汇编程序执行的过程时,我想对自己的分析进行验证(例如每一步是否esp,ebp所在位置是否与我分析的一致),于是我想到了用调试的方法。在阅读课本18 阅读全文
posted @ 2017-10-07 21:54 20179202杨晓桐 阅读(540) 评论(2) 推荐(0) 编辑
摘要: 实验一 Linux 系统简介 这一节主要学习了Linux的历史,重要人物以及学习Linux的方法。Linux和Windows在是否收费、软件与支持、安全性、可定制性和应用范畴等方面都存在着区别。目前感受最深的是Linux的命令行操作,我还不能习惯不用或少用图形界面。在安装Ubuntu时遇到电脑不支持 阅读全文
posted @ 2017-10-01 17:56 20179202杨晓桐 阅读(643) 评论(2) 推荐(0) 编辑