第一课 内核简介

        uClinux是基于linux内核的一个新内核,主要用于嵌入式市场上没有MMU的CPU。由于uClinux没有MMU,所以在内存管理方面与linux存在很大差异,它将不支持虚拟内存技术,也没有内存保护,运行时只能直接访问物理内存。uClinux采用物理存储器管理策略,对物理内存的管理仍采用分页管理方式(页一般为4KB),加载应用程序时采用分页加载的方式。

        由于uClinux没有内存保护,所以任何一个无特权的进程调用一个无效指针都会触发一个地址错误,可能导致整个系统的挂起甚至崩溃。所以在编写代码时需要特别小心。

        没有虚拟内存使得linux下所有标准的可执行文件格式在uClinux下都不被支持,uClinux使用PIC(位置无关)或ELF(固定基准地址)方法来解决这个问题。另外没有虚拟内存使得内存的分配和释放策略也与linux不同;应用程序可分配内存空间都不应大于实际物理内存。最后由于缺乏内存管理的硬件单元,uClinux的一些系统调用也需要做些改变,也没有实现可自动生长的堆栈,最大的不同就是没有fork和brk系统调用。

 

 

PS:内存分配和释放处还没看明白。

        支持可执行文件格式好像ELF使用较多,是否支持bin格式?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值