uClinux 与 ARMlinux 全方位的优劣比较! 包括内核、C库、编译器、文件系统等方面!
| uClinux | ARMlinux | 内核 | 精简的内核,很小;但移植驱动相对困难 | 标准的Linux内核,体积较大;但易于移植驱动程序 | C库 | uClibc,精简但软件移植相对困难 | glibc,体积较大,但软件移植容易 | 编译器 | gcc cross compiler | gcc cross compiler | 文件系统 | 多用只读的romfs,耗用空间小 | 多用可读写的ramdisk(ext2) | 物理地址访问 | 应用程序和内核驱动都可以,可方便地在用户层进行外设硬件测试,需要承担系统稳定的风险 | 只有bootloader阶段可以,如在内核下则需要编写驱动程序,系统更稳定 | IPC(进程间通信) | 支持 | 支持 | Thread(线程) | 支持 | 支持 | modules加载 | 支持,但多用静态链接 | 支持 | 程序链接方式 | 默认动态,极少用动态链接 | 默认动态 | 栈内存管理 | 用户需要预估自己代码对STACK的耗用来告知编译器调整STACK容量,用户需对系统稳定性负责,承担风险 | 用户无需参与 | 可执行文件格式 | FLAT,耗用空间小 | ELF |
|
本文引用通告地址:http://patton.spaces.eepw.com.cn/articles/trackback/item/29125