0% found this document useful (0 votes)
2 views71 pages

Chapter 4 Software

The document provides an overview of software types, including system and application software, and their functions. It discusses the roles of operating systems, utility software, and various tools such as virus checkers and defragmentation software. Additionally, it covers human-computer interfaces, memory management, security management, and file management in computing systems.

Uploaded by

linzawko007
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)
2 views71 pages

Chapter 4 Software

The document provides an overview of software types, including system and application software, and their functions. It discusses the roles of operating systems, utility software, and various tools such as virus checkers and defragmentation software. Additionally, it covers human-computer interfaces, memory management, security management, and file management in computing systems.

Uploaded by

linzawko007
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

1

SOFTWARE
BY
TR. HNIN THAE MON
LEGACY INTERNATIONAL SCHOOL

By Hnin Thae Mon Software


2

OUTLINES
TYPES OF PROGRAMMING LANGUAGE,
TYPES OF SOFTWARE AND INTERRUPTS
TRANSLATORS AND IDES
• the differences between systems software • advantages and disadvantages of high-level
and applications software (including the and low-level languages
operating system, utility programs and • assembly language is a low-level language
application software) that uses mnemonics and assemblers
• the role and basic functions of an operating • the operation of compilers and interpreters
system for high-level languages
• the need for hardware, firmware and • advantages and disadvantages of compilers
operating systems when running application and interpreters
software • the role and functions of integrated
• role and operation of interrupts development environment (IDEs) when
writing code.

By Hnin Thae Mon Software


3

TYPES OF SOFTWARE
AND INTERRUPTS

By Hnin Thae Mon Software


4

System software and application software

By Hnin Thae Mon Software


5

System software and application software

By Hnin Thae Mon Software


6

General features of system software


these are programs that allow the hardware to run properly and
allow the user to communicate with the computer

❑ set of programs to control and manage the operation of computer


hardware
❑ provides a platform on which other software can run
❑ required to allow hardware and software to run without problems
❑ provides a human computer interface (HCI)
❑ controls the allocation and usage of hardware resources.

By Hnin Thae Mon Software


7

By Hnin Thae Mon Software


8

General features of application software


these are programs that allow the user to do specific tasks.

❑ used to perform various applications (apps) on a computer


❑ allows a user to perform specific tasks using the computer’s
resources
❑ may be a single program (for example, NotePad) or a suite of
programs (for example, Microsoft Office)
❑ user can execute the software as and when they require.

By Hnin Thae Mon Software


9

By Hnin Thae Mon Software


10

Utility software (utilities)


❑Utility programs are often initiated by the user, but some, notably virus checkers,
often just run in the background without the need for any user input.
❑Utility programs offered by most computer system software include:
▪ virus checkers
▪ defragmentation software
▪ disk contents analysis and repair
▪ file compression and file management
▪ back-up software
▪ security
▪ screensavers.

By Hnin Thae Mon Software


11

By Hnin Thae Mon Software


12

Virus checkers (anti-virus software)


❑ Operating systems offer virus checkers, but these must be kept
thoroughly up to date and should run in the background to maintain
their ability to guard against being infected by such malware.

❑ There are many ways to help prevent viruses such as


▪ being careful when downloading material from the internet,
▪ not opening files or websites given in emails from unknown senders or by not
using non-original software.

▪ Running anti-virus software in the background on a computer will


constantly check for virus attacks.
By Hnin Thae Mon Software
13

Virus checkers (anti-virus software)


❑Various types of anti-virus software have the following common
features:
▪ they check software or files before they are run or loaded on a
computer
▪ anti-virus software compares a possible virus against a database of
known viruses
▪ they carry out heuristic checking – this is the checking of software for
types of behaviour that could indicate a possible virus; this is useful if
software is infected by a virus not yet on the database.

By Hnin Thae Mon Software


14

Virus checkers (anti-virus software)

▪ any possible files or programs which are infected are put into quarantine
which:
oallows the virus to be automatically deleted, or
o allows the user to make the decision about deletion (the user knows
that the file or program is not infected by a virus – this is known as a
false positive and is one of the drawbacks of anti-virus software)
▪ anti-virus software needs to be kept up to date since new viruses are
constantly being discovered
▪ full system checks need to be carried out once a week

By Hnin Thae Mon Software


15

Defragmentation Software
❑ As a HDD becomes full, blocks used for files will become scattered all
over the disk surface.
❑ This will happen because files will become deleted, partially-deleted,
extended and so on over time.
❑ The consequence of this is slower data access time; the HDD read-
write head will now require several movements just to find and
retrieve the data making up the required file.
contiguous means ‘next
to each other’

