摘要: 系统调用实验(下): 将第四章的两个实验集成到MenuOS系统中,将其作为MenuOS系统的两个命令,新版本的menu中已经把两个系统调用添加进去了,只需重新克隆一个新版本的menu。 使用make rootf 打开menu镜像,可以看到MenuOS菜单中新增了两条命令,time和time asm。 阅读全文
posted @ 2018-11-18 08:09 20189210牟健 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 一、系统调用实验 1、库函数将系统调用封装起来,大多数程序员使用库函数进行系统调用。 2、Linux操作系统的体系架构分为用户态和内核态。CPU的执行级别对应的就是内核态,所有指令都可以执行。用户态对应的就是低级别指令。 3、系统调用也是一种中断,中断处理是从用户态进入内核态的主要方式,系统调用是一 阅读全文
posted @ 2018-11-11 18:03 20189210牟健 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 第三章 这一章接触内核源代码,对内核源码进行编译和调试跟踪 一、预备知识: 内核:整个操作系统的最底层,它负责了整个硬件的驱动以及提供各种系统所需的内核功能。内核实质上是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的检测程序与驱动模块。当系统读完BIOS并加载MBR内的引导装载程序后,就能 阅读全文
posted @ 2018-11-04 23:40 20189210牟健 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 一、学习笔记 计算机的“三大法宝” 1、程序存储计算机。 2、函数调用对栈。堆栈的作用是:记录函数调用框架、传递函数参数、保存返回值地址、提供函数内部局部变量的存储空间。函数调用堆栈就是由多个逻辑上的栈堆叠起来的框架。 3、中断机制。当一个中断信号发生时,CPU把当时正在执行的程序地CS:EIP寄存 阅读全文
posted @ 2018-10-28 22:17 20189210牟健 阅读(186) 评论(1) 推荐(0) 编辑
摘要: 本周学习了汇编指令以及通过反汇编一个小程序来了解栈的变化 写了一个简单的C程序,如图所示: 通过gcc s o main.s main.c m32指令将其编译成汇编程序 打开该汇编文件并删除不重要的信息,如图所示: 分析该汇编指令(为了方便直接用手写画图,为了区分不同时期的寄存器,将其后面加了个括号 阅读全文
posted @ 2018-10-21 12:01 20189210牟健 阅读(163) 评论(1) 推荐(1) 编辑
摘要: 实验一 Linux系统简介 这一节主要学习了Linux的历史,Linux有关的重要人物以及学习Linux的方法,Linux和Windows的区别。其中学到了LInux中的应用程序大都为开源自由的软件,用户可以修改定制再发布;内核是实现多任务运行和硬件管理的基础;在我们使用应用程序时,在背后支持软件服 阅读全文
posted @ 2018-10-14 12:20 20189210牟健 阅读(235) 评论(1) 推荐(0) 编辑