Itab-Unit - 2: Computer Software
Itab-Unit - 2: Computer Software
Itab-Unit - 2: Computer Software
Computer Software
Types of Software
SOFTWARE
Set of programs that govern the computer operation
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
• 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
• 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
• 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…..
• 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
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
• 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
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
24 kb 12KB 24 kb 24 kb
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
• 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
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.
INPUT OUTPUT
High Machine
Language COMPILER Language
Program Program
Ex: FORTRAN compiler can translate only those programs which are written in
FORTRAN
INPUT OUTPUT
High Machine
Language interpreter Language
Program Program
Ex: FORTRAN interpretor can translate only those programs which are written in
FORTRAN
Difference Similarity
1. Hll --- machine lang– • HLL PROGRAM Machine lang
interpretor - exceutes program
• 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
• OPERAND tell the computer where to find the data, instruction that are to be manipulated.
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.
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
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.
• DATA: facts that can be recorded and that has some implicit meaning.
• 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
Users / Programmers
Database
System
Application program / queries
Software to access
stored data
Stored database
definition Stored database
( meta data)