Linux内核分析学习总结】的更多相关文章

20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这学期开始学习Linux,刚刚接触,也是不容易的坚持了下来.第一次学习这种网上课堂,形式非常的新颖,图文结合,并且孟老师教授的也很详细,一些概念也说的通俗易懂,这个课程整个学习下来还是受益匪浅. 现在整个网课的学习过程已经结束,按照孟老师的要求写一份关于Linux的总结和报告,有许多不足之处,欢迎大家指正,希望能一起…
#linux内核分析学习笔记 --第八章 进程的切换和系统的一般执行过程 学习目标:重点关注进程切换的过程,进程调度的时机,操作系统的基本构成以及一般的执行过程. 进程调度的时机 因为进程的调度只发生在内核中,进程调度函数schedule()只能在内核中被调用,用户进程无法调用. 因此,进程切换需要用到实现用户态到内核态的切换. 除了主动让出CPU外,进程的调度都需要在进程外进行.中断可以实现切出进程指令流的作用,中断处理程序是与进程无关的内核指令流. 硬中断与软中断 Intel定义的中断有以下…
#linux内核分析学习笔记 --第七章 可执行程序工作原理 学习目标:了解一个可执行程序是如何作为一个进程工作的. ELF文件 目标文件:是指由汇编产生的(*.o)文件和可执行文件. 即 可执行或可连接的文件.目标文件是已经适应某一种CPU体系结构上的二进制指令. 目标文件的格式可以分为: a.out COFF PE(windows)和ELF(linux) ELF就是可执行和可连接的格式,是一个目标文件的标准格式.ELF是一种对象文件格式,用于定义不同类型的对象文件中都有什么内容.以什么样的格…
linux内核分析学习笔记 --第六章 进程的描述和进程的创建 学习重点--子进程的创建以及运行流程 进程描述和进程的创建 操作系统的三大功能--进程管理.内存管理和文件系统. 在linux内核中利用struct task_struct数据结构来描述进程. 其中包括了进程状态state.stack堆栈.进程双向链表struct list_head.控制台tty.文件系统fs的描述,进程打开文件的文件描述files.内存管理的描述mm.进程间通信的信号signal等等. 进程状态包括就绪台.运行态…
linux内核分析学习笔记 --第五章 系统调用的三层机制 学习重点--深入理解系统调用的过程 给MenuOS添加命令 添加命令的方式较为简单,在LinuxKernel/menu/test.c目录下,打开test.c,main函数中的MenuConfig就是对应的系统调用的功能增加,之后在上面给出具体实现即可.之后就可以在MenuOS中使用该系统调用函数. 使用gdb跟踪内核函数sys_getuid 上面在MenuOS中添加了功能,我这里改成了getuid获得当前用户的id号,调试步骤和实验三基…
linux内核分析学习笔记 --第四章 系统调用的三层机制 学习重点--系统调用 用户态.内核态和中断 Intel x86 CPU有四种不同的执行级别,分别是0,1,2,3其中数字越小,特权越高. Linux操作系统只采用了其中的0和3两个特权级别,分别对应内核态和用户态. 内核态:对应高执行级别,代码可以执行特权指令,访问任意物理内存,CPU执行级别对应的内核态. 内核态的CS:EIP指向范围是任意地址 用户态:对应底执行级别,代码能够掌控的范围会受到限制. 用户态时,以32位x86机器为例,…
linux内核分析学习笔记 --第三章 MenuOS的构造 计算机的"三大法宝"和操作系统的"两把宝剑" 三大法宝 程序存储计算机 即冯诺依曼体系结构,基本上是所有计算机的基础性的逻辑框架 函数调用堆栈 高级语言可以运行的起点就是函数调用堆栈 中断机制 中断上下文 保存现场和恢复现场 进程上下文 进程的调度 构建一个linux内核--MenuOS系统 linux内核源码几个重要的目录 arch目录 是与体系结构相关的子目录列表,存放了许多CPU体系结构相关的代码 该…
linux内核分析学习笔记 --第二章 操作系统是如何工作的 计算机的"三大法宝" 程序存储计算机 即冯诺依曼体系结构,基本上是所有计算机的基础性的逻辑框架 函数调用堆栈 高级语言可以运行的起点就是函数调用堆栈 中断机制 函数调用堆栈 堆栈的具体作用 记录函数调用的框架 传递函数参数 保存返回值地址 提供函数内部局部变量的存储空间 堆栈相关的寄存器 ESP:堆栈指针,指向堆栈栈顶 EBP:基址指针,指向堆栈栈底,在C语言中记录当前函数调用基址 堆栈操作 push 栈顶地址减少4个字节,…
读书报告 <庖丁解牛Linux内核分析> 第 1 章 计算工作原理 1.1 存储程序计算机工作模型 1.2 x86-32汇编基础 1.3汇编一个简单的C语言程序并分析其汇编指令执行过程 因为本科时期学过<微机原理与接口技术>课程,学习过8086/8088的汇编语言,所以基本上算是复习. 通用寄存器 EAX:累加器,是算术运算的主要寄存器,I/O指令使用该寄存器与外设传送信息 EBX:通用寄存器,常用作基址寄存器 ECX:通用寄存器,在循环时作为隐含的计数器 EDX:通用寄存器,可以…
第一周作业:linux入门学习:熟悉操作linux的基础命令 第二周作业:实验反汇编一个简答的C程序,学习汇编代码的工作过程 第三周作业:学习linux内核的启动过程 第四周作业:学习linux内核进程相关的知识,实验学习时间片轮转多道程序原理 第五周作业:学习使用GDB调试跟踪内核的启动过程 第六周作业:学习linux系统调用相关的知识并进行实验操作分析 第七周作业:实验分析学习Linux内核创建一个新进程的过程 第八周作业:学习linux内核定时器及内存管理 第九周作业:学习总结Linux内…