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

Chapter 4 Software

The document outlines a syllabus for a software course covering types of software, operating systems, programming languages, and integrated development environments (IDEs). It explains the differences between system software and application software, the role of operating systems, and the functions of various programming tools like compilers and interpreters. Additionally, it discusses the importance of security software, backup utilities, and device drivers in managing computer operations and user interactions.

Uploaded by

kaydbossilo2020
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 views19 pages

Chapter 4 Software

The document outlines a syllabus for a software course covering types of software, operating systems, programming languages, and integrated development environments (IDEs). It explains the differences between system software and application software, the role of operating systems, and the functions of various programming tools like compilers and interpreters. Additionally, it discusses the importance of security software, backup utilities, and device drivers in managing computer operations and user interactions.

Uploaded by

kaydbossilo2020
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/ 19

CS WITH

SK
Software
Syllabus
4.1 Types of Software & Interrupts
1 Describe the difference between system x System software provides the services that
software and application software and the computer requires, including operating
provide examples of each system and utility software
x Application software provides the services
that the user requires
2 Describe the role and basic functions of an x Including:
operating system  Managing files
 Handling interrupts
 Providing an interface
 Managing peripherals and drivers
 Managing memory
 Managing multitasking
 Providing
Prrov
ovidininng a Pla Platform
atfor
or
or
orm for ru
fo rrunning
runn
unnning
applications
app
apppl
pliccat
atio
ions
io n
 Providing system security
 Managing
Mana
Ma nagi
na ng uuser
ging
gi accounts
s r ac
se acco
c unnts
co
Understand
3 U nd rssttan
nder
nd and ho
and how
w hardware,
ha
ha ffirmware
irmware andd x Applications are run on the operating
an operating
ope
pe
p erarati
atitin required
ing system are requ
q ired to run system
applications software x The operating system is run on the firmware
x The bootloader (firmware) is run on the
hardware
4 Describe the role and operation of x Including:
interrupts  How an interrupt is generated
 How it is handled using an interrupt service
routine
 What happens as a result of the interrupts
x Software interrupts include division by zero
and two processes trying to access the same
memory location
x Hardware interrupts include pressing a key
on the keyboard and moving the mouse

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
4.2 Types of Programming Language, Translators and Integrated
Development Environments (IDEs)
1 Explain what is meant by a high-level x Advantages and disadvantages include:
language and a low-level language, – Ease of reading and writing code, e.g.,
including the advantages and low-level is hard to read
disadvantages of each – Ease of debugging code
– Machine independence
– Direct manipulation of hardware
2 Understand that assembly language is a
form of low-level language that uses
mnemonics, and that an assembler is
needed to translate an assembly language
program into machine code
3 Describe the operation of a compiler and x A compiler translates the whole code at
an interpreter, including hoow high-level
how once before executing it, producing an
language is translated by ea ach and how
each executable file
errors are reported x An interpreter translates and executes the
code line-by-line
x A coomppiiller p
compiler r viide
ro dess a
provides ann eerror
rrror rreport
eporrt fo
ep or the
for
wholole co
whole ccode
ode
de iiff er
eerrors
rro
rorss a
areree d ettec
ecte
detecteded • An
interpreter stops execution when an error is
found
4 Explain
xpla
xp lain tthe
lai he
ea advantages
dva
dvanta
an tages and ddisadvantages
issadv
dvvan
anta
ta
age
gess x To iinclude
To nclu
nc l de
lu de a ann ununde
derrs
de rsta
staandi
understandingnd
din
ing ththat
att an
of a ccompile
ompipille
piler aand
nd an interpr
interpreter
eter interpreter is mostly used when developing
a program and a compiler is used to
translate the final program
5 Explain the role of an IDEE in writing x Including:
program code and the common functions – Code editors
IDEs provide – Run-time environment
– Translators
– Error diagnostics
– Auto-completion
– Auto-correction
– Pretty print

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
4.1 Types of Software & Interrupts
Software
Set of Instructions (Computer Programs), procedures and documents associated with
computer programs and their use & purpose.
Software is the intermediator between hardware and user.

Operating
System
System Utility
SSoftware
So ftwa
ware
wa re P rog
gra
ram
Programs ms

Device Drivers

Software
So
oftwa
wa
are SSpreadsheet
Sp reead
adsh
sh
heeet

Word Spread

Application Database
Software
Internet
Browser
Games
Software

System Software
System software is software designed to provide a platform for other software.

• Operating System
Types of System • Utility Software
Software • Device Driver

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
Features
 Set of programs to control and manage the operation of computer hardware
 Platform on which other software can run
 Required to allow hardware and software to run without problems
 Human Computer Interface (HCI)
 Controls the allocation and usage of hardware resources.

Application Software
Computer program designed to carry out a sp specific
ecific task other than one relating to the
operation of the computer itself, typically to be used by end-users.
Features
 Perform various applications (Apps) on a computer
 User Friendly
 May be a single program (for example, Paint) or a suite of programs (for example,
Microsoft Office Suite)
 User can execute the software as and when they require

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK

In this example we have three files (1, 2 and 3) stored on track 8 of a disk surface covering
all of 12 sectors:

Now file 2 is dele ete


ted b
deleted byy uuser
sse
eer and file 1 has added to it; however, the file 2 sectors which
become mee vvacant
acannt ar
acan
ac aree nnot
ot filled
ed up
ed sstraight
p st
str
tra
raig away
ght awa
wa new
ay byy ne
ew fi file
ilee 1 d data
ata
at since
a si
inc
nce thiss wwould
oulld rrequire
eq
quire
‘t‘too
toooo much
muc
uch effort’
uc
uch efffo
ort’ for
for the HDD
HD DD resources;
re
eso
souurce
c s;; w
wee no
ow ge
now gett th
tthe
he fo ollllow
wing
followinginng ((f
fiille
(filele 1 is
i nnow
oow
w sstored
torre
to re in
red
the sse sectors
ector
ctor 1,, 2,
o s 0,, 1 2 3, 10 and nnd d 11):

File 1 has now been extend


extended
ndd to write data is sectors 10 and 11; now suppose File 3 is
nded
equivalent
extended with the equivalen nt 3 blocks of data; this now requires filling up sector 9 and then
finding some empty sectorss to write the remainder of the data – suppose the next free
sectors on are on track 11:

If this continues, the files just become more and more scattered throughout the disk surfaces.
It is possible for sectors 4, 5 and 6 (on track 8) to eventually become used if the disk starts
to fill up and it has to use up whatever space is available. A disk defragmenter will
rearrange the blocks of data to store files in contagious sectors wherever possible. After
defragmentation track 8 would now become:

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK

This obviously allows for much faster data access and retrieval since the HDD will now
require fewer read-write head movements to access and read files 1 and 3. Track 11 would
be empty after the defragmentation process
Backup Software
While it is sensible to take manual back-ups using, for example, a memory stick or portable
HDD, it is also a 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 backup procedure if there have been any changes made to a file.

For total security there would be three versions of a file:


1) The current (working) veersion stored on the internal HDD or SSD.
version
2) A locally backed up copy
c py of the file (stored on a portable SSD, for example)
co
3) A remote back upp version
versiion stored well away for the computer (for example, using cloud
storage)

The
he Microsoft
Th Micr
Mi
Micr
cros
ros
osof Windows
o t Wi
Winddows environment
nd envi
vviiironm ent offers
men ferrs the
offfe thee following
winng facilities
folllow fa
faccilititiies using
aci g the
usiing thhe back-up
bac p utility:
ack-up
up utility:
 Restore
o e data,
Restor
Resstor dat
da ta, files or the
ata
ta, he computer from the back-up (useful if there has been a problem
he
and
and ffiles
d fi
fil
ile
les ha
les hhave
ve been los
ve lost
st and d nneedeed
ee d to
ob be recovered)
e re
reco
cove
co ve
ere
red)
d
d)
 Create
