摘要: 第六周 进程的描述和进程的创建 一、进程描述符task_struct数据结构 1.操作系统三大功能 进程管理 内存管理 文件系统 2.进程控制块PCB——task_struct 也叫进程描述符,为了管理进程,内核需要对每个进程进行描述,它就提供了内核所需了解的进程信息。 struct task_st 阅读全文
posted @ 2016-03-31 00:17 bonjourvivi 阅读(359) 评论(2) 推荐(0) 编辑
摘要: 《Linux内核设计与实现》Chapter 18 读书笔记 一、准备开始 一个bug 一个藏匿bug的内核版本 知道这个bug最早出现在哪个内核版本中。 相关内核代码的知识和运气 知道这个bug最早出现在哪个内核版本中。 想要成功进行调试: 让这些错误重现 抽象出问题 从代码中搜索 二、内核中的bu 阅读全文
posted @ 2016-03-28 22:20 bonjourvivi 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 第五周 扒开系统调用的“三层皮”(下) 一、知识点总结 (一)给MenuOS增加time和time-asm命令 在实验楼中,首先 更新menu代码到最新版 test.c中main函数里,增加MenuConfig() 增加对应的两个函数,Time和TimeAsm函数 make rootfs自动编译脚本 阅读全文
posted @ 2016-03-27 01:11 bonjourvivi 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 在现代操作系统中,内核提供了用户进程与内核进行交互的一组接口,这些接口的作用是: 系统调用在用户空间进程和硬件设备之间添加了一个中间层,作用是: 一般,应用程序通过在用户空间实现的应用编程接口(API)来编程。 API可以在各种不同的操作系统实现,给应用程序提供完全相同的接口,而它们本身在这些系统上 阅读全文
posted @ 2016-03-20 16:38 bonjourvivi 阅读(186) 评论(0) 推荐(0) 编辑
摘要: ①在高级别的状态下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态,可以执行所有指令。 ②在相应的低级别执行状态下,代码的掌控范围会受到限制,只能在对应级别允许的范围内活动。 为什么会有权限级别的划分? 答:当所有程序员写的代码都有特权指令时,系统很容易崩溃,没有访问权限 阅读全文
posted @ 2016-03-17 22:19 bonjourvivi 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 我们曾经在以前的学习中使用过Git方法 可以获取并随时保持与内核官方的代码树一致 如果使用git获取和管理内核源代码,就不需要下载压缩文件,运行git clone命令,git就会下载解压最新的源代码。 内核源代码一般安装在/usr/src/linux目录下,不要将其用于开发。不要以root身份对内核 阅读全文
posted @ 2016-03-15 23:54 bonjourvivi 阅读(323) 评论(0) 推荐(0) 编辑
摘要: Unix从Multics中产生,是一个强大、健壮和稳定的操作系统。 1.很简洁 2.在Unix系统中,所有的东西都当做文件对待。这种抽象使对数据和对设备的操作都是通过一套相同的系统调用借口来进行的:open(),read(),write(),lseek()和close() 3.Unix内核和相关的系 阅读全文
posted @ 2016-03-15 22:08 bonjourvivi 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 第三周 构造一个简单的Linux系统MenuOS 计算机三个法宝: 1、存储程序计算机 2、函数调用堆栈 3、中断 操作系统两把宝剑: 1、中断上下文的切换:保存现场和恢复现场 2、进程上下文的切换 一、阅读Linux内核代码 本周我们要学习如何阅读Linux内核源代码,首先打开Lstest Sta 阅读全文
posted @ 2016-03-07 17:14 bonjourvivi 阅读(358) 评论(2) 推荐(0) 编辑
摘要: 第二周 操作系统是如何工作的 第一节 函数调用堆栈 存储程序计算机:是所有计算机基础的框架 堆栈:计算机中基础的部分,在计算机只有机器语言、汇编语言时,就有了堆栈。堆栈机制是高级语言可以运行的基础。 计算机“三宝”:存储程序计算机、函数调用堆栈和中断机制。 堆栈是C语言程序运行时必须的一个记录调用路 阅读全文
posted @ 2016-03-01 20:14 bonjourvivi 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 第一周 计算机是如何工作的 第一节 存储程序计算机工作模型 1、冯·诺依曼结构模型:冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。 2、CPU可以抽象成一个for循 阅读全文
posted @ 2016-02-22 23:38 bonjourvivi 阅读(486) 评论(3) 推荐(0) 编辑