The operating system controls the interaction between hardware and the software applications. The hardware consists of the processor, hard drives, video cards, sound cards, and more. Each processor has built into it a language that only it understands, plus each manufacturer creates a different language for its processor.
For instance, an Intel x86 processor uses a different internal language than, say, a Motorola 68000 processor. Therefore, any software must be complied (converted into the processor language) or customized for the processor (often referred to as the computer platform). Some of the platforms include:
- x86 (Intel [386, 486, Pentium, Pentium II, Pentium III, Celeron], AMD [K6-2, Athlon, or others equivalent to the Intel line])
- Alpha (Was DEC, Now Compaq)
- Power PC, also known as PPC (Motorola/IBM Power PC)
- M68k (Motorola 68000 series)
- Sparc (Sun Microsystems’s SPARCstation)
The core component to the operating system is called the kernel in UNIX and UNIXlike operating systems. The kernel communicates with the basic computer hardware like the microprocessor, memory, and device controllers.
All interaction between the hardware and any programs must be negotiated through the kernel. The kernel takes care of translating the requests into the form the particular device speaks. This includes everything from drawing a picture to saving a file to a floppy to printing a document.
In addition to the kernel, the user interface, device drivers, file system, and system services complete the whole operating system and make it functional for someone to use.
- The user interface makes it possible for the individual to interact with the computer to issue commands, launch programs, and generally control the computer. This usually starts as a command-line interface and later becomes some kind of graphical interface.
One example of the interface is the shell which allows commands to be typed in and the output gets displayed to the screen in text form.
- The device drivers allow the kernel to talk to the various devices, such as hard drives and modems, which are connected to the computer. Each hardware device speaks its own language, and the operating system must be capable of interacting with it.
In order for a specific piece of hardware to be used, like the mouse, hard drive or sound card, the corresponding driver must be installed for it to get used.
- The information for the operating system—such as programs, data, and such—gets stored to a disk. The filesystem sets the method that the information gets stored. Different operating systems use different methods of storing their data.
For instance Windows 3.1 uses File Allocation Tables (FAT) fir its filesystem. Newer versions of Windows like 95 and 98 use a more advanced version called FAT32. And Windows NT uses NTFS for its filesystem. Not all of these filesystems are compatible with all operating systems, even among the Windows family.
Windows NT can read FAT and NTFS, but not FAT32. Like wise, Windows 95 and 98 can read FAT and FAT32, but not NTFS. Linux uses EXT2, but can read FAT and FAT32 using the VFAT driver.
- When the computer starts up, some functions, features, or services start to manage the system. For instance, when Linux first starts, it loads the filesystems, network interfaces, and any background services known as daemons. When the filesystem loads, it assigns what drives get used.
The network interface gets initialized and configured to communicate on the network. A daemon is a program that runs in the background without anyone being aware of it until it is needed. (This is referred to as services in the Windows NT world.) For instance, a Web server runs in the background because it was designed to work with out human intervention.