What is pOS ?
pOS - portable Operating System is an attempt to write a small, fast-executing operating-system to use as little memory and resources as possible so that it runs on almost any computer system. It does not aim for any compatibilty (e.g. POSIX), its just meant to make fun developing it.
It is written mainly in ANSI-C. Machine dependant code like drivers and boot-loaders are usually written in a native assembler-language. The sourcecode is released under the license of the GPL, this means the sourcecode is available to anybody for free distribution, modfication and use. pOS was written in the hope that it will be somehow useful but this implies absolutely no warranties. For more information read the LICENSE-file that comes with the sourcecode and the binary distribution.
The main benefit of pOS is its portability. It can be ported to a variety of computers and platforms with only slight additions to the sourcecode. These include hardware-drivers and a boot-loader and other necessary hardware-code. pOS is currently developed for the famous Commodore C64 computers and compatible systems like the Commodore C128 in C64-mode. Ports for 8086-systems like the IBM-PC are planned but there's no development-schedule yet.
pOS consists of 4 principal parts - the kernel, the shell, the
init-loader and the boot-loader.
The kernel is where all the operating-systems' functionality lies in. It contains
functions and data and represents the system-core.
The shell is a simple text-user-interface which runs as a program under
pOS. It interprets keyboard-input by the user as commands
and transforms them into kernel-commands, like loading
programs and managing files on a floppy-disk. It represents
the most trivial way to interact with the computer.
The init-loader is a small program that is loaded everytime
pOS is booting. It loads user-defined configuration data
(like which disks shall be mounted, text-color etc) and
loads other initialization programs if any. Finally it loads
the defined user-interface (usually the shell).
The boot-loader loads the kernel into the computers memory
and starts it. It's the first program of pOS that is run
when the computer shall run pOS
pOS is a multitasking operating-system which means it can run several programs at the same time. For this job the kernel contains a program which is called the scheduler. The scheduler distributes the computers resources to all programs loaded. The multitasking is a feature of almost all modern operating-systems.
Managing and accessing files is very simple and fast
on a pOS-system. The kernel provides a virtual-filesystem
which represents all disk-volumes in one filesystem-tree.
The content of any volume can be mapped into any
directory of the filesystem-tree. This allows anybody
to arrange his files individually.
The kernel integrates a directory-cache which speeds-up
the access to directories. Any directory that has been
accessed once will buffered in the directory-cache
and all subsequent accesses to the directory will
be served from the fast system-memory (as compared
to the slow disk-drives). Future releases of
pOS will certainly also feature a file-cache, which
means that not only directory-accesses will be
cached but also whole files, which means that
files that are once read (like when starting a program)
will be kept in the file-cache so that a subsequent
access to the file will be much faster. So once
you load a program from disk, start and stop it
then load it again, the program will be loaded
much faster than the first time.
- For more information on the guts of pOS please visit
the development-section
- If you like to know the history of pOS please visit
the download-section
- If you like to see some screenshots of a computer
running pOS please visit the screenshot-section