Wednesday 20 April 2011

System Software

System Software System Software Contents of the Chapter
1.System Software
2. Components of System Software
3. Evolution of System Software
4. Model of Computer System
( i ) Translators
( ii ) Loaders
( iii ) Interpreters

System Software

System software is computer software which involves data and program management, including operating systems, control programs and database management systems. It is also known as system package. System software performs the basic functions necessary to start and operate a computer. It controls and monitors the various activities of computer and makes it easier and more efficient to use the computer. It is a collection of rules and instructions which help us to operate control and extend the processing capabilities of a computer. In general we can say that system software supports the running of other softwares, helps to communicate with the peripheral devices, helps in development of other softwares and monitors the use of various hardware resources viz., memory, CPU etc. Hence system software makes the operation of a computer system more effective.


The system software is classified into three main categories.

1.) System Control Softwares :- It contains programs that control and manage system resources and functions. The most important and main system control software is Operating System. OS acts as an interface between User and Computer.

2.) System Support Softwares :- It contains the programs that support the execution of various applications. It is a software that supports the smooth and efficient operation of a computer. It mainly involves language translators and database management systems.

3.) System Development Softwares :- This software helps the system developers design and build better systems.

Components of System Software

The main components of System Software are following :-

1.) Operaing System:-

Just as a processor is the nucleus of Computer System, the Operating System is the nucleus of all software activities. An important system software found in all the computer installations is the Operating System. It controls the overall Operation of the Computer. It is the first program to be loaded to RAM on any general purpose Computer System. Depending on the type of Computer, the Operating Systems performs the no. of functions. It acts as an interface between the User and the Computer. The Operating System translates the language in which application programs are written into a language which CPU can understand. An Operating System loads programs, performs and manages I/O Operations, manages files, manages the use of computer memory etc. It is a Operating System that provides access to different I/O devices and releases these devices when a task is completed so that they can be used by other programs.
With the help of Operating System a Computer can read, create, delete and rename files and can also performs other file related tasks.
The Operating System also manages hard-disks storage so that Users can create, execute, save and retrieve various applications.
Managing Computer resources such as the CPU, Primary memory, Secondary storage, I/O devices and other peripheral is also done by Operating System.
Thus we can say that Operating System is very important component of System Software.

2.) Database Management System:-

It is another important component of System Software. DBMS is a system in which related data is stored in an efficient and compact manner. Efficient means that data which is stored in the DBMS is accessed in very quick time and compact means data stored in DBMS takes very little space in Computers memory.
A DBMS is a system software package that helps the use of Databases. Database is a collection of data records and files. In large systems, a DBMS allows Users and other softwares to store and retrieve data in a structured way. The DBMS accepts requests for data from an application program and instructs the Operating System to transfer the appropriate data.
A DBMS includes four main parts:- Modeling language, Data Structure, Database Query Language and Transaction mechanism.

3.) Assemblers, Loaders, Macros and Compilers:-

1.) These components come in the programming system. The programmers found it difficult to write or read programs in machine language. So, they began to use a mnemonic for each machine instruction. Such a mnemonic machine language is called an assembly language. Programs called as assemblers were written to translate assembly language into machine language. The input to an assembler is called source program and the output is a machine language translation called as object program.

2.) Once the assembler produces an object program, that program must be placed onto memory and executed. It is the purpose of the loader to assure that object programs are placed in memory in an executable form. Thus the loader may be defined as a program that places program into memory and prepares them for execution. The loader places into memory, the machine language version of Users program and transfers control to it.

3.) To relieve programmers from repeating identical parts of their program, Operating System provides a macro procesint facility. This facility allows the programmer to define an abbervation for a part of his program. The macro-processor treats the identical parts of the program defined by abbreviation as a macro-definition and saves the definition. Then macro-processor substitutes all the occurrences of abbreviation be the definitions. The various high level languages like FORTRAN, COBOL, ALGOL are processed by compilers and interpreters. These high level languages were developed for allowing user to express many scientific, business related and statistical problems easily and concisely.
A compiler is a program that accepts a program written in high level language and produces an object program.

