XAOS Operating System

XAOS

0.0.2 alpha 021010

Date: 10/10/2002

Preamble

I decided to write an operating system from scratch as an excercise. It's not based on Linux or any other existing OS. It's written and designed completely from scratch. Some ideas are taken from Unices, some from DOS/Windows. The distinct feature of this OS is that it follows OOP paradigm. All the OS calls are object oriented. For example when the application needs to access a file it requests the OS to create file object. The API itself is C++ and the application uses OS objects just like any C++ class. The OS runs in x86 real mode, i.e. it's 16 bit. I chose 16-bit real mode because I didn't want to write code to work directly with IDE interface. From real mode I could use BIOS for disk operations.

The first version was written for Borland C++ compilers. The second version was build using Digital Mars C++ compiler. The third version was supposed to be I386 32-bit protected mode. I stopped there because, again, I didn't want to write low level IDE code. Modern compilers rightfully don't support 16-bit and using old compilers is not fun. Maybe I will continue developing the OS when new CPU architectures will become popular on desktop with more-less convenient API for permanent storage access and without jumps between "real" and "protected" modes. Until then the further development of XAOS is stopped.

Introduction

Yet another operating system...

XAOS is a brand new operating system written from scratch (Pronounced "Khaos" as in Greek ΧΑΟΣ). All the software is free and open source. The operating system currently runs on Intel 386+ processors. It is written mostly on C++. Some parts (such as boot sector code) are written on assembler.


How To ...

Install

To install the operating system please follow the simple instructions below:

  1. Unzip all files with the operating system binaries.
  2. Insert a blank floppy disk.
  3. Run the setup program which comes with binaries.

The setup program will make a bootable floppy with the operating system installed. Now the operating system is ready to boot.

Note!
At the final stage the setup utility writes the boot record into the floppy disk. If you are running setup under Windows NT family systems (NT,2000,XP) you may receive message which warns you about "direct access to disk". Simply choose [Ignore] to continue.

Boot

The only booting from 1.44M floppy is supported.
To boot use the floppy created by setup program.
All accessible disks will be mounted with DOS-like aliases (a, c, etc.)

After booting the shell will be loaded and invitation ':)' will be displayed.

Note!
The software is very new and untested. I did everything possible to avoid any information loses from user's disks. Operating system uses ONLY ROM BIOS services to get access to disks and only for READING purposes. There is no code compiled which can write anything to the disks. So all disks are visible as READ ONLY. The current (and probably several further) versions of operating system CANNOT change anything in your disks.

Run

The help or ? command will show all supported commands.
Run tetris to play the game.

Build

For compiling use bld utility. Download and unzip all neccessary packages and tools. If you will unzip all source packages into /src directory then you don't have to change anything, otherwise set the correct paths in default.bld file. The default.bld file is located in the same directory with bld.exe. bld seeks any .bld file in the current directory and builds the first target described.

Information

Technical

Machine/CPU Intel 386+, 16-bit real mode
RAM 1M conventional memory
File System FAT12/16/32 (read-only, LFN supported)

What's New

All the source was rewritten for Netwide Assembler and Digital Mars. So now only free (as in beer) compilers are used.

Future

Soon...

  • Full disk access (read/write)
  • XAOS SDK
  • ANSI C compatible standard library

Further...

  • 32 bit
  • Multi-user
  • COFF support for linker
  • Direct hardware programming, first priority includes disk drives and CD-ROM
  • Mounting to directories

Download

Binaries

xaos.0.00.02.zip (94k) XAOS Binaries

Sources

xaoss.0.00.02.zip (150k) XAOS Sources

Packages Used in XAOS Operating System

lib021010.zip Application library Version 021010 Sources
libs021010.zip APL 021010 Generated Sources
libh021010.zip APL 021010 Generated Headers
libdosd021010.zip APL 021010 Compiled for DOS 16-bit Real Mode, Digital Mars C/C++ Compiler
libnond021010.zip APL 021010 Compiled for No Operating Systems DOS 16-bit Real Mode, Digital Mars C/C++ Compiler
libxosd021010.zip APL 021010 Compiled for XAOS 16-bit Real Mode, Digital Mars C/C++ Compiler

Utilities used to build XAOS operating system

cc021010.zip Linker Sources
lnkwin021010.zip Linker Binaries, Windows Console
mksrc021010.zip Source File Generator Sources
mksrcwin021010.zip Source File Generator Binaries, Windows Console

Compilers used to build XAOS operating system

Digital Mars C++ Digital Mars compiler is used to compile 16-bit .cpp modules.
Netwide Assembler Assembly modules have to be compiled with Netwide Assembler

Other

tetriss.0.02.zip (9k) Sample Tetris-like game sources
Announcements
Pentix
Pentix
Classic Falling Blocks Game
New version of Pentix is released. Play Campaign and Multiplayer modes.
App Store Google Play

Columns
Columns
Remake of Classic Columns
Release new version
App Store

Lines
Color Lines
Remake of Classic Color Lines
New version released.
App Store

 
Copyright (C) 2006-2018 Andrei Mirzoyan