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.
原帖由 enjoyo 于 2006-12-21 12:57 发表
gvim 老兄,非常感谢你的回答,很是受教
能不能请你把NetBSD系统的体系结构给兄弟们一下呀
谢谢兄台
这是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
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |