`
hongbochen1223
  • 浏览: 43985 次
文章分类
社区版块
存档分类
最新评论

绪论

 
阅读更多

一:内核主流应用模式:嵌入式开发
1:整体层面的使用:内核裁剪,编译,bootloader等提供定制化功能,把一些内核模块移植到工作内核。嵌入式BSP的维护和功能开发。
2:驱动程序编写

注:BootLoader是嵌入式系统在加电之后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序加载到内存中,然后跳转到操作系统所在的空间,启动操作系统运行。因为大多数嵌入式系统没有像BIOS的启动程序,所以整个系统的加载启动任务完全由Bootloader完成。

二:嵌入式系统从软件的角度通常可以分为4各层次
1:引导加载程序:包括固化在固件中的boot代码和bootloader两大部分
2:linux内核:特定于嵌入式板子的定制内核以及内核的启动参数
3:文件系统:包括根文件系统和建立在flash内存设备上的文件系统。通常用ramdisk来作为rootfs
4:用户应用程序

三:内核主流的应用模式
1:文件系统(GPFS,LUSTRE等)
2:云计算和虚拟化
云计算离不开虚拟化,云计算是以资源化的使用计算和存储能力。云计算的开源软件有openstack,橡树等
虚拟化有xen,kvm等

四:如何学习内核
1:以应用为目的的学习内核,边学边用,学以致用
2: 以培养内核的阅读能力为主要目标
3:阅读和修改代码,而非阅读书籍
4:内核不断更新,策略和方法不断变化,需要我们不断的去学习

五:内核层次划分
1:内核基础层:内核中提供基础服务的部分,包括数据结构,内核同步机制,内存管理和任务调度等
2:内核应用层:建立在基础之上,提供应用服务的部分,如文件系统,设备和驱动,网络等

六:应用层的学习方法
1:文件系统是应用层的基础和灵魂
2:以文件系统入手,逐步扩展
3:以架构为核心,举一反三
4:设备和驱动不易烂具体设备,以通用为主

七:基础层的学习方式
1:以API接口的学习为主要内容,不细究实现
2:日后加强基础层的研读

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics