You are on page 1of 17

System Software

R. ANDERSON

Translators
Assembler
Convert low-level assembly code into machine code
Uses a lookup table to match codes and replace the code with the
appropriate machine coded instruction in binary
C
Compiler
il
Translates entire source code written in a high level language (human
readable) into machine code (machine readable). A compiled version of
the file is produced.
produced
Program can only be executed after translation complete
Changes to the source code require complete re-translation (re-compile)
Interpreter
Conversion and subsequent Execution is done line by line (no object file
is created)

Statements from the source p


program
g
is fetched and executed line byy line

Operating System
y The p
primaryy system
y
software that p
provides the

interface between the user, processes, applications


and hardware.
y INTERFACE
{
{

User
Programs
Inter Process Communication
Ports

Hardware

Drivers

OS Utilities
Antivirus
Encryption
Encr ption

Use of a specially designed algorithm to convert regular text into special codes
which cannot be understood unless the algorithm is re-applied (decryption) to
return the coded text to its original form.

RSA

Compression

Reducing file size to maximize disk usage or transfer over communication


channel.

File
il and
d Disk
i k Management

File Allocation Table (formatting)

Clusters

Defragmenting
g
g
Folders
File Properties

Date, time, user access (R-W-X)

Functions of the OS
y Process Management
{ Process is an instance of a software/program running on the system
{ Processes Require Resources [CPU Time, Memory, Files, I/O devices

Process States
| Ready
R d process can use th
the CPU if available
il bl
| Running process has the attention of the CPU
| Blocked process waiting for an event to trigger its start

The operating system Can:

Destroy /Kill Process - terminate process before it runs to normal completion


Create a process - must be brought into memory before it can be executed
Pause Process Give the CPUs attention to another process
Resume Process the suspended process regains CPU attention
Change Process Priority Increase/Decrease
| Place higher up or lower in the priority queue

Functions of OS II
y Memory Management
{
{

Allocate M
All
Memory to A
Applications
li i
Allocate OS memory

y Resource Allocation and Scheduling


{
{
{

Allocate Processor Time


All
i
Scheduling processor and I/O resources
Scheduling Algorithm
Priority of process

y User Interaction
{
{
{

User Interface (GUI,


(GUI Pop-Up,
Pop Up Pull Down)
Notifications
User Management/Security

y Backing
g Store //Peripheral
p
Management
g
{ Peripherals
{ Simultaneous Peripheral Output On Line (SPOOL)
y Interrupt Handling

More OS
y Multiprogramming
p g
g ((multi-tasking)
g)
{ Many Programs run concurrently
{ Waiting time is used to switch between running tasks
y Multi-Tasking (management of processes)
{ Shared Processes between Users
{ Different tasks but same application process
y Queues
{ FIFO First In First Out
{ Priority Bases on higher priority

OS?
y Concurrency Issues
Same task many processes
Synchronisation
y File Locking
y Preserve data integrity
{

y Deadlock
{

One task is using a resource that the other requires, and the one
holding is waiting for one from the requester
File Update Example [ 2 processes, same file]

y Interrupts
{
{

Generated by a process to request the attention of the processor or


some resource
Interrupt Priority

Managing Memory
y Direct Memory Access (DMA)
{

Allow intelligent peripherals to access memory directly instead for


going through the system/processor routine.

y Fixed Partitioning
g
{

Specific sizes/partitions are set up in memory and jobs/ processes


are loaded in a partition when required.
Partitions can be fixed varied sizes
Problem:
| Partitions may not be able to facilitate size of process however
memory is wasted.

y Variable
i bl Partitioning
ii i
{

Dynamically allocate partitions when necessary


Process is tedious and processor intensive

Managing Memory II
y Virtual Memory
y
{ Split memory into small sections called page frames
{ Split user programs into to pages so that each page of users
programs occupies exactly the same space as a page frame in
memory
{ Only the section of the program necessary for execution is
loaded into RAM
{ Disadvantage:
There may be delays in loading the dormant sections into RAM
Thrashing: The process of removing and reloading pages
| This may reduce the time used to execute programs.

y Scheduling (example)

Classification of Operating System


y Batch Processing OS
{ Multiple
M lti l Programs
P
active
ti att the
th same ti
time
{ Processor Time is Sliced between processes
{ Batch Processing

Processing
g is carried out from beginning
g
g to end without user interaction
| Processing requirements for job defined in advance
| A batch of several jobs are loaded at the same time
Keeps the processor busy switching between jobs

Example:

Processing payroll data supplied as data files and printing out payslips

y Interactive OS
{ User interacts directly
y with system
y
to supply
pp y commands and data as the
application program undergoes execution. Results are received
immediately.

Example: travel agent booking and confirming a place on a package holiday


for a client waiting at the counter.

OS Classification I
y Real Time OS
{

Support applications which are non-sequential in nature, that is,


programs which do not have a start->process->end structure
Deal with several events which happen
pp in p
parallel and at
unpredictable moments (eg. clicking a mouse button)
Have to execute process and provide response within a specified time
interval.
Some systems are safety critical, must be fail safe and guarantee
response within time interval
Example: process control in a chemical nuclear power station,
station up to
1000 signals can arrive per second from sensors attached to the
system being controlled. The response time must be less than one
thousandth of a second

OS Classification II
y Network OS
{ Required when multiple computers are connected together on
a network
{ Controls who log on and off the network by username and
password in order to protect applications, files and other
resources available on the network.
{ Allow authenticated users with appropriate access rights to use
software and other resources on the network.

Client Server System


y Client
{ A user/computer on a computer connected to a server
y Server
{ A computer or device providing some service to computers on
a network

File server, Database Server, Print Server

y Thin Client Server Operating System


{ Centralised processing on a main Server Machine

Dumb terminals for Input Output

Further Reading
y Understanding
g Computer
p
Science byy Rayy Bradleyy
{ 470 - 495

You might also like