Linux内核装载和启动一个可执行程序的过程探究

摘要: 本周学习了孟宁老师《Linux内核分析》Linux内核如何装载和启动一个可执行程序这一章的内容,为了巩固所学,现在做实验并把实验过程记录如下:首先来看看代码的编译和链接的过程,我们编写好一段代码(hello.c):#include int main(){ printf("Hello World... 阅读全文
posted @ 2015-04-20 22:35 lingzshen 阅读(232) 评论(0) 推荐(0) 编辑

从库函数fork()起步,探究新进程的诞生

摘要: 本周在线学习了孟宁老师的《Linux内核分析》,本周的主要内容是进程的描述和创建,针对本次课程的实验现记录于本博文。我们学习过操作系统这么课程,知道PCB是进程在内核中的唯一标识,PCB结构中包括本进程的全部信息。具体到Linux操作系统,这个PCB结构就是Linux内核中的task_struct结... 阅读全文
posted @ 2015-04-12 19:52 lingzshen 阅读(599) 评论(0) 推荐(0) 编辑

从内核看系统调用

摘要: 本周学习了孟宁老师的《Linux内核分析》,按照课程要求,做实验如下:首先使用gdb跟踪一个系统调用,我们选择上周实验所写的代码,修改这两段代码成两个系统调用,放入根文件系统中,作为本次实验将要观察的系统调用。修改代码如下:1) c实现的系统调用int mkdir_c(int argc, char ... 阅读全文
posted @ 2015-04-05 19:05 lingzshen 阅读(967) 评论(0) 推荐(0) 编辑

从一个简单的时间片轮转多道程序内核代码看操作系统如何运行

摘要: 上了网易云课堂MOOC的《Linux内核代码分析》这门课,学到了很多知识,现在做博文记录第二次试验。试验要求:完成一个简单的时间片轮转多道程序内核代码,需要仔细分析进程的启动和进程的切换机制,总结部分需要阐明自己对“操作系统是如何工作的”理解。本次试验使用的工具是QEMU。QEMU是一套由Fabri... 阅读全文
posted @ 2015-03-15 20:43 lingzshen 阅读(348) 评论(0) 推荐(0) 编辑

通过反汇编程序观察计算机执行过程

摘要: 在线学习了Mooc的《计算机内核分析》课程,为了探究计算机运行过程,现做博文记录实验过程。首先打开虚拟机中的linux环境,输入C语言代码:int g(int x){ return x + 3;}int f(int x){ return g(x);}int main(void){ return... 阅读全文
posted @ 2015-03-08 13:48 lingzshen 阅读(131) 评论(0) 推荐(0) 编辑

通过反汇编代码探究计算机运行过程

摘要: 在线学习了Mooc的《计算机内核分析》课程,为了探究计算机运行过程,现做博文记录实验过程。首先打开虚拟机中的linux环境,输入C语言代码:int g(int x){ return x + 3;}int f(int x){ return g(x);}int main(void){ return... 阅读全文
posted @ 2015-03-08 12:44 lingzshen 阅读(152) 评论(0) 推荐(0) 编辑

通过反汇编程序观察计算机执行过程

摘要: 在线学习了Mooc的《计算机内核分析》课程,为了探究计算机运行过程,现做博文记录实验过程。首先打开虚拟机中的linux环境,输入C语言代码:int g(int x){ return x + 3;}int f(int x){ return g(x);}int main(void){ return... 阅读全文
posted @ 2015-03-08 12:41 lingzshen 阅读(263) 评论(0) 推荐(0) 编辑

通过反汇编代码探究计算机运行过程

摘要: 在线学习了Mooc的《计算机内核分析》课程,为了探究计算机运行过程,现做博文记录实验过程。首先打开虚拟机中的linux环境,输入C语言代码:int g(int x){ return x + 3;}int f(int x){ return g(x);}int main(void){ return... 阅读全文
posted @ 2015-03-08 12:35 lingzshen 阅读(134) 评论(0) 推荐(0) 编辑

解析 Linux 中的 VFS 文件系统机制(根文件系统的由来)

摘要: http://os.51cto.com/art/200803/67283_4.htm◆1. 摘要 本文阐述 Linux 中的文件系统部分,源代码来自基于 IA32 的 2.4.20 内核。总体上说 Linux 下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚拟文件系统 VFS(Vi... 阅读全文
posted @ 2014-06-11 19:15 lingzshen 阅读(489) 评论(0) 推荐(0) 编辑

linux内核之文件系统

摘要: 本文主要是基于百度文库的《Linux2.4.30内核文件系统学习(多图).doc》和360doc的《Linux内核虚拟文件系统》修改而来,当然还参考了其他的一些文档,在此就不一一列出了。本来在看到这些文章后,都没有勇气再写点文件系统方面的东西了,这些文章实在太精彩了。最后还是鼓足勇气决定把整理的资料... 阅读全文
posted @ 2014-06-11 18:18 lingzshen 阅读(238) 评论(0) 推荐(0) 编辑