You are on page 1of 87

ITAB- UNIT - 2

Computer Software
Types of Software
SOFTWARE
Set of programs that govern the computer operation

System Software Application Software


Software that controls internal computer Set of programs to carry out operations for a
operations specified application

Operating system Utilities


(Software which acts as a n (perform house keeping)
interface between user and the
hardware)

Packages
(General Utility software)
Language Processor
(software which converts HLL into
machine language)
Customized software
(Software made according to user’s
need)
Application Software
• Set of programs to carry out operations for a specified application

• Users Application software consists of programs designed to make


users more productive and/or assist them with their personal tasks

• Uses
• To make business activity more efficient
• To assist with graphics and multimedia projects
• To support home, personal,, educational etc tasks
• To facilitate communication
Types of Application software
• Packaged software/Packages: It is mass produced, copyrighted retail
software that meet the needs of variety of users and not just single users
or company. Ex: MS Office

• Custom Software/Customized software: These software perform function


specific to business or company
• Ex: Library management system

• Open source software (OSS) : These software's are distributed with its
source code, making it available for use, modification, and distribution with
its original rights.
Types of Application software
• Shareware: Shareware is commercial software that is distributed free
to users, eventually either requiring or encouraging users to pay for
the continued support of the software. Ex: Winzip

• Freeware: Freeware is copyrighted software that is available at no


cost for unlimited usage. The developer retains all rights to the
program and controls distribution. Users can sometimes purchase
additional services or options. Ex: MSN Messenger, Adobe PDF,
Yahoo Messenger
System Software
• It is a set of one or more programs designed to control the operation and extend
the processing capability of a computer system.

• Following are its functions:

• Supports the development of application s/w

• Supports the execution of application s/w

• Monitors the effective use of various hardware resources such as CPU, memory, peripheral
etc.

• Communicates and control the operation of peripheral devices such as printers, disk,etc
System Software contd…..

Operating System Language processor


• Windows • Assembler
• Linux • Compiler
• Unix • Interpreter
• Macintosh
Operating System
Operating System introduction
• Earlier users interacted with hardware using machine language
• A need for software was there so that it can perform tasks such as
• recognizing input from the keyboard,
• sending output to the display unit,
• keeping track on files, directories on the disk
• Controlling peripheral devices such as printers, scanners. This led to the
evolution of OS
Definition
• OS is a system software that controls the operation of computer
system.
• Os is a program that acts as an intermediary between a user of a
computer and the computer hardware
• Operating system goals:
• Execute user programs and solve user problems easier
• Make the computer system convenient to use
• Use the computer hardware in an efficient manner
Computer System Structure
• Computer system can be divided into four components
• Hardware – provides basic computing resources
• CPU, memory, I/O devices
• Operating system
• Controls and coordinates use of hardware among various
applications and users
• Application programs – define the ways in which the system
resources are used to solve the computing problems of the
users
• Word processors, web browsers, database systems, video games
• Users
• People, machines, other computers
Four Components of a Computer System
Computer Startup
• bootstrap program is loaded at power-up or reboot
• Typically stored in ROM or EPROM, generally known as firmware
• Initializes all aspects of system
• Loads operating system kernel and starts execution
Types of Operating System
• Batch Processing OS: these OS allows only one program to run at a time.

• Multi user: Multiple users are accessing the same data and same application program at the same network.
Used in computer network scenario. UNIX, LINUX

• Multiprogramming: more than one task can be executed concurrently. WINDOWS, UNIX, LINUX

• Multitasking

• RTOS: Respond to an event within a predetermined time. USED ON FLIGHT RESERVATION SYSTEM

• Multi processor: More than one processor dedicated to running processes. UNIX

• Embedded os: os that is self contained in the device. HOUSEHOLD appliances


/Multitasking

P1
5 SEC

/
TIME SLOT- 5SEC

P1 P2 P3 P4 P1 P2
6- 10 3- 5- 1 5-
5 -5 3 5 -1 5
= = = = = =
1 5 0 0 0 0
mULTIPROGRAM
Batch Processing OS

p2 P3, P4
Batch OS
Multiprogramming
Multitasking Os
Multi processor OS
RTOS
FUNCTIONS OF OPERATING SYSTEM
• PROCESS MANAGEMENT
• MEMORY MANAGEMENT
• FILE MANAGEMENT
• DEVICE MANAGEMENT
• SECURITY MANAGEMENT
• USER INTERFACE
Process Management
• A process is an execution of a sequence of instructions or program by the CPU

• A word processor program running on the computer system is a process and this may
cause several other processes to begin like – it can ask for printing the document while
editing it

• Therefore process is initiated by a program to perform an action.

• It needs resources like CPU time, memory allocation and I/O devices to accomplish the
task.

• Process management is completing the process assigned by the system or the user in
such a way that the resources are utilized in proper and efficient manner
Lifecycle of a process
Thread
• It is the task that runs concurrently with other tasks within the same
process

• Ex of single thread is while using word processor user can edit as welll
as take print of it
Multiprogramming
Process scheduling
• Out of several processes which process to be allocated to CPU next is
process scheduling
• Scheduler is the module of OS that perform this function
• Different queues are there:
• Job : as the process enters the system
• Ready : process is ready for executing therefore loaded in the main memory
• Device: when I/O operation is reqd
• Long term scheduler : selects next process to be executed from job
queue and load it into the main meory

• Short term: selects process from ready que and allocate it to the CPU

• Medium : remove the process from the ready queue


Preemptive and non preemptive scheduling

Non-preemptive Preemptive
• When process switches from running • When process switches from running
state to waiting state state to ready state
• When a process terminates • When process switches from waiting
state to ready state
• In this once the processor is allocated
it cannot be taken back untill it is • - the scheduler forcibly remove
complete process from running state before its
completion

• In this OS has control over the current


state of process
DeadLock
• Resource 1( R1)
• Resource 2(R2)

•P1 – R1/P1 is waiting for R2


•P2 - - R2/P2 is waiting for R1
• Deadlock prevention
• Deadlock avoidance
Memory Management
• Os manages primary memory of computer
• It is responsible for allocating processes to main memory and for
loading and storing contents in the main memory
• Relocation : Process loading: OS swaps two process – swapped in and
swapped out
Memory allocation
6kb 6kb 6kb 6kb

19kb 19kb 12KB 19kb

14kb 14kb 14kb 12KB

11kb 11kb 11kb 11kb

24 kb 12KB 24 kb 24 kb

Worst Fit First Fit Best Fit


6kb

12kb

19kb

11kb

24 kb

Best fit
File Management
• File manager is responsible for maintenance of file system
• It helps to organize file in folder or directories and subdirectories
Device Management
• Manages hardware resources
• Provide an interface to hardware for application programs
• Device drivers
Security Management
• Users authentication
User Interface
• Command line interface
• Graphical user interface
Language Processor
• Assembler
• Compiler
• Interpreter
Assembler
• A computer can understand only machine language. So, assembly language programs
must be converted into machine language before it could be executed by the computer
• This translation is done by the program called assembler

• The assembler is a system software supplied by the manufacturer.

• Process of translation ( i.e. from assembly language to machine language) is:-


• Input to the assembler is the assembly language program( also known as source program)

• Output is the Machine language( also known as object program)

• Assembler translates each instruction into equivalent machine languages o there is one to one
correspondence between source program and its object code
TRANSLATION PROCESS OF AN ASSEMBLER

INPUT OUTPUT
Assembly Machine
Language ASSEMBLER Language
Program Program

One to One correspondence


Source Program Object Program
• Start • 101010101
• Enter 2,3 • 10101010101
• Add 2,3 11001000000
0
• Display result interpretor
• 10101000101
• stop 010101010
• 10000000000
0000
• 1010101010
Assembler vs compiler and inter

assembler
• Asseblmy lang machine lang • HLL – Machine lang
• One to one • Compiler – one to many
• Inter one to one
• Java –compiler / interpretor
COMPILER
• A high level language need to be converted to machine language
before it can be executed. This translation is done with the program
called compiler.

• Compiler translates the entire program into the machine code unlike
the assembler which translates instruction by instruction of the
program into the machine code.

• It is one to many correspondence because compiler takes the


program and translate into set of machine language instruction.
TRANSLATION PROCESS OF A COMPILER

INPUT OUTPUT
High Machine
Language COMPILER Language
Program Program

One to Many correspondence


Source Program Object Program
Compiler translates only those source programs which have been written in the
language for which the compiler is meant.

Ex: FORTRAN compiler can translate only those programs which are written in
FORTRAN

Program P1 Machine Code for


written in P1
Compiler for
language L1
Language L1

Program P2 Compiler for Machine code for