❑If files could be stored in contiguous sectors considerably reducing


HDD head movements. (this is not a problem when using solid state devices.)

By Hnin Thae Mon Software


16

❑Consider the following scenario using a disk


with 12 (numbered 0 to 11) sectors per
suface:

By Hnin Thae Mon Software


17

By Hnin Thae Mon Software


18

Back-up Software
❑ While it is sensible to take manual back-ups using, for example, a memory
stick or portable HDD, it is also good practice to use the operating system
back-up utility. This utility will:
▪ allow a schedule for backing up files to be made
▪ only carry out a back-up procedure if there have been any changes made to a file.

❑ For total security there should be three versions of a file:


1. the current (working) version stored on the internal HDD or SSD
2. a locally backed up copy of the file (stored on a portable SSD, for example)
3. a remote back-up version stored well away from the computer (for example, using
cloud storage).
By Hnin Thae Mon Software
20

Security software
Security software is an over-arching utility that:
❑ manages access control and user accounts (using user IDs and passwords)
❑ links into other utility software, such as virus checkers and spyware
checkers
❑ protects network interfaces (for example, through the use of firewalls)
❑ uses encryption and decryption to ensure any intercepted data is
meaningless without a decryption key
❑ oversees the updating of software (does the update request come from a
legitimate source, for example).

By Hnin Thae Mon Software


21

Screensavers
❑Screensavers are programs that supply moving and still images on the
monitor screen after a period of inactivity by the computer.
❑They were originally developed to protect older CRT (cathode ray tube)
monitors which would suffer from ‘phosphor burn’ if the same screen
image remained for any length of time.
❑With modern LCD and OLED screens, this problem no longer exists;
❑If a computer is unused for five minutes, for example, and hasn’t been
logged out, this will trigger the screensaver to be loaded.
❑The computer user will then be automatically logged out and a
screensaver will indicate that the computer is now locked.

By Hnin Thae Mon Software


22

Screensaver

Some screensavers are often used to activate useful background tasks


that can only go on when the computer is in an ‘idle’ state. For
example:
❑ virus scans
❑ distributed computing applications – these allow apps to use the
computer’s resources only when it is idle (for example, an online
gaming app).

By Hnin Thae Mon Software


23

Device drivers
❑Device drivers are software that communicate with the operating
system and translate data into a format understood by a hardware
peripheral device.
❑Without device drivers, a hardware device would be unable to work
with a computer – a message such as ‘device not recognised’ would
appear on the screen.

By Hnin Thae Mon Software


24

Device drivers
❑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.

By Hnin Thae Mon Software


25

Operating Systems
❑ To enable computer systems to function correctly and allow users to
communicate with computer systems, software known as an
operating system needs to be installed.
❑ An operating system provides applications can be run and a useable
interface between humans and computer.
❑ Common examples of operating systems include: Microsoft
Windows, Apple Mac OS, Google Android and Apple IOS.

By Hnin Thae Mon Software


26

Operating Systems

❑ Most computers store the operating system on a hard disk drive


(HDD) or solid state drive (SSD).
❑ Mobile phones and tablets store the operating system on a solid
state device since they are too small to accommodate an HDD.

By Hnin Thae Mon Software


27

By Hnin Thae Mon Software


28

Human computer interface (HCI)


❑ The human computer interface (HCI) is in the form of a Command Line Interface
(CLI) or a Graphical User Interface (GUI).
1. Command Line Interface (CLI)
❑ requires a user to type in instructions in order to choose options from
menus, open software, etc.
❑ a number of commands that need to be typed in, for example, to save or
load a file.
❑ the user has to learn a number of commands just to carry out basic
operations.
❑ slow having to key in these commands every time an operation has to be
carried out.
❑ direct communication with the computer and is not restricted to a
number of pre-determined options.
By Hnin Thae Mon Software
29

Human computer interface (HCI)


2. Graphical User Interface (GUI)
❑ allows the user to interact with a computer (or MP3 player, gaming
device, mobile phone, etc.) using pictures or symbols (icons)
❑ Simply selecting any of the icons.
❑ no need to type in anything.
❑ WIMP (windows icons menu and pointing device) was developed for
use on personal computers (PC).
❑ a mouse is used to control a cursor and icons are selected to
open/run windows.

By Hnin Thae Mon Software


30

Human computer interface (HCI)

2. Graphical User Interface (GUI)


❑ devices such as mobile phones and tablets increasingly use touch
screens and use post-WIMP interactions.
❑ With this system, fingers are in contact with the screen allowing
actions such as pinching and rotating, which would be difficult to do
using a single pointer and a device such as a mouse..

