Last Updated on: 10th November 2023, 04:58 pm
Web site: bugos.nop.hu
Desktop environment: CLI
Architecture: x86, MIPS
Based on: Independent
The last version | Released: July 19, 2009
BugOS – an independent developed operating system.
It has a kernel, device drivers, a file system, and an internet module. The main concept is that every process has an own computer with an own console. Another main concept was the security, and the modularization. If a process wants to read the file, it asks the kernel. The kernel forwards to the filesystem driver, which reads and writes through the partition handler, which operates over the idehdd driver. Another example is when you are using an ssh shell, the packets are sent/received by the appropirate network driver, which are filtered by eth4/eth6 process, which are routed by ip4/ip6 process, are streamized by tcp, and finally handled by sshd. sshd uses bignum and crypto. ssh-shell connects to sshd, and ssh-shell uses termout-vt420 and the running process. And all of these are separate processes.
The kernel handles memory, processes, pipelines, system calls, and the “user interface” of file system. When kernel starts, detects memory size, finds the appended startup process, and starts it. The kernel is around 20k, and could be booted up from anywhere.
Today there are drivers for ArcNET, EtherNET, Serial Line, x21 Line, Parallel Line, USB, SB, Speaker, Floppy and IDE, and the list is extending. Device driver is just a name, since these are simple processes with the right to access some parts of io and memory directly. So all of the rules apply to them, as to other processes.
Processes are fully separated from hardware. This is because security was the first option when the system was designed. They think that they are running in a separated computer, but if they want, they can communicate with each other through pipelines. These pipelines are independent from anything too, so if a process crashes, it has no affect to the system nor other processes.
BugOS fileSystem uses 255 bytes long filenames without any rules in it. The structure of the partition is very simple; a boot sector, and a disk usage bitmap. File heads and run sequences can be stored anywhere on the disk. This technique speeds up the seeking in big files since any position of a file can be reached in three reads, while increases security, because disk usage map is not needed for read operation, and occurance of file heads and sequences on the disk is completely random, so when the disk gets bad at some sectors, the data loss is minimal.