摘要: 1 阅读全文
posted @ 2016-06-13 15:44 爱吃鸡翅膀 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 实验目的 1、 理解模块原理 2、 编写模块代码 3、 编译模块 4、 加载模块 5、 测试模块 6、 卸载模块 实验步骤 1、实验原理 Linux模块是一些可以作为独立程序来编译的函数和数据类型的集合。之所以提供模块机制,是因为Linux本身是一个单内核。单内核由于所有内容都集成在一起,效率很高, 阅读全文
posted @ 2016-06-13 12:38 爱吃鸡翅膀 阅读(266) 评论(0) 推荐(0) 编辑
摘要: blog链接: 计算机是如何工作的 操作系统是如何工作的 构造一个简单的linux系统MenuOS 系统调用的工作机制(上) 系统调用的工作机制(下) 进程的描述与创建 可执行程序的装载 进程的切换与系统的一般执行过程 学习总结: 收获: 通过这门课程,我系统性地、深入地学习了操作系统内核的相关结构 阅读全文
posted @ 2016-05-01 23:02 爱吃鸡翅膀 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 进程的调度时机与进程的切换 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已。 对于理解操作系统的工作机制,反而是进程的调度时机与进程的切换机制更为关键。 进程调度的时机 中断处理过程(包括时钟中断、I/O中断、系统调用和 阅读全文
posted @ 2016-04-17 19:05 爱吃鸡翅膀 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一、得到一个可执行程序 1. 预处理、编译、链接 gcc hello.c -o hello.exegcc编译源代码生成最终可执行的二进制程序,GCC后台隐含执行了四个阶段步骤。预处理 => 编译 => 汇编 => 链接预处理:编译器将C源代码中包含的头文件编译进来和执行宏替换等工作。gcc -E h 阅读全文
posted @ 2016-04-10 15:53 爱吃鸡翅膀 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 进程控制块pcb——task_struct 操作系统三大功能: 进程管理(核心) 内存管理 文件系统 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息: 进程状态 进程打开的文件 进程优先级信息 进程状态切换图 需要注意的是进程的运行态和就绪态使用同种名称,区别 阅读全文
posted @ 2016-04-03 12:42 爱吃鸡翅膀 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 给MenuOS增加time和time-asm命令 中间过程已省略了,我们所做的只是将menu更新 具体命令如下 rm menu -rf 强制删除 git clone http://github.com/mengning/menu.git 克隆相关信息 cd menu make rootfs 使用gd 阅读全文
posted @ 2016-03-27 16:45 爱吃鸡翅膀 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 学习内容:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 一、用户态、内核态 权限分级——为了系统本身更稳定,使系统不宜崩溃。(并不是所有程序员缩写的代码都很健壮!!) x86 CPU四种不同的执行级别:0(内核态)—3(用户态) 区分方法:CS:EIP(CPU的每条指令都是通过这 阅读全文
posted @ 2016-03-20 16:47 爱吃鸡翅膀 阅读(165) 评论(0) 推荐(0) 编辑
摘要: arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。 include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目 阅读全文
posted @ 2016-03-13 11:54 爱吃鸡翅膀 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 第一讲 函数调用堆栈 计算机是如何工作的? (总结)——三个法宝 1,存储程序计算机工作模型,计算机系统最最基础性的逻辑结构; 2,函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能; enter p 阅读全文
posted @ 2016-03-06 19:01 爱吃鸡翅膀 阅读(264) 评论(0) 推荐(0) 编辑