摘要: 本文包含老师给的文件以及自己实际做的实验步骤截图。 内核模块编译 实验目的: 1、理解模块原理 2、编写模块代码 3、编译模块 4、加载模块 5、测试模块 6、卸载模块 实验步骤 1、实验原理 Linux模块是一些可以作为独立程序来编译的函数和数据类型的集合。之所以提供模块机制,是因为Linux本身 阅读全文
posted @ 2019-11-03 12:43 20199302 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 第六章 进程的描述和进程的创建 (一)进程的描述 1、OS的三大管理功能:(1)进程管理(进程)(2)内存管理(虚拟内存)(3)文件系统(文件) 2、进程的描述:进程控制块PCB 3、在Linux内核中,struct task_struct描述进程,其中的变量state为进程状态,stack是堆栈。 阅读全文
posted @ 2019-11-02 22:26 20199302 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 一 、万能函数 1、过程抽象 (1)接口:指明模块要做什么,标识符/类型、函数等, .h ,函数调用者 (2)实现:指明模块如何完成接口,一个接口多个实现(可能), .c ,函数实现者 (3)函数签名:函数名、它的参数个数,参数类型,注意不包含返回值。函数签名用于识别不同的函数,就像签名用于识别不同 阅读全文
posted @ 2019-10-27 13:41 20199302 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 一、用户态、内核态和中断 1、一般现代cpu都有几种不用的指令执行级别 2、在高执行级别下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态。 3、在相应的低级别执行状态下,代码的掌控范围会受到限制。只能对应级别允许的范围内活动。 例:intel x86CPU有四种不同的执 阅读全文
posted @ 2019-10-20 17:03 20199302 阅读(152) 评论(1) 推荐(0) 编辑
摘要: 实验内容 在实验楼的环境中敲入命令 cd LinuxKernel/ qemu kernel linux 3.18.6/arch/x86/boot/bzImage initrd rootfs.img 效果截图: 一、补习第一周云班课视频 (一)文件系统 1、FHS:文件系统层次结构标准 Linux的正 阅读全文
posted @ 2019-10-09 12:42 20199302 阅读(165) 评论(0) 推荐(1) 编辑
摘要: 云班课学习内容 一、C语言中嵌入汇编代码 1、内嵌汇编语法 (1)C语言中嵌入汇编代码的写法: _asm_( 汇编语句模板: 输出部分: 输入部分: 破坏描述部分); 说明 :输出部分和输入部分对应着C语言中的函数调用时的参数(return也是一个输出部分) 例: printf("val1:%d,v 阅读全文
posted @ 2019-09-29 14:51 20199302 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1 vi .c文件 .h文件 本实验的过程在test/test4中: 代码: 20199302.h ifndef HEAD_H define HEAD_H int add(int,int); int sub(int,int); int mul(int,int); double div(int,int 阅读全文
posted @ 2019-09-25 21:59 20199302 阅读(2235) 评论(0) 推荐(0) 编辑
摘要: 一、实验记录 1、实验代码截屏 本次实验中遇到的一个 小问题 是: (1)在进行汇编语言编译时,命令行本应是"g/\.s /d ",因为做实验的时候还没有看视频,只是看了书,把"/ \"当成了“^",在这里,需要用转义字符。 (2)其中,:g/pattern/d表示全局删除匹配到的行。 二、《庖丁解 阅读全文
posted @ 2019-09-22 15:47 20199302 阅读(201) 评论(1) 推荐(0) 编辑
摘要: 2019.9.13 说明:可能是因为网速问题,笔记本上一直没有办法加载实验楼的学习界面,所以没有使用实验楼提供的环境,而是用的ubuntu进行的所有实验。 二、学习第二章,对shell命令有了一个大概的了解。 (一)首先是快捷键的学习,会使得以后的学习简便很多。 1、【Ctrl】+【F1~F6】切换 阅读全文
posted @ 2019-09-15 22:11 20199302 阅读(177) 评论(1) 推荐(0) 编辑
摘要: 这是一个添加随笔的测试博客! 阅读全文
posted @ 2019-09-13 09:58 20199302 阅读(110) 评论(1) 推荐(0) 编辑