2016年4月30日

期末总结

摘要: 一、学习总结 1、计算机的基本原理是存储程序和程序控制,按照冯若依曼体系结构计算机分为CPU和内存,内存用来存储程序,CPU从内存取指令来执行,按程序编排的顺序,一步一步地取出指令。在计算机中使用了最原始的汇编程序,函数调用堆栈是由逻辑上多个堆栈累加起来的,函数的返回值默认使用eax寄存器存储返回给 阅读全文

posted @ 2016-04-30 16:27 秦兆琪 阅读(130) 评论(0) 推荐(0) 编辑

2016年4月17日

第八周

摘要: 一、理论知识 Linux系统的一般执行过程 最一般的情况:正在运行的用户态进程X切换到运行用户态进程Y的过程 1. 正在运行的用户态进程X 2. 发生中断——save cs:eip/esp/eflags(current) to kernel stack, then load cs:eip(entry 阅读全文

posted @ 2016-04-17 08:47 秦兆琪 阅读(186) 评论(0) 推荐(0) 编辑

2016年4月9日

第七周总结

摘要: 这周的实验是关于Linux内核如何加载一个可执行程序的。下面开始实验: 打开实验楼环境,重新下载编译内核,然后小s大s,启动停止后用gdb打好断点,开始调试。 下面分析: 1.先看ELF文件的格式。ELF头描述了该文件的组织情况,ELF文件默认从0x8048000开始加载,文件头中Entry poi 阅读全文

posted @ 2016-04-09 19:41 秦兆琪 阅读(256) 评论(0) 推荐(0) 编辑

2016年4月3日

linux作业六——进程的描述和进程的创建

摘要: 进程的描述和进程的创建 一、进程描述符task_struct 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息。 代码关键点: 1.Struct list_head task进程链表,双向循环链表链接。 2.Struct mm_struct *mm,*activ 阅读全文

posted @ 2016-04-03 14:50 秦兆琪 阅读(155) 评论(0) 推荐(0) 编辑

2016年3月25日

实验总结

摘要: 一、给MenuOS增加time和time-asm命令 1. 克隆并自动编译MenuOS 2. 给MenuOS增加time和time-asm命令 更新menu代码到最新版 test.c中main函数里,增加MenuConfig 增加对应的两个函数:Time和TimeAsm make rootfs 调试 阅读全文

posted @ 2016-03-25 19:26 秦兆琪 阅读(176) 评论(0) 推荐(0) 编辑

2016年3月19日

linux第四周作业

摘要: 一、用户态内核态与中断 1.库函数把内核调用封装起来。 2.区分内核态和用户态是为了让系统更稳定。Linux里吧用户态定位3级,把内核态定位0级。 3.中断处理就是从用户态进入内核态的主要方法,系统调用就是特殊的中断。 4.中断指令会在堆栈中保存一些寄存器的值:用户态栈顶地址;当时的状态字;当时cs 阅读全文

posted @ 2016-03-19 10:01 秦兆琪 阅读(147) 评论(0) 推荐(0) 编辑

2016年3月16日

Linux课本第一二章

摘要: 一、第一章:Linux内核简介 1.操作系统和内核:操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分,包括内核、设备驱动程序、启动引导程序、命令行shall等。 内核就是操作系统的核心,由负责相应中断的中断服务程序,负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内 阅读全文

posted @ 2016-03-16 15:13 秦兆琪 阅读(259) 评论(0) 推荐(0) 编辑

2016年3月12日

作业三--Linux内核分析

摘要: 一、Linux内核源码 arch目录支持不同CPU的源代码,是内核源码中比较大的文件。 fs文件系统Linux内核的源码放在kernel目录中。 二、构造一个简单的Linux系统MenuOS 三、使用gdb跟踪调试Linux内核的方法 -S freeze CPU at startup(在CPU运行前 阅读全文

posted @ 2016-03-12 11:45 秦兆琪 阅读(189) 评论(0) 推荐(0) 编辑

2016年3月2日

Linux内核分析作业二—操作系统是如何工作的

摘要: 一、实验:简单的时间片轮转多道程序内核代码运行与分析 my_start_kernel之前都是硬件初始化,它是操作系统的执行入口,每循环100000次就进行一次打印。 执行更加简单,每次时钟中断时都会调用函数输出my_time_handler。其中怎样获取时钟中断和时钟中断处理入口由Linux内核代码 阅读全文

posted @ 2016-03-02 18:02 秦兆琪 阅读(338) 评论(0) 推荐(0) 编辑

2016年2月25日

Linux内核分析作业一

摘要: 一、实验 通过反汇编一个简单的c语言程序来分析计算机是如何工作的 1.进入实验楼,在实验楼环境下把c语言代码转换成汇编码 汇编代码如下图: 二、汇编代码的工作过程中堆栈的变化:(手绘步骤,顺序是从左到右,从上到下) 三、计算机是如何工作的: 计算机的基本原理是存储程序和程序控制,按照冯若依曼体系结构 阅读全文

posted @ 2016-02-25 22:21 秦兆琪 阅读(230) 评论(0) 推荐(0) 编辑

导航