Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 20

Operating Systems I

An Introduction
to
Operating System
Concepts

CMSC 104, LECT03


OS Introduction

• Computer applications today require a


single machine to perform many
operations and the applications may
compete for the resources of the machine.
• This demands a high degree of
coordination
• This coordination is handled by system
software known as the operating system

CMSC 104, LECT03


Evolution of Operating System

• OS for batch jobs


o Program execution required significant
preparation of equipment
o Program execution (job)
o OS was a system to simplify program setup
and simplify transition between jobs
o Physical separation of users and
equipment led to computer operators

CMSC 104, LECT03


OS Evolution (cont’d)

o Users left jobs with the operator and came


back the next day (batch jobs)
o Users had no interaction with computer
during program execution. Maybe okay for
some applications, but not for all.

CMSC 104, LECT03


OS Evolution

• OS for Interactive Processing


o Allowed programs to carry on dialogue with
user via remote terminals (workstations)
o Real-time processing
o Users demand timely response
o Machines too expensive to serve only one
user
o Common for several users to want
interactive services at the same time

CMSC 104, LECT03


OS Evolution (cont’d)

• OS for time-sharing
o To accommodate multiple real-time users,
the OS rotates its various jobs in and out of
execution via time-sharing
o Each job gets a predetermined “time slice”
o At end of time slice current job is set aside
and a new one starts
o By rapidly shuffling jobs, illusion of several
jobs executing simultaneously is created

CMSC 104, LECT03


OS Evolution (cont’d)

o Without time slicing, a computer spends


most of its time waiting for peripheral
devices or users
o A collection of tasks can be completed in
less time with time-sharing than when
completed sequentially

CMSC 104, LECT03


Different Operating Systems on the
Same Machine ?

• It is possible to have more than one


operating system available to be used
on a machine.
• Only one operating system is run at a
time, though.
• Examples:
o VAX -- VMS or Ultrix
o PCs -- DOS, Windows, or Linux

CMSC 104, LECT03


Types of software

• Applications software
o Performs tasks specific to the machine’s
utilization.
• System Software
o Performs tasks common to computer
systems in general
o Operating systems vary based on the
hardware they’re used on

CMSC 104, LECT03


Types of software (cont’d)

• Utility software
o Provides fundamental activities, yet not
included with OS
o “Extends” the OS
o Distinction between applications and
utilities is often vague
o Distinction between OS and utilities is also
vague

CMSC 104, LECT03 1


The OS Shell

• Defines interface between OS and


users
o Windows GUI
o UNIX command line
o UNIX users can choose among a variety of
shells
csh is the “C shell”
tcsh is an enhanced “C shell”

CMSC 104, LECT03 1


OS Shell interface
Users

Users O/S Users

shell

CMSC 104, LECT03 1


The OS Kernel

• The internal part of the OS is often


called the kernel
• Kernel Components
o File Manager
o Device Drivers
o Memory Manager
o Scheduler
o Dispatcher

CMSC 104, LECT03 1


OS File Manager

• Maintains information about the files


that are available on the system
• Where files are located in mass storage,
their size and type and their protections,
what part of mass storage is available
• Files usually allowed to be grouped in
directories or folders. Allows
hierarchical organization.

CMSC 104, LECT03 1


OS Device Drivers

• Software to communicate with


peripheral devices or controllers
• Each driver is unique
• Translates general requests into
specific steps for that device

CMSC 104, LECT03 1


OS Memory Manager

• Responsible for coordinating the use of


the machine’s main memory
• Decides what area of memory is to be
allocated for a program and its data
• Allocates and deallocates memory for
different programs and always knows
what areas are free

CMSC 104, LECT03 1


OS Scheduler

• Maintains a record of processes that are


present, adds new processes, removes
completed processes
o memory area(s) assigned
o priority
o state of readiness to execute (ready/wait)

CMSC 104, LECT03 1


OS Dispatcher

• Ensures that processes that are ready


to run are actually executed
• Time is divided into small (50 ms)
segments called a time slice
• When the time slice is over, the
dispatcher allows scheduler to update
process state for each process, then
selects the next process to run

CMSC 104, LECT03 1


OS Summary

• Shell -- interface to user


• File Manager -- manages mass memory
• Device Drivers -- communicate with
peripherals
• Memory Manager -- manages main
memory
• Scheduler & Dispatcher -- manage
processes

CMSC 104, LECT03 1


Utilities

• Operating systems usually come with


some associated utility programs
• UNIX usually has the text editors emacs
and vi (and sometimes pico)
• UNIX has its own sort utility
• UNIX has its own mail utility

CMSC 104, LECT03 2

You might also like