nucleus
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:A kernel in C++
## Nucleus ##
### C++ kernel ###

Nucleus is the first C++11 kernel.

The main purpose is to make intensive use of the most advance
state-of-the-art C++ features to get the most elegant, flexible and
scalable kernel design. Porting the kernel on a new target should only
be subject to a very few additions.

The design philosophy of nucleus is:
- rely as much as possible on C++ and its standard library.
- make static everything known at compile-time.
- use virtual classes only when polymorphism is needed at run-time;
  use generic programming otherwise.

We strongly believe that rich software designs highly increase
software expressiveness, flexibility and scalability. The STL is the
best illustration of such a design.

To ensure this, nucleus is being developed in parallel on multiple
architectures and platforms to immediately observe the impacts of our
design choices.

Another interest of using C++ for kernel programming is to get the
most out of its beautiful STL. This is why nucleus is composed of two
sub-projects : libk & libkxx - two generic, portable and
kernel-oriented C and C++ libraries needed by the STL or language’s
features.


#### Build instructions ####

```sh
$ ./configure [OPTIONS] && make
```

See `./configure --help` for every configuration details.

#### Testing ####

  * On IA-32 / IBM-PC

```sh
# Use grub or try it with Qemu
$ qemu -kernel nucleus.elf
```

  * On ARM / OMAP & Realview PBX-A9

```sh
$ objcopy -O binary nucleus.elf nucleus.bin

# Try it with Qemu
$ qemu-system-arm -M realview-pbx-a9 -nographic -kernel nucleus.bin
    
# Or build an u-boot image
$ mkimage -A arm -O u-boot -C none -e 0x80000000 -a 0x80000000 -d nucleus.bin uImage
```

--------------
#### Authors ####
* Patrick Samy
* Julio Guerra

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。