摘要:
第三章 进程管理 3.1 进程 进程的定义: 线程的定义: 每个线程都拥有一个独立的程序计数器、进程栈和一组进程寄存器。 内核调度的对象是线程,而不是进程。 3.2 进程描述符及任务结构 进程描述符的结构:task_struct,定义在中,包含一个具体进程的所有信息。 task_struct 就是指 阅读全文
摘要:
赵瀚青原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 概述 这周主要讲解的是进程。首先老师就讲解了PCB进程结构块的数据结构,PCB进程控制块的代码包含了很多信息,最开始就是进程的状态信息 ,然 阅读全文
摘要:
概述:调试工作艰难是内核级开发区别于用户级开发的一个显著特点 18.1准备开始 内核调试往往是一个令人挠头不已的漫长过程。幸运的是,在这些费劲的问题中也有不少比较简单而且容易消灭的小bug,运气好你可能面对的是些简单的小bug。 18.2 内核中的bug 内核中的bug多种多样,它们的产生可以有无数 阅读全文
摘要:
赵瀚青原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 概述 按照刘老师的周从三个角度讲述这个星期的学习内容。第一个角度知道自己在干什么,这周主要内容就是在menu菜单中添加两个自己的功能,也就是 阅读全文
摘要:
第五章——系统调用 5.1 与内核通信 作用 1.为用户空间提供一种硬件的抽象接口 2.保证系统稳定和安全 3.除异常和陷入,是内核唯一的合法入口。 API、POSIX和C库 5.3 系统调用 5.3.1系统调用号 当用户空间的进程执行一个系统调用,就用系统调用号指明到底执行哪个系统调用。 sys_ 阅读全文
摘要:
赵瀚青原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 概述 本周的内容主要是讲解系统调用中的一些步骤,主要有三步,而主要是采用中断机制,也是老师讲解的重点,而实验的内容则是用汇编代码代替一下系统 阅读全文
摘要:
第二章—从内核出发 获取内核代码 使用git 获取最新提交到版本树的一个副本 $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux 2.6.git 安装内核源代码 压缩形式为bzip2运行:$ tar xvj 阅读全文
摘要:
第一章 Linux内核简介 Unix的历史 依旧被认为是最强大和最优秀的系统 由一个失败的操作系统Multics中产生 被移植到PDP 11型机中 由其他组织进一步开发 重写了虚拟内存系统,最终官方版本诞生 Linux简介 是一个非商业化产品 LINUS是LINUX之父 LINUX内核也是公开软件 阅读全文
摘要:
赵瀚青原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 概述 本周是学习的主要是构造简单的LINUX系统,因为涉及到的是LINUX内核相关的知识,所以在理解上有一点困难,视频看了几遍加上老师的讲解 阅读全文
摘要:
赵瀚青原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 一、计算机的三个法宝 存储程序计算机 函数调用堆栈 中断机制 二、堆栈 1、堆栈的空间分配 栈:由操作系统自动分配释放 ,存放函数的参数值, 阅读全文