1. SOFTWARE
Software is a set of instructions, data or programs used to
operate computers and execute specific tasks.
Software instructions tells a computer what to do.
3. SYSTEM SOFTWARE
Operating System: manages all the resources such as memory, CPU, printer, hard disk, etc., and
provides an interface to the user, which helps the user to interact with the computer system.
Examples of operating systems are Linux, Apple macOS, Microsoft Windows, etc.
Language Processor: converts programs written in high-level programming languages like Java, C,
C++, Python, etc (known as source code), into sets of instructions that are easily readable by
machines(known as object code or machine code).
Device Driver: A device driver is a program or software that controls a device and helps that device
to perform its functions. Every device like a printer, mouse, modem, etc. needs a driver to
connect with the computer system eternally.
4. SYSTEM SOFTWARE
System software is computer software designed
• to operate and control the computer hardware
• to provide a platform for running application software.
5. SYSTEM SOFTWARE
System software consists of a variety of programs that
support the operation of a computer
• Assembler
• Linker
• Loader
• Macro processor
• Text editor
• Debugger
• File System
• Database
6. SYSTEM SOFTWARE
The role of Systems Software –interface
between users, application software and
hardware
7. APPLICATION SOFTWARE
• Application software, also known as an application.
• Application is computer software designed to help the user to
perform specific tasks.
• Examples include enterprise software, accounting
software, and graphics software and media players.
8. Difference between System Software and
Application Software
System Software Application Software
System software consists of a
variety of programs that support the
operation of a computer. for example
operating system, assembler, loader,
linker, and microprocessor and text
editor.
Application software is a set of one
or more programs, designed to solve
a specific problem. for example
employee management system,
bank management system, and
media player.
System software
is system dependent
application software is not
a system dependent
system software works directly with
the hardware
application software works directly
with the system software.
system software are written in
machine or assembly languages.
variety of programming languages
can be used to write application
software, such as C , Java and .NET
9. Types of System Software
Compiler
Assembler
Linker
Loader
Macro processor
Text editor
Debugger
File System
Database
10. Compiler
The compiler is software program that converts a program written in a high-
level language (Source Language like C, C++, Java) to low-level language
(Machine Language).
11. COMPILER TYPES
Cross Compiler: that runs on a machine ‘A’ and produces a code for another
machine ‘B’.
It is capable of creating code for a platform other than the one on which the
compiler is running.
Source-to-source Compiler or transcompiler or transpiler: is a compiler that
translates source code written in one programming language into the source
code of another programming language.
12. COMPILER TYPES
Incremental Compilers: is a compiler, which executes the
recompilation of only a changed source instead of compiling the
complete source code.
Single-Pass Compiler: Single pass compiler reads the code only
once and then translates it. The one-pass compiler passes only once
through the parts of each compilation unit.
Multi-Pass Compiler: A multi-pass compiler can process the source
code of a program multiple times.
• In the first pass, the compiler can read the source code, scan it, extract the
tokens and save the result in an output file.
• In the second pass, the compiler can read the output file produced by the first
pass, produces machine code.
14. Data Structures
Pass 1 Pass 2
Intermediate file Object program
Source program
OPTAB
SYMTAB
LOCCTR
• Operation Code Table (OPTAB)
• Symbol Table (SYMTAB)
• Location Counter (LOCCTR)
15. Load-and-Go Assembler
• Load-and-go assembler generates their object code in
memory for immediate execution.
• No object program is written out, no loader is needed.
19. 200 Prog A
201 A=10
202 B=20
203 C=[201]+[202]
204 End
LOADER
200
201
202
203
204
205
206
207
208
209
210 Prog A
211 A=10
212 B=20
213 c=[201]+[202]
214 End
215
Secondary memory
Main memory
20. Reason for Program Relocation
• To increase the efficiency of the machine
• Want to load and run several programs at the same time
(multiprogramming)
• Must be able to load programs into memory wherever there is
room
• Actual starting address of the program is not known until load time
21. Processes to Run an Object Program
• Loading
– Brings object program into memory
• Relocation
– Modifies the object program where
absolute addresses are specified
• Linking
– Combines two or more separate
object programs and supplies
information needed to allow cross-
references.
Absolute loader
Loader
Linking loader
Linker
26. Text editor
A text editor is a type of program used for editing plain text files.
Editors or text editors are software programs that enable the user to create
and edit text files.
Windows: Notepad, WordPad
UNIX OS: vi, emacs, Jed, Pico
27. Text editor
Types of Editors
Line editor: you can only edit one line at a time or an integral number of lines.
Ex : Teleprinter, edlin, teco
Stream editors: the file is treated as continuous flow or sequence of characters
instead of line numbers, which means here you can type paragraphs.
Ex : Sed editor in UNIX
Screen editors: the user is able to see the cursor on the screen and can make
a copy, cut, paste operation easily. It is very easy to use mouse pointer.
Ex : vi, emacs, Notepad
Word Processor: it allows one to use some format to insert images, files,
videos, use font, size, style features.
Structure Editor: Structure editor focuses on programming languages. It
provides features to write and edit source code.
Ex : Turbo C, Netbeans IDE
28. Debugger
A debugger or debugging tool is a computer
program that is used to test and debug other programs.
• Break points
• Watch window
29. Previous Year Questions
5. The language which a computer can understand is
a. high level language b. assembly language
c. machine language d. all of the above
30. Previous Year Questions
5. The language which a computer can understand is
a. high level language b. assembly language
c. machine language d. all of the above
31. Previous Year Questions
11. A linker
a. is a software programme
b. combines part of a programme
c. is a programme used to load monitor into main memory
d. Both (a) and (b)
32. Previous Year Questions
11. A linker
a. is a software programme
b. combines part of a programme
c. is a programme used to load monitor into main memory
d. Both (a) and (b)
33. Previous Year Questions
15. An assembler in a computer system prepares
a. machine-language programme from a symbolic language
programme
b. object programme
c. assembles computer instructions and data in the machine
d. None of these
34. Previous Year Questions
15. An assembler in a computer system prepares
a. machine-language programme from a symbolic language
programme
b. object programme
c. assembles computer instructions and data in the machine
d. None of these
35. Previous Year Questions
20. Which one of the following is not system software
a. MS DOS b. UNIX C. Windows d. JAVA
36. Previous Year Questions
20. Which one of the following is not system software
a. MS DOS b. UNIX C. Windows d. JAVA
37. Previous Year Questions
67 An 'Assembler' for microprocessor is used for
a. assembly of processors in a production line
b. creation of new programs using different modules
c. translation of a program from assembly language to machine
language
d. Translation of a higher-level language into English text.
38. Previous Year Questions
67 An 'Assembler' for microprocessor is used for
a. assembly of processors in a production line
b. creation of new programs using different modules
c. translation of a program from assembly language to machine
language
d. Translation of a higher-level language into English text.