You are on page 1of 29

BACS1024

INTRODUCTION TO
COMPUTER SYSTEMS

Chapter 6: System Software Technology

1
Chapter Outline
6.1 Systems Software
6.1.1 Operating Systems
6.1.2 Utility Programs
6.2 Operating Systems
6.2.1 Characteristics
6.2.2 Functions
6.2.3 Components
6.2.4 Classification
6.2.5 Operation - System call, interrupt and interrupt handling

2
6.1 Systems Software
 System software is the program that control or maintain the operations
of the computer and its devices and it enable the application software to
run.

3
6.1 Systems Software
 Two types of system software are:
1. Operating Systems (OS)
2. Utility Programs (UP)

4
6.1 Systems Software
6.1.1 Operating Systems
 Operating systems (OS) are the programs that coordinate all the
activities among computer or mobile device hardware.
 E.g.: OS interacts with a user, an application program and computer
hardware to perform a print job.

5
6.1 Systems Software
6.1.1 Operating Systems

6
6.1 Systems Software
6.1.1 Operating Systems
 Different sizes of computers use different Operating System.
 E.g.:
Mobile devices  Symbian, Windows Mobile, Android, Harmony
Personal Computer  Windows 7, Mac OS X, Unix, Linux, Chrome OS
Server  Windows Server 2008, Mac OS X server, Unix, Linux
IBM Mainframe  Z80
 Some computers can run multiple Operating Systems.

7
6.1 Systems Software
6.1.2 Utility Programs
 Utility programs also known as Utility is a type of system software that allows a
user to perform maintenance-type of tasks, usually related to managing
devices, media, and programs used by computers and mobile devices.

Tools Description
File manager To performs functions related to file management.
Search tool To locate a file, contact, calendar event, app or any other item
stored on the computer or mobile devices based on criteria
specified by the user
Image viewer To facilitate images viewing without having to open them in a
paint or image editing program.
Uninstaller To remove an application, as well as any associated entries in the
system files
8
6.1 Systems Software
6.1.2 Utility Programs (Continued)

Tools Description
Disk cleanup To search for and remove unnecessary files
Disk To reorganize the files and unused space on a computer’s
defragmentati hard disk so that the OS can accesses data more quickly
on and programs run faster
File To shrinks the size of file(s)
compression
Screen saver To show a moving image or blank screen if no keyboard or
mouse activity occurs for a specified time
Backup and To allows to backup (copy) selected files or entire storage
restore medium to another location

9
6.2 Operating System
6.2.1 Characteristic of an Operating System

Characteristic Description
Concurrency Concurrency is the existence of several simultaneous or parallel
activities such as overlapping of I/O operations with computation.
Sharing Concurrent activities may be required to share resources or
information.
Long-term Long-term storage allows users the convenience of keeping their
storage programs or data in the computer rather than on some external
medium.
Non- An OS must be determinate in the sense that the same program
determinancy that runs today or tomorrow with the same data, should produce
the same results. On the other hand it is indeterminate in that it
must respond to events which will occur in an unpredictable
manner. These events include resource requests, run-time errors
in programs, and interrupts from peripheral device.
10
6.2 Operating System
6.2.2 Functions of an Operating System
Start and shut down the
computer
Administer security
Provide a user interface

Control network Manage programs

Update automatically Manage memory

Support file
management
Coordinate tasks and
configure devices
Establish network
connection Monitor performance

11
6.2 Operating System
6.2.2 Functions of an Operating System
Functions Description
Start and shut down Start options: Start (cold boot) / restart (warm
the computer boot)
Shut down options: sleep mode, hibernate, etc.
Administer security To establish permissions to resources
Control network To organize and coordinates how multiple users
access and share resources on the network.
Support file To perform function related to storage and file
management management
Establish network To establish Internet connections
connection

12
6.2 Operating System
6.2.2 Functions of an Operating System
Functions Description
Monitor To assess and report information about various
performance computer resources and devices
Provide a user To provide Graphical user interface (GUI) /
interface Command line interface (CLI) for human computer
interaction
Manage memory To optimize the use of RAM
Manage programs To control how many programs a user can run at any
one time
Coordinate tasks To determines the order in which tasks are
and configure processed
devices

13
6.2 Operating System
6.2.3 Components of an Operating System
 An OS is made up on 4 key
components, namely:
 Memory manager
 Processor manager
 Device manager
 File manager
 These components work together in
a non-networked operating system
with its four sub-system managers
supporting the user command
interface.

14
6.2 Operating System
6.2.3 Components of an Operating System
 Tasks performed by each Component
 Monitor its resources continuously.
 Enforce the policies that determine who gets what, when and how
much.
 Allocate the resource when appropriate.
 Deallocate the resource (reclaim it) when appropriate.

15
6.2 Operating System
6.2.3 Components of an Operating System
 Processor Manager
 Allocates CPU time.
 Keeps track of each process status - waiting, executing.
 Sets up necessary registers and tables.
 Reclaims processor when job is finished and/or time for job has
expired.
 Two levels of responsibility .
1. Accepts / rejects the incoming jobs (handled by Job Scheduler)
2. Decides which process gets the CPU and for how long (Handled
by the Process Scheduler)

16
6.2 Operating System
6.2.3 Components of an Operating System
 Memory Manager
 Checks validity of each request for memory space and if it is a legal