written in Language L2 P2
language L2
INTERPRETER
• Interpreter also translates the high level language into machine
language but it translates one instruction into object code and then
other instruction. However compiler translates the entire program
into object code.

• But interpreter executes statement by statement but compiler is not


involved in execution
TRANSLATION PROCESS OF A Interpretor

INPUT OUTPUT
High Machine
Language interpreter Language
Program Program

One to one correspondence


Source Program Object Program
Interpretor translates only those source programs which have been written in the
language for which the compiler is meant.

Ex: FORTRAN interpretor can translate only those programs which are written in
FORTRAN

Program P1 Machine Code for


written in P1
Interpretor for
language L1
Language L1

Program P2 Interpretor for Machine code for


written in Language L2 P2
language L2
Compiler VS Interpretor

Difference Similarity
1. Hll --- machine lang– • HLL PROGRAM Machine lang
interpretor - exceutes program

Correspondence • Sep compiler/sep interpretor for


• One to many – compiler difft lang
• One to one - interpretor
• Java program java interpretor
machine lang
High level Machine Code for
INPUT OUTPUT
language program Interpreter P1
( source program) translates and
executes
statement by
statement
Computer languages
Machine Language
Assembly Language
High level Language
Machine language
• There is only one language which computer can understand is machine language. This language is
written as strings of binary1s and 0s

• Circuitry of computer is wired in such a way that it immediately recognizes the machine language
instructions and converts them into electrical signals needed to execute them

• M/c language has two parts OPCODE and OPERAND


• OPCODE/operation code tells the computer which function is to be performed.

• OPERAND tell the computer where to find the data, instruction that are to be manipulated.

• Set of OPCODE is called instruction set.

OPCODE OPERAND
Machine language contd…….

Advantages Disadvantages
• Programs had to be written using binary codes
1. Machine dependent – which unique to each computer.
means the program will be •
Programmers had to have a detailed
executed at a much faster knowledge of the internal operations of the
rate. specific type of CPU they were using.

Programming was difficult and error-prone

Programs are not portable to other computers.

• Storage location of data is to be known


Assembly language
• Language was introduced in 1952
• Alphanumeric mnemonic codes were used instead of
numeric codes for the instructions in the instruction set.
• EX: ADD instead of 1110, SUB instead 1111

• Storage location is represented in the alphanumeric form


instead of numeric addresses
• EX: 1000, 1001 instead of FRST, SCND etc

• Program written in assembly language is called an


assembly language program
Assembly language contd….

Advantages Disadvantages
• Easy to understand and use • Machine dependent therefore
because it uses symbolic coded knowledge of hardware is
instructions which are easier to important
remember
• Programs are not portable to
• Easy to locate and correct
errors. other computers.
• Programming is simplified as a
programmer does not need to
know the exact storage location
of data and instructions.
HIGH LEVEL LANGUAGES
• Machine lang program and assmb lang program cannot be executed on any computer except the one for which
it is written. They require the programmers to have good knowledge of the internal structure of the computer
being used. Also it is difficult, error prone and time consuming to write programs in machine language or
assembly lang because they deal with machine level coding. Due to these limitation they are referred as LOW
level languages

• High level lang are machine independent that is program can be easily ported and executed on any
computer that has translator software for high level lang

• They do not require programmer to know anything about the internal structure of the computer

• They do not deal with machine level coding. Rather they deal with high level coding enabling the
programmers to write instructions using English words.
High level languages advantages

Advantages Disadvantages
• Are machine-independent programs therefore programs written in a high-level • Less efficient than assembler language programs and require a greater amount of
language do not have to be reprogrammed when a new computer is installed computer time for translation into machine instructions.

• Easy to learn and use than an assembly language as instructions (statements) that
resemble human language or the standard notation of mathematics.

• Fewer errors - Have less-rigid rules, forms, and syntaxes, so the potential for error
is reduced.

• Programmers do not have to learn a new language for each computer they
program.

• Better documentation

• Easy to maintain
FOURTH GENERATION LANGUAGES
• Machine – 1st generation
• Assembly Language – 2nd generation
• High level Language – 3rd generation
• Non Procedural Language – 4th generation

• High level were procedural language that is programmer has to give steps

• Non procedural Languages are those languages in which the programmer


gives the output instead of describing the details how the data should be
manipulated to give that output
Advantages and disadvantages of 4GL

