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. |