You are on page 1of 21

CoSc2042

Operating System

Computer Science Program


Wollega University
March 2015
Chapter One
Introduction

2
Objectives
At the end of this chapter you should be able to:
 Define operating system
 Explain services provided by operating system
 Describe evolution of operating system
 Describe various types of operating systems and their services
 Understand the structure of operating system

3
Outline
Definition of an Operating System
History of Operating Systems
Operating System Services
Types of Operating Systems and Operating System
Structure

4
What is an Operating System?
A program that acts as an intermediary between a
user of a computer and the computer hardware.
It is an extended machine
 Hides the messy details which must be performed
 Presents user with a virtual machine, easier to use

It is a resource manager


 Each program gets time with the resource
 Each program gets space on the resource

Operating system goals:


 Execute user programs and make solving user problems
easier.
 Make the computer system convenient to use.
 Use the computer hardware in an efficient manner.
5
Computer System Components
1. Hardware – provides basic computing resources
(CPU, memory, I/O devices).
2. Operating system – controls and coordinates the
use of the hardware among the various application
programs for the various users.
3. Applications programs – define the ways in which
the system resources are used to solve the computing
problems of the users (database systems, video
games, business programs).
4. Users (people, machines, other computers).

6
Computer System Components(cont’d)

7
Operating System Objectives
Convenience – Top Down View – Virtual Machine
 Extending the real hardware and acting as a Virtual Machine
 Hiding the truth about the hardware from the user
 Providing the user a convenient interface which is easier to
program

Efficiency – Bottom Up View – Resource Manager


 Providing an orderly and controlled allocation of resources
 Improving resource utilization

Ability to Evolve
 Adaptability to new changes
 Hardware upgrades/New types of hardware
 Need of new services
 Easy fixes of latent errors
8
History of Operating Systems
First Generations (1945- 1955)
 During this time computers were used for mathematical and
scientific applications.
 This Computer were called Calculating Engines
 The hardware used for switching were vacuum tubes.
 During this time a single group of people design, built,
program, operate and maintain each machine.
 There was no programming language, everything was done
in absolute machine language.
 Operating systems were unheard of.

9
History of Operating Systems(cont’d)
Second Generations (1955- 1965)
 Transistors were introduced and they replaced vacuum tubes
as switches.
 Computer started to be manufactured for use for big
companies/governments, banks etc.
 There was a clear separation between designers, builders,
operators, programmers and maintenance personnel.
 There were professional operators to run the computers
 Steps for running a job:
 A programmer would first write the program on paper
 Punch the program into punched cards.
 Bring the cards to the input room, hand it to the operators
 Operators will run the program and would print the output and give
the result to the programmers.
 Typical operating systems were:
 FMS(the Fortran Monitor System)
 IBSYS(IBM’s operating system for IBM 7094)
10
History of Operating Systems(cont’d)

Early batch system


(a) Programmers bring cards to 1401.
(b) 1401 reads batch of jobs onto tape.
(c) Operator carries input tape to 7094.
(d) 7094 does computing.
(e) Operator carries output tape to 1401.
(f) 1401 prints output.
11
History of Operating Systems(cont’d)
 $JOB card: specify the maximum
run time in minutes, the account
number to be charged, and the
programmer's name.
 $FORTRAN card: tell the operating
system to load the FORTRAN
compiler from the system tape. It
was followed by the program to be
compiled
 $LOAD card: direct the operating
system to load the object program
just compiled.
 $RUN card: tell the operating
system to run the program with the
data following it.
 the $END card marked the end of
the job.

Structure of a typical FMS job – 2nd generation


12
History of Operating Systems(cont’d)
Third Generations (1965- 1980)

Three jobs in memory – 3rd generation

13
History of Operating Systems(cont’d)
ICs and Multiprogramming system
Multiprogramming or Multitasking
 Central theme of modern OS
 Multiple programs in main memory at the same time
 Need enough memory
 When one program needs to wait for I/O, the processor can switch
to the other program
 When one job needs to wait for I/O, the processor can switch
to the other job

14
History of Operating Systems(cont’d)
Fourth Generations (1980- present)
 Personal computers were developed.
 GUI invented.

15
Operating System Services
Process Management
 A process is a program in execution. A process needs certain
resources, including CPU time, memory, files, and I/O devices,
to accomplish its task.
 Process is active entity, while program is passive entity
 The operating system is responsible for the following activities
in connection with process management.
 Process creation and deletion.
 process suspension and resumption.
 Provision of mechanisms for:
 process synchronization
 process communication

16
Operating System Services(cont’d)
Memory Management
 The operating system is responsible for the following activities
in connections with memory management:
 Keep track of which parts of memory are currently being used and
by whom.
 Decide which processes to load when memory space becomes
availabile.
 Allocate and deallocate memory space as needed.

File Management
 A file is a collection of related information defined by its
creator.
 Responsibility of operating system includes:
 File creation and deletion.
 Directory creation and deletion.
 Mapping files onto secondary storage.
 File backup on stable (nonvolatile) storage media. 17
Operating System Services(cont’d)
Protection System
 Protection refers to a mechanism for controlling access by
programs, processes, or users to both system and user
resources.
 The protection mechanism must:
 distinguish between authorized and unauthorized usage.
 specify the controls to be imposed.
 provide a means of enforcement.

I/O Management
Secondary-Storage Management

18
Operating System Services(cont’d)
Program execution – system capability to load a program
into memory and to run it.
I/O operations – since user programs cannot execute
I/O operations directly, the operating system must
provide some means to perform I/O.
File-system manipulation – program capability to read,
write, create, and delete files.
Communications – exchange of information between
processes executing either on the same computer or on
different systems tied together by a network.
Implemented via shared memory or message passing.
Error detection – ensure correct computing by detecting
errors in the CPU and memory hardware, in I/O devices,
or in user programs.
19
Operating System Services(cont’d)
Additional functions exist not for helping the user, but
rather for ensuring efficient system operations.
 Resource allocation – allocating resources to multiple users or
multiple jobs running at the same time.
 Accounting – keep track of and record which users use how
much and what kinds of computer resources for account billing
or for accumulating usage statistics.
 Protection – ensuring that all access to system resources is
controlled.

20
Assignments

Write about:
A. Types of operating systems. It includes but no
limited to:
 Mainframe operating systems
 Distributed operating systems
 Personal computer operating systems
 Real-time operating systems
 Embedded operating systems

B. Operating System Structure


 Submission date: March 16, 2015

 Read about various types of operating systems


(Windows, UNIX, LINUX, etc)
 History, Functionality, Cost 21

You might also like