S.2 System Software
S.2 System Software
System Software
1
Definition
• System software is a set of programs that control or
maintain all the operations of the computer and its
devices, such as the CPU, communication links, and
peripheral devices.
• System software serves as the interface between the
user, the application software, and the computer's
hardware.
2
Functions of Systems Software
• Stores and retrieves files.
• Booting process of the computer.
• Performs a variety of system utility functions.
• Coordinates the proper working of application
programs and all hardware components.
• Performs operations like retrieving, loading,
executing and storage of application
programs.
3
System Software Includes:
–An Operating system and Device
Drivers
–Utility Programs and
–Programming Languages
(Translators and Library Programs)
4
Operating System (OS)
• An operating system is a set of programs/instructions that
coordinates all the activities among computer hardware
devices.
• The operating system functions as a middleman between the
user and the computer, as well as between application
software programs and the hardware devices.
• Note:
• The OS permanently resides in drive C or ROM of the
computer where the HDD is found once it is installed.
Operating systems contribute to the control and management
of the computer system.
4/28/2020 5
Device Drivers
• To communicate with the hardware devices,
the operating system relies on device drivers.
• A device driver is a program that accepts
instructions and then converts them into
commands that the device understands.
• Each device on a computer, such as the
keyboard, mouse, monitor, printer, card
reader/writer, and scanner, has its own device
driver.
6
Do not draw
9
Mac OS
• Macintosh operating system was released in
1984 with Apple’s Macintosh computers.
• Mac OS X includes features such as a GUI,
multitasking, large photo-quality icons,
• built-in networking support, email, online
shopping, enhanced speech recognition,
• CD burning, and enhanced multimedia
capabilities.
10
Do not draw
11
UNIX
• The multi user OS that runs on all computers
i.e. micro, mini and main frame computers. It
is has a 16 or 32-bit, fast, stable, flexible and
powerful offering both CLI and GUI.
12
Linux
• Linux is one of the fastest growing operating
systems which offers either CLI or GUI with a
32-bit and 64-bit.
• Linux is a free, open source, UNIX-like
operating system.
• Linux comes with very many utilities and
applications such as open office.
• It has many service programs.
• Fedora, Ubuntu, Deepin etc.
13
MS-DOS(Microsoft Disk Operating
System)
14
Windows
The area of the monitor that displays menus, text messages etc is referred to as the
Window.
It requires more memory and a fast processor. Tasks cannot be automated. It is user
friendly since commands need not to be memorised. Microsoft brought an operating
environment called Windows 1.0 in the late 80s which could multitask.
15
Comparison between DOS and
Windows
Windows DOS
GUI operating system CLI operating system
Plug and play Does not use new chips
Requires more memory Has limited primary storage
More disk space is required Less disk space is required
17
(a) Classification according to tasks
handled concurrently
1.Single program operating system
• This operating system allows processing of
only one user program in the main memory at
a time. Therefore, the user can only run one
interactive program in the main memory at a
time. Then the user must exit from the
program before loading and running another
program. An example of a single user
operating system is MS DOS from Microsoft
Corporation. 18
2.Multi-tasking Operating System
19
3.Multiprogramming Operating
System
• This OS has the ability to run many programs
apparently at the same time (i.e. concurrent
execution of different users’ programs). It is
typical of server based model.
20
(b) Classification according to number of
users
1.Single-user system: This allows only one user
to run a program at a time e.g. DOS.
2.Multi-user system: This enables two or more
users to run a program at the same time e.g. N-
computing or server based. Many users linked
by workstations to a central computer as in a
network.
21
Single user system Multi-user system
4/28/2020 22
(c). Classification according to user
interface
Human computer interface refers to the way of
interaction between the user and computer. It
determines the ease with which the computer
can operated by the user. Commonly there are
three main types of human computer interface
used;
• Command line Interface (CLI).
• Menu driven interface.
• The graphical user interface (GUI).
23
Command Line interface (CLI)
• This is where commands (instructions) are
given by typing special keys on the keyboard
keyboard e.g. Ms DOS, UNIX, LINUX, Apple
DOS etc.
• The CLI was the primary means of interaction
with most popular operating systems in the
1970s and 1980s.
• A user is provided with a blank screen having a
blinking cursor (prompt).
24
Command line interface
25
• Shown here are some typical CLI commands.
• NB To view a list of more common commands,
type help at the command prompt.
26
CHARACTERISTICS OF CLI (DOS)
• Commands can be learnt.
• The commands have to be memorised.
• Manages the running of other programs.
• Provision of the platform for application software to
run.
• It establishes a relationship between hardware and
software.
• Tasks can be automated by grouping commands into
batch files.
• Commands are entered directly through the keyboard
which makes the operation a fast one.
27
MENU-DRIVEN INTERFACE
• This is a type of user interface that provides
the user with a list of options to choose from.
The whole list is called a menu.
• Menu-driven interfaces are easier to learn
than CLI because users do not have to cram
keywords for commands.
• To select a program to run, you either typed
the number of the program on the list or
pressed the function key with that number.
28
Menu driven interface
29
GRAPHICAL USER INTERFACE (GUI)
• These are OS which use small picture-like
structures (icons) to control the program e.g.
Linux, Windows
• The control is done by pointing the mouse and
clicking on the appropriate icons. This is faster
and easier than typing a command.
• The Windows programs are examples of such
programs, using drop-downmenus, Icons,
Check boxes, Cursor, Scroll bars, Menus e.t.c.
30
31
CHARACTERISTICS OF GUI (Windows)
• Functions cannot be automated.
• It requires a faster processor and more memory.
• It is easy to learn and work with hence user friendly.
• The operation depends on the working of the
processor.
• Commands are represented with icons therefore no
need to be memorised.
• The feedback which may be audio or visual is
immediate e.g moving og the mouse makes the
pointer move on the monitor.
• 32
Advantages of GUI
• You use similar actions or procedures to do
various different jobs.
• Almost all applications have the same
appearance i.e. they contain caption bars,
menu bars, tool bars and status bars in
general.
• There is no need to enter commands by
typing, so it is faster, more reliable and there
is no need to remember spelling or syntax.
33
Disadvantages of GUI
• More RAM is required.
• Slow at executing instructions.
34
FUNCTIONS OF THE OPERATING SYSTEM
1) Booting:
• The process of starting or restarting a computer
is called booting.
• The process of turning on a computer after it had
been powered off completely is known as cold
booting. E.g by pressing the power button.
• Warm booting is the process of restarting a
computer that already is powered on. E.g
Restarting the pc
35
The Boot Process
• On start up, the OS may verify that the person
attempting to use the computer is a legitimate
user through use of a password.
• After the user logs on, the desktop and icons
are displayed on the screen.
• Finally, the operating system also executes
programs in the Startup folder, which contains
a list of programs that open automatically
when you boot the computer.
36
2) Providing User Interface
• User interface is the way in which the
computer presents itself (icons, menus,
buttons etc) to the user and the way the user
will communicate or interact with the
computer in terms of giving commands.
37
3) Managing storage media (memory)
• Performs common repetitive tasks necessary for
storage media for example of blank discs.
• Memory management activities can be done
through.
• Partitioning: Dividing memory into portions e.g. fore
ground and back ground.
• Queuing: This is typical of time sharing system where
data is prioritized for purposes of processing in the
CPU.
• Re-allocation of memory to a program when a used
block is freed.
• Freeing of memory.
38
4) File management
• The operating systems help to organize files
and folders on a computer’s hard disk drive.
39
What is the difference between a file
and a folder?
42
6) Managing tasks and processes
• Managing of tasks is done through;
• Multitasking: The concurrent execution of two or more
programs by a user on the same computer by a single CPU.
It helps to run more than one program at the same time.
• Multiprogramming: The concurrent execution of different
users’ programs on a multi-user operating system. It allows
several users to execute different programs at the same
time. Examples include; Windows NT server.
• Time sharing: Execution of different users’ programs in
round-ribbon fashion.
• Multi-processing: The processing done by two or more
computers linked together to perform work at the same
time. 43
7) Administering security.
8) Establishing an Internet connection
9) Enables the user to load programs into the
computer.
10) Coordinates the flow of data between the
user and different application programs.
11) Coordinates tasks and spooling
44
Network Operating Systems
• A network operating system (NOS) is an
operating system that supports a network and
typically resides on the server.
• Some stand-alone OS systems include
networking capability.
• However, network operating systems are
designed specifically to support all sizes of
networks.
• Examples of network operating systems
include Windows Server 2003, 2008, Solaris,
and NetWare, UNIX server, and Linux server. 45
Embedded Operating Systems
• An embedded operating system is an
operating system that resides on ROM chips
and typically used on handheld computers
and small devices.
• Popular embedded operating systems today
include Windows Embedded CE, Windows
Mobile, Palm OS, Embedded Linux, and
Symbian OS.
46
Embedded Operating Systems
47
CONSIDERATIONS (FACTORS) FOR AN
OPERATING SYSTEM
• The number of users.
• The availability of basic utilities
• Cost: Some OS are for free e.g. Linux.
• The number of processors and hardware devices.
• User friendly i.e. is it a command line based or menu driven?
• Availability of the user manual for reference in case of a problem.
• Reliability: The OS must be able to run without crashing or
hanging.
• Hardware configuration or provisions of the computer e.g.
memory size, hard disk capacity, type of processor etc.
• Compatibility of the application software to be installed. For
example, Windows 2000 cannot support Microsoft Office 2010.
• Security 48
SYSTEM UTILITIES (UTILITY
PROGRAMS)
• These are small programs that provide an
addition to the capabilities provided by an
operating system.
• Generally, utilities perform a specific task
which is related to managing the system
resources. OS contains a number of utilities
for managing disk drives, printers and other
drives. They are developed to enhance
performance of other existing programs in
the computer system. They are also referred
to as service programs. 49
TYPES OF UTILITY PROGRAMS
a) Anti-virus software/Virus Protection Utility
• A utility that detects prevents and removes
viruses from a computer’s memory or storage
media. Examples include; McAfee virus scan,
Kaspersky, BullGuard, Bitdefender, Web scan,
Norton antivirus, Dr. Solomon’s anti-virus
toolkit, etc.
50
b) Diagnostic utility
This compiles technical information about the
computer’s hardware and system software programs
and then prepares a report outlining any identified
problems.
c) System monitor
Monitors the performance and resources of the
computer.
d) File compression
This reduces or compresses the size of a file.
A compressed file takes up less storage space on a hard
disk, which frees up room on the disk and improves
system performance. Eg WinRAR, 7 Zip, WinZip,
powerISO etc. 51
e)Archive
Outputs a stream or a single file when provided
with a set of files.
f) Search utility
Locates a file on the computer.
g)Disk Defragmenter
This organizes the files and unused space on a
computer's HDD so that data can be accessed
e.g. Norton's disk Doctor.
h) Disk checkers
Performs the scanning of the HDD to find the
corrupted files. 52
Programming Languages
• A programming language is a notation for writing
computer software.
• Programming languages are can be used to create the
procedures and specifications of a computation or
algorithm.
• NB: Examples of popular programming languages include:
• FORTRAN (FORmular TRANslator)
• BASIC (Beginners’ All-purpose Symbolic Instruction Code)
• Visual BASIC
• COBOL (COmmon Business-Oriented Language)
• C and C++
• Java ,javascript, ruby, python
• Pascal, Perl, e.t.c. 53
• Computer programming
• A computer works by executing a set of instructions
known as a program.
• Program is a set of instructions that tells the computer
what to do and how to do it.
• Program code is a computer instruction written in a
programming language.
• Programming refers to the process of
creating/developing computer instructions (commands)
to solve a particular task.
• Programming languages: Are a set of instruction that
tells the computer what operations to do during the
programming process.
54
Features of a programming language
• They are machine/ computer dependent.
• They are typical of first generation computers.
• They are time consuming during
programming.
• Allow the programmer to pay attention to the
problem.
• Less user friendly – not very easy to learn,
write, correct.
• Cannot be used by the computer directly
without interpretation 55
Advantages of programming
56
Limitations
57
Description of terms used in programming
• Source code
This is the program code that the programmer enters in the
program editor window that is not yet translated into
machine readable form.
• Object code
The program code that is in machine readable form (bits).A
source code that is not in machine readable form must be
translated into object code.
• Language translators
• These are programming tools that convert the source
program into object computer can understand.
58
Types of Language Translators/processors
• Assembler
A software that is used to translate the assembly
language (source code) into machine language
(machine code) that the computer can understand
and execute.
• Interpreter
This is a language translator that converts the
source program into machine language line-by-line
while the program is running i.e. one line of the
source program is converted into a machine
language before translating the next. 59
• Compiler
Computer software that translates the entire
source program into object/machine codes before
it is run.
• Compilation – The process of translating a
source code from high-level language into
object/machine code by the compiler.
60
The differences between the interpreters
and compilers are summarized below
Interpreters Compilers
Translates the source Translates the entire source code at
1. program one statement at a once before execution.
time.
Translates the program each Compiled program (object code) can
2. time it is run hence slower be saved on a storage media and run
than compiling. as required, hence executes faster
than interpreted programs.
Interpreted object code Compiled programs require more
3. takes less memory memory as the object files are larger.
compared to compiled
program. 61
END OF SYSTEM SOFTWARE
62