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