System Software System Software: R Anderson R. Anderson

You might also like

Download as pdf or txt
Download as pdf or txt
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 program is fetched and executed line by line p g y

Operating System
The primary system software that p p y y provides the interface between the user, processes, applications and hardware. INTERFACE
User Programs
Inter Process Communication Ports

Hardware
Drivers

OS Utilities
Antivirus Encr ption Encryption

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 Allocation Table (formatting)

File and Disk Management il d i k


Clusters

Defragmenting g g Folders File Properties

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

Functions of the OS
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 CPU if available the 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
Memory Management
Allocate M All Memory to A li i Applications Allocate OS memory

Resource Allocation and Scheduling


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

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

Backing Store / g /Peripheral Management p g


Peripherals Simultaneous Peripheral Output On Line (SPOOL)

Interrupt Handling

More OS
Multiprogramming ( p g g (multi-tasking) g)
Many Programs run concurrently Waiting time is used to switch between running tasks

Multi-Tasking (management of processes)


Shared Processes between Users Different tasks but same application process

Queues
FIFO First In First Out Priority Bases on higher priority

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

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]

Interrupts
Generated by a process to request the attention of the processor or some resource Interrupt Priority

Managing Memory
Direct Memory Access (DMA)
Allow intelligent peripherals to access memory directly instead for going through the system/processor routine.

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.

Variable Partitioning i bl ii i
Dynamically allocate partitions when necessary Process is tedious and processor intensive

Managing Memory II
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.

Scheduling (example)

Classification of Operating System


Batch Processing OS
Multiple P M lti l Programs active at the same ti ti t th time Processor Time is Sliced between processes Batch Processing
Processing is carried out from beginning to end without user interaction g g g 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

Interactive OS
User interacts directly with system to supply commands and data as the y y pp y 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
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 in p pp 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, up to station 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
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


Client
A user/computer on a computer connected to a server

Server
A computer or device providing some service to computers on a network
File server, Database Server, Print Server

Thin Client Server Operating System


Centralised processing on a main Server Machine
Dumb terminals for Input Output

Further Reading
Understanding Computer Science by Ray Bradley g p y y y
470 - 495

You might also like