linux内核分析 第六周读书笔记】的更多相关文章

第三章 进程管理 3.1 进程 进程:处于执行期的程序 线程是在进程活动中的对象:内核调度的对象是线程而不是进程,在Linux系统中,并不区分线程和进程 在现代操作系统中, 进程提供两种虚拟机制:虚拟内存器和虚拟内存. 进程在创建它的时刻开始存活,这通常是调用fork系统的结果.该系统调用通过复制一个现有进程来创建一个全新的进程.fork系统调用从内核返回两次,一次到父进程,另一次回到新产生的子进程. 通常,创建新的进程都是为了立即执行新的不同的程序,而接着调用exec()这组函数就可以创建新的…
Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 进程的两种虚拟机制:虚拟处理器,虚拟内存 任务队列:链表每一项都是进程描述符结构. 进程描述符描述内容:打开的文件,进程地址空间,挂起信号,进程状态 Linux通过slab分配器分配task_struct结构,达到对象复用和缓存着色. 进程标识值:内核通过唯一的PID来标识每个进…
LINUX内核分析第六周学习总结 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一.进程的描述 1.操作系统三大功能 进程管理 内存管理 文件系统 最核心的是进程管理 2.进程的作用 将信号.进程间通信.内存管理和文件系统联系起来 3.进程控制块PCB--task_struct 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符…
第六周 进程的描述和进程的创建 一.进程描述符task_struct数据结构 1.操作系统三大功能 进程管理 内存管理 文件系统 2.进程控制块PCB——task_struct 也叫进程描述符,为了管理进程,内核需要对每个进程进行描述,它就提供了内核所需了解的进程信息. struct task_struct数据结构很庞大,1235行~1644行 3.Linux进程状态 Linux进程的状态与操作系统原理中的描述的进程状态有所不同 操作系统状态: 就绪态 运行态 阻塞态 linux进程状态: 4.…
进程的描述和进程的创建 前言:以下笔记除了一些讲解视频中的概念记录,图示.图示中的补充文字.总结.分析.小结部分均是个人理解.如有错误观点,请多指教! PS.实验操作会在提交到MOOC网站的博客中写.…
第四章 进程调度 4.1 多任务 1.多任务操作系统就是能同时并发的交互执行多个进程的操作系统. 2.多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于可运行状态. 3.多任务系统分类: (1)非抢占式多任务 (2)抢占式多任务 4.Linux提供了抢占式的多任务模式.在此模式下,由调度程序来决定什么时候停止一个进程的运行,以便其他进程能够得到执行机会.这个强制的挂起动作叫做抢占.进程被抢占之前能够运行的时间是预先设置好的,叫进程的时间片.时间片实…
第七章 链接 1.链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载到存储器并执行. 2.链接可以执行于编译时,加载时,运行时. 7.1编译器驱动程序 1.大多数编译系统提供编译驱动程序,它代表用户在需要时调用语言预处理器.编译器.汇编器和链接器. 7.2 静态链接 1.像Unix ld程序这样的静态链接器以一组可重定位目标文件和命令行参数作为输入,生成一个完全链接的可以加载运行的可执行目标文件作为输出. 2.输入的可重定位目标文件由各种不同的代码和数据节组成. 为…
第18章 调试 内核调试的难度大于用户级 一.准备开始 开始之前需要的是: 一个行为可靠且定义明确的bug 一个隐匿bug的内核版本 相关内核代码的知识和运气 想要成功的调试,取决于能不能将这些bug重现. 二.内核中的bug 产生:错误代码,同步错误,错误的管理硬件 症状:降低所有程序的运行性能,毁坏数据,系统死锁 三.通过打印来调试 1.健壮性 printk()函数在任何时候任何地方都能调用 2.日志等级 printfk()和printf()相比,可以指定一个日志级别,内核根据这个级别判断是…
LINUX内核分析第六周学习总结——进程的描述和进程的创建 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 进程的描述 进程描述符task_struct数据结构(一) 进程描述符task_struct数据结构(二) 进程的创建 进程的创建概览及fork一个进程的用户态代码 理解进程创建过程复杂代码的方法 浏览进程创建过程相关的关键代码 创建的新进程是从哪里开始执行的…
Linux内核分析第四章 读书笔记 第一部分--进程调度 进程调度:操作系统规定下的进程选取模式 面临问题:多任务选择问题 多任务操作系统就是能同时并发地交互执行多个进程的操作系统,在单处理器机器上这会产生多个进程在同时运行的幻觉,在多处理器机器上,这会使多个进程在不同的处理机上真正同时.并行地运行.无论在单处理器或者多处理器机器上,多任务操作系统都能使多个进程处于堵塞或者睡眠状态,也就是说,实际上不被投入执行,直到工作确实就绪. 多任务系统可以划分为两类:非抢占式多任务和抢占式多任务.Linu…