zx第05讲-内核初始化

zx第05讲-内核初始化

ID:34385275

大小:3.43 MB

页数:17页

时间:2019-03-05

zx第05讲-内核初始化_第1页
zx第05讲-内核初始化_第2页
zx第05讲-内核初始化_第3页
zx第05讲-内核初始化_第4页
zx第05讲-内核初始化_第5页
资源描述:

《zx第05讲-内核初始化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式操作系统2013秋内核初始化•合成内核映像:piggy及其他•初始化控制流•内核命令行处理•子系统初始化•init线程嵌入式操作系统黑新宏,heixinhong@xaut.edu.cn探讨Linux内核的初始化过程,研究其机制和处理过程西安理工大学计算机学院206室张翔,https://www.facebook.com/xautofzx西安理工大学计算机学院206室合成内核映像:Piggy及其他2关于Linux–内核结构•系统加电后,嵌入式系统的引导装入程序首先取得对处理器的控制权内核结构总体介绍•引导程序执行一些基本的硬件初始化内核源码•控制权转交给Lin

2、ux内核内核开发西安理工大学计算机学院-黑新宏/张翔1嵌入式操作系统2013秋应用程序、内核与硬件的关系2.1内核介绍应用程序1应用程序2应用程序3用户操作系统是指在整个计算机系统中负责完空间成最基本功能和系统管理的部分,应包括:内核系统调用接口内核设备驱动程序空间启动引导程序内核子程序命令行Shell或其他用户界面设备驱动程序基本的文件管理工具和系统工具硬件处理器的运行状态……应用软件应用软件用户状态处理器在任何指时间点上的活动运行于内核空间,可以大体总结为系统用户状态三种情况处于进程上下文调用或内核状态(代表某个特定的进程执行)模进程间通信网络内运行

3、于内核空间,块进程管理内存管理核内核状态处于中断上下文,运行于用户空间,文件系统执行用户进程与任何进程无关,(处理某个特定的中断)硬件西安理工大学计算机学院-黑新宏/张翔2嵌入式操作系统2013秋Linux内核与传统Unix内核的比较Linux内核与传统Unix内核的比较——单内核与微内核——Linux的改进•单内核就是整体上被作为一个单独的大过程实现,并同时•支持动态加载内核模块运行在一个单独的地址空间。它具有简单高性能的特点,•支持对称多处理机制(SMP)被大多数Unix系统所采用。•内核可以抢占•相反,微内核的功能被划分为独立的过程,每个过程为一•内核不区分

4、线程和其他进程个服务器,各种服务器之间通过进程间通信(IPC)机制•提供具有设备类的面向对象设备模型,热插拔事件以及用互通消息,这避免了服务器之间的失效传递,Windows户空间的设备文件系统NT和MacOSX采用微内核。•Linux是一个单内核,但同时采用模块化设计,支持抢占式内核线程以及动态装载内核模块的能力。而且,Linux让所有任务都运行在内核态,直接调用函数,无须消息传递,避免了IPC机制的开销。内核源码-获取源码内核源码-获取源码•在Linux内核官方网站:http://www.kernel.org随时获取当若是BZIP2格式,输入如下命令解压缩:前L

5、inux内核的源代码,可以是完整的压缩形式,也可以$tarxvjflinux-x.y.z.tar.bz2是增量补丁形式•内核压缩以GNUZIP(GZIP)和BZIP2两种格式发布,下载后可以对其解压。若是BZIP2格式若是GNUzip格式,运行如下命令解压缩:$tarxvzflinux-x.y.z.tar.gz西安理工大学计算机学院-黑新宏/张翔3嵌入式操作系统2013秋根目录及其描述2.3内核源码-源码树内核源码-编译内核arch特定体系结构的源码cryptoCryptoAPI(内核本身所用的加密API)documentation内核源码文档编译内核之前,需要进

6、行配置和定制。可配置的各drivers设备驱动文件种选项以CONFIG_。。。的形式出现。选项可以二fsVFS和各种文件系统选一或三选一。include内核头文件init内核引导和初始化$makeconfig$makegconfigipc进程间通信代码kernel核心子系统(如调度程序)$makemenuconfig$makedefconfig配置lib通用内核函数mm内核管理子系统和VM$makexconfig$makeoldconfignet网络子系统scripts编译内核所用的脚本securityLinux安全模块$make开始编译sound语音子系统usr

7、早期用户空间代码2.3内核开发的主要特点2.3.1没有LIBC库•内核编程时不能访问C库•标准C库太大,在内核中全部实现不现实•必须使用GNUC•缺乏像用户空间编程那样的内存保护机制•大部分常用的C库函数在内核中也已得到实现,但要通过•很难使用浮点数包含头文件•内核只有一个很小的定长堆栈•由于内核支持异步终端、抢占和SMP,因此必须时刻注意•Printf函数虽然没有实现,但可以调用Printk函数,两者同步和并发功能和用法基本一致•须考虑可移植性西安理工大学计算机学院-黑新宏/张翔4嵌入式操作系统2013秋2.3.2GNUC2.3.

8、2GNUC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。