Difference between revisions 14358159 and 14725243 on enwiki

'''[http://agnix.sfourceforge.net Agnix]''' is an educational [[Operating system|operating system]] [[operating system kernel|kernel]], fully compatibi

Agnix is an [[Open-Source]] project, which has been founded to provide an educational, network operating system kernel. Agnix is an extended kernel, written in pure C code. It is ideal starting point to learn about operating system kernel architecture. In addition Agnix is a very fast and small kernel and I advice for using it in an [[Embedded_system|embedded systems]] and everywhere where is needed fast, small and stable operating system kernel.

The main goal of the project is to provide an educational, network [[Operating system|operating system]] [[operating system kernel|kernel]] which will be fully compatible with the [[Linux Kernel API. |Linux]] Kernel in the system call layer. The compatibility with Linux kernel is very important, because Agnix has to enable running programs compiled for Linux. This is a base of the Agnix kernel project.

Agnix supports:
* Memory: 32-bit protected memory mode, memory allocation algorithms (binary and buddy), multitasking, 8254, 8259 and RTC chips, PCI bus and PCI devices, RT timers, network devices.

Agnix has been written from scratch and is an [http://www.osdever.net educational] kernelode, support for paging
* Virtual memory: supports for memory allocation algorithms (binary and buddy)
* Tasks management: [[multithread|mulithreading]], hardware switched tasks, round-robin scheduler
* Synchronization: spinlocks and semaphores
* Interrupts: interrupts serviced in fastirq kernel thread
* Timers: RT timers, 100Hz system clock
* Network: support for ethernet, ARP and IP protocols
* Driver interface: own driver interface named ADI (Agnix Driver Interface)
* Drivers: [[PIT|8254]], [[8259]], [[RTC]], DMA chips, PCI bus, support for RTL-8029(AS) network card
* Power management: support for [[APM]]
* Support for busses: full support for [[PCI]] bus, PCI devices and PCI IRQs
* Terminals: support for switched [[terminal|terminals]]
* Data structures: hashing with open adressing, lists, queues



Agnix's [http://agnix.sfourceforge.net home page] ([http://agnix.sourceforge.net/pl/ polish version])

Agnix project [http://www.sf.net/projects/agnix home page]

[[Category:operating systems]]
[[Category:operating system kernel]]
[[Category:embedded systems]]
[[Category:linux]]