免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8085 | 回复: 5
打印 上一主题 下一主题

[NetBSD] NetBSD和FreeBSD哪个更适用于嵌入式? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-21 09:59 |只看该作者 |倒序浏览
RT.

当我了解到NetBSD是适应如此多的平台之时,万分高兴,兴奋之余,想到了另外一个问题:

NetBSD能够适应多体系架构平台,是因为NetBSD有一个Modular Portability Layer(MPL),可能类似于Windows的硬件抽象层吧.可能比Windows做的更好一些吧.但是这样就带来了另一个问题,他屏毕了硬件的差异,也就不能利用硬件独特的地方,换句话说,也就不能使硬件特有的功能以提高速度.

相比之下,我更喜欢Linux的方式,为特定的硬件写特定的驱动,他们提供统一的接口.这样在支持多体系结构和执行效率之间做了一个平衡.FreeBSD也应该是这种方式吧?

不太了解,请高人指点.
如果这样比起来,嵌入式平台多样性不假,但嵌入式更重要的是速度,NetBSD能适应吗?

有一个公司,wasabisystem,他们为NetBSD嵌入式提供技术支持,但我的理解上,还是对NetBSD做嵌入式不放心.提心其速度问题.
(wasabisystem : http://www.wasabisystems.com/

论坛徽章:
0
2 [报告]
发表于 2006-12-21 10:04 |只看该作者
留名同问

论坛徽章:
0
3 [报告]
发表于 2006-12-21 11:00 |只看该作者
顶一下

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
4 [报告]
发表于 2006-12-21 12:05 |只看该作者
嵌入式里面最重要的不是运行速度,而是对中断、异常 等的响应速度。
当然,这个速度是有场合之分的,因此嵌入式系统才归类为硬实时和软实时。
虽然运行速度会影响系统的可调度性,但是相比响应速度对系统的影响,这个因素往往权重不大。

诚然,你可以通过很多方式得知这个信息:Linux/FreeBSD 提供部分软实时功能,NetBSD暂时没有提供实时性。这些通用系统都还没能提供硬实时能力。
当前只能在没有实时性要求的场合(或者说要求不高),使用NetBSD。NetBSD社区正在做相关工作。

不过,可以看看NetBSD的优势[from http://en.wikipedia.org/wiki/NetBSD]
This platform independence helps greatly in developing embedded systems, especially starting in NetBSD 1.6, with the entire toolchain of compilers, assemblers, linkers, and other tools fully supporting cross-compiling. The NetBSD cross-compiling framework allows a complete NetBSD system for an architecture to be built from another system of different architecture (usually fastest or with more hardware resources), even of different operating system since the framework supports most POSIX-compliant systems.

NetBSD’s portability is due to its unique Modular Portability Layer (MPL). With the MPL, the driver is completely isolated from the hardware platform, I/O instructions or no I/O instructions, interlocking, retry error recovery, bounce buffers, memory type boundaries, scatter/gather maps in host bridges, even peripherals which use pseudo-DMA to write a buffer RAM with host CPU copy-in and copy-out, all are transparently handled beneath the driver layer. Moreover, several embedded systems using NetBSD have required no additional software development other than toolchain and target rehost.[1]

With Linux, however, device driver code must be reworked for every new architecture. As a consequence, in recent porting efforts by NetBSD and Linux developers, NetBSD has taken as little as 10% of the time to port to new hardware. Engineers ported NetBSD to the SuperH processor core in under six weeks; Linux took three months. NetBSD was ported to the AMD x86-64 architecture (now known as AMD64) in about a month; Linux took six months.

简单来说,
1 NetBSD在提供一个完整操作系统的同时,还提供了一个完整的交叉编译框架,而不是一个单一内核,或者一个单一系统。
2 NetBSD抽象设备相关于设备无关,使得NetBSD的移植和驱动的开发时间,不过是开发Linux平台的10%

另外一个问题,关于硬件特殊性。
NetBSD同样分 MI 和 MD 两部分,为什么不可以利用硬件特殊性?我没有理解你的问题。

你可以找找eCos的资料,它是一款硬实时的开源系统,它的可移植性也依赖于类似MPL的HAL,全称是hardware abstraction layer.

also http://wasabisystems.com/pdfs/Linux_or_BSD.pdf

[ 本帖最后由 gvim 于 2006-12-21 13:05 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-12-21 12:57 |只看该作者
gvim 老兄,非常感谢你的回答,很是受教

能不能请你把NetBSD系统的体系结构给兄弟们一下呀

谢谢兄台

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
6 [报告]
发表于 2006-12-21 13:03 |只看该作者
原帖由 enjoyo 于 2006-12-21 12:57 发表
gvim 老兄,非常感谢你的回答,很是受教

能不能请你把NetBSD系统的体系结构给兄弟们一下呀

谢谢兄台


不用客气

ls /usr/src/sys/arch/*

下面是雨版整理的内容
这是NetBSD3.0的arch目录中的内容:
acorn26 acorn32 algor alpha amd64 amiga amigappc arc arm atari bebox cats cesfic cobalt dreamcast evbarm evbmips evbppc evbsh3 evbsh5 hp300 hp700 hpc hpcarm hpcmips hpcsh hppa i386 ibmnws iyonix luna68k m68k mac68k macppc mips mipsco mmeye mvme68k mvmeppc netwinder news68k newsmips next68k ofppc openblocks405 pc532 pdp10 playstation2 pmax pmppc powerpc prep sandpoint sbmips sgimips sh3 sh5 shark sparc sparc64 sun2 sun3 sun68k vax x68k x86 xen
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP