You are on page 1of 7

v

h
g
i
n
k
t
l
u
c
ti
p
a
s
m
o
f
r
e
S
C
P
I PUC Computer Science

Chapter 4: SOFTWARE CONCEPTS

ft
l
ti
L
&
k
d
a
e
s
p
r
u
i
n
S
U
P
m
s
c
o
e
r
a
w
ft
P
S
t
y

SYSTEM SOFTWARE:
Software Concepts

task on the computer. There are two types of Software:

a
g
u
e
m
p
o
ti
l
r
n
c
i
O
L
A
G
S
t
s
y
P
fi
o
w
1. System Software
2. Application Software
Pavan Kumar K V

SOFTWARE: Software is a set of programs and related data to perform some data processing

System software is a collection of system programs that control internal operations of


a computer. It is used to support execution of application software, control and manage resources.
Programming languages like Assembly Language, C, and Pascal are used to develop system
software.
There are three types of System Software:
1. Operating System
2. Language Processors/Translators
3. Utilities

Operating System
An operating system is a set of programs which acts as an interface between user and
the computer hardware. It is the core software component of a computer system, which manages
the hardware and application softwares. The user communicates with the computer resources such
as printer, memory and input/output devices through Operating system.
Example: Microsoft Windows, Unix, Linux, Android, iOS etc

Functions of the Operating System: The main functions of an operating system are
1. Process Management
a. Control access of shared resources like file, memory, CPU etc.
b. Schedule processes
c. Control execution of applications
d. Create, execute, abort or resume a process
e. Synchronization and deadlock handling for processes
You can reach me at, Mobile: 90082 10893, 96861 10893 E-mail: pavan.writes@gmail.com Page 1 of 7
I PUC Computer Science Software Concepts Pavan Kumar K V
2. Memory Management
a. Keeps track of the memory
b. Allocate memory on request
c. Free memory on completion of a process
d. Re-allocation of freed memory
3. Device Management
a. Manage data representation for various I/O devices
b. Provide an interface between hardware devices and application programs
c. Managing buffer space for I/O devices
4. File Management
a. Create and delete files and directories
b. Provide access to files
c. Allocate space for files
d. Keep back-up of files
e. Secure file
5. Protection and Security
a. Protection against illegal access through user authentication
b. File encryption and decryption
6. User Interface Management
a. Provide an easy interface to use computer
b. Interface may be CUI or GUI via which user interacts with applications and hardware

Types of Operating System: Operating Systems are categorized based on the types of computer
they control and the sort of applications they support. Major types of Oss are
 Real-Time Operating System  Multi-Threaded Operating System
 Single-User Operating System  Time Sharing Operating System
 Multi-User Operating System  Distributed Operating System
 Single-Tasking Operating System  Network Operating System
 Multi-Tasking Operating System  Mobile Operating System

Real-Time Operating System: Real Time systems are used in environments where large
volumes of data must be accepted and processed in a very short time or within certain
deadlines. The primary objective of real-time systems is to provide quick event response
time.
Example: Lynx OS, Windows CE

Single-User Operating System: A single-user Operating System is designed for one user to
effectively use a computer at a time. It is the most common type of Operating System used in
personal computers.
Example: Windows 95/2000

Multi-User Operating System: Multi-User Operating System allows many users to use
computer’s resources simultaneously. This Operating System makes sure that the
requirements of the various users are balanced.
Example: UNIX

You can reach me at, Mobile: 90082 10893, 96861 10893 E-mail: pavan.writes@gmail.com Page 2 of 7
I PUC Computer Science Software Concepts Pavan Kumar K V
Single-Tasking Operating System: This type of Operating System allows only a single
program to run at a time.
Example: Palm OS

Multi-Tasking Operating System: This category of Operating Systems allows the execution
of multiple tasks simultaneously. Here, several programs may be simultaneously loaded and
used in the memory. The Operating System is capable of switching between various
programs effectively.
Example: Microsoft’s Windows, Apple’s Mac OS

Multi-Threaded Operating System: A thread is a tiny process or a light weight process. A


process may have many threads which share the same code section, data section and other
resources. A multithreaded operating system executes multiple threads of a process
simultaneously.
Example: Sun Solaris, Linux

Time Sharing Operating System: Time sharing systems provide equitable sharing of
common resources among multiple users. Time sharing refers to the allocation of computer
resources in time slots to several programs simultaneously.
Example: UNIX

Distributed Operating System: A distributed operating system is a collection of


autonomous computer systems capable of communication and cooperation via their
software and hardware interconnections. A distributed Operating System manages a group
of computers and makes them appear to be a single computer.
Example: Cambridge Distributed Computing System

Network Operating System: A network Operating System is a collection of software and


associated protocols that allow a set of autonomous computers which are interconnected by
a computer network.
Example: Cisco IOS

Mobile Operating System: A Mobile Operating System is an Operating System that operates
on Smart Phones, Tablets and Digital Mobile devices. Most mobile Operating Systems has
built-in support for wireless communication, different types of mobile applications &
multimedia formats.
Example: Android, Symbian

User Interface: The operating system provides a user interface to interact with the computer.
There are two types of user interface: Character User Interface and Graphical User Interface.

Character User Interface (CUI): CUI interface allows user to interact with a computer
through a terminal or command prompt. The commands must be given at the command
prompt to specify a task for the computer. Example: DOS, UNIX

You can reach me at, Mobile: 90082 10893, 96861 10893 E-mail: pavan.writes@gmail.com Page 3 of 7
I PUC Computer Science Software Concepts Pavan Kumar K V
Graphical User Interface (GUI): In GUI interface, commands are selected from menus and
icons rather than typing them from the keyboard. It allows the user to click on the required
option with the help of a mouse. Example: Windows, Linux

CUI GUI

User must type commands at User must click on icons, menus, dialog boxes
command prompt to interact with the etc. to interact with the computer
computer

User must remember the commands User need not remember any commands as it is
and their parameters available in the form of menus and icons

Mouse operations are not possible Mouse or any other pointing device is required
to select options

Commonly Used Operating Systems


Disk Operating System (DOS): DOS is a single user Operating System developed by Bill Gates and
Paul Allen in 1980 for IBM PCs. Features of DOS are:
 File management
 Directory management
 Memory management
 Command interpreter to interpret command and execute DOS functions

UNIX Operating System: UNIX was developed by Dennis Ritchie and Ken Thompson in 1985 by
Sun Micro Systems. It was the first operating system to be written in a high level programming
language, namely C. Features of UNIX are:
 Hierarchical file organization
 Portability
 Multi-User and Multi-Tasking support
 Machine Independent

Linux Operating System: Linux is an open source OS created by Linus Torvalds. It was primarily
designed for PC but now it is also available for a wide range of other systems. It is a clone of UNIX.
The famous mobile Operating System Android is also based on Linux. Features of Linux are:
 Facilitates Kernel programming
 Open Source Operating System
 Machine Independent
 Multi-User, Multi-Tasking support
 UNIX compatibility and portability

Solaris Operating System: It is a UNIX based free Operating System developed by Sun
Microsystems in 1992. Features of Solaris Operating System are:
 Support for wireless communication
 Software packaging
 Server virtualization
 Better user interface for internet, multimedia and office suite
You can reach me at, Mobile: 90082 10893, 96861 10893 E-mail: pavan.writes@gmail.com Page 4 of 7
I PUC Computer Science Software Concepts Pavan Kumar K V

Windows Operating System: Microsoft Windows is a series of GUI Operating Systems developed
and maintained by Microsoft. The most recent version of windows is Windows 10. Features of
Microsoft Windows are:
 Better file and directory management
 Sharing of resources among several users
 Automatic disk defragmentation
 Bundled web browser and several other tools
 Energy management by hibernation
 Support for wireless communication and multimedia
 Better security support
 Ease of access and Simple User Interface

Language Processor/Language Translators


Programming Language/Computer Language:
A programming language is a set of rules called syntax which the user has to follow, to
instruct the computer what it has to do. They are the medium used by one to communicate
instruction to a computer.
Computer languages are classified as follows:
(a) Low level languages
(i) Machine language
(ii) Assembly language
(b)High level languages
(i) General purpose high level language
(ii) Specific purpose high level language

Machine language:
Machine language is a low level programming language that can be directly understood
and executed by a computer without conversion. Machine languages consist of strings of 1s and
0s that instruct computers to perform a particular task.
Example: 0001 00110010 : Load the data
0000 00000000 : Stop
Advantages:
 It can be directly typed and executed, and no compilation is required.
 They are fastest than any other languages.
Disadvantages:
 It is very difficult to write and understand machine language programs.
 They are machine dependent
 It is difficult to program, modify and debug errors

Assembly language:
Assembly language is a symbolic language in which mnemonics (assembly codes) are
used to write software programs. The programs written in assembly language have to be
translated to machine code to execute on the computer.
Example: ADD for addition
MUL for multiplication
You can reach me at, Mobile: 90082 10893, 96861 10893 E-mail: pavan.writes@gmail.com Page 5 of 7
I PUC Computer Science Software Concepts Pavan Kumar K V
STA for Store To Accumulator
HALT to halt the system
Advantages:
 Assembly codes are easy to remember than binary numbers.
 It is easy to write, understand and modify assembly programs.
Disadvantages:
 Assembly language programs take more time to execute.
 They are machine dependent.

High level languages:


High level languages are machine independent and English-like languages used for
writing software programs. High level languages are classified into two categories:
1. General Purpose Languages: Languages used to solve wide range of problems.
Example: BASIC, C, C++, Java etc.
2. Specific Purpose Languages: Languages used to solve only certain types of problems.
Example: COBOL, FORTRAN etc.
Advantages:
 They are machine independent.
 They are easy to learn, understand and write programs.
 Easy to debug programs
 Programmer doesn’t require internal structure of computer
Disadvantages:
 Slower in execution.
 Requires a translator to convert into machine code.
 Requires more memory.

Language Translators: Language Translators are the system software’s used to translate
a program from high level language or assembly language to machine language. There are
three types of language translators:
- Assembler
- Compiler
- Interpreter
Assembler: Assembler is a language translator which translates a program from Assembly
language to machine language. Assembler is of two types: Resident/Self Assembler and
Cross Assembler.
Example: TASM(Turbo Assembler), as(Unix Assembler)
Functions of Assembler:
 Replaces mnemonic codes by machine codes
 Replaces symbolic addresses by numeric addresses
 Determines machine representation for constants

Interpreter: Interpreter is a language translator that translates an instruction of a high


level language program and immediately executes it before translating the next instruction.
If there is any error at any instruction, it reports at the same time and program execution
cannot continue until the error is rectified.
Example: Java Interpreter
You can reach me at, Mobile: 90082 10893, 96861 10893 E-mail: pavan.writes@gmail.com Page 6 of 7
I PUC Computer Science Software Concepts Pavan Kumar K V
Functions of Interpreter:
 Translates one instruction at a time
 Check for errors in each instruction before translation
 Does not produce object code

Compiler: Compiler is a language translator which translates a program from High level
language to Machine language. For each high level language, the machine requires a
separate compiler. A compiler checks whole program for errors and translates whole
program at once if it is free from errors.
Example: gcc(GNU C Compiler), Turbo C++
Functions of Interpreter:
 Converts the whole program and create object code
 Checks every instruction in source code for syntax errors
 Report the errors, if any

Utilities
Utilities are the system software’s that assist the computer by performing useful
functions. They are designed to help in the management of hardware and application softwares.
They are also called service programs.
Example: Text Editor, Disk Defragmenter, Anti-Virus, Back-up software etc.

Linker and Loader


Linker is the system software which links the modules or program segments together so
that they can be executed properly with proper reference.
Loader is the system software which accepts the object program produced by the
compiler or assembler, and prepares these programs for execution.

APPLICATION SOFTWARE:
Application software is a computer software designed to help the user to perform a
particular task or a set of tasks. They are usually written in high-level languages. Application
software is of two types:
1. General Purpose Application Software
2. Specific Purpose Application Software

General Purpose Application Software: This category of application softwares allow people to do
simple computer tasks. It provides most f the features that the majority of users want.
Example: Word Processor, Presentation Tool, DBMS etc.

Specific Purpose Application Software: Specific purpose application softwares are created to
execute a specific task. These softwares target a very narrow solution to a specific problem.
Example: HRMS, School Management System, Weather Forecasting System etc.

You can reach me at, Mobile: 90082 10893, 96861 10893 E-mail: pavan.writes@gmail.com Page 7 of 7

You might also like