System software is kind of software. Which is designed to control and working with computer hardware. Users directly use some system software and some system software runs in the background and also allow to users to interact directly with hardware functionality.
System software comprises three basic components:
- Operating System.
- Utility Programs.
- Language Translators.
The operating system manages the basic operations of the computer. These operations include booting the computer and management of storage media. Another feature is the user interface, which may be command driven menu driven, graphical or network. Other operations are managing computer resources and managing files. The tasks through multitasking, multiprogramming, time sharing, or multiprocessing is managed by The operating system.
Single User & Multi-User.
A computer is required to perform many different tasks at once. In word processing, for example, it receives input data, stores the data on a disk, and prints out a document seemingly simultaneously Others can accommodate the needs of several different users at the same time. All these examples illustrate the process, or task, management a “task” being an operation such as storing, printing or calculating.
Ms-Dos: Single user.
The MS-DOS operating system is an example of a single-tasking system, which has a command translator that is appealed when the computer is started. Because MS-DOS is single-tasking, it used a simple method to run a program and does not create a new process. It loads the program into memory, marks over the maximum of itself to give the program. The program then runs and either an error caused a trap, or the program performs a system call to dismiss. In either case, the error code is kept in the system memory for later use. Following this action, the small portion of the command interpreter from disk. Once this task is accomplished, the command translator makes the previous error code available to the user or to the next program.
Although the MS_DOS operating system does not have general multitasking capabilities, it does provide a method for limited concurrent execution.
- Multitasking: for one user Executing more than one program concurrently. You may be writing a report on your computer with one program concurrently. You may be writing a report on your computer with one program while another program searches an online database for research material.
- Multiprogramming: multiple users – executing different users Programs concurrently. As with multitasking, the CPU spends a certain amount of time executing each user’s program, but words so quickly that it seems as though all the programs are being run at the same time.
- Time – sharing for multiple users – executing different users’ programs in found robin fashion. Time – sharing is used when several users are liked by a communications network to a single computer. The computer will first work on one user’s task for a fraction of a second, ten go on the next user’s task, and so on.
- Multiprocessing for single or multiple users – simultaneous processing of two or more program by multiple computers. With multiprocessing, two or more computers or processors liked together to perform work simultaneously, meaning at precisely the same time. This can entail processing instructions from different programs or different instructions from the same program.
UNIX: The operating system for Multiple users.
Unix was invented more than two decades ago by American Telephone & Telegraph, making. It one of the oldest operating systems. Unix is a multitasking operating system for multiple users that has built-in networking capability and versions that can run on all kinds of computers. Because it can run with relatively simply simple modifications on different types of the computer from micros of mainframes Unix is called portable operating system.
The operating system is a set of programs written to performs different functions.This program can be divided into two type. control programs and the service programs.
- Control Programs.
- Service Programs.
These types of programs are responsible for controlling function, like, job management, resource management, and data management.
- Job management.
Job management means, preparing, scheduling, and monitoring jobs for computer processing. The activities include interpreting JCL, scheduling and selecting and selecting jobs for execution initiating the process of each job, and communicating the user relating to the status of jobs.
- Resource management.
Also, known as task management, is the controlling of computer system resources. These resources include primary storage, secondary storage, CPU processing time, and input/output devices.
- Data Management.
Data management is the controlling of the input/output of data as well as their locations, storage and retrieval. This is a collection of programs that performs all of he functions required for the input and output of data.
Service programs do not take part in the controlling of the machine, rather they facilitate user with different services. These services are available to use for performing routine tasks, like formatting disks, copying disks and other routing jobs. These are not loaded automatically, like control programs. They are loaded by the user when he needs it.
Components of An Operating system.
An operating system must have the following capabilities/components/features, in order to be an operating system.
- Bootstrap loader program.
- Process management.
- Memory management.
- Secondary storage management.
- I/O management.
- File management.
- Protection system.
- Command interpreter.
- Bootstrap loader program.
The bootstrap loader program is used to start the computer. It is the first part of the operating system loaded into the memory and then it loads the remaining part of the operating system. It brings the computer in ready mode a stage where the user and the machine understand each other, and the machine starts obeying the orders of the user.
- Process management
There are a number of jobs performed by the OS, like creation, deletion, suspension, and resumption of processes. It makes provisions for process synchronization, process communication, and deadlock.
- Memory management
The data and the instructions are stored in the memory. These things are kept separately by the OS, they do not overwrite each other. Programs which are needed, loaded in memory where the apace is available. OS also keeps the track of all the programs and their data in memory.
- Secondary storage management
The software is installed on the secondary storage, but they do not overwrite each other. Data after processing is also stored on the storage, but nothing mixes up operating system manages the storage available on the system and uses it efficiently.
- I/O management
A bulk of input comes in and goes out of the system. The management of this I/O seems to be a difficult job for a user. The OS also relieves the user from this problem, and manages this itself with some device drivers and buffer caching systems.
- File management
Whatever work we do in computers, that is saved in the form of a file with a name given to it by the user. It is the collection of information, which is collected by the user for his own purpose. OS helps a person to create and delete files, files place them in proper areas (directories/folders), incorporate some valuable information like type of file time, time date, and size of the file.
- Protection system
There are several processes run by the CPU sine are requested by the user and some are system generated processed. All these processes require various system resources, but the resources are allocated to the authorized users and processes only for stipulated time period to protect the integrity of the system.
- Command interpreter
Job control language instructions are interpreted in the machine language to inform the system what to do. These statements deal with the operations mentioned above.
Besides having these standard features: Operating systems may have several or all capabilities mentioned below.
- Single user processing.
- Multiuser processing.
- Multitasking or Multiprogramming.
- The multiprocessing or Parallel processing.
- Intercrossing or Dynamic linking.
- Context switching.
- Virtual Memory or Virtual storage.
- Time sharing.
- Real-time processing.
- Virtual machine processing.
There are hundreds of operating systems available, from PCs to supercomputer, some popular operating system is: DOS, OS/2, Windows 95, Windows NT, Unix, Aix, HP-UX, Sun Solaris, Digital Unix, SSP, OS/400, OS/360.
Methods of Operation And Modes Of Access.
- Multiprocessing This is the name for the situation that occurs if two or more processors are present in a computer system and are sharing some or all or the same memory. In such cases, two programs may be processed at the same instant. In the remainder of this discussion assume just one processor is used unless otherwise stated.
- Batch processing the job (program + data) is not processed until full input. A job may wait in a batch queue for minutes or hours depending on the work load. No amendments are possible during processing.
- Conversational mode This interactive computer operation where the response to the user’s message is immediate.
- Time – Sharing Processor time system is a divided into small units called time slices and shared in turn between users to provide multi-access.
- The real-time system is that system which that is capable of processing data so quickly that the results are available to influence the activity currently taking place.
Utility programs are also the category of System Software. Utility programs are generally used to support, enhance, or expand programs in a computer system. Most system software bundles utility programs for performing common tasks such as merging two files into one file or performing the backup. Other external, or commercial, utility programs (such as Norton Utilities) are available separately – for example, a utility to recover damaged files.
A language Translator also comes in the category of System software and it is a software that translates a program written by a programmer in a language such as C – for example, a word processing program – into machine language (0s and 1s), which the computer can understand.