- Explain the role of the operating system.
Explain the role of the operating system.
The OS is software that is stored almost entirely on the hard drive in your computer. It is the software component that manages the hardware pieces and all of the other software, enabling both parts to perform the functions for which they are designed. For example, the OS recognizes input from your mouse, your keyboard, or a touch of the screen and performs whatever action is requested by the mouse, keyboard, or touch. Your mouse click might request that an application be started or a file be opened for viewing. Another click of your mouse might close the file and save to your hard drive the data you just typed. You type on your smartphone’s keyboard and your text is displayed on the screen. If you want to print the information in a file, you send the information to the printer. If you have a touch-screen device, your touch can open files, slide screen displays to left or right, expand or collapse screens, and display a keyboard on which you can type your input.
All of these input actions, the processing of that input, and the output to the screen or printer or speakers, or anything else are enabled by the OS. The OS also controls some aspects of security—specifically, allowing only authorized users, via a user ID and password that are entered, to access the system.
The heart of every OS is called the kernel. The kernel is the core program that manages the computer's resources, memory, and devices; maintains the computer's clock, and initiates the programs that automatically start when the system is turned on.
By scheduling tasks in a particular manner, the OS enables different programs to run at the same time without interfering with each other. This same type of scheduling also prevents interference among multiple users operating on the same server (workstation or mainframe, for example). Regardless of the platform (device), the OS coordinates the use of the system hardware with the application programs that enable the user to perform tasks. In the same way an OS is loaded on hardware that is compatible with that particular OS, application programs can be loaded only on top of an OS with which the application program is compatible. We will look at compatibility issues in more detail later.
Classifications of Operating Systems
In terms of the functions over which an OS has control, the OS itself can be classified in one of several categories:
A single-user, single-task OS would be found in a device with limited functionality such as those for recording appointments on a calendar, a to-do list, a contacts list, a calculator, or a memo or note-taking program. Simple personal digital assistants (PDAs), which have become somewhat obsolete after being replaced with smartphones or with PDAs with phone capabilities, use the single-user, single-task OS. Microsoft's Disk Operating System (DOS) was initially implemented as a single-user, single-task OS. One task had to be completed before the next one could begin.
You are using a single-user, multitasking OS each time you use a personal computer, laptop, tablet, or smartphone. There can be only one person signed on to your computer at a time. But the user may perform multiple tasks simultaneously, such as typing in a document while performing a virus scan of the system in the background, while playing music files stored on the computer. Computers loaded with Microsoft's Windows 7/8/10 or Apple's Mac OS X Mountain Lion are examples of operating systems that will allow you to have several programs executing at the same time.
A multiuser system uses an OS that allows many users to execute programs simultaneously. Large systems such as mainframes and workstations support hundreds or even thousands of simultaneous users. This type of OS must manage resources so that different programs running at the same time do not interfere with each other. Your personal computer, tablet, or smartphone typically is not a multiuser system: only one person can be using the computer at one time.
The OS implemented on a multiuser system would not be the same as the Windows or Mac OS you find on your home computer or on your iPhone or your tablet. Some examples of multiuser operating systems include UNIX, Virtual Memory System (VMS), and mainframe operating systems such as Multiple Virtual Storage (MVS).
A multiprocessing system is one that has more than one central processing unit (CPU) on board in the computer. This type of OS must be able to work with this particular setup of hardware (CPUs), to support running a program on more than one CPU installed within the machine. In this type of system, the tasks may be shared by all the CPUs equally, or some units may be set aside to perform specific tasks. For example, one CPU may handle all requests for action from hardware (your mouse click, or the display of output on the monitor/screen, or sending information to the printer), while other CPUs handle the processing of data and instructions.
Be aware that this a multiprocessing systems not the same as a multicore processor, which has multiple “cores” in a single CPU and is found in most standard desktops, laptops, and tablets. For example, Intel's “Core i7” refers to a single CPU that has the logic and circuits to mimic multiple CPUs on a single integrated circuit.
Standalone Operating System
There is one more way to categorize operating systems. A standalone operating system is completely self-contained on a single machine, whether it is a desktop, laptop, notebook, tablet, or even smartphone.
Network Operating System
A network operating system supports a number of computers that are linked via a network. Most often one machine, a server, is the computer that controls access to the resources (hardware and software) used by the other computers on the network. This server may also provide a centralized storage area for data. The other computers on the network are called clients. A network OS (e.g., Microsoft Windows Server, Apple OS X Server, Linux Server) is a different software package than that used on a standalone OS.
What Does an OS Do?
An OS performs five primary tasks:
Remember that the data you send into the computer must be manipulated into output, typically in the form of text, graphics, or sound. This conversion from raw data to information is done by the central processing unit. The two components of the CPU are the arithmetic logic unit (ALU), which performs arithmetic and logical operations and the control unit (CU) which takes the data and instructions and performs the appropriate actions to produce output.
Memory and Storage Management
The data and instructions to be processed and the resulting information are temporarily stored in memory banks within the computer in either main memory—that is, in RAM chips, high-speed cache, secondary memory, or the hard disk. An OS must manage the computer's memory locations so that each instruction has enough space in which to execute. And if the system is a multitasking system with multiple programs running simultaneously, the OS must ensure that the memory space required by one program does not overlap or overwrite the memory space needed by the other program. So the OS must work to ensure that all memory available is used most effectively, including the areas where data, instructions, and information are stored more or less permanently (hard drives, flash drives, DVD/CDs, and other storage media).
The OS manages the functioning of all the hardware, both internal and external. But most of these devices are directly controlled by programs (software) called drivers. The driver is the go-between that translates the electrical signals sent to or from hardware components and application programs via the OS. If the OS has defined a piece of data as a graphic or picture, the driver converts this into a picture displayed on the screen. Drivers are typically separate from the OS so that they can easily be replaced or updated or added without requiring that the OS be updated or replaced.
Have you noticed that sometimes what you type seems to lag behind on the screen? This may occur because you are running multiple programs simultaneously and the CPU cannot keep up with the data stream. The OS then will hold the data you are typing in queues or buffers until the CPU has time to address your data. This happens only if you have many things being processed at the same time, or if the memory allocation in your computer (RAM) is just not able to handle the data load for some other reason.
An application programming interface (API) is the means by which an application program such as a word processor, spreadsheet, etc., uses the resources of the computer. Think of the API as a library of routines or procedures that are predefined for use by a program. The way in which a file is opened or saved is handled by the API for that particular application. In another example, in a spreadsheet program, when you use the SUM function, you do not have to tell the computer all the steps required to compute the sum. Instead, you call upon a function that is part of the library of functions built into the application. When that function is called and the data set is identified, it sends the correct data and instructions to the CPU via the OS, and the result is sent back to the application.
Many of these libraries of functions or routines are shared among applications, even if those applications have been developed by separate companies for separate platforms. The bottom line is that the OS must provide a way, via the API, for applications to access the resources of the computer without the application having to know all the details of the hardware on which the application is running.
One place you might have seen the action of an API is if you have ever seen “Compatibility Mode” displayed when you open a Microsoft Word document that was created with an older version of Word than the one you are currently using. At the top of the screen you see something like this:
The API for your newer version of Word (maybe 2016) is able to read and handle files (part of the library of functions) that were created under an older version of Word (perhaps 2007). File handling is one of the tasks of the API, and thus one of the tasks that the OS must handle.
The user interface (UI) is the medium that falls between the user and the OS. Most UIs today are presented with icons, lists, pictures, and the like. This type is called a graphical user interface (GUI), and both Microsoft and Apple set the standards for GUIs for PCs, laptops, tablets, and smartphones. The purpose of all UIs or GUIs is to make it easier for the user to manipulate the functions of the OS.