request, allocates a portion of memory that isn’t already in use.
 Sets up a table to keep track of who is using which section of
memory.
 Deallocates memory blocks once program completes execution.
 Protects OS memory space so that it cannot be altered by other
programs.

1717
6.2 Operating System
6.2.3 Components of an Operating System
 Device Manager
 Monitors every device, channel, and control unit.
 Allocate in the most efficient manner all of the system’s devices (e.g.
printers, devices, ports, disk drives) based on a scheduling policy
chosen by the system’s designers.
 Functions include:
 Allocation of devices.
 Starting operation of devices.
 Deallocation of devices once job completes.

18
6.2 Operating System
6.2.3 Components of an Operating System
 File Manager
 Keeps track of each file in the system (e.g. data files, program files,
compilers, application programs).
 Allocate resources (e.g. opening files) and deallocate resources (e.g.
closing files).
 Uses predetermined access policies to enforce restrictions on who
has access to which files.
 E.g.:
 Restrictions on each file – system only, user only, group only, general
access.
 User restriction – read only, read/write only, allowed to create file,
allowed to delete file.

19
6.2 Operating System
6.2.4 Types of Operating Systems
 Type of OS in the context of the level of complexity involved in
performing different OS functions such as CPU scheduling,
memory management and file management.
 Types of OS:
1. Batch system
2. Time sharing
3. Real time sharing
4. Hybrid systems
5. Embedded system

20
6.2 Operating System
6.2.4.1 Batch system
 A batch of similar jobs processed serially without user interaction.
 The main objective to execute a large number of jobs as efficiency as
possible. Efficiency is measured in throughput, i.e. the number of jobs
completed in a given amount of time (e.g. 550 jobs per hour).
 The Jobs are executed in first-come-first-served (FCFS) manner.
 Access to file is serial, so simple file management and memory
management.
 E.g.:
 Well suited for applications that have a long execution time and do not
need any quick response. E.g. Payroll, forecasting, statistical analysis,
and large scientific application.

21
6.2 Operating System
6.2.4.2 Time Sharing System
 Support multiprogramming system and interactive users and provides a
quick response time.
 The main objective is to minimize the response time by sharing the
computer resources among several users.
 Most time-sharing systems make use of round-robin scheduling in which
each program is given a system-defined time-slice for its execution.
 More sophisticated memory management is needed to provide separation
and protection of multiple user programs. File management must provide
advanced protection, access control, and concurrency control methods.
 E.g.:
 Banks’ automatic teller machines (ATMs) which provides immediate
cash and transaction details for its users.

22
6.2 Operating System
6.2.4.3 Real Time System
 Extremely fast systems which are used in time-critical environments
where reliability is a major factor and data must be processed within a
strict time limit.
 The main objective is to process the individual records within minimum
delay.
 Most real-time systems use priority-based pre-emptive scheduling.
 Memory management is less demanding in these systems, the programs
remain in the main memory most of the time and there is a little swapping
of program between main and secondary memory.
 Like time-sharing system, file management must provide protection and
access control.
 E.g.:
 Air traffic control system used by the airport authority, robotics,
weapon, undersea exploration, etc. 23
6.2 Operating System
6.2.4.4 Hybrid System
 A combination of batch and interactive systems.
 Appear to be interactive because individual users can access the system
and get fast responses but actually accepts and runs batch programs in
background when the interactive load is light.
 Takes advantage of the free time between high-demand usage of the
system and low-demand times.
 Many large computer systems are hybrids.

24
6.2 Operating System
6.2.4.5 Embedded System
 Embedded systems are computers placed inside other products to add
features and capabilities.
 E.g.: In automobiles, embedded OS can help with engine performance,
braking and navigation

25
6.2 Operating System
6.2.5 Interrupt Handling
 There are instances when a job claims CPU for a very long time before
issuing an I/O request.
 Builds up READY queue & empties I/O queues.
 Creates an unacceptable imbalance in the system.
 Process Scheduler uses a timing mechanism to periodically interrupts
running processes when a predetermined slice of time has expired.
 Suspends all activity on the currently running job and reschedules it into
the READY queue.

26
6.2 Operating System
6.2.5 Interrupt Handling
 Interrupt Handler
 The program that controls what action should be taken by the OS when
a sequence of events is interrupted.
 When the OS detects a nonrecoverable error, the interrupt handler
typically follows this sequence:
1. The current process is suspended.
2. The state of the interrupted process is saved, including the value
of the program counter, the mode specification, and the contents
of all registers.
3. The interrupt is processed: The error message and state of the
interrupted process are sent to the user; program execution is
halted; any resources allocated to the job are released; and the
job exits the system.
4. The processor resumes normal operation. 27
6.2 Operating System
6.2.5 Interrupt Handling

Process P0 Process P1
Executing
Save state into PCB-0
Context Switch Idle
Reload state from PCB-1
Executing
Idle Interrupt or I/O

Save state into PCB-1


Context Switch Idle
Reload state from PCB-0
Executing
**Note: More info on Context switching at next Chapter.

28
Chapter 6: System Software Technology
Self-review

6.1 Systems Software


6.1.1 Operating Systems
6.1.2 Utility Programs
6.2 Operating Systems
6.2.1 Characteristics
6.2.2 Functions
6.2.3 Components
6.2.4 Classification
6.2.5 Operation - System call,
interrupt and interrupt handling

29

You might also like