Lecture1 Introduction To Operating Systems

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

RCS 205

Operating Systems

Lecture 1:
Introduction

1
Lecture 1:
 Scope:
 Introduction.
 Functions of O.S.
 Operating System concepts.
 Lecture objectives:
 Define operating system.
 Understand the functions of an operating system.
 Examine different concepts that come with
operating system.

2
Introduction:
 A computer without software is useless.
Software makes a computer become live.
 With software a computer can store, process
and retrieve information.
 Software make a computer system to become
alive
 Computer Software can be divided into two
forms:
 System programs
 Application programs.

3
Introduction:
 System programs manage the operations of
the computer itself
 Application programs perform the work that
the user wants.
 The most fundamental system program is the
Operating System
 An Operating System:
 controls all computer resources
 provides the base upon which application programs
run.
4
Introduction:
Definition:
“An operating system is a system program
that acts as an intermediary between a user
of a computer and the computer hardware.”

5
Introduction:
 Before the introduction of O/S, computers
ran one program at a time.
 The programmer would write a program
and submit it to the operator who would run
it.
 Programs were written on punch card
 The programmer would then come for the
output later on.
 The results were in the form of either the real
output or dump of errors.

6
Introduction:

 As technology advanced, it became possible


to put all the jobs or programs in a single
tape.
 The tape is then loaded and manipulated by
a another program (called monitor), which
monitors behavior of the jobs
 Apparently, this process was cumbersome
and complex

7
Introduction…

 A way had to be found to shield programmers


from complexity of the hardware and allow for
sharing of the vast computer resources.
 This solution is to put of a layer of software on top
of hardware to manage all resources and provide
a virtual machine that is easier to use and
program.
 A virtual machine is software that creates an environment
between the computer platform and the end-user.
 An Operating System is a resource allocator (CPU
time, memory, file storage, I/O devices etc.)
8
Introduction…

 The concept of an operating system can be


illustrated using the following diagram:

Banking System Airline Web Browser Application Programs


Reservation

Compilers Editors Command


Interpreter

Operating System System Programs

Machine Language

Micro-program Hardware

Physical Devices

9
Functions of Operating System:
 Operating Systems perform two unrelated
functions:
 Provision of a virtual machine
 Resource management

10
Functions of Operating System…
 Provision of a virtual machine
 A Programmer does not want to be involved in

programming devices like memory, floppy and hard


disk
 What a programmer needs is a high-level abstraction

 For example, in case of disks, the abstraction is that

the disk contains a collection of files that may be


opened, read, written and closed
 The Operating system provides this abstraction

11
Functions of Operating System

Resource Manager
 An Operating System provides for orderly and

controlled allocation of CPU, memory and I/O


devices among processes competing for them.
 For example, if two processes are competing for the same
printer and the sharing is not controlled, printing will be
interleaved.
 Consequently, the O/S keeps track of who is using
which resource, grant resource requests, account
for usage and mediate conflicting requests from
different processes
12
Operating system concepts
 The interface between the O/S and user programs is
defined by a set of ‘extended’ instructions that the
O/S provides
 These instructions are referred to as system calls.
 Other concepts that go hand in hand with operating
systems include:
 Processes.
 Files.
 Batch systems.
 Multiprogramming.
 Time-sharing systems.
 Timer interrupts.
 Virtual memory.
 Parallel systems.
13
Operating system concepts…
a. Processes
 A process is a program in execution
 Each process has its address space containing
the executing program, its data and stack
 Also associated with each process is a set of
registers (program counter, stack pointer …)
 In a time sharing system, when a process is
suspended from the CPU, its context must be
saved so that its restarted at exactly the same
state.
14
Operating system concepts …
Processes
 A suspended program consists of its address
space (core image) and its process table entry.
 A process can create other processes known as
child processes and these processes can in turn
create other child processes.
 Processes at times need to communicate with
one another when cooperating to finish some
task. This is referred to as Inter-process
Communication (IPC)

15
Operating system concepts …
b. Files
 A file (program or data) is a collection of related
information defined by its creator .
 There are system calls for creation, copying,
deletion, movement, reading and writing of files.
 For easy access, files are organized into logical
clusters or directories
 For example, you have directories for word
processing documents, spreadsheets, databases,
programs etc

16
Operating system concepts …
Files
 Directories give rise to hierarchical file system as
shown below:
Root

Staff Student

James Peter John Andrew

CSC 403 CSC 302 Games Programs

17
Operating system concepts …
Files
 An absolute name of a file is specified by giving
its path name from the root directory
 Absolute path names consist of the list of
directories traversed from the root directory to
get to the file with slashes separating the
components.
 For example, the path for the file CSC302 can be
specified by: /Staff/James/CSC302.
 The relative path name is specified by giving
the path name of a file from the current
directory,
 for example, James/CSC302, with current directory
/Staff
18
Operating system concepts …
C. Batch Systems
 Early operating systems were batch systems.
 Common input devices were card readers and tape drives.
 Common output devices were line printers, tape drives and
card punches
 Users would submit their jobs to the operator.
 Major task of O/S was to transfer control from one job to
the next
 Jobs with similar needs were batched together and run as a
group to speed processing
 The turnaround time in these systems was high

19
Operating system concepts…
Batch Systems
 The CPU, is often idle because of the disparity in
speed between it and the I/O devices.
 Spooling was introduced to reduce the turnaround
time and CPU idle time in these systems, the spool.
 Spooling, in essence uses the disk as a buffer, for
reading as far ahead as possible on input device
and for storing output files until the output device
is able to accept them.

20
Operating system concepts …
d. Multiprogramming
 Spooling results in several ready jobs to be
put in memory, selecting the job is referred
to as job scheduling.
 The O/S manages the process of job
scheduling i.e. does some memory
management
 The most important aspect of job
scheduling is the ability to multi-program.

21
Operating system concepts …
Multiprogramming
 The O/S picks and executes any of the jobs in
memory
 Eventually, a job will wait for some operation such
as I/O
 In multiprogramming, when this happens the O/S,
simply switches to and executes another job.
 Making this decision is known as CPU scheduling.

22
Operating system concepts …
e.Time Sharing Systems
 Time-sharing, or multitasking is a logical
extension of multiprogramming.
 In time-sharing, multiple jobs, are executed
by the CPU switching between so frequently
that the users may not realize
 Time-sharing systems were developed to
provide interactive use of the computer
system

23
Operating system concepts …
 It allows many users to share the
computer simultaneously.
 As the system switches rapidly from one
user to the other, the user is given the
impression that they have their own
computer

24
Operating system concepts …

f. Timer Interrupts
 Programs were given a specified
amount of time for their execution .
 The monitor (O/S) had the ability to
interrupt the program in case its
execution time expired.

25
Operating system concepts …
g. Virtual Memory
 Gives a program the illusion that it has
as much memory as it needs
 A program is divided into pages so that
a page is brought in memory at any
given time
 There was shifting of pages depending
on the processing demands

26
Operating system concepts …

h. Parallel System
 Most computers are single process systems
 However, the trend is towards having
multiprocessing systems
 Such systems have more than one processor in close
communication, sharing the computer bus, clock,
memory and peripheral devices
 Motivation for having such systems is to improve the
throughput and reliability of the system.

27
Types of Operating systems:
 Different schemes are used to categorize
operating systems.
 The most common types are:
 Single tasking operating systems.
 Multitasking operating systems.
 Single user operating systems.
 Multi user operating systems.
 Virtual memory operating systems.
 Network operating systems.
 Distributed operating systems.
 Parallel operating systems.

28
Lecture review:
 What is an operating system?
 What are the main functions of an
operating system?
 Briefly outline any three operating
system concepts.
 What is the difference between
multiprogramming and multitasking?

29
Next lecture:
 Scope:
 Types of computer systems.
 Historic overview.

 Homework 1
 Describe the general features of the
different types of operating systems. In
each case, give an appropriate example.

30

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy