Virtualization microkernel supports ARMv6
Nov 30, 2007 — by Eric Brown — from the LinuxDevices Archive — 7 viewsOK Labs says its microkernel for processor virtualization is now ready to support the ARMv6 architecture. The company hopes that as a result, mobile phone designers using ARM11-based processors will tap its OKL4 microkernel to add security features such as DRM, or to enable single-core architectures.
(Click for larger view of OK's microkernel diagram)
OK Labs competitor Trango, meanwhile, announced similar capabilities in June.
OKL4 says its port of OKL4 to ARMv6 supports MMU (memory management unit) and cache architectures. The company claims that OKL4 can perform fast context switching between virtualized processes by using the ARMv6 address space identifier (ASID) feature.
The OKL4 architecture
In contrast to Linux, which is a macrokernel OS, OKL4 is considered to be a microkernel OS. That means it runs only the bare essentials in kernel mode, with the rest relegated to user mode. This increases security, the company contends, albeit at the expense of some performance overhead, macrokernel OS fans might argue.
OKL4 offers a minimalistic native execution environment said to provide an extremely small “trusted security base” for services that would be impossible or impractical to implement outside the kernel. Crypto services, for example, can be designed to use less than 20,000 lines of system code, thereby helping to improve performance and reduce opportunities for security threats, the company claims. Graphical native OKL4 applications are even possible, thanks to lightweight graphics stack called Fluffy Spider FancyPants.
Besides providing a tiny native execution environment, the OKL4 can run other operating system “personalities” entirely in user space. This is said to decrease the security risk associated with running “open” OSes like Linux, among other benefits. The personalities run on a minimal hardware abstraction layer (HAL), which in addition to Linux, supports various RTOSes, with others portable to the environment with support from OK Labs, it says.
Running each OS personality in a separate user space partition is said to enable license segregation and protection, as well as protection from software faults. In other words, an OS crash in userspace may not crash the whole system. For example, a mobile phone could still place a call if the OS crashed while editing a photo or the like. The possibility of lost phone charge revenues due to application processor instability has reportedly kept some U.S. carriers from adopting complex OSes such as Linux more quickly.
Yet another touted benefit is that the OS segregation enabled by virtualization could enable GPL-licensed software to co-exist with closed software, such as software-defined radio basebands, on the same processor.
ARMv6 is the ISA (instruction set architecture) with which ARM builds ARM11-family cores, such as the ARM1136J(F)-S, ARM1156T2(F)-S, and ARM1176JZ(F)-S, among others. Compared to earlier ISAs, v6 offers memory system enhancements, improved exception handling, and better support for multiprocessing environments, ARM said. Other touted improvements include multimedia instructions with Single Instruction Multiple Data (SIMD) execution, and optimizations for various audio-visual codecs.
ARM11 cores are popular in a variety of SoCs aimed at mobile phones, including TI's OMAP2xxx, Marvell's PXA3xx, and Freescale's i.MX3x processors.
Toshiba W47T (Click for details) |
OK launched in April as a spin-off of NICTA (National Information/Communication Technology, Australia), an Australian government-sponsored think tank. NICTA previously supplied an “L4” microkernel to phone chip giant Qualcomm, and Qualcomm customer Toshiba reported used the stack in its W47T phone (pictured at right).
Availability
The OKL4 microkernel is available now, says OK, and can be downloaded here along with the company's OK Linux distribution, under either an open source or commercial use license. In addition to ARMv6, it is said to be available under either a commercial or an open source license for the ARM v4/v5 architectures used in ARM9 and legacy XScale cores, with releases planned soon for x86 (32- and 64-bit versions), MIPS32, and MIPS64.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.