和菜鸟一起学linux内核源码之基础准备篇(5页).doc
《和菜鸟一起学linux内核源码之基础准备篇(5页).doc》由会员分享,可在线阅读,更多相关《和菜鸟一起学linux内核源码之基础准备篇(5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-和菜鸟一起学linux内核源码之基础准备篇-第 5 页 断断续续地看着内核源码,发现很多知识点都不是很明白,特别是对于操作系统的一些基础。虽然看到了块设备了,但是发现也总结不出什么了,这篇好像好久前更新的,一直没有发表。最近还是比较忙碌,同事走了好多人,也有考虑过别的公司。但是正式工作未满1年,也不能随随便便地就离开。虽然很忙,但是还是学了很多东西。渐渐地接触了linux应用层。发现应用和驱动还是有很多区别的,各种需求,各种接口,各种设计,各种实现。嗯,慢慢来总会学好的。对于内核,慢慢看,看一遍不懂,那就第二遍,第三遍。相信总会看懂的。Fighting。 初始化init下只有一个main函数
2、。 首先利用setup.s程序取得的程序参数设置系统的根文件设备号以及一些内存全局变量。这些内存变量指明了主内存的开始地址、系统所拥有的内存变量和作为高速缓冲区内存的末端地址。如果还定义了虚拟盘(RAMDISK), 则主内存将适当减少。 然后,内核进行所有方面的硬件初始化工作。包括陷阱门、块设备、字符设备和tty包括人工创建第一个任务(task 0)。待所有初始化工作完成就设置中断允许标志,开启中断。 在整个内核完成初始化后,内核将执行权切换到了用户模块,也即CPU从0特权级切换到了第3特权级。然后系统第一次调用创建进程函数fork(),创建出一个用于运行init()的子进程。 在该进程中系统
3、将运行控制台程序。如果控制台环境建立成功,则再生成一个子进程,用于运行shell程序/bin/sh。若该子进程退出,父进程返回,则父进程进入一个死循环内,继续生成子进程,并在此子进程中再次执行shell程序/bin/sh,而父进程则继续等待。 对于linux来说,所有任务都是在用户模式执行的,包括很多系统应用程序,如shell程序、网络子系统程序等关于linux内核体系结构 说到操作系统,我们都会知道windows操作系统,linux操作系统,苹果的操作系统,以前很火的塞班操作系统,还有最近消费类电子很火的操作系统。一个完整的操作系统分为4个部分。 可以把这个理解为我们用的手机。其中的硬件系统
4、就是我们看到的整个手机了,cpu啊,内存啊,这些不拆开来看不到的,和触摸屏啊,按键之类看以看到的。操作系统内核就是我们说的android了,不过他包括了linux的内核了。操作系统服务就是android的一套结构了,给我们直观的就是那个有点炫的界面了。我们可以通过点击来实现我们想要的功能。用户应用就是我们常玩的QQ啊,导航啊,当然少不了各种好玩的游戏了,愤怒的小鸟,涂鸦跳,水果忍者,是不是又想玩一把?唉,还是好好学习吧,虽然手机就在旁边。对于linux内核的单内核模式的系统,有可以把他分为如下: Linux内核又可分为5个大的模块。其关系和主要功能可以见下图:关于linux内存物理内存可以分为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 菜鸟 一起 linux 内核 源码 基础 准备
限制150内