Crrea
C eatee a rrestore
estore point ((this
this iiss ba
basically
b sicall kind
i lllly a ki d off ''time
ind machine'
time ma chhine'' where your computer
can
ca
an be
be restored to its sta state
tta
ate at this earlier point in time; this can be very useful if a very
important file has beenn d deleted
eleted and can't be recovered by any of the other utilities)
 Options of where to save ve back-up files; this can be set up from the utility to ensure files
ve
are automatically backed e up to a chosen device.

Security Software
 Security software is an over-arching utility that: for more information on encryption and
decryption.
 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).

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
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.
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:
 Scans for virus
 Distributed computing applications - these allow apps to use the computer's resources
only when it is idle (for example, an online gaming app).
Device Drivers
Device drivers are software that communicate with the operating system and translate data
into a format understood by by a hardware peripheral device. Without device drivers, a
hardware device would be e uunable
nable to work with a computer - a message such as ‘device not
recognized’ would ap pp
peear
appearar onon the screen. As soon as a device is plugged into a USB port
(for example, a m emo
mory sstick,
memory tick, printer or camera), the operating system looks for the
approppriate de
appropriate d viice
devicec d river..
driver.

Operating
O peerating SSystem
ystem
Operating
Op perat
errattinng System
Sy em
em provide
provides
es bo
both
othh tthe
he
e eenvironment
nvviirronm
nmen
e t in
en in w
which
hhiichh a
applications
pp pliica
catitit on
o s ca
cann be
b rrun
unn aand
n a
nd
uuseable
sea
abl
b e iinterface
nte
erf
rfac
ace betweenn hhumans
ac umans a nd
andd compute
computer.t r. A
Ann operati
operatingtiting syste
system t m allso d
also isguis
i es the
disguises
comp
mple
mple
mp lexi
exi
xity
complexity ity of computer software
sofftware and hardware. Common examples of operating systems
Windowss, Apple Mac OS, Google Android and Apple IOS (the latter two
include: Microsoft Windows,
being used primarily on tabl b ets and smartphones).
tablets

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
Most computers store the operating system on a hard disk drive (HDD) or solid state drive
(SSD) since they tend to be very large programs.

Human Computer Interface (HCI)


Human Computer Interface (HCI) is in the form of a Command Line Interface (CLI) or a
(GU
G I).
Graphical User Interface (GUI).
CLI requires a user to ttype yp
y pe in instructions in order to choose options from menus, open
software, etc. There are
are
re ooften
ftten a number of commands that need to be typed in, for example,
to save or load a fi
ffile.
file
ile
l .

GUI allows the user to interact with a computer (or MP3 player, gaming device, mobile
phone, etc.) using pictures or symbols (icons) rather than having to type in a number of
commands.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
GUIs use various technologies and devices to provide the user interface. One of the most
common is WIMP (windows icons menu and pointing device), which was developed for use
on personal computers (PC).

Technological Devices 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.
GUI Vs. CLI
Interface Advantages Disadvantages
User
Userr is iinn direct communication user need
needs to lear
learn
n a numb
number
er off
with
w
wit
wiith the ccomputer
omppute
pu ter
er co
commands
ommmaands
dss to cca
carry
arry o
out
ut ba
ba
basic
opeer
operations
erattio
onss
User is no
not
ot restricted to a number All commands need to be typed in
Co
Command
omm
m anandd of pre-de
pre-determined
etermim ne
min d op
opti
options
tition
onss
on which
whic
wh i h ta
ic takes
akees ti
time
ime and
and can
can
a be
be error
e ro
error
Linee IInterface
nt rfa
nt
nter face
ce prone
(CLI)
(C
CLI
LI)) It is poss
possible
sible to alter computer Each command must be typed in
configuration
configurat
attion settings
a using the correct format, spelling, and
so on
small amount
am
mount of computer
memory
user doesn't need to learn any Type of interface uses up
commands considerably more computer memory
than a CLI interface
Graphical More user-friendly User is limited to the icons provided
User Interface on the screen
(GUI) Pointing device (such as a mouse) Needs an operating system, such as
is used to click on an icon to Windows, to operate, which uses up
launch the application this is considerable memory.
simpler than typing in commands
or a touch screen can be used
where applications are chosen
by simply touching the icon on the
screen

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
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.
Memory Management
Memory Management carries out the following functions:
 RAM (Random Access Memory) manages the primary storage and allows data to move
between RAM and HDD/SDD during the execution of programs.
 Keeps track of all the memory locations
 Carries out memory protection
prootection to ensure that two competing applications cannot use the
same memory locati ion
ons a
locations att the same time.
Security Managem
Management
men
e t
It iiss an
another
a no her part
otthe rt of OS;
part OS S; function o of
fuuncctition
ion of Security
Se curityy Management
ecu Man
anag
ag
agem
gem entt iss tto
e en ensure
o en
nsu
sur integrity,
ure in
nteeg
nte
nt grity,
coonfidden
entiial
alitity
confidentialityitty & availabiliity
ty off data. This can be achieved as follows:
availability follows:
 Carrying
