The major functions of an OS are:
-job (task) management, and
-standard means of communication between user and computer.
The resource management function of an OS allocates computer resources such as CPU time, main memory, secondary storage, and input and output devices for use.
The data management functions of an OS govern the input and output of the data and their location, storage, and retrieval.
The job management function of an OS prepares, schedules, controls, and monitors jobs submitted for execution to ensure the most efficient processing. A job is a collection of one or more related programs and their data.
A job is a collection of one or more related programs and their data.
The OS establishes a standard means of communication between users and their computer systems. It does this by providing a user interface and a standard set of commands that control the hardware.
Typical Day-to-Day Uses of an Operating System
-Executing application programs.
-Formatting floppy diskettes.
-Setting up directories to organize your files.
-Displaying a list of files stored on a particular disk.
-Verifying that there is enough room on a disk to save a file.
-Protecting and backing up your files by copying them to other disks for safekeeping.
How Do Operating Systems Differ?
Operating systems for large computers are more complex and sophisticated than those for microcomputers because the operating systems for large computers must address the needs of a very large number of users, application programs, and hardware devices, as well as supply a host of administrative and security features.
Operating system capabilities can be described in terms of
-the number of users they can accommodate at one time,
-how many tasks can be run at one time, and
-how they process those tasks.
Number of Users:
A single-user operating system allows only one user at a time to access a computer.
Most operating systems on microcomputers, such as DOS and Window 95, are single-user access systems.
A multiuser operating system allows two or more users to access a computer at the same time (UNIX).
The actual number of users depends on the hardware and the OS design.
Time sharing allows many users to access a single computer.
This capability is typically found on large computer operating systems where many users need access at the same time.
Number of Tasks
An operating system can be designed for single tasking or multitasking.
A single tasking operating system allows only one program to execute at a time, and the program must finish executing completely before the next program can begin.
A multitasking operating system allows a single CPU to execute what appears to be more than one program at a time.
Context switching allows several programs to reside in memory but only one to be active at a time. The active program is said to be in the foreground. The other programs in memory are not active and are said to be in the background. Instead of having to quit a program and load another, you can simply switch the active program in the foreground to the background and bring a program from the background into the foreground with a few keystrokes.
Cooperative multitasking in which a background program uses the CPU during idle time of the foreground program. For example, the background program might sort data while the foreground program waits for a keystroke.
Time-slice multitasking enables a CPU to switch its attention between the requested tasks of two or more programs. Each task receives the attention of the CPU for a fraction of a second before the CPU moves on to the next. Depending on the application, the order in which tasks receive CPU attention may be determined sequentially (first come first served) or by previously defined priority levels.
Multithreading supports several simultaneous tasks within the same application. For example, with only one copy of a database management system in memory, one database file can be sorted while data is simultaneously entered into another database file.