Advantages Disadvantages
• Programs written in 4GLs are generally far
1. Simplified the programming process. less efficient during program execution
that programs in high-level languages.
2. Use nonprocedural languages that Therefore, their use is limited to projects
encourage users and programmers to that do not call for such efficiency.
specify the results they want, while the
computers determines the sequence of
instructions that will accomplish those
results.

3. Use natural languages that impose no


rigid grammatical rules
Windows OS - GUI
• Graphical User Interface or GUI allows the use
of icons or other visual indicators to interact with
electronic devices, rather than using only text via
the command line. Figure below is the example of
GUI.
Windows OS – GUI contd….
• A GUI uses windows, icons, and menus to carry out commands, such
as opening, deleting, and moving files. GUI operating systems are
navigated through the use of a mouse, but the keyboard can also be
utilized.

• Benefits of GUI is we do not need to be memorize the commands.

• Example of GUI OS are:


• Microsoft Windows
• Macintosh
• Ubuntu
Windows OS - Directory
• A directory is a location for
storing files on your computer.
In windows directories are found
in a hierarchical file system.
Directory Path
Key features of Microsoft Windows
• Graphical User Interface which provide an easier and more visually pleasing way to use
• It allows a computer user to have more than one program or process operating simultaneously in various
"windows" on the computer screen
• Peer-to-peer networking support, Internet support and dial-up networking capabilities.
• Remote media streaming, and touch screen functionality
• Plug and play software’s which allowed users to insert diskettes (and install into their computer more easily
• The desktop features Snap, a new way to organize, order and size the windows on your desktop so that they are
easier to read and compare.
• It also features a new tool call Jump Lists, which makes accessing your most used media and programs easier
• Windows features "Sleep" and "Resume" functionality.
• The search system has been made quicker and easier to navigate.
• Memory usage has also been optimized to ensure faster and more reliable performance.
• Windows has also been redesigned for better power management through the reduction of background
activities, less power-hungry media drives, automatic screen dimming and the intelligent and automated
removal of power to unnecessary accessory ports.
Database Concepts
• DATABASE: is a collection of related data

• DATA: facts that can be recorded and that has some implicit meaning.

• Ex: Contact list of your phone…


• You store – Names, phone_num, email_add etc.

• This is collection of related data with an implicit meaning…….


DATABASE HAS SOME IMPLICIT PROPERTIES
1. It represents some aspects of real world.
Your address book is your miniworld or UNIVERSE OF DISCLOSURE.
Changes in the miniworld will be reflected in the database.
Ex: change in the telephone number of your friend will be reflected in
your address book

2. Database is logically coherent collection of data


with some inherent meaning.
A random assortment of data cannot be referred to DB
RBI having data from -----FMCG, Manufacturing, Bank
RBI having data from -----SBI, ICICI, HDFC ---- WILL CONSTITUTE A
COHERENT COLLECTION OF DATA
DBMS
• Is a collection of programs that enables users to create and maintain a DB

• DBMS is a collection of interrelated data and a set of programs to access


those data.

• PRIMARY GOAL Of DBMS is to provide a way to store and retrieve


database information that is convenient and efficient.

• DBMS is a general purpose software system that facilitates the process of


defining , constructing and manipulating DBs for various application
1. Defining
2. Constructing
3. Manipulating
4. Safety
Defining
• Database involves specifying
• Datatypes
• Constraints- Unique/ Not null

• For the DATA TO BE STORED IN THE DATABASE

• Student
• Eno/Name/DOB/Address/Phone/Marks
• Number/Text/Date/Alphanumeric/Number/numbr
• Eno- numeric
• Name –char
• ---------------------------------------------------------
Students
Enrollme Sname Smarks Address Course DOB
nt no Enrolled

123 AARTI 80 MUMBAI BBA 10-10-20


00

124 ABC 70 DELHI MBA 10-11-20


00
Constructing
• DATABASE is the process of STORING the data itself on some storage
medium that is controlled by the DBMS

• Eno Name Address


•1 Radha Bangalore
•2 Ram Delhi
Manipulating
• A database includes a functions such as querying the DB to RETRIEVE
SPECIFIC DATA, UPDATING THE DATABASE to reflect changes in the
mini world.
Database system environment

Users / Programmers

Database
System
Application program / queries

DBMS Software to process


Software queries / programs

Software to access
stored data

Stored database
definition Stored database
( meta data)

You might also like