0% found this document useful (0 votes)
8 views5 pages

Chapter 4 Software

Chapter 4 discusses various types of software, including system software that manages hardware and application software that allows users to perform tasks. It covers the functions of operating systems, utility software, device drivers, programming languages, and translators, highlighting their roles in software development and execution. Additionally, the chapter explains interrupts and their operation in managing events requiring immediate attention from the processor.

Uploaded by

shriniketbs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views5 pages

Chapter 4 Software

Chapter 4 discusses various types of software, including system software that manages hardware and application software that allows users to perform tasks. It covers the functions of operating systems, utility software, device drivers, programming languages, and translators, highlighting their roles in software development and execution. Additionally, the chapter explains interrupts and their operation in managing events requiring immediate attention from the processor.

Uploaded by

shriniketbs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Chapter 4: Software

4.1 Types of Software and Interrupts

4.1.1 System Software vs Application Software

 Software: The set of instructions that tells a computer how to perform specific tasks.

 Two main types:

System Software

 Controls and manages hardware operations.

 Includes the operating system, device drivers, and utility programs.

 Provides a base for running application software.

Application Software

 Enables users to carry out real-world tasks.

 Examples: word processors, spreadsheets, multimedia editors, games,


database software, control and measuring software, graphics/photo/video
editors, web browsers, and apps.

System Software Examples

Component Main Roles

Operating System Manages computer hardware and software resources.

Utility Program Performs maintenance, security, or troubleshooting tasks.

Device Driver Allows OS to communicate with hardware devices.

Application Software Examples

Type Functions & Examples

Spreadsheets Organize and manipulate numerical data; formulas, modeling, graphs.

Databases Storage, retrieval, and manipulation of structured data.

Control/Measuring Interfaces with sensors/actuators for physical process management.

Graphics/Photo/Video Edit images, graphics, or videos (e.g., Photoshop, Illustrator).


Type Functions & Examples

Web Browsers Access and view web pages (e.g., Chrome, Firefox).

Apps Downloadable software on mobile devices; gaming, tools, banking, etc.

4.1.2 Operating Systems (OS)

 Definition: Software that manages all other programs in a computer.

 Major functions:

o Provide a user interface (GUI or CLI)

o Manage hardware and software resources

o Facilitate file, memory, and process management

o Handle multi-tasking and multi-user capabilities

o Provide security (user accounts, authentication)

o Handle error detection and interrupt processing

o Manage device drivers

User Interface Types

Interface Features

Graphical (GUI) Uses windows, icons, menus, pointers; user-friendly.

Command Line (CLI) Text-based; requires typed commands; powerful for experts.

4.1.3 Utility Software

 Performs optimization, maintenance, and security tasks.

 Common utilities:

o Virus Scanners: Detect and remove malicious software.

o Back-up Software: Create copies of files as a safeguard.

o Disk Defragmenters: Reorganize disk to improve performance.

o File Management Tools: Copy, move, delete, organize files.

o Data Compression: Reduce file sizes.

o Encryption Tools: Secure files via encoding.

o System Cleaners: Remove unnecessary files, fix registry.

4.1.4 Device Drivers

 Specialized system software that enables OS and software to communicate with hardware.
 Each hardware device (printer, graphics card) needs its own driver.

 Drivers translate generic OS commands into device-specific instructions.

4.2 Types of Programming Languages and Translators

4.2.1 Programming Languages

High-Level Languages

 Closer to human language; easier for programmers (e.g., Python, Java, C++).

 Features:

o Easier to read, write, and maintain.

o Portable (can run on multiple systems).

o Requires a translator (compiler or interpreter).

Low-Level Languages

 Closer to machine code; includes machine code and assembly language.

 Features:

o More control over hardware and memory management.

o Assembly language uses mnemonics and labels (e.g., LDA, ADD, STA).

Feature High-Level Languages Low-Level Languages

Level of abstraction High Low

Portability High Low (hardware dependent)

Ease of programming Easier More difficult

Execution speed Slower Faster (optimized)

4.2.2 Translators

 Convert high-level (or assembly) source code into machine code.

Types of Translators

Translator Description

Compilers Translate the entire program into machine code in one go, creating an executable file.

Interpreters Translate and execute code line-by-line, no separate executable produced.

Assemblers Convert assembly language into machine code.


Compiler vs. Interpreter:

o Compiler translates whole program and checks for errors before execution.

o Interpreter executes and translates each line in real-time, stops at first error.

Feature Compiler Interpreter

Speed of execution Faster Slower

Error checking All errors after compiling Stops at the first error

Output Standalone executable file No separate file; source code needed

Distribution Only machine/executable needed Source code and interpreter needed

Advantages/Disadvantages of Each

Compiler Interpreter

Pros Fast execution, single distribution file Easy debugging, platform independence

Cons Harder to debug, platform dependent Slower execution, need source code for running

4.3 Integrated Development Environments (IDEs)

 Definition: Software providing facilities to programmers for software development.

 Main features:

o Source code editor (syntax highlighting, auto-completion)

o Build automation tools and debugging tools

o Compiler and/or interpreter integration

o Error detection and reporting

o Version control

o Project/file management

4.4 The Role and Operation of Interrupts

 Interrupt: A signal to the processor indicating an event that needs immediate attention.

 Sources:

o Hardware (e.g., keyboard input, printer error, timer)

o Software (error, system request, application-specific triggers)

How Interrupts Work


1. Current process is paused.

2. CPU saves its state (current values in registers).

3. Interrupt service routine (ISR) is executed to handle the event.

4. CPU restores the previous state and resumes the original process.

 Example: Pressing a key during a long computation interrupts the program so the OS can
process the input.

4.5 Summary Table of Key Terms

Term Definition

System Software Software managing/controlling hardware, e.g., OS, drivers, utilities

Application Software Software for user tasks, e.g., word processors, browsers

System software managing hardware, software, user interface, and


Operating System
resources

Utility Software System software for maintenance/security tasks

Device Driver Software enabling OS/hardware communication

Programming
Formal language for writing algorithms (high-level or low-level)
Language

Compiler Software translating high-level code to machine code in one go

Interpreter Software translating/executing high-level code line by line

Assembler Software converting assembly code to machine code

IDE Environment for programming with integrated tools

Interrupt Signal pausing main program flow for urgent processing of an event

You might also like