By Hnin Thae Mon Software


31

Command line interface (CLI)


• direct communication with the computer
• not restricted to a number of pre-determined options
• alter computer configuration settings
Advantages
• uses a small amount of computer memory

• needs to learn a number of commands to carry out basic operations


• need to be typed in which takes time and can be errorprone
Disadvantages • typed in using the correct format, spelling, and so on

By Hnin Thae Mon Software


32

Graphical user interface (GUI)

• doesn’t need to learn any commands


• more user-friendly; icons are used to represent applications
Advantages • a pointing device is used to click on an icon to launch the application

• uses up considerably more computer memory than a CLI interface


• limited to the icons provided on the screen
• needs an operating system to operate, which uses up considerable
Disadvantages memory

By Hnin Thae Mon Software


33

Who would use each type of interface?


❑ CLI: a programmer, analyst or technician; basically somebody who
needs to have a direct communication with a computer to develop
new software, locate errors and remove them, initiate memory
dumps (contents of the computer memory at some moment in
time), and so on

❑ GUI: the end-user who doesn’t have or doesn’t need to have any
great knowledge of how the computer works; a person who uses the
computer to run software or play games or stores/manipulates
photographs, for example.

By Hnin Thae Mon Software


34

Memory management
❑ manages the primary storage (RAM) and allows data to be moved
between RAM and HDD/SSD during the execution of programs
❑ keeps track of all the memory locations
❑ carries out memory protection to ensure that two competing
applications cannot use the same memory locations at the same time.
If this wasn’t done the following might happen:
✓data would probably be lost
✓applications could produce incorrect results (based on the wrong data being in
memory locations)
✓potential security issues (if data is placed in the wrong location, it might make it
accessible to other software, which would be a major security issue) – in
extreme cases, the computer could crash.
By Hnin Thae Mon Software
35

Security management
❑ ensures the integrity, confidentiality and availability of data
❑ carries out operating system and applications software updates as
required
❑ ensures anti virus software (and other security software) is always up
to date
❑ communicates with the firewall to check incoming and outgoing traffic
❑ maintains privileges to prevent users from entering ‘private areas’
❑ maintains user access rights
❑ allows for data recovery following loss or corruption of data
❑ helps prevent illegal intrusion into a computer system
By Hnin Thae Mon Software
36

Hardware peripheral management


❑ involves all input and output peripheral devices.
❑ communicates with all input and output devices using device drivers
❑ uses a device driver to take data from a file (defined by the operating
system) and translates it into a format that the input/output device
can understand
❑ ensures each hardware resource has a priority so that they can be
used and released as required

By Hnin Thae Mon Software


37

Hardware peripheral management


❑ manages input/output devices by controlling queues and buffers;
consider the role of the printer management when printing out a
document:
✓ first of all, the printer driver is located and loaded into memory
✓ then the data is sent to a printer buffer ready for printing
✓ if the printer is busy (or the printing job has a low priority) then the data is sent
to a printer queue before it can be sent to the printer buffer
✓ it will send various control commands to the printer throughout the printing
process
✓ it receives and handles error messages and interrupts from the printer

By Hnin Thae Mon Software


38

File management
File name extension
The main tasks of file management include:
❑ file naming conventions which can be used i.e. [Link] (where the
extension can be .bat, .htm, .dbf, .txt, .xls, etc.)
❑ performing specific tasks (for example, create, open, close, delete,
rename, copy, and move)
❑ maintaining the directory structures
❑ ensuring access control mechanisms are maintained (for example, access
rights to files, password protection, or making files available for editing or
locking them)
❑ ensuring memory allocation for a file by reading it from the HDD/SSD and
loading it into memory.

By Hnin Thae Mon Software


39

Multitasking
❑ Multitasking allows computers to carry out more than one task
(i.e. a process) at a time.
❑ Each processes will share hardware resources under the control of
the OS.
❑ It monitors:
✓allocation of resources to a process for a specific time limit
✓interruption of processes while running
these three
bullet points ✓prioritisation of a process for resource allocation
are called
pre-emptive
multitasking
By Hnin Thae Mon Software
40

Multitasking
❑ Using multitasking management, main memory, HDD/SSD and
virtual memory are better managed making the most effective use of
CPU time.

By Hnin Thae Mon Software


41

Management of user accounts

❑ allows more than one user to log onto the system


❑ Users’ data is stored in separate parts of the memory
❑ User account protected by a user name and password
❑ Allows a user to customize
❑ Use separate folders and files and to manage these themselves.

By Hnin Thae Mon Software


43

Running of applications
❑ When a computer starts up, part of the operating system needs to
be loaded into RAM – this is known as booting up the computer (or
a bootstrap loader).
❑ The start-up of the computer’s motherboard is handled by the basic
input/output system (BIOS).
❑ The BIOS tells the computer where the storage device that holds the
operating system can be found; it then loads the part of the
operating system that is needed and executes it.
❑ The BIOS is often referred to as firmware. Firmware is defined as a
program that provides low level control for devices. (BIOS, videocard,
SSD, CD/DVD drive are common examples.)

By Hnin Thae Mon Software


44

Running of applications
❑ The BIOS program is stored in a special type of ROM, called an
EEPROM (Electrically Erasable Programmable ROM).
❑ EEPROM is a flash memory chip, which means its contents remain
even when the computer is powered down. However, it also means
the BIOS can be rewritten, updated or even deleted by a user.
❑ However, while the BIOS is stored on an EEPROM, the BIOS settings
are stored on a CMOS chip (Complementary Metal Oxide Semi-
conductor).
❑ The CMOS is powered up at all times via a rechargeable battery on
the motherboard. Therefore, the BIOS settings would be reset if the
battery was removed or disconnected for some reason.

By Hnin Thae Mon Software


45

Running of applications
❑ Once the CMOS is re-started, it will access the same BIOS program
from EEPROM, but the settings will now be the default factory
settings.
❑ Consequently, if a user has changed the BIOS settings (for example,
the clock speed), the settings will revert to those settings made at
the factory once power is restored to the CMOS.

By Hnin Thae Mon Software


46

Interrupts
An interrupt is a signal sent from a device or from software to the
microprocessor. This will cause the microprocessor to temporarily stop
what it is doing so that it can service the interrupt.
Interrupts can be caused by:
❑ a timing signal
❑ I/O process (for example, a disk drive or printer requiring more data)
❑ a hardware fault (for example, a paper jam in the printer)
❑ operator input (for example, pressing <BREAK> key)
❑ software errors (for example, can’t find an .exe file or an attempt to
divide by zero).
By Hnin Thae Mon Software
47

Interrupts
❑Once the interrupt signal is received, the microprocessor either
carries on with what it was doing or stops to service the device or
program that caused the interrupt.
❑The computer needs to identify the interrupt type and also establish
the level of interrupt priority.
❑Interrupts allow computers to carry out many tasks or to have several
windows open at the same time.
❑An example would be downloading a file from the internet at the
same time as listening to some music from a library.
❑Interrupts allow these two functions to co-exist and the user has the
impression that both functions are being carried out simultaneously.

By Hnin Thae Mon Software


48

Interrupts
❑In reality, data is being passed in and out of memory very rapidly
allowing both functions to be serviced.
❑This can all be achieved by using an area in memory known as a
buffer. A buffer is a memory area that stores data temporarily.
❑For example,
❑buffers are used when streaming from the internet because the
internet download speed may be slower than a device’s playback
speed and a buffer gives temporary storage which fills up allowing
data to be available for smooth uninterrupted playback.
❑Without buffers, the movie would frequently ‘freeze’.

By Hnin Thae Mon Software


49

Interrupts

By Hnin Thae Mon Software


50

Interrupts
❑Whenever an interrupt is received it needs to be serviced. The status
of the current task being run first needs to be saved. The contents of
the Program Counter (PC) and other registers are saved.
❑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.
❑Buffers and interrupts are often used together to allow standard
computer functions to be carried out. These functions are often taken
for granted by users of modern computer systems.

By Hnin Thae Mon Software


51

Interrupts

❑Without buffers and interrupts, the microprocessor would remain


idle waiting for a document to be printed. This would be an incredible
waste of microprocessor time.
❑Buffers allow devices to carry out their functions while the CPU can
carry on with other tasks, therefore greatly improving efficiency,
because the CPU is no longer left idle waiting for an output/input
device waiting to complete a task.

By Hnin Thae Mon Software


52

Interrupts

By Hnin Thae Mon Software


53

By Hnin Thae Mon Software


54

Types of programming language,


translators and integrated development
environments (IDEs)

By Hnin Thae Mon Software


55

Types of programming language


❑Computers only ‘understand’ their own language, called machine
code.
❑A program needs to be translated into machine code before it can be
‘understood’ by a computer.
❑A computer program is a list of instructions that enable a computer
to perform a specific task.
❑Computer programs can be written in high-level languages and low-
level languages depending on the task to be performed and the
computer to be used.

By Hnin Thae Mon Software


56

High-level languages
❑ High-level language are easier to:
▪ 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.

Sum: = FirstNumber + SecondNumber


By Hnin Thae Mon Software
57

High-level languages

Advantages Disadvantages
independent of the type of computer
being used programs can be larger

easier to read, write and understand


programs quicker to write programs
programs can take longer to execute
programs are easier and quicker to
debug
programs may not be able make use
easier to maintain programs in use of special hardware

By Hnin Thae Mon Software


58

Low-level languages
❑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.
Machine code
❑Programmers do not usually write in machine code as it is difficult to
understand, and it can be complicated to manage data manipulation
and storage.

By Hnin Thae Mon Software


59

Machine code

By Hnin Thae Mon Software


60

Low-level languages

Advantages Disadvantages

can make use of special hardware


it takes a longer time to write and
includes special machine-dependent debug
instructions
can write code that doesn’t take up
much space in primary memory programs programs are more
can write code that performs a task difficult to understand
very quickly

By Hnin Thae Mon Software


61

Assembly languages

❑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

By Hnin Thae Mon Software


62

Assembly languages
LDA First
ADD Second
STO Sum
❑ LDA means load value of the variable (in this case, First) into the
accumulator
❑ ADD means add value of variable (in this case, Second) to the value
stored in the accumulator
❑ STO replace the value of the variable (in this case, Sum) by the value
stored in the accumulator

By Hnin Thae Mon Software


63

Workbook questions

❑Explain why a programmer would choose to write a program in a


low-level programming language.
❑Steve is writing a program to use his laptop to control the lighting
system in his house. State, with reasons, which type of programming
language would be most suitable for him to use.
Type of language:
Reasons:

By Hnin Thae Mon Software


65

Translators
❑ A program must be translated into binary before a computer can use
it; this is done by a utility program called a translator.

By Hnin Thae Mon Software


66

Compilers

❑A compiler translates a program written in a high-level language into


a machine code program. The whole program is translated.

❑Once a program is compiled the machine code can be used again and
again to perform the same task without re-compilation.

❑If errors are detected, then an error report is produced instead of a


compiled program.

By Hnin Thae Mon Software


67

Compilers

Sum: = FirstNumber + SecondNumber

0001 00010010

0100 00010011

0000 00011010

By Hnin Thae Mon Software


68

Interpreters

❑ An interpreter executes a program written in a high-level language


by translating, then executing each line of the program.

❑ If there is an error in the statement then execution ceases and an


error message is output, sometimes with a suggested correction.

❑ A program needs to be interpreted again each time it is run.

By Hnin Thae Mon Software


69

Assemblers
❑ An assembler translates a program written in an assembly language
into machine code. The whole program is translated.
❑ Once a program is assembled the machine code can be used again
and again to perform the same task without re-assembly.

LDA First 0001 00010010

ADD Second 0100 00010011

STO Sum 0000 00011010

By Hnin Thae Mon Software


70

Translation programs summary

Complier Interpreter Assembler

Translates a low level


Translates a high-level Translates a high-level
assembly language
language program into language program into
program into machine
machine code. machine code.
code.

An executable file of No executable file of An executable file of


machine code is produced. machine code is produced. machine code is produced.

By Hnin Thae Mon Software


71

Translation programs summary


Complier Interpreter Assembler
One high-level language
One high-level language One low-level language
program statement may
statement can be statement is usually
require several machine
translated into several translated into one machine
code instructions to be
machine code instructions code instruction.
executed.
Interpreted programs
Compiled programs are Assembled programs are
cannot be run without the
run without the compiler. used without the assembler.
interpreter.

A compiled program is An interpreter is often used An assembled program is


usually distributed for when a program is being usually distributed for
general use. developed. general use.
By Hnin Thae Mon Software
72

Comparing translators

Advantages of Interpreter Advantages of Compiler

❑ easier and quicker to debug and ❑a compiled program can be stored


test programs during development ready for use
❑a compiled program can be
executed without the compiler
❑easier to edit programs during
development ❑a compiled program takes up less
space in memory when it is
executed
❑a compiled program is executed in
a shorter time
By Hnin Thae Mon Software
73

Comparing translators

Disadvantages of Interpreter Disadvantages of Compiler

❑ programs cannot be run ❑ it takes a longer time to write,


without the interpreter test and debug programs
during development

❑ programs can take longer to


execute

By Hnin Thae Mon Software


74

Integrated Development Environment


(IDE)
IDEs usually have these features:
❑ code editors
❑ a translator
❑ a runtime environment with a debugger
❑ error diagnostics
❑ auto-completion
❑ auto-correction
❑ an auto-documenter and prettyprinting

By Hnin Thae Mon Software

You might also like