Carrrryi
ying
yin
ng oout
utt ooperating
peratingg ssystem
yste
tem
te
em uppda ate
updateses as
a a n w
nd
and he
whenen thhey b
they ecom
ec om
me av
become vai
a la
abblle
available
 Ensuring
Ennsuri
Ensu g tthat
ring
ing hatt anti-viruss ssoftware
ha oftw
t are (a((and
nd other
d oth security
tthher secu software)
ftware)) iiss al
riity sof always
lways up tto date,
o d ate,
prres
p eser
se
errvi
ving the integrity
preserving y, security and privacy of data by communicating with.
integrity,
 Making use of privilege
privileges
es to prevent users entering ‘private areas’ on a computer that
permits multi-user activity
activiity this helps to ensure the privacy of data.
 Maintaining access rightsrightts for all users
 Offering the ability for the recovery of data when it has been lost or corrupted
 Helping to prevent illegal intrusion into the computer system.
Hardware Peripheral Management
Hardware 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
 Manages input/output devices by controlling queues and buffers.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
File Management
 )ile naming conventions which can be used i.e. filename.docx
 Specific tasks
 Directory structures
 Access Control Mechanisms are maintained
 Memory Allocation
Multitasking
It allows a computer to carry out multiple tasks/processes at a time, sharing resources under
the control of OS. For smoothly running all processes OS monitors status of each process.
 Specific time limit
 Interruption
 Priority
management,
Using multitasking managem
em
e ment, main memory, HDD/SSD and virtual memory are better
most
managed making the mososst eeffective
ffective use of CPU time.

User Accounts Manageme


ent
Management
More than one user can use the Computer System, therefore, each user’s data stored in a
different part of a memory for security reasons. Operating System is given the task of
managing different user accounts.
Application Running
When the computer starts up, part of Operating System needs to be loaded. Start-up of
the Computer’s motherboard is handled by the basic input/output system (BIOS). BIOS tells
computer where the storage devices holds the Operating System can be found; it then loads
the part of the Operating System that is needed and executes it.
BIOS is referred as firmware. Firmware is a program that provides low level control for
devices. BIOS are stored in EEPROM which means its content remain even when the computer
is powered off. BIOS can be rewritten, updated or even deleted by a user.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK

Interrupt
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:
 Timing signal
 Input/output process
 Hardware fault
 User interaction
 Software err
errors
rro
rr or s
Once
On ce the
nce thhee interrupt
inter
err
er
rruptp signal iss recei
pt received,
eive
eivedd, tthe
d, microprocessor
hhee m icro
ic oproc
ocesssor ei
oces either
ithherr ccarries
a riiess oonn wi
ar with
w what
thh w hatt itt was
ha
doin
ng or stops
doing pss tto
o service thtthe
he device or program that caused the interrupt. The computer
needs
nee
eds to
ed o iidentify y tthe
dennttify
de interrupt
he interrup
up ty
upt
up type
ype
p a andnd
da also
lsso establish
est
s ab s the
a liish e llevel
the evel
ev e ooff in
el interrupt
nteerr
r up priority.
uptt prrio
iori
rity
ri y.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
Buffers
Temporary storage/memory that holds data being transferred between devices often used
to compensate for different speeds of devices examples printer, disk, etc.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
4.2 Types of Programming Language, Translators & IDEs
Computer only understands machine code, in order to make computer understand the
languages programmers, a translator is needed. Through programs we tell computer what
to do, when to do and how to do.

Computer program is a set ooff instructions that enable a computer to perform a specific task.
Computer programs can be b written in high-level languages and low-level languages
depending on the task to be performed and the computer to be used.

High Level Languages


High-level languages enable a programmer to focus on the problem to be solved and
require no knowledge of the hardware and instruction set of the computer that will use the
program. Many high-level programming languages are portable and can be used on
different types of computer.

Low Level Languages


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.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
Language Advantages Disadvantages
High Level Languages Independent of the type of Programs can be larger
computer being used easier to Programs can take longer to
Read, write and understand execute
Programs quicker to write Programs may not be able
programs. make use of special hardware
Programs are easier and
quicker to debug easier to
maintain programs in use
Low Level Languages Special Hardware Longer time to write and
Special machine-dependent debug programs.
instructions Programs are more difficult to
Code that doesn’t take up understand.
much space in primary
memory.
Write
W
Wr ite code that performs a
ttask
ta
ask very quickly.

