0% found this document useful (0 votes)
13 views14 pages

Unit-4 Revision

The document provides a detailed overview of software types, specifically distinguishing between system software and application software, along with examples of each. It explains the role of operating systems in managing hardware and software resources, as well as the importance of interrupts in multitasking environments. Additionally, it covers the functions of firmware, memory management, security management, and the operation of interrupts in various computing scenarios.

Uploaded by

Satvik Agarwal
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)
13 views14 pages

Unit-4 Revision

The document provides a detailed overview of software types, specifically distinguishing between system software and application software, along with examples of each. It explains the role of operating systems in managing hardware and software resources, as well as the importance of interrupts in multitasking environments. Additionally, it covers the functions of firmware, memory management, security management, and the operation of interrupts in various computing scenarios.

Uploaded by

Satvik Agarwal
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/ 14

Date: 05-05-2023

UNIT-4
SOFTWARE
REVISION GUIDE
4.1 Types of Software and Interrupts

Describe the difference between system software and application software and provide
examples of each

System software Application software

» set of programs to control and manage the » used to perform various applications (apps)
operation of computer hardware on a computer

» provides a platform on which other software » allows a user to perform specific tasks
can run using the computer’s resources

» required to allow hardware and software to » may be a single program (for example,
run without problems NotePad) or a suite of programs (for example,
Microsoft Office)
» provides a human-computer interface (HCI)
» Users can execute the software as and
» controls the allocation and usage of when they require it.
hardware resources

Examples
· Spreadsheet: Organize and manipulate
· Compilers: Translate source code data in a table format.
written in a high-level programming language
to machine code that can be executed by a · Word processor: Create and edit text-
computer. based documents with advanced formatting
options.
· Linkers: Combine object files and
libraries to create an executable file or library. · Database: Organize and manage large
amounts of data with efficient searching and
· Device drivers: Control and manage sorting capabilities.
hardware devices and allow them to
communicate with the operating system. · Control and measuring software:
Collect and analyze data from sensors,
· Utility software: Perform specific tasks devices, and systems for process control and
such as system maintenance, file automation.
management, and security management.
· Photo editing: Edit and enhance digital
· Operating system: Manages computer images with various tools and filters.
hardware and software resources and
provides common services for computer · Video editing: Edit and manipulate
programs to run efficiently. video footage with advanced effects,
transitions, and audio editing tools
System software in detail

1. Utility software

❖ Computer users have access to various utility programs, Perform specific tasks such as
system maintenance, file management, and security management.
❖ These programs can be initiated by the user or run in the background, like virus
checkers.

a. Virus checkers(Anti virus Running antivirus software in the background on a


software) computer will constantly check for virus attacks.
• Checks files before running/ loading
• Compares against known viruses
• Carries out heuristic checking
• Puts infected files into quarantine
• Needs to be updated regularly
• Full system checks needed weekly
Heuristic checking-checks for suspicious software
behavior indicating a potential virus not yet in the
database.

b. Defragmentation software
As HDDs become full, files become scattered, slowing
down data access.

Defragmentation software can store files in


contiguous(next to each other) sectors, reducing HDD
head movements.

(One example is given below)

c. Back-up software
● It's important to take manual backups and use
· the operating system backup utility.
● · The utility allows for scheduling backups
and only backs up files with changes.
● · Three versions of a file should be kept for
total security: working, local backup, and
remote backup.
● · Backup files can be saved to a chosen
device.
● · File History builds up a library of past
versions of files that can be accessed by the
user.

d.Security software:
● Manages access control and user accounts
● Links to virus and spyware checkers
● Protects network interfaces with firewalls
● Uses encryption to secure data
● Oversees software updates.

e. Screensavers
● Screensavers display moving and still images
on the monitor after a period of inactivity.
● · Can be used as part of a computer's
security system to automatically log out and
lock the computer when it's unused for a certain
period.
● · Some screensavers can activate
background tasks like virus scans and
distributed computing applications when the
computer is idle.

f. Device drivers
● Device drivers are software that communicate
with the operating system and translate data
into a format understood by a hardware
peripheral device.
● All USB device drivers contain a collection of
information about devices called descriptors;
this allows the USB bus to ask a newly
connected device what it is
● . Descriptors include vendor id (VID), product id
(PID) and unique serial numbers.
● If a device has no serial number associated
with it, the operating system will treat the device
as new every time it is plugged into a USB port.
● Serial numbers must be unique since this could
prove rather interesting if two different devices
with the same serial number were plugged into
a computer at the same time.
Example - Defragmentation software

Consider 3 files- file 1, file 2 ,file 3

File -1 added more data


File 2 deleted
File 3 added more data

Without defragmentation software Defragmentaton arranges the files in order

Files arranged to adjacent sectors leads to


File 1 and 3 are scattered into two tracks faster data access
leading the data more fragmented leads to
slow data access

4.1.2 Describe the role and basic functions of an operating system

• An operating system is required for computer systems to function and for users to
communicate with the computer.

• It provides an environment for running applications and a user interface.

• An operating system hides the complexity of software and hardware from users.

• Common examples of operating systems are Microsoft Windows, Apple Mac OS, Google
Android, and Apple IOS.

• Operating systems are stored on hard disk drives or solid-state drives in computers, while
mobile devices store them on solid-state devices due to their smaller size.
a. Human computer
interface (HCI) · The human computer interface (HCI) can be in the form of a
Command Line Interface (CLI) or a Graphical User Interface (GUI).

· A CLI requires users to type in instructions to choose options from


menus, open software, etc. This can be slow and requires users to learn a
number of commands.

· A GUI allows users to interact with a computer using pictures or


symbols (icons) instead of typing commands. GUIs are faster and more
user-friendly.

b. Memory management
· Controls and optimizes the use of primary storage (RAM) and
facilitates data transfer between RAM and secondary storage (HDD/SSD)
during program execution

· Tracking all memory locations to ensure efficient use of available


memory resources.

· Implementing memory protection mechanisms to prevent multiple


applications from using the same memory location at the same time, which
could lead to data loss, incorrect results, security vulnerabilities, or system
crashes.

· Overall, memory management plays a crucial role in ensuring stable


and efficient performance of computer systems by managing and protecting
memory resources.

c. Security management
· Security management is a part of operating systems.

· Its purpose is to ensure the integrity, confidentiality, and availability of


data.

· Operating system updates and up-to-date anti-virus software are


essential for data security.

· Firewalls can be used to check traffic to and from the computer.

· User accounts, passwords, and user IDs help ensure the privacy of
data.
· Maintaining access rights for all users is important.

· System restore and data recovery options are provided by the


operating system.

· The aim is to prevent illegal intrusion and ensure the privacy of data.

d.Hardware peripheral
management ·
Hardware management involves the management of input and output
peripheral devices. It includes the following tasks:

· Communicating with input and output devices using device drivers

· Translating data from a file into a format that input/output devices can
understand

· Assigning priorities to hardware resources to manage their usage

· Controlling queues and buffers to manage input/output devices

· Sending control commands to devices and handling error messages


and interrupts.

e.File management
· » managing disk space by allocating and deallocating space for files
and directories

· » handling file permissions and ownership to ensure security and


privacy of data

· » providing file compression and encryption for efficient storage and


secure transmission of data

· » managing file backups and recovery to prevent data loss in case of


hardware or software failure

· » supporting file sharing and collaboration between users

· » monitoring file usage and generating reports to track storage usage


and optimize file management.

f.Multitasking
· Each process is allocated resources, such as CPU time and memory,
for a specific time limit.

· Processes can be interrupted while running, allowing the OS to switch


between tasks.

· Processes are given priorities to ensure that high-priority tasks get the
resources they need.

· Multitasking allows for better management of main memory,


HDD/SSD, and virtual memory.

· Multitasking can improve CPU utilization and increase system


efficiency by allowing the computer to work on several tasks at once.

· However, poor management of multitasking can lead to resource


conflicts and reduced system performance.

g. Management of user
accounts · Multiple users can log onto a computer system

· User data is stored separately in memory for security reasons

· Each user is given a user account protected by a username and


password

· The operating system manages user accounts, allowing users to


customize their settings and manage their own files and folders

· An administrator oversees user account management and can create,


delete, and restrict user accounts

· Large computer systems may have complex multi-user setups that the
operating system must manage

· The operating system must maintain accounts for multiple users with
varying levels of data access

b.
4.1.3 Understand how hardware, software and firmware required to run application software

Firmware refers to software that is embedded in hardware devices such as the BIOS,
network cards, and hard drives. Firmware provides low-level control over hardware and
ensures that the hardware is compatible with other hardware components and software.

Firmware provides an interface between the hardware and the operating system, and it
is responsible for translating the commands from the software into the hardware-specific
commands that the device can understand.

When the computer is powered on, the firmware on the BIOS performs a self-test and
checks for the presence of all hardware components. It then loads the operating system
into memory and hands control over to the operating system to run the computer.

4.1.4 Describe the role and operation of interrupts

Define the term interrupt

An interrupt is a signal sent to the CPU (Central Processing Unit) by a hardware device or
software program, indicating that an event has occurred that requires immediate attention.

Interrupts can be caused by:

