Goals/Status of ominOS
- Multitasking
Process Creation
ELF Executable loading (dependent on vfs layer)
- Elf Relocatable image loading
- Process Synchronization (
Mutexs/Semaphores)
- Priority based scheduling
Pre-emptive multitasking
- Signals
- MemoryManagement
Port Doug Leah's Malloc (dlmalloc) for userspace
- VFS Layer
Complete API for underlying filesystems
Mount list
vnode cache
Mounting & Unmounting of filesystems
- Driver Manger/IO Subsystem
Driver registration
IRQ Registration
- DMA Registration
I/O Request layer (Independent of VFS)
- I/O Request Queue
- Disk
- CD-ROM Drive support (ATAPI Devices)
ATA Read/Write Support
Floppy Read/Write Support
- Block Cache system
Disk DMA support
- PCI Bus
PCI Configuration
PCI Bus Layer
- FAT(12/16/32) Filesystem Driver
Read/Write Support
Create Files/Directories
- Long File Name support
- Ext2fs Driver support
Read/Write Support
- Create Files/Directories
- Delete Files/Directories
- Symlinks
- Libc (newlib port)
Basic Syscalls
UNIX Syscalls
- POSIX Syscalls
- Networking
- TCP/IP Stack
Ethernet Layer
ARP Request/Reply
IP Layer
ICMP Layer
- UDP Layer
- TCP Layer
- Socket Libarary Port
- Realtek 8139 NIC Driver
ne2000 NIC Driver (ISA/PCI)
- Misc
- Port of
Binutils/GCC
Port libpng
Port libfreetype
- Port zlib
- Port coreutils
- Bash Shell port
|