Chapter 16: SOFTWARE CONCEPTS
Software is the instructions or programs that makes the computer work.
TYPES OF SOFTWARE
Software is classified into two categories.
1)System software
A) Operating system
B) Language translators
C) Utility software
2) Application software
A) General purpose
B) Specific purpose
System software
System software is a collection of system programs to perform common tasks.
The different types are
1) Operating system
2) Language translators
3) Utilities
1)Operating system
An operating system is a set of programs which acts as an interface between the
user and the computer.
Examples of operating systems are Unix , Linux, MS-DOS, Microsoft Windows.
Computer languages
A computer language can be classified in the following categories.
[Link] level language
These instructions are represented by a sequence of 1’s and 0’s.
Example :- 0001 00110010 Load the data
Advantages
It can be directly executed.
It is the fastest because it requires no translation.
Disadvantages
Coding is difficult as the instructions are in 1’s and 0’s.
It is machine dependent.
Debugging is difficult.
It is difficult to modify.
[Link] language
A low level programming language that allows a user to write programs using letters
and symbols which are more easily remembered. The symbolic instruction codes of machine
language are referred to as mnemonics.
Example :- ADD for addition, SUB for subtraction
Advantages
It is easier to remember, understand and write the code.
It is easier to modify and debug.
Disadvantages
It is machine dependent.
It takes longer to code.
[Link] level languages
High level programming languages are English like languages and are machine independent.
Different high languages are BASIC, PASCAL, C, COBOL, FORTRAN, C++, JAVA etc.
Advantages
It is machine independent.
It is easy to learn, understand and write.
It is easy to modify and debug.
Disadvantages
Slower in execution.
Requires a translator or compiler to convert source code to object code.
Requires more memory.
[Link] Translators
Language translators perform the translation of high level languages or assembly
language into machine language. In addition they check for some types of errors that may be
present in the program being translated.
There are three types of translator programs:
1. Assemblers
2. Compilers
3. Interpreters
Assembler
Assembler is a software, which translates a program written in assembly language in to its
equivalent in machine language.
Compilers
Compiler is a translator that translates the program written in a high language to its equivalent
machine language code of the computer.
Interpreters
Interpreter is a language processor that translates a statement of a high-level language and
immediately executes it before translating the next source language statement.
3) Utilities
Utilities are the programs that assist the computer by performing useful functions like scanning
viruses, backing up disk etc. Utility software are generally called as Application Oriented ready-made
system programs.
Some of the important utilities are Text Editor, Backup Utility, Antivirus software etc.
Linkers and Loaders
A linker is a system software which links the modules or program segments
together so that they can be executed properly.
Once an executable program is generated it has to be loaded into the main memory
of the computer execution. This operation is performed by system software called as the loader.
Application software
A Software that has been written to process a task. It is generally written in high level languages.
It is classified into two types - General purpose and specific purpose. Examples of general purpose
software are - Microsoft Word, Excel etc.
Examples of specific purpose software are – payroll, fees collection etc.
Functions of operating systems
The functions of the operating system are
Memory management
Process management
Device management
File management
User interface or Command interpreter
Memory management
The four functions of memory management are
Keeping track of memory status
Allocation
De allocation
Re-allocate memory to a program when a used block is freed
Process management
The functions are
Control access to shared resources like file, memory, I/O and CPU
Control execution of applications
Create, execute and delete a process
Cancel or resume a process
Schedule a process
Device management
The device management functions are
Open, close and write device drivers
Communicate, control and monitor the device driver
File Management
It's main functions are
Create and delete both files and directories
Provide access to files
Allocate space for files
Keep back-up of files
Secure files
User interface or Command interpreter
The user interface is a set of commands or a graphical user interface using which the
user interacts with the applications and the hardware.
Types of operating systems
The different types of operating systems are
1. Single user operating systems
2. Batch operating systems
3. Multiprogramming operating systems
4. Multitasking operating systems
5. Multiuser operating systems
6. Online operating systems
[Link] time systems
8. Distributed operating systems
9. Network operating systems
[Link] models
1) Single user operating system
It allows only one user to share the system resources including the CPU. DOS and Windows-
95, Windows-98 etc. are examples for such systems.
2) Batch operating systems
To speed up the processing, similar jobs were grouped together in the form of
batches and the user would run each batch. Payroll, forecasting, statistical analysis etc. are examples
for this.
3) Multiprogramming operating systems
Multiprogramming is the capability of CPU to execute two or more programs
concurrently.
4) Multitasking operating systems
This helps to execute many tasks at a time. For example, Windows operating system
supports editing, printing etc.
5) Multi-user/time sharing operating system
In this a number of users can work on the same computer at the same time. Only a
little CPU time is allotted for each user.
6) Online system
There are some situations where users need to get the result immediately after the
submission of the input. For example, ATM transactions.
7) Real-time systems
It processes the input data individually and generates the results with high speed. Overall
processing time is very less. It is generally used in satellite launching, flight control etc.
8) Distributed operating systems
Data and applications are distributed among many system. It avoids the flooding of data to a
central [Link] (Automatic Teller Machine) centers of a bank is an example of application of
distributed operating systems.
9) Network operating systems
An operating system oriented to computer networking, to allow shared file and printer
access among multiple computers in a [Link] systems based on Microsoft Windows NT
technology, UNIX etc. are examples.
10)Multithreaded operating systems
A thread is a lightweight process and is a basic unit of CPU utilization. A program or process
may have many threads which share the same code section, data section, and other OS resources.
Sun Solaris, Windows 2000, Multithreaded UNIX and Linux are examples for such systems.
Some of the Desktop Operating systems’ features are listed below
[Link] Operating System (DOS)
DOS is a single user operating system. It was developed by Bill Gates and Paul Allen in 1980 for IBM
PCs.
Features
Single user operating system.
File management.
Directory management.
Allocation and deallocation of memory space for the process to be executed.
Command interpreter interprets commands and executes DOS functions, utility programs or
application programs.
[Link] OS
Unix was developed by Dennis Ritchie and Ken Thompson.
Features
Hierarchical directory structure.
Portability.
Multi user.
Multitasking.
Security.
Machine independent.
[Link] OS
Linux was developed by Linus Torvalds. It is a free download from [Link].
Features
Downloaded from the internet free of cost.
Portability.
Multi user.
Multitasking.
Security.
Graphical user interface.
[Link] 7
Windows 7 is the client version of Windows, developed by Microsoft.
Features
Graphical user interface.
Sharing of files and folders.
Better support for multimedia.
Provides high security.
Multitasking.
Multiuser.
Switching between applications are easy.
Easy installation.
Chapter 7: ARRAYS
Array
An array is an ordered collection of elements of same data type and same name.
Index
Subscript/index indicates the position of the element in the array.
The method of numbering the i th element with index i-1 is called zero based indexing.
Types Of Arrays
There are three types of arrays.
1) One-dimensional array
A collection of elements, all of the same type and name, structured in one dimension.
2) Two-dimensional array
A collection of elements, all of the same type and name, structured in two dimensions.
3) Multi-dimensional array
A collection of elements, all of the same type and name, structured in N dimensions
1)One-dimensional array
Syntax:
datatype arrayname[size];
Example
int marks[80];
Initialization of one dimensional array
Example 1 :
int a[5]={9,1,6,2,8};
Example 2
float weight[5]={1.5,2.8,2.5};
C++ program to read the elements into the array and printing the elements using 1d
array
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
int a[100],i,n;
clrscr();
cout<<“Enter the number of elements ”;
cin>>n;
cout<<“Enter the elements ”;
for(i=0;i<n;i++)
cin>>a[i];
cout<<“The elements are ”;
for(i=0;i<n;i++)
cout<<a[i];
getch();
}
2) 2D array
Syntax:
datatype arrayname[row-size] [column-size];
Example
int A[8][2];
Initialization of TWO dimensional array
Example 1
int a[2][3]={10,9,1,6,2,8};
Array ‘a’ contains 2 rows and 3 columns.
a[0][0]=10 a[0][1]=9 a[0][2]=1
a[1][0]=6 a[1][1]=2 a[1][2]=8
Example 2
int a[2][3]={
{4,9},
{1}
};
Array ‘a’ contains 2 rows and 3 columns. We initialize the first two elements to the
first row, the next element to the second row. The remaining elements are automatically set to
zero.
a[0][0]=4 a[0][1]=9 a[0][2]=0
a[1][0]=1 a[1][1]=0 a[1][2]=0
3) Multi-dimensional array
Syntax:
datatype arrayname[s1][s2] ……..[sn];