摘要:
一、ASCII码 首先懂得ASCII码表 二 八 十 十六 缩写/字符 0000 0000 0 0 00 NUL(null) 0000 0001 1 1 01 SOH(start of headline) 0000 0010 2 2 02 STX (start of text) 0000 0011 阅读全文
摘要:
一、ELF文件头(定义在/usr/include/elf.h)中 二、实践部分 第一行 对应e_ident[EI_NIDENT]:实际表示内容为7f45 4c46 0101 0100 0000 0000 0000 0000。 前4字节,是一个魔数,表示这是一个ELF对象 下一个字节01说明是个32位 阅读全文
摘要:
实验思想 本次实验的主要思想有两个,第一个是修改跳转指令,把它变成无条件跳转使得无论输入什么用户名都跳转到失败的那个选项中去,第二个思想是修改比对的内容,即不判断条件,从而成功 实验步骤 1、首先从老师那获取了login可执行文件之后,用objdump d login指令显示login中各个段以及符 阅读全文
摘要:
内核编译模块 实验原理 linux模块是一些可以作为独立程序来编译的函数和数据类型的集合。之所以提供模块机制,是因为Linux本身是一个单内核。单内核由于所有内容都集成在一起,效率很高,但可扩展性和可维护性相对较差,模块机制可弥补这一缺陷。 Linux模块可以通过静态或动态的方法加载到内核空间,静态 阅读全文
摘要:
赵瀚青原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 对LINUX内核分析与设计这门课程的理解 链接总结 第一周学习笔记:http://www.cnblogs.com/5320zhq/p/522 阅读全文
摘要:
期中总结 心得与体会 本学期的LINUX内核这门课程已经进行了一半,这门课的学习方法和上个学期深入理解计算机系统的方式差不多,所以也没有特别多不适应,LINUX内核在我看来,就是理解一个操作系统是如何实现各个功能的,先从宏观上让我们理解一下,LINUX操作系统,然后再让我们看看各个功能实现的代码和过 阅读全文
摘要:
赵瀚青原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 概述 本周学习的是linux内核中的进程调度,之前我们在操作系统中有讲解进程调度的分类,以及一些调度算法。而linux中的进程调度有所不同, 阅读全文
摘要:
概述 什么是进程调度 进程调度:在可运行态进程之间分配有限处理器时间资源的内核子系统。 一、调度策略 4.1进程类型 I/O消耗型进程:大部分时间用来提交I/O请求或是等待I/O请求,经常处于可运行状态,但运行时间短,等待请求过程时处于阻塞状态。如交互式程序。 处理器消耗型进程:时间大都用在执行代码 阅读全文
摘要:
赵瀚青原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 概述 课本内容 链接的定义 静态链接 javascript 为了构造可执行文件,链接器必须完成两个主要任务: 1、符号解析(symbol r 阅读全文
摘要:
链接的定义 静态链接 javascript 为了构造可执行文件,链接器必须完成两个主要任务: 1、符号解析(symbol resolution)。目标文件定义和引用符号。符号解析的目的是将每个符号引用刚好和一个符号定义联系起来。 2、重定位(relocation)。编译器和汇编器生成从地址0开始的代 阅读全文