Evolution of System Software

The system software began to be used extensively with the second generation computers in the early 1960's. Before that, the operation of a computer was controlled primarily by human operators. These operators monitored the processing of each job. Typically, when a job ended, a bell rang or light flashed to indicate that another job should be input to computer and started by the operator. In addition, the operator had to activate each peripheral device when that device was needed by the computer. This type of things wasted large amount of computer time and human resources.
But with the development of system softwares or operating systems, a queue of jobs that are a waited can be read onto a disk. The operating system will start each job when system resources are available for its execution. Since due to introduction of system softwares, human intervention is eliminated, so computers idle time is reduced.

Now, the evolution of operating system can also be explained under this topic:-

Evolution of Operating System:-

Few years ago, a FORTRAN programmer would approach the computer with his source deck in his one hand and a green deck of cards that would be a FORTRAN compiler, in the other hand.

This system of decks was unsatisfactory and so there was strong motivation for moving to a more flexible system. Also, another reason for this was that the valuable computer time was being wasted as the machine stood idle during handling activities and between jobs (job is a unit of specific work).

To eliminate this waste of time, the facility of batch jobs was provided. A batch operating system performed the task of batching jobs.

But, in batched systems, the memory resource was totally allocated to a single program. Thus if a program did not need entire memory, a portion of that resource was wasted.

To overcome this problem, Multiprogramming operating systems with partitioned core memory were developed. Multiprogramming allows multiple programs to reside in separate areas of core at the same time.

Again in such partitioned memory systems, some portion of memory could not be used as it was too small to contain a program. This problem of unused portions(holes) is called fragmentation. This problem of fragmentation has been minimized by technique of relocatable partitions and by paging. Relocatable partitioned core allows unused portions to be condensed at one continuous part of core.

After this, some other programs and systems were also developed like:-
(i) The resource of processor time is allocated by a program called as scheduler.
(ii) I/O processor is a processor concerned with input/output.
(iii) The files of information are allocated by the file system.
(iv) Time-Sharing is a method of allocating processor time.
(v) The fragmentation technique, provides a large name space and a good protection mechanism.

So, these were main stages involved in the evolution of operating system to make it better for efficient use.

The Model of Computer System, Translators, Loaders and Interpreters:-

(1) TRANSLATORS:-

A translator could be designed to translate programs in the high level language into equivalent programs in the machine language of the actual computer. The Translator is a general term and it denotes any language processor that accepts program in some source language (high or low level) as input and produces functionally equivalent programs in object language (high or low level) as output. There are several specialized types of translators having particular names as:-

(i)Assembler:-

An assembler is a translator whose source language is an assembly language and whose object language is some variety of machine language.

(ii)Compiler:-

A compiler is a translator whose source language is a high level language and whose object language may be some variety of machine language.

(iii) Preprocessor of Macroprocessor:-

It is a type of translator whose source language is an extended form of some high-level language such as C++ or Java and whose object language is the standard form of same language.

(2) LOADERS:-

Loader is a program which accepts the object program, places it into memory and prepares them for execution. It is the purpose of loader to assure that object programs are placed in memory in an executable form. The loader performs the function of allocation, linking, relocation and loading. The general purpose loading scheme for a loader is shown in the figure:-

In a loader, the object program decks are accepted by the loader. The loader accepts them and places them in the memory for execution.

(3)INTERPRETERS:-

An interpreter is a language processor which bridges an execution gap without generating a machine language program. The interpreter is also a type of language translator although many differences exist between translators and interpreters.
link3 In interpreter, due to the absence of target program there is absence of an output interface. Thus the language processing activities of an interpreter cant be separated from its program execution activities. The interpreter does not produces machine code for computer. Instead, the interpreter produces some intermediate form of program that is more easily executable than the original program. However, the program execution is slower in using interpreter.

3 comments: