User:Ahferroin7
Jump to navigation
Jump to search
I will try to update this frequently; for more information, please contact (ahferroin7 AT gmail DOT com)
Note: As Ophiophagus is pre-pre-alpha at the moment, I am not currently looking for more developers
Current Info
- Will be implemented on top of a L4 Fiasco.OC microkernel + L4re
- Will be written in C with some Lua
- Will absolutely NOT be a monolithic kernel
- Will utilize FUSE for most fs drivers
- Will have a POSIX compatibility layer
- Will also have compatibility layers providing some of the more unique API's of some other UNIX derived OSes (eg Linux, 4.4 BSD, possibly SVR4, possibly others)
- General structure:
- Core system servers: the absolute minimum that must be running for a usable system
- Memory manager (Initially Sigma0, will eventually be replaced when more of the other components are working)
- Filesystem server (provides a uniform filesystem interface and unified fs hierarchy, as well as FUSE API, will include integrated drivers for FAT16/32, ISO 9660, and UDF, named anaconda)
- UI manager (takes care of keyboard input/virtual terminal output, named copperhead)
- Bus manager (acts as a monitor/controller for driver access to PCI/USB/Other buses, named boomslang)
- Crash detector/debug server (attempts to restart other core servers if they crash, handles debugging of core servers, will eventually also be the init process, named mongoose)
- Additional system servers: provide other useful services, but not required to boot and run
- Network manager (provides a uniform network interface so user programs don't have to know what type of networking the system has, named basilisk)
- POSIX compatibility layer (Will manage most POSIX syscalls, named asp)
- 4.4 BSD compatibility layer (Will only provide API's that are not in POSIX or native, named boa)
- Linux compatibility layer (Will provide some otherwise Linux specific API's such as inotify, named cottonmouth)
- CLR runtime server (Will fill the same function as Mono, named mamba)
- Core system servers: the absolute minimum that must be running for a usable system
- Will be developed in a hardware agnostic manner, so it should run on any architecture supported by L4 Fiasco.OC
- All drivers will run in usermode
- Each driver will see only the hardware which it needs (for example, a driver for an AGP graphics card will only see the graphics card which it is for)
- Ophiophagus will utilize a unified fs hierarchy; although it will utilize some slightly different conventions, most notably
- Root's home directory is /home/root not /root
- The system's initrd will be accessible read only in /boot/initrd
- /opt will be a symbolic link to /usr/local
- /srv will be a symbolic link to /var/services
- /var/www, /var/ftp and other service specific directories under /var will be symbolic links to identically named directories in /var/services