Regardless of the size and complexity of the computer and the operating system, all operating systems perform the same four basic functions:
- Control hardware access
- Manage files and folders
- Provide a user interface
- Manage applications
Hardware Access
The OS manages the interaction between applications and the hardware. To access and communicate with each hardware component, the OS uses a program called a device driver. When a hardware device is installed, the OS locates and installs the device driver for that component. Assigning system resources and installing drivers are performed with a plug-and-play (PnP) process. The OS then configures the device and updates the registry, which is a database that contains all the information about the computer.
If the OS cannot locate a device driver, a technician must install the driver manually either by using the media that came with the device or downloading it from the manufacturer’s website.
File and Folder Management
The OS creates a file structure on the hard disk drive to store data. A file is a block of related data that is given a single name and treated as a single unit. Program and data files are grouped together in a directory. The files and directories are organized for easy retrieval and use. Directories can be kept inside other directories. These nested directories are referred to as subdirectories. Directories are called folders in Windows operating systems, and subdirectories are called subfolders.
User Interface
The OS enables the user to interact with the software and hardware. Operating systems include two types of user interfaces:
- Command-line interface (CLI) - The user types commands at a prompt, as shown in Figure 1.
- Graphical user interface (GUI) - The user interacts with menus and icons, as shown in Figure 2.
Application Management
The OS locates an application and loads it into the RAM of the computer. Applications are software programs, such as word processors, databases, spreadsheets, and games. The OS allocates available system resources to running applications.
To ensure that a new application is compatible with an OS, programmers follow a set of guidelines known as an Application Programming Interface (API). An API allows programs to access the resources managed by the operating system in a consistent and reliable manner. Here are some examples of APIs:
- Open Graphics Library (OpenGL) - Cross-platform standard specification for multimedia graphics
- DirectX - Collection of APIs related to multimedia tasks for Microsoft Windows
- Windows API - Allows applications from older versions of Windows to operate on newer versions
- Java APIs - Collection of APIs related to the development of Java programming