» a timing signal
l » an input/output process (for example, a disk drive or printer requiring more data)
» a hardware fault (for example, a paper jam in the printer)
» user interaction (for example, the user presses a key (or keys) on a keyboard,
» software errors that cause a problem (for example,, two processes trying to access the same
memory location)

Explain how interrupts can be used to perform a context switch in a multitasking operating
system/Explain the operation of an interrupt handler routine/Explain the operation of an interrupt
handler routine

● Interrupts help operating systems to perform multitasking by temporarily suspending the


currently running process and saving the contents of its registers
● Then the interrupt service routine (ISR) is executed by loading the start address into the
Program Counter (PC).
● Once the interrupt has been fully serviced, the status of the interrupted task is reinstated
(the contents of all the saved registers are then retrieved) and the process continues.
● This allows multiple processes to share the CPU and run concurrently, giving the
appearance of multitasking to the user.
Role of buffer memory

● Buffers are used to temporarily store data, allowing multiple tasks to share system
resources and run simultaneously.
● Speed of the data sent to the printer is faster than the time taken for printing each page.
Processor can save time and carry ahead its own task once the data is sent to the
printer buffer

Role of interrupt and buffer for different tasks like printing a document/ send data to disk
drive/Video streaming/

● Data from the document to be printed is sent to the printer buffer from the computer
memory.
● When an interrupt signal is received from the printer, the current task is suspended while
the interrupt is serviced.
● The interrupt signal is sent to request more data to be sent to the printer.
● The contents of the printer buffer are emptied to the printer and the data from the
document is printed.
● When all the data has been printed, the printer buffer becomes empty, and an interrupt
signal is sent to the processor.
● The processor continues with its tasks and is able to carry out other tasks while the
printer buffer is being emptied.

(Past paper questions)

A computer system is running a program that requires real-time response, such as a video
conferencing software. Describe how interrupts can be used to ensure that the program runs
smoothly.

● Real-time events are identified by the system.


● An interrupt request signal is sent to the processor. which halts the current execution of
the program and switches to the interrupt handler to process the incoming event.
● For example, in the case of video conferencing software, the incoming video stream may
need to be decoded, compressed, and displayed on the user's screen.
● Once the interrupt handler has finished processing the incoming event, it sends an end-
of-interrupt signal to the processor, which then resumes executing the original program
from where it left off before the interrupt was received.
● This cycle repeats as new events are received, allowing the program to continue running

Mike is downloading a video from the internet to his laptop. The speed of data transfer from the
internet is slower than the speed at which data is being sent to the media player.

a What could be used to stop the video from constantly freezing while Mike is watching it on his
laptop?

b While watching the video, Mike is meanwhile printing a 160-page document on his inkjet
printer. Describe how interrupts could be used to allow him to watch his movie at the same time
as the printing is being done. The printer's memory can store up to 20 pages at a time.

Answer

a. In this scenario, Mike can use a media player that utilizes a buffer memory to store some
of the video data that has already been downloaded, while continuing to download the rest of
the video in the background.

b.

To allow Mike to watch his movie while printing the 160-page document, interrupts can be
used to control the printer's printing process.

When an interrupt is sent, the processor stops executing the current task and provides
service for the interrupt.

Printer driver generates an interrupt after every 20 pages.It requests more data to be sent to
the printer

When the Processor in Mike's laptop receives an interrupt signal,it stops the current task
and sends data from the document to the printer buffer.

While the printer buffer is emptied and the printing process going on, the processor can
continue with its own tasks.

This process continues until all 160 pages are printed.This will allow Mike to watch his movie
while the printing is being done.

c.

If the inkjet printer runs out of black ink during the printing process, an interrupt signal will be
sent to the printer driver, and the printing process will pause. An error message or warning light
will be displayed, indicating that the black ink cartridge needs to be replaced. Once the cartridge
is replaced, another interrupt signal can be sent to the printer driver to resume printing. If
printing is continued without replacing the cartridge, the printer will skip printing any text or
graphics that require black ink.

4.2 Types of programming language, translators and integrated development environments


(IDEs)
Machine code Machine code is a set of instructions written
in binary code that can be directly executed
by a computer's CPU.

High-level language A high-level programming language is a type


of computer language that is easier to read
and write than low-level languages like
machine code or assembly language.

» Read and understand as the language used


is closer to English
» Write in a shorter time
» Debug at the development stage
» Maintain once in use.
C++, Java, Pascal, Python, Visual Basic

Low-level language Low-level languages relate to the specific


architecture and hardware of a particular type
of computer.

Low-level languages can refer to machine


code, the binary instructions that a computer
understands, or assembly language that
needs to be translated into machine code.

Assembly language (Low-level language) » to make use of special hardware


» to make use of special machine-dependent
instructions
» to write code that doesn’t take up much
space in primary memory

» to write code that performs a task very


quickly.
Translator

A program must be translated into binary before a computer can use it; this is done by a utility
program called a translator.
4.2.5 Integrated Development Environment (IDE)

Common functions provided by IDE

● A translator:

Converts code from one language to another.

● A runtime environment with a debugger:

Executes code and allows developers to debug errors during runtime.

● Error diagnostics:

Identifies and displays errors in code.


● Auto-completion:

Suggests code completions as the developer types. Example if you write str. Then all the string
functions like upper(), lower() ,etc are displayed .

● Auto-correction:
Automatically corrects errors or typos in code. Auto correction

● An auto-documenter and pretty printing:

Generates documentation and formats code for readability.

You might also like