摘要: 一、概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序。ELF文件(目标文件)格式主要三种: 可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件。(目标文件 阅读全文
posted @ 2016-06-13 11:14 20135221黄卫 阅读(293) 评论(0) 推荐(0) 编辑
摘要: Linux》实践——程序破解 一、掌握NOP、JNE、JE、JMP、CMP汇编指令的机器码 NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90) JNE:条件转移指令,如果不相等则跳转。(机器码:75) JE: 阅读全文
posted @ 2016-06-13 11:13 20135221黄卫 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 一、基本模块的实现: 1.进程遍历打印输出 2.简单地编写一个新的系统调用(替换空的系统调用号) 基本模块学到的知识点: 1.相关指令 make oldconfig 配置内核 make 编译内核 make modules_instal 编译安装内核模块 make install 引导新编译的内核 u 阅读全文
posted @ 2016-05-23 11:19 20135221黄卫 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一、实践一:掌握软件源的维护方法,配置系统使用教育网内的软件源镜像。掌握通过软件源来查找,安装,卸载,更新软件的方法。 1.软件源的维护方法 Ubuntu的软件源列表存放在/etc/apt/sourcers.list,为了安全起见,我们在对源文件进行操作之前,先将软件源备份。 打开终端,输入命令 即 阅读全文
posted @ 2016-04-27 11:22 20135221黄卫 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 第一章:计算机是如何工作的 知识点: 冯诺依曼体系结构结构,它最核心的思想是存储程序计算机。 cpu通过总线与内存连接,依靠ip指针依次从内存中取出一条指令执行。 API:程序员与计算机的接口界面。 ABI:程序与CPU的接口界面。 寄存器、寻址方式和各类指令在学习《深入理解计算机》和《汇编》时已做 阅读全文
posted @ 2016-04-24 16:57 20135221黄卫 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 一、进程切换关键代码switch-to分析 1、进程调度与进程调度时机分析 1)不同类型的进程有不同的调度要求 分类:I/0-bound:频繁的进行I/o 通常会花费很多时间等待I/o操作的完成 CPU-bound:计算密集型 需要大量的cpu时间进行计算 分类||:批处理进程:不必与用户交互,通常 阅读全文
posted @ 2016-04-16 19:23 20135221黄卫 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 《Linux内核分析》 一、可执行程序是怎么得来的? 编译器预处理(负责把include的文件包含进来及宏替换等工作);编译成汇编代码;编译器编译成目标代码;再链接成可执行文件;操作系统加载到内存中来执行 hello.o和hello文件都是ELF格式的 二、目标文件的格式(ELF可执行可链接) AB 阅读全文
posted @ 2016-04-09 12:45 20135221黄卫 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 《Linux内核分析》 一、进程控制块PCB——task_struct又称进程描述符,是操作系统用于管理控制进程的一个专门的数据结构,记录进程的各种属性,描述进程的动态变化过程,而PCB是系统感知进程存在的唯一标志为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息 阅读全文
posted @ 2016-04-03 12:31 20135221黄卫 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 第五章 系统调用 5.1 与内核通信 系统调用在用户空间进程和硬件设备之间添加了一个中间层。该层主要作用有三个。 它为用户空间提供了一种硬件的抽象接口。 系统调用保 证了系统的毡定和安全。 在第 3 章中曾经提到过,每个进程都运行在虚拟系统中,而在用户空间和系统的其余部分提供这样一层公共接口,也是出 阅读全文
posted @ 2016-03-27 16:07 20135221黄卫 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 系统调用在用户空间进程和硬件设备之间添加了一个中间层,该层主要作用有三个: 在Linux中,系统调用是用户空间访问。内核的唯一手段;除异常和陷入外,它们是内核唯一的合法入口。本章重点强调Linux系统调用的规则和实现方法。 首先,注意函数声明中的asmlinkage限定词,这是一个编译指令,通知编译 阅读全文
posted @ 2016-03-20 17:25 20135221黄卫 阅读(159) 评论(0) 推荐(0) 编辑