FruityOrange
Aus Lowlevel
| FruityOrange | |
|---|---|
| Datei:FruityOrangeLogo.png | |
| Entwickler: | Micha |
| Akt. Version: | 0.07 |
| Lizenz: | GNU General Public License |
| OS-Eigenschaften | |
| Plattform: | i386 |
| Kernelart: | Monolithisch |
| Sprache: | C (Assembler) |
| API: | nativ |
| Binärformat: | ELF |
| IPC-Methode: | --- |
| Homepage | |
https://code.google.com/p/fruityorange/ https://sourceforge.net/projects/fruityorange/ | |
FruityOrange ist ein Betriebssystem für den i386, welches GRUB als Bootloader benutzt.
Ein fertiges Images gibts hier: [1] (googlecode)
oder hier: [2] (sourceforge)
Inhaltsverzeichnis
Features
- Higherhalf-Kernel
- printf, panic, debug
- GDT, Interrupts, Dynamisches Syscall-interface
- Physische Speicherverwaltung, Paging, Heap
- Multitasking, ELF32-loader
- VFS, Initiale Ramdisk
Treiber
Programme
- Concha - eine ganz kleine Shell
- utils: ls, cat, cp
Screenshot
Die shell "concha"
Der Text-Editor "tractius"
Syscalls
Die Syscalls werden über den Interrupt 0x30 aufgerufen. [3]
| Nummer (in %eax) | Name |
|---|---|
| 0 | exit |
| 1 | putc |
| 2 | puts |
| 3 | getch |
| 4 | gets |
| 5 | time |
| 6 | usleep |
| 7 | alloc |
| 8 | free |
| 9 | open |
| Nummer (in %eax) | Name |
|---|---|
| 10 | close |
| 11 | read |
| 12 | write |
| 13 | seek |
| 14 | chdir |
| 15 | getcwd |
| 16 | fork |
| 17 | waitpid |
| 18 | exec |
| 19 | readdir |
| Nummer (in %eax) | Name |
|---|---|
| 20 | exec_extern |
| 21 | fstat |