码迷,mamicode.com
首页 > 系统相关 > 详细

构造一个简单的Linux内核的MenuOS

时间:2016-03-11 20:26:12      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:

---恢复内容开始---

一、Linux内核源代码简介

arch/x86目录下的代码是我们最重点关注的

fs/文件系统

init/内核启动相关的代码

start_kernel函数相当于C语言的main函数

kernel/Linux内核的核心代码

mm/内存管理代码

 二、构造一个简单的Linux系统

使用实验楼构造的实验截图:

技术分享

自己搭建实验楼的过程:

技术分享  技术分享

   技术分享

三、使用gdb跟踪调试Linux内核的方法

一、使用gdb跟踪调试Linux内核的方法

(1)使用gdb跟踪调试内核,冻结起来

技术分享

 (2)使用水平分割,新创建一个窗口使用gdb

技术分享

 

 技术分享

 

技术分享

 二、简单分析一下Start_Kernel

init_task 即手工创建的PCB,0号进程即最终的Idle进程。

trap_init 初始化中断,设置中断门,系统陷阱门。

init_process Linux系统的第一个用户态进程,根目录下的init程序(作为1号进程)由kernel_init创建。

rest_init 0号进程,一直存在的进程,创建1号进程。

当系统没有进程需要执行时就调度到idle进程。

构造一个简单的Linux内核的MenuOS

标签:

原文地址:http://www.cnblogs.com/gyt0520/p/5266848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!