Assembly
Asse
embly LLanguages
anguages
Assem
Assembly
A mblyy llanguage
mb angu
an guuage consistss ooff English like symbolic codes known as mnemonics. It is a second
generation
gen nerattitionn ooff lan
language.
la
anguage. Th TThey
hey represent common strings of machine codes. A language
tran
tr annslat
a slat
sl ator
translator,o , Assembler,
or Asse
As seemmbbler, is ussed tto
used o co
conv
nver
nv ertt so
er
convert sour
urrce co
source ccode
de ooff As
Asse
semb
semblly
mb
Assemblyly llanguage
angu
anguag
gu agee pr
ag prog
ogra
og ram
ra
program m in
iinto
to
object
ob c ccode
bjeect odde ofof machine language.
annguage. Though Assembly languages are easier than machine
la
a
language but they are high highly
hlyy detailed and cryptic. So programmers seldom write programs
in Assembly language. Instead Instea
ead programmers use Assembly languages to fine-tune important
ea
parts of programs written inn a high-level language.

Translators
Programs are written by humans in a form that people who are trained as computer
programmers can understand. In order to be used by a computer, programs need to be
translated into the binary instructions, machine code, that the computer understands. Humans
find it very difficult to read binary, but computers can only perform operations written in
binary.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
3$*(

A program must be translated into binary before a computer can use it; this is done by a
utility program called a translator.
Interpreters
An interpreter is a computer program that reads a statement from a program written in a
high-level language, translates it, performs the action specified and then does the same with
the next statement and so on.
Assemblers
An assembler is a computer program that translates a program written in an assembly
language into machine code so that it can be directly used by a computer to perform a
required task. Once a program is assembled the machine code can be used again and
again to perform the same task without re-assembly.

Pros & Cons


Translators Pros Cons
Interpolator easier and quicker Cannot run without interpreter
easier to edit
Compiler Stored ready Longer time
Without compiler
Less space in memory
Shorter time

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK
Integrated Development Environment
An Integrated Development Environment (IDE) is used by programmers to aid the writing
and development of programs. There are many different IDEs available; some just support
one programming language, others can be used for several different programming
languages. You may be using PyCharm (for Python), Visual Studio (for Visual Basic) or BlueJ
(for Java) as your IDE.
Features
 Code Editors
 Translator
 Runtime Environment with Debugger
 Error Diagnostics
 Auto Completion
 Auto Correction
 Auto Documenter & Pretty
Pret
ettty Printing
Code Editors
A code editor allows
alloows a program
progr
grram
g r to be written and edited without the need to use a separate
text edi
editor.
dito
di r. TThis
tor.
tor speeds
h s sp
hi peeds upp the program
e pr
proograram
am de development
eve
velopm
pmen
pm ent pr process,
p
proc
ro es
esss, editing
s, ass ed
ediitingg ccan
an bee done
without
w
wi thou
th cchanging
out chhangi ng tto
g ng
gi different
o a differ piece
errentt pi
e ecee off ssoftware
piec
ec offtwaaree eeach
achh tittime
ac me tthe
me he p program
rog
oggra
ram nneeds
m ne eed correcting
edss co
corr
rrecting
rr ec
ec
or aadding
ddin
ingg to.

Translators
Most IDEs usually provide a translator, this can be a compiler and/or an interpreter, to
enable the program to be executed.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK

Runtime Environment
A debugger is a program that runs the program under development and allows the
programmer to step through the program a line at a time (single stepping) or to set a
breakpoint to stop the execution of the program at a certain point in the source code.

Error Di
Di
Diagnostics Detection
& Detect
tio
ion
Dynamic error checking finds
dss possible errors as the program code is being typed, alerts the
d
programmer at the time andnd provides a suggested correction. Many errors can therefore
nd
during
be found and corrected duri ing program writing and editing before the program is run.

Auto Completion
Code editors can offer context-sensitive prompts with text completion for variable names
and reserved words.

+92-335-8467840

cswithsk@gmail.com
CS WITH

SK

Auto Documenter & Pretty printing


IDEs can provide an auto-documenter to explain the function and purpose of programming
code. Most code editors color code the words in the program and lay out the program in a
meaningful way - this is called pretty printing.

+92-335-8467840

cswithsk@gmail.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy