Linux内核分析_课程学习总结报告】的更多相关文章

请您根据本课程所学内容总结梳理出一个精简的Linux系统概念模型,最大程度统摄整顿本课程及相关的知识信息,模型应该是逻辑上可以运转的.自洽的,并举例某一两个具体例子(比如读写文件.分配内存.使用I/O驱动某个硬件等)纳入模型中验证模型.谈谈您对课程的心得体会,改进建议等. 1.冯·诺依曼计算机体系中,操作系统的功能及必要性 冯·诺依曼体系结构计算机中,计算机分为五个部分:运算器.控制器.存储器.输入设备和输出设备,各个部分之间由总线相互连接.存储器负责存储计算所需的数据和程序指令,因为指令和数据…
LINUX内核分析第一周学习总结——计算机是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.汇编代码的工作过程 1.实验过程 int a(int x) { ; } int b(int x) { return a(x); } int main(void) { ) + ; } 汇编代码如下: 2.代码分析 二.计算机工作的过程 工作的大致过程是:用户将编制好的程序通过…
LINUX内核分析第二周学习总结——操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识点总结 (一)计算机是如何工作的?(总结)——三个法宝 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能:…
LINUX内核分析第四周学习总结--扒开系统调用的"三层皮" 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC 1000029000 扒开系统调用的"三层皮" 一.内核.用户态和中断处理 (一)如何区分用户态.内核态 1. 一般现在的CPU有几种不同的指令执行级别 在高级别的状态下,代码可以执行特权指令,访问任意的物理…
linux内核分析第四周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 # 上周回顾: installing 如何安装内核源代码 make mrproper 清理安装时生成的中间代码 启动Linux内核的三个参数: kernel initrd root所在分区.目录 gdb (gdb)file linux-3.18.6/vmlin…
linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1.函数调用堆栈 1.1小结 三把宝剑: 存储程序计算机 函数调用堆栈 中断机制 1.2堆栈 堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间 函数条用框架 传递参数 保存返回地址 提供局部变量空间 C代码中嵌入汇编代码的写法 0. 内嵌汇编语法 as…
linux内核分析第一周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1.1冯诺依曼体系结构:即具有存储程序的计算机体系结构 目前大多数拥有计算和存储功能的设备其核心构造均为冯诺依曼体系结构 实验截图及理解…
Linux内核分析第一周学习博客 通过反汇编方式学习计算机工作过程 总结: 通过这次对一个简单C程序的反汇编学习,我了解到计算机在实际工作工程中要涉及大量的跳转指针操作.计算机通常是顺序执行一条一条的指令,如果有必要就通过寄存器跳转到特定的地址,再执行,然后通过一系列机制返回原有的地址,继续顺序执行. 在这个过程中,显然一旦指针的工作出现差错,就可能导致bug或者溢出漏洞.幸好现在有一些相关机制来避免发生类似情况,但是我们从程序员的角度出发还是要慎重. zl + 无转载 + <Linux内核分析…
Linux内核分析第二周学习博客 本周,通过实现一个简单的操作系统内核,我大致了解了操作系统运行的过程. 实验主要步骤如下: 代码分析: void my_process(void) { int i = 0; while(1) { i++; if(i%10000000 == 0) { printk(KERN_NOTICE "this is process %d -\n",my_current_task->pid); if(my_need_sched == 1) { my_need_…
Linux内核分析第四周学习总结--系统调用的工作机制 内核态 执行级别高,可以执行特权指令,访问任意物理地址,在intel X86 CPU的权限分级为0级. 用户态 执行级别低,只能访问0x00000000-0xbfffffff之间的逻辑地址,权限分级为3级. 区分与切换 CS:eip(代码段选择寄存器/偏移量寄存器)中,CS寄存器最低两位表示特权级.状态通过中断来切换,包括硬件中断和系统调用两种方式. 寄存器上下文 从用户态切换到内核态时,int指令会保存用户态的寄存器上下文到内核堆栈中,同…