Chapter 4 Software
Chapter 4 Software
SOFTWARE
BY
TR. HNIN THAE MON
LEGACY INTERNATIONAL SCHOOL
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.
TYPES OF SOFTWARE
AND INTERRUPTS
▪ 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
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’
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.
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).
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.
Screensaver
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.
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.
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.
Operating Systems
❑ 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.
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
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.
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.
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.)
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.
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.
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.
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’.
Interrupts
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.
Interrupts
Interrupts
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.
High-level languages
Advantages Disadvantages
independent of the type of computer
being used programs can be larger
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.
Machine code
Low-level languages
Advantages Disadvantages
Assembly languages
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
Workbook questions
Translators
❑ A program must be translated into binary before a computer can use
it; this is done by a utility program called a translator.
Compilers
❑Once a program is compiled the machine code can be used again and
again to perform the same task without re-compilation.
Compilers
0001 00010010
0100 00010011
0000 00011010
Interpreters
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.
Comparing translators
Comparing translators