Batch Systems: OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 (PS/2)" line of second-generation personal computers.
OS/2 is compatible with DOS and Windows, which means that it can run all DOS and Windows programs. However, programs written specifically to run under OS/2 will not run under DOS or Windows.
Any real mode operating system could also be made to run using OS/2's virtual machine capabilities, subject to certain direct hardware access limitations.
Because OS/2 only ran the user-mode system components of Windows, it was not compatible with Windows device drivers (VxDs) and applications needing them.
Multiple Windows applications ran in a single Windows session, just as they would under native Windows. To achieve true isolation between Windows 3.x programs, OS/2 could run multiple copies of Windows in parallel. This approach required considerable system resources, especially memory.
Interactive Systems: UNIX
Unix operating systems are widely used in servers, workstations, and mobile devices. The Unix environment and the client–server program model were essential elements in the development of the Internet and the reshaping of computing as centered in networks rather than in individual computers. Unix was designed to be portable, multi-tasking and multi-user in a time-sharing configuration.
Unix systems are characterized by various concepts:
· the use of plain text for storing data
· a hierarchical file system
· treating devices and certain types of inter-process communication(IPC) as files; and
· the use of a large number of software tools, small programs that can be strung together through a command line interpreter using pipes, as opposed to using a single monolithic program that includes all of the same functionality.
These concepts are collectively known as the Unix philosophy.
Real-time: RT- Linux
RT-Linux is an operating system in which a small real-time kernel coexists with the Posix-like Linux kernel. The intention is to make use of the sophisticated services and highly optimized average case behaviour of a standard time-shared computer system while still permitting real-time functions to operate in a predictable and low-latency environment.
RT-Linux is both spartan and extensible in accord with two, somewhat contradictory design premises.
The first design premise is that the truly time constrained components of a real-time application are not compatible with dynamic resource allocation, complex synchronization, or anything else that introduces either hard to bound delays or significant overhead. The most widely used configuration of RT-Linux offers primitive tasks with only statically allocated memory, no address space protection, a simple fixed priority scheduler with no protection against impossible schedules, hard interrupt disabling and shared memory as the only synchronization primitives between real-time tasks, and a limited range of operations on the FIFO queues connecting real-time tasks to Linux processes. The environment is not really as austere as all that, however, because the rich collection of services provided by the non-real-time kernel are easily accessed by Linux user tasks. Non-real-time components of applications migrate to Linux. One area where we hope to be able to make particular use of this paradigm is in QOS, where it seems reasonable to factor applications into hard real-time components that collect or distribute time sensitive data, and Linux processes or threads that monitor data rates, negotiate for process time, and adjust algorithms.
The second design premise is that little is known about how real-time systems should be organized and the operating system should allow for great flexibility in such things as the characteristics of real-time tasks, communication, and synchronization. The kernel has been designed with replaceable modules wherever practical and the spartan environment described in the previous paragraph is easily "improved" (or "cluttered", depending on one's point of view). There are alternative scheduling modules, some contributed by the user community, to allow for EDF and rate-monotonic scheduling of tasks. There is a "semaphore module" and there is active development of a richer set of system services. Linux makes it possible for these services to be offered by loadable kernel modules so that the fundamental operation of the real-time kernel is run-time (although not real-time) reconfigurable. It is possible to develop a set of tasks under RT-Linux, test a system using a EDF schedule, unload the EDF scheduling module, load a rate monotonic scheduling module, and continue the test. It should eventually be possible to use a memory protected process model, to test different implementations of IPCs, and to otherwise tinker with the system until the right mix of services is found.
Hybrid: Sun386i (codenamed Roadrunner)
The Sun386i was a hybrid UNIX workstation/PC compatible computer system produced by Sun Microsystems, launched in 1988. It was based on the Intel80386 microprocessor but shared many features with the contemporary Sun-3 series systems.
It designed for stand-alone operation or for connection to networks. It is a multi-user, multi-tasking system but is also capable of running many MS-DOS applications. There are three models - the 150, the 150X and the 250.
Embedded: Windows CE
Known officially as Windows Embedded Compact or Windows Embedded CE is an operating system developed by Microsoft for minimalistic computers and embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows.
Windows CE is optimized for devices that have minimal storage—a Windows CE kernel may run in under a megabyte of memory. It has evolved into a component-based, embedded, real-time operating system. It is no longer targeted solely at hand-held computers.
