2016年6月1日

ELF文件格式分析

摘要: 一般的 ELF 文件包括三个索引表:ELF header,Program header table,Section header table。 1)ELF header:在文件的开始,保存了路线图,描述了该文件的组织情况。 2)Program header table:告诉系统如何创建进程映像。用来 阅读全文

posted @ 2016-06-01 19:58 20135222 阅读(321) 评论(0) 推荐(0) 编辑

程序破解实践

摘要: 指令及对应机器码: NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90) JNE:条件转移指令,如果不相等则跳转。(机器码:75) JE:条件转移指令,如果相等则跳转。(机器码:74) JMP:无条件转移指令。 阅读全文

posted @ 2016-06-01 17:37 20135222 阅读(177) 评论(0) 推荐(0) 编辑

2016年5月21日

内核模块编译实践

摘要: 实验目的 1、 理解模块原理 2、 编写模块代码 3、 编译模块 4、 加载模块 5、 测试模块 6、 卸载模块 实验步骤 1、实验原理 Linux模块是一些可以作为独立程序来编译的函数和数据类型的集合。之所以提供模块机制,是因为Linux本身是一个单内核。单内核由于所有内容都集成在一起,效率很高, 阅读全文

posted @ 2016-05-21 20:42 20135222 阅读(6382) 评论(0) 推荐(0) 编辑

2016年4月30日

Linux内核分析课程总结

摘要: blog链接: 计算机是如何工作的 操作系统是如何工作的 构造一个简单的linux系统MenuOS 系统调用的工作机制(上) 系统调用的工作机制(下) 进程的描述与创建 可执行程序的装载 进程的切换与系统的一般执行过程 学习总结: 收获: 通过这门课程,我系统性地、深入地学习了操作系统内核的相关结构 阅读全文

posted @ 2016-04-30 21:28 20135222 阅读(317) 评论(0) 推荐(0) 编辑

2016年4月17日

进程的切换与系统的一般执行过程

摘要: 进程的调度时机与进程的切换 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已。 对于理解操作系统的工作机制,反而是进程的调度时机与进程的切换机制更为关键。 进程调度的时机 中断处理过程(包括时钟中断、I/O中断、系统调用和 阅读全文

posted @ 2016-04-17 11:43 20135222 阅读(6863) 评论(0) 推荐(0) 编辑

2016年4月9日

可执行程序的装载

摘要: 可执行文件的创建 预处理:加入头文件执行宏替换等操作 gcc -E hello.c -o hello.i 编译:检查无误后转为汇编语言 gcc –S hello.i –o hello.s 汇编:转为二进制 gcc –c hello.s –o hello.o 链接:生成可执行文件 gcc hello. 阅读全文

posted @ 2016-04-09 20:44 20135222 阅读(505) 评论(0) 推荐(0) 编辑

2016年4月2日

进程描述与创建

摘要: 进程控制块pcb——task_struct 操作系统三大功能: 进程管理(核心) 内存管理 文件系统 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息: 进程状态 进程打开的文件 进程优先级信息 进程状态切换图 需要注意的是进程的运行态和就绪态使用同种名称,区别 阅读全文

posted @ 2016-04-02 21:46 20135222 阅读(438) 评论(0) 推荐(0) 编辑

2016年3月26日

系统调用的工作机制(下)

摘要: 给MenuOS增加time和time-asm命令 中间过程已省略了,我们所做的只是将menu更新 具体命令如下 rm menu -rf 强制删除 git clone http://github.com/mengning/menu.git 克隆相关信息 cd menu make rootfs 使用gd 阅读全文

posted @ 2016-03-26 14:19 20135222 阅读(294) 评论(0) 推荐(0) 编辑

2016年3月20日

系统调用的工作机制

摘要: 系统调用 何为系统调用: 系统调用是操作系统为用户态进程与硬件设备进行交互提供的一组接口。 系统调用的意义: 何为API: 应用编程接口(application program interface),和系统调用是不同的。 API与系统调用: 不是每个API都对应一个特定的系统调用。 系统调用例程及服 阅读全文

posted @ 2016-03-20 18:27 20135222 阅读(399) 评论(0) 推荐(0) 编辑

2016年3月16日

《Linux内核设计与实现》第一二章笔记

摘要: 第一章 linux内核简介 每个处理器在任何时间点上的活动必然概括为下列三者: Linux内核与传统的Unix系统之间的差异: 单内核与多内核设计之比较: 单内核 微内核 Linux内核设计 第二章 从内核出发 内核源码树: 内核开发特点: 阅读全文

posted @ 2016-03-16 15:40 20135222 阅读(282) 评论(0) 推荐(0) 编辑

导航