摘要: 编译生成新内核 一、实践原理 Linux模块是一些可以作为独立程序来编译的函数和数据类型的集合。之所以提供模块机制,是因为Linux本身是一个单内核。单内核由于所有内容都集成在一起,效率很高,但可扩展性和可维护性相对较差,模块机制可弥补这一缺陷。 Linux模块可以通过静态或动态的方法加载到内核空间 阅读全文
posted @ 2016-05-26 15:21 刘世鹏 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 计算机是如何工作的http://www.cnblogs.com/L20135304/p/5215409.html 操作系统是如何工作的http://www.cnblogs.com/L20135304/p/5246820.html 构建一个简单的Linux系统 MenuOs http://www.cn 阅读全文
posted @ 2016-04-30 10:40 刘世鹏 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 作者:刘世鹏20135304 原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 课本内容 什么是进程调度 进程调度:在可运行态进程之间分配有限处理器时间资源的内核子系统。 一、调度策略 4.1进程 阅读全文
posted @ 2016-04-17 21:11 刘世鹏 阅读(1616) 评论(0) 推荐(0) 编辑
摘要: 可执行程序的装载 作者:20135304刘世鹏 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、预处理、编译、链接和目的文件的格式 1、1可执行程序是怎么得来的 C代码经过编译器的预处理编译、编译成汇编代码、编译 阅读全文
posted @ 2016-04-10 21:55 刘世鹏 阅读(2737) 评论(0) 推荐(0) 编辑
摘要: 进程的描述和进程的创建 作者:刘世鹏20135304 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、进程的描述 1、1进程描述符task_struck数据结构(一) (1)操作系统的三大功能:进程管理、内存管理 阅读全文
posted @ 2016-04-03 20:28 刘世鹏 阅读(893) 评论(0) 推荐(0) 编辑
摘要: 第18章 调试 调试工作艰难是内核级开发区别于用户级开发的一个显著特点,相比于用户级开发,内核调试的难度确实要艰苦得多。更可怕的是,它带来的风险比用户级别更高,内核的一个错误往往立刻就能让系统崩溃。 驾驭内核调试的能力(当然,最终是为了能够成功地开发内核)很大程度上取决于经验和对整个操作系统的把握。 阅读全文
posted @ 2016-03-31 12:34 刘世鹏 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 作者:刘世鹏20135304 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、给MenuOS增加time和time-asm命令 1. 通过内核的方式(跟踪调试系统调用)来理解并使用系统调用。 2. 将上周选择的系 阅读全文
posted @ 2016-03-27 21:20 刘世鹏 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 系统调用在用户空间进程和硬件设备之间添加了一个中间层,该层主要作用有三个: 在Linux中,系统调用是用户空间访问。内核的唯一手段;除异常和陷入外,它们是内核唯一的合法入口。本章重点强调Linux系统调用的规则和实现方法。 首先,注意函数声明中的asmlinkage限定词,这是一个编译指令,通知编译 阅读全文
posted @ 2016-03-24 10:10 刘世鹏 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 作者:刘世鹏20135304 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Intel x86 CPU有四种不同的执行级别0~3,Linux只用其中的0和3来表示内核态和用户态 区分内核态和用户态:CPU每条指令的 阅读全文
posted @ 2016-03-20 21:36 刘世鹏 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 内核源码三个个重要目录 README   构造一个简单的Linux 系统 MenuOs   内核启动 → 加载根文件系统(可执行文件init被启动了) 使用GDB跟踪调 阅读全文
posted @ 2016-03-13 17:08 刘世鹏 阅读(1075) 评论(2) 推荐(0) 编辑