Terminology

There may be some confusing terms listed throughout the documents presented within this project. So I present you, a list of terms:

OS - Operating System.  A piece of software that acts as management to allow other programs to run on a given system.

UniOS - Universal Operating System.  A concept operating system project that, at this point, has no definable boundaries, but focuses on the needs of the three key markets:  Home, Industrial, and Corporate users.

Linux - A free operating system project.  Linux is a UNIX variant.

UNIX - An operating systems that runs most of the internet as we know it.  It was developed a very long time ago, and has many technical merits for corporate and industrial users, but lacks in the home market due to it's complexity.

Kernel - The portion of an Operating system that remains, for the most part, in memory and provides essential system functions to running processes.

Monolitic Kernel - A system kernel that runs all proceses and drivers in the the same memory space as the kernel.

Microkernel - A system kernel that runs itself in protected memory space, and all drivers and processes in a seperate memory space allowing for (theoretically) better stability.

Exokernel - A system kernel that strives to only provide essential functions.  This allows programs to manage their own resources, theoretically increasing the speed and efficiency of the program.

GUI - Graphical User Interface.  This is a more elegant and/or easy way to allow users to interact with the computer.  A GUI is almost essential to the Home/Corporate user market.

AI - Artificial Intelligence.  The concept of allowing computers to "think" and react "intelligently" through the use of complex software programming concepts such as Neural Networks and Fuzzy Logic.

JAVA - A programming language developed by Sun Microsystems.

Platform Independent (Indepandance) - In the past programming a computer was done by directly manipulating values stored in the physical hardware.  This technique produced, what was called, platform dependent programs.  This means that the programs could ONLY be run on the system they were programmed for.  Platform independence is programming for an accepted set of virtual hardware that can be compiled down to fit the physical hardware.

Hardware Abstraction (Abstracts) - A method of removing the pysical hardware from the programmer, and allowing him/her to focus on an effect rather than the details of manipulating hardware directly.  Hardware abstraction is used to attain platform independence when a set standard is agreed upon and the basic code is ported to multiple types of systems.  I.e.: Java, Basic (to a degree), ANSI C/C++ (sorta).  These lanugages have universal methods which are reproduced on many different types of systems. A program written on one type of system, could be run on another, totally different type of system.

Platform - A type/classification of computer systems. I.e.: PC's are one type platform, and Macintosh computers are a different platform.

C, C++, Java, Basic - The primary Programming languages for computers of today.