SlideShare a Scribd company logo
Operating Systems: CSE 3204
Chapter One
Introduction to Operating System
and its Structures
(Materials partly taken from Operating System Concepts by Silberschatz, Galvin and Gagne, 2005 – 7th Edition, chapter 1-2)
ASTU
Department of CSE
May 21, 2019 1
Operating Systems
Lecture 1: Introduction to Operating Systems
Contents
• What operating systems do
• Computer system structure
• Computer system organization
• Operating system operations
• Computing environments
• Operating system-views
• Reading Assignments
May 21, 2019 2
Operating Systems
May 21, 2019 3
What is an operating system?
• A program that acts as an intermediary between a user of a
computer and the computer hardware.
• 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.
• It’s a resource allocator Manages all resources
• Decides between conflicting requests for efficient and fair
resource use
• It’s a control program
• Controls the execution of programs to prevent errors and
improper use of the computer
Operating Systems
Operating System Definition (Contd.)
• Operating system is the first layer of software loaded into the
computer working memory.
 An interface between the user, the computer software and
the hardware resources.
• It provides a software platform on top of which other
program can run.
• “The one program running at all times on the computer” is
the kernel. Everything else is either a system program
(ships with the operating system) or an application program.
4
Operating Systems
May 21, 2019
Computer System structure
May 21, 2019 5
Components of a
computer:
• User
•machine/person /computer
•Application programs
• a special software used to solve
particular problems of users
•Operating system
•Controls and coordinates use of
hardware among various users and
applications
•Computer hardware
•I/O device, Memory, CPU
Operating Systems
Computer System Organization
 One or more CPUs, device controllers connect through common bus
providing access to shared memory
 Concurrent execution of CPUs and devices competing for memory
cycles
May 21, 2019 6
Operating Systems
Operating System
Computer-System Operation
• I/O devices and the CPU can execute concurrently.
• Each device controller is in charge of a particular device type.
• Each device controller has a local buffer.
• CPU moves data from/to main memory to/from local buffers
• I/O is from the device to local buffer of controller.
• Device controller informs CPU that it has finished its operation
by causing an interrupt.
7
Operating Systems
May 21, 2019
Computer Startup
• bootstrap program is loaded at power-up or reboot
• Typically stored in ROM or EEPROM (Electronic Erasable
Programmable Read Only Memory), generally known as
firmware, within the computer hardware
• Initializes all aspects of the system
• Loads operating system kernel and starts execution
8
Operating Systems
May 21, 2019
Interrupts
• An interruption of the normal sequence of execution
• Improves processing efficiency
• Allows the processor to execute other instructions while an
I/O operation is in progress
• A suspension of a process caused by an event external to that
process and performed in such a way that the process can be
resumed
• Interrupt Handler:
• A program that determines nature of the interrupt and
performs whatever actions are needed
• Control is transferred to this program
• Generally part of the operating system
May 21, 2019 9
Operating System
Operating Systems
Common Functions of Interrupts
• Interrupt transfers control to the interrupt service routine
generally, through the interrupt vector, which contains the
addresses of all the service routines.
• Interrupt architecture must save the address of the
interrupted instruction.
• Incoming interrupts are disabled while another interrupt is
being processed to prevent a lost interrupt.
• A trap is a software-generated interrupt caused either by an
error or a user request.
• An operating system is interrupt driven.
10
Operating Systems
May 21, 2019
Operating System Structure
• Multiprogramming is needed for
efficiency
• A single user cannot keep CPU and I/O
devices busy at all times
• Multiprogramming increases CPU
utilization by organizing jobs (code and
data) so CPU always has one to execute
• A subset of total jobs in system is kept in
memory
• One job selected and run via job
scheduling
• When it has to wait (for I/O for example),
OS switches to another job
11
Operating Systems
May 21, 2019
Memory Layout for
multiprogramed system
Operating System Structure (contd.)
May 21, 2019 12
• Timesharing (multitasking) is a logical extension of multiprogramming
in which CPU executes jobs by switching among them
• The switch occurs so frequently that users can interact with each job
while it is running, creating an interactive computing
•The user gives instruction to the operating system or the program
running using an input device and waits for immediate result on an
output device
 Therefore, the response time should be < 1 second
•Since the time a command/action takes in such systems is short, little
CPU time is needed for each user
 This allows many users to share the computer simultaneously
•Each user has at least one program executing in memory
 Process
•If several jobs ready to run at the same time
 CPU scheduling
•If processes don’t fit in memory, swapping moves them in and out to
run
•Virtual memory allows execution of processes not completely in
memory
Operating Systems
Operating-System Operations
• Interrupt driven by hardware
• Software (program) error or request creates exception or trap
– Division by zero, request for operating system service
• Other process problems include infinite loop, processes modifying each
other or the operating system
• In order to ensure an appropriate execution of operating system code and
user defined code, most systems provide a hardware support
• Dual-mode operation allows OS to protect itself and other system
components
– User mode: execution done on behalf of a user.
– Monitor mode (also kernel mode or system mode) : execution
done on behalf of operating system.
• Mode bit added to computer hardware to indicate the current mode:
monitor (0) or user (1).
• Some instructions designated as privileged are only executable in
kernel mode
• System call changes mode to kernel, return from call resets it to
user mode
13
Operating Systems
May 21, 2019
Transition from User to Kernel Mode
• Timer to prevent infinite loop / process hogging resources
• Set interrupt after specific period
• Operating system decrements counter
• When counter zero generate an interrupt
• Set up before scheduling process to regain control or
terminate program that exceeds allotted time
14
Operating Systems
May 21, 2019
Computing Environments
• Computing Environment is a collection of computer
hardware, software, machines and networks that support the
processing and interaction of electronic information to solve
different computational problems.
• There are four basic environment
• Traditional
• Client Server
• Peer-to-Peer (P2P)
• Web-based
15
Operating Systems
May 21, 2019
Computing Environments (contd.)
• Traditional
• Office environment
• PCs connected to a network, terminals attached to
mainframe or minicomputers providing batch and
timesharing
• Now portals allowing networked and remote systems
access to same resources
• Home networks
• Used to be single system, then modems
• Now firewalled, networked
May 21, 2019 16
Operating Systems
Computing Environments (Cont.)
• Client-Server Environment
• Dumb terminals supplanted by smart PCs
• Many systems now servers, responding to requests
generated by clients
Compute-server provides an interface to client to request
services (i.e. database)
File-server provides interface for clients to store and
retrieve files
17
Operating Systems
May 21, 2019
Peer-to-Peer Environment
• Another model of distributed system
• P2P does not distinguish clients and servers
• Instead all nodes are considered peers
• Each node may act as client, server or both
• Node must join P2P network
• Registers its service with central lookup service on
network, or
• Broadcast request for service and respond to requests
for service via discovery protocol
18
Operating Systems
May 21, 2019
Web Based Environment
• The Web has become ubiquitous
• PCs most prevalent devices
• More devices becoming networked to allow web access
• New category of devices to manage web traffic among
similar servers: load balancers
• Use of operating systems like Windows 95, client-side, have
evolved into Linux and Windows XP, which can be clients
and servers
May 21, 2019 19
Operating Systems
Special Purpose Systems
Real-time embedded systems
•These systems have fixed time constraint, so that their operations should be
finished with in that time
•Embedded computers are commonly found everywhere (at home, in industries,
manufacturing robots, care engines, etc)
•They monitor and control devices and usually they have no or little user interface
•Systems that control scientific experiments, industry processes, home appliances etc
are real-time systems
Multi-media systems
• Handles multimedia data (video, audio) in addition to conventional data (text
files, programs, spreadsheets etc
Hand-held
• Includes personal digital assistants (PDAs) like pocket PCs and palm PCs and
cellular telephones
•They use special-purpose embedded operating systems
May 21, 2019 20
Operating Systems
Operating-System View
There are several points to view Operating Systems:
• Functional view (what it does)
• Components view (Designers view)
• Services view (Users/Programmers view)
• Structure view (How it is implemented)
May 21, 2019 21
Operating Systems
Functional view (What it does)
• Program execution and handling
• Starting programs, managing their execution and communicating their
results.
• I/O operations
• Mechanisms for initiating and managing I/O
• File-system Management
• Creating, maintaining and manipulating files
• Communications
• Between processes of the same user
• Such as sending result of input request to a user program
• Between different users
Functional view (…)
• Exception detection and handling
• Protection related issues
• Safety in the case of power failures via backups.
• Detecting undesirable state such as printers out of paper.
• Resource allocation
• Includes processor and I/O scheduling, memory management
• Accounting
• To track users usage of resources for billing and statistical reasons
• Protection
• Maintaining integrity of user’s data
• Integrity checks to keep out unauthorized users
• Maintaining logs of incorrect attempts
Component view: Processes
• A process is
• A process is a program in execution. It is a unit of work within the
system. Program is a passive entity, process is an active entity.
• Dynamic entity created by the execution of the program.
• Processes may play different roles
• User processes
• OS (system) processes
• A single process can swap other processes
• A computation requires typically many processes
• Shell, one or more user processes, one or more system processes
May 21, 2019 24
Operating Systems
Component view: Process management
• Operations:
• Creation and termination
• Suspension and resumption
• Due to interrupts, context switches
• Synchronizing processes
• Making sure that a process that is waiting on an I/O
waits till it is completed and does not wait forever, i.e.,
wakes-up soon after an I/O process terminates.
• Communication
• Between two processes enabling them to cooperate.
• Deadlock detection and avoidance.
May 21, 2019 25
Operating Systems
Component view: Storage management
• Managing main memory
• Allocating main memory to active processes
• Maintaining a map of allocated vs. free memory
• De-allocating currently used memory to make a room for other
processes.
• Managing secondary storage
• Managing the free sectors/tracks on the disk
• Allocating this storage to programs
• Scheduling access requests to the disk
May 21, 2019 26
Operating Systems
Component view: I/O Management
• Devices
• Device drivers
• Accepting an I/O request and invoking appropriate device driver
• Buffering, caching, spooling
• Files
• Non-volatile representation of users/system programs and data.
• File systems
• A file is a collection of related information defined by its creator.
• Support logical organization of data that the user might want to see
• Map data onto the physical storage devices and orchestrate their access
and update.
• Operations
• Creation, manipulation and deletion of files and directories
• Moving files from primary to secondary storage while maintaining structure.
• Interaction with the memory manager
• Backup and protection
May 21, 2019 27
Operating Systems
Component view: Networking
• Support to communication in a distributed system
• FTP
• http
• Network file system
Component view: Protection
• Controlling the access of programs, processes, or users to
the resources defined by the computer system.
May 21, 2019 28
Operating Systems
Services view
1. Command Interpreters
• User interface between users and the kernel
2. System calls
• Programming interface to the services provided by the OS
• Typically written in high level language like C or C++
• Mostly accessed by programs via a high-level Application Program
Interface (API) rather than direct system call use
• Three most common APIs are
• Win32 API for Windows,
• POSIX API for POSIX-based systems (including virtually all
versions of UNIX, Linux, and Mac OS X), and
• Java API for the Java virtual machine (JVM)
3. System programs
• System programs provide convenient environment for program
execution and development.
May 21, 2019 29
Operating Systems
Services View (contd.)
System programs ( contd.)
• Some are user interfaces to system calls; some are more complex.
• Each system call is usually supported by a system program.
• They can be divided into:
• File manipulation
• Status information
• File modification
• Programming language support
• Program loading and execution
• Communications
• Application programs
May 21, 2019 30
Operating Systems
Shell: an OS interface
• Program that sits on the kernel as an interface between users
and the kernel.
• It is a command interpretor and also has programming
capability of its own
• Interactive access to the OS system calls
• copy from File to File
• Contains a simple programming language
• Popularized by UNIX
• Before UNIX: JCL, OS CLs (command languages)
• Bourne shell, C shell (csh), Korn shell (ksh), Bourne-again
shell (bash), etc.
May 21, 2019 31
Operating Systems
Structure View: Simple Structure
• MS-DOS – written to provide
the most functionality in the
least space
• Not divided into modules
• Although MS-DOS has some
structure, its interfaces and
levels of functionality are
not well separated
• MSDOS is vulnerable to
errant (or malicious)
programs
May 21, 2019 32
Operating Systems
Structure View: Layered Approach
• The operating system is
divided into a number of
layers (levels), each built on
top of lower layers. The
bottom layer (layer 0), is the
hardware; the highest (layer
N) is the user interface.
• With modularity, layers are
selected such that each uses
functions (operations) and
services of only lower-level
layers
May 21, 2019 33
Operating Systems
Structure View: Layered Approach
May 21, 2019 34
Operating Systems
• UNIX – limited by hardware functionality, the original UNIX
operating system had limited structuring. The UNIX OS consists of
two separable parts:
• Systems programs
• The kernel
 Consists of everything below the system-call interface and
above the physical hardware
 Provides the file system, CPU scheduling, memory
management, and other operating-system functions; a
large number of functions for one level
Structure View: Layered Approach
May 21, 2019 35
Operating Systems
UNIX System Structure
Structure View: Microkernel
• Moves as much from the kernel into “user” space
• Communication takes place between user modules using
message passing
• Benefits:
• Easier to extend a microkernel
• Easier to port the operating system to new architectures
• More reliable (less code is running in kernel mode)
• More secure
• Detriments:
• Performance overhead of user space to kernel space
communication
May 21, 2019 36
Operating Systems
Structure View: Microkernel (contd.)
May 21, 2019 37
Operating Systems
Mac OS X Structure
Structure View: Modules
• Most modern operating systems
implement kernel modules
• Uses object-oriented
approach
• Each core component is
separate
• Each talks to the others over
known interfaces
• Each is loadable as needed
within the kernel
• Overall, similar to layers but
with more flexible nature
May 21, 2019 38
Operating Systems
Solaris Modular Approach
Structure View: Virtual Machines
May 21, 2019 39
Operating Systems
• A virtual machine takes the layered approach to its logical conclusion.
It treats hardware and the operating system kernel as though they were
all hardware
• A virtual machine provides an interface identical to the underlying bare
hardware
• The operating system creates the illusion of multiple processes, each
executing on its own processor with its own (virtual) memory
• The resources of the physical computer are shared to create the virtual
machines
• CPU scheduling can create the appearance that users have their own
processor
• Spooling and a file system can provide virtual card readers and virtual
line printers
• A normal user time-sharing terminal serves as the virtual machine
operator’s console
May 21, 2019 40
Operating Systems
Structure View: Virtual Machines (contd.)
(a) Non virtual machine (b) virtual machine
Structure View: Virtual Machines (contd.)
May 21, 2019 41
Operating Systems
• The virtual-machine concept provides complete protection of
system resources since each virtual machine is isolated from all
other virtual machines. This isolation, however, permits no direct
sharing of resources.
• A virtual-machine system is a perfect vehicle for operating-
systems research and development. System development is done
on the virtual machine, instead of on a physical machine and so
does not disrupt normal system operation.
• The virtual machine concept is difficult to implement due to the
effort required to provide an exact duplicate to the underlying
machine
May 21, 2019 42
Operating Systems
Structure View: Virtual Machines (contd.)
VMware Architecture
The Java Virtual Machine
May 21, 2019 43
Operating Systems
Reading Assignments
1. As discussed in today’s lecture, OS can be viewed from different perspectives.
Read more about the functional and service views.
2. What are the uses of system calls and system programs. Identify their different
types
3. What is cache memory? Discuss its advantages?
4. Operating system provides helpful services to users which are categorized in to
two groups:
• User interface, program execution, I/O operation, File-system
Manipulation, Communications, Error detection
• Resource Allocation, Accounting, Protection and Security
Study the functions each of the services in the two categories
5. Read about the following operating systems and list out the major characteristics
of each:
• Serial processing
• Simple batch systems
• Multiprogrammed batch systems
• Timesharing systems
May 21, 2019 44
Operating Systems
Recommended Websites
• The Operating System Resource Center: A useful collection of documents
and papers on a wide range of operating system topics.
• Review of Operating Systems: A comprehensive review of commercial,
free, research and hobby operating systems.
• Operating System Technical Comparison: Includes a substantial amount
of information on a variety of operating systems.
• ACM Special Interest Group on Operating Systems: Information on
SIGOPS publications and conferences.
• IEEE Technical Committee on Operating Systems and Application
Environments: Includes an online newsletter and links to other sites.
• The comp. os. research FAQ: Lengthy and worthwhile FAQ covering
operating system design issues.
May 21, 2019 45
Operating Systems
Operating Systems
46
May 21, 2019
Ad

Recommended

Information Security Governance and Strategy - 3
Information Security Governance and Strategy - 3
Dam Frank
 
windows vs Linux
windows vs Linux
Marian Internatiinal Institute Of Management , kuttikanam , idukki
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - Comparison
Hariharan Ganesan
 
Gns3
Gns3
Bahaa Aladdin
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
Aditya Patel
 
Linux basics
Linux basics
Santosh Khadsare
 
The rise of “Big Data” on cloud computing
The rise of “Big Data” on cloud computing
Minhazul Arefin
 
Waterfall model in SDLC
Waterfall model in SDLC
HND Assignment Help
 
Page replacement algorithms
Page replacement algorithms
sangrampatil81
 
User and operating system interface.pptx
User and operating system interface.pptx
MSivani
 
Page Replacement
Page Replacement
chandinisanz
 
Segmentation in Operating Systems.
Segmentation in Operating Systems.
Muhammad SiRaj Munir
 
OS - Process Concepts
OS - Process Concepts
Mukesh Chinta
 
Object relational database management system
Object relational database management system
Saibee Alam
 
Dbms 14: Relational Calculus
Dbms 14: Relational Calculus
Amiya9439793168
 
cpu scheduling
cpu scheduling
hashim102
 
Page replacement algorithms
Page replacement algorithms
Piyush Rochwani
 
Memory management
Memory management
Vishal Singh
 
Contiguous Memory Allocation.ppt
Contiguous Memory Allocation.ppt
infomerlin
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1
Srimatre K
 
Demand paging
Demand paging
Trinity Dwarka
 
Virtual memory management in Operating System
Virtual memory management in Operating System
Rashmi Bhat
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalization
Satya Pal
 
Kernel I/O subsystem
Kernel I/O subsystem
AtiKa Bhatti
 
Coupling and cohesion
Coupling and cohesion
Sutha31
 
Paging.ppt
Paging.ppt
infomerlin
 
Lecture 4 - Process Scheduling (1).pptx
Lecture 4 - Process Scheduling (1).pptx
Amanuelmergia
 
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
Sowmya Jyothi
 
Unit I OS CS.ppt
Unit I OS CS.ppt
Suganthi Vasanth Raj
 
Introduction to Operating Systems - Mary Margarat
Introduction to Operating Systems - Mary Margarat
Mary Margarat
 

More Related Content

What's hot (20)

Page replacement algorithms
Page replacement algorithms
sangrampatil81
 
User and operating system interface.pptx
User and operating system interface.pptx
MSivani
 
Page Replacement
Page Replacement
chandinisanz
 
Segmentation in Operating Systems.
Segmentation in Operating Systems.
Muhammad SiRaj Munir
 
OS - Process Concepts
OS - Process Concepts
Mukesh Chinta
 
Object relational database management system
Object relational database management system
Saibee Alam
 
Dbms 14: Relational Calculus
Dbms 14: Relational Calculus
Amiya9439793168
 
cpu scheduling
cpu scheduling
hashim102
 
Page replacement algorithms
Page replacement algorithms
Piyush Rochwani
 
Memory management
Memory management
Vishal Singh
 
Contiguous Memory Allocation.ppt
Contiguous Memory Allocation.ppt
infomerlin
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1
Srimatre K
 
Demand paging
Demand paging
Trinity Dwarka
 
Virtual memory management in Operating System
Virtual memory management in Operating System
Rashmi Bhat
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalization
Satya Pal
 
Kernel I/O subsystem
Kernel I/O subsystem
AtiKa Bhatti
 
Coupling and cohesion
Coupling and cohesion
Sutha31
 
Paging.ppt
Paging.ppt
infomerlin
 
Lecture 4 - Process Scheduling (1).pptx
Lecture 4 - Process Scheduling (1).pptx
Amanuelmergia
 
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
Sowmya Jyothi
 
Page replacement algorithms
Page replacement algorithms
sangrampatil81
 
User and operating system interface.pptx
User and operating system interface.pptx
MSivani
 
Segmentation in Operating Systems.
Segmentation in Operating Systems.
Muhammad SiRaj Munir
 
OS - Process Concepts
OS - Process Concepts
Mukesh Chinta
 
Object relational database management system
Object relational database management system
Saibee Alam
 
Dbms 14: Relational Calculus
Dbms 14: Relational Calculus
Amiya9439793168
 
cpu scheduling
cpu scheduling
hashim102
 
Page replacement algorithms
Page replacement algorithms
Piyush Rochwani
 
Contiguous Memory Allocation.ppt
Contiguous Memory Allocation.ppt
infomerlin
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1
Srimatre K
 
Virtual memory management in Operating System
Virtual memory management in Operating System
Rashmi Bhat
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalization
Satya Pal
 
Kernel I/O subsystem
Kernel I/O subsystem
AtiKa Bhatti
 
Coupling and cohesion
Coupling and cohesion
Sutha31
 
Lecture 4 - Process Scheduling (1).pptx
Lecture 4 - Process Scheduling (1).pptx
Amanuelmergia
 
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
Sowmya Jyothi
 

Similar to Lecture 1- Introduction to Operating Systems.pdf (20)

Unit I OS CS.ppt
Unit I OS CS.ppt
Suganthi Vasanth Raj
 
Introduction to Operating Systems - Mary Margarat
Introduction to Operating Systems - Mary Margarat
Mary Margarat
 
Introduction to OS 1.ppt
Introduction to OS 1.ppt
ShannykumarSingh
 
Lecture - 1.pdf
Lecture - 1.pdf
ruhama12
 
Operating_Systems_UNIT_Concept of an Operating System1.pptx
Operating_Systems_UNIT_Concept of an Operating System1.pptx
yatakonakiran2
 
Introduction to OS.pptx
Introduction to OS.pptx
taruian
 
OS - BACKGROUND HANDLING
OS - BACKGROUND HANDLING
ImranBhatti58
 
UNIT-I OVERVIEW OF OPERATING SYSTEM.pdf
UNIT-I OVERVIEW OF OPERATING SYSTEM.pdf
Chaitanyabenade
 
The Fundamentals of Operating Systems .pptx
The Fundamentals of Operating Systems .pptx
KevinJohnSRamos
 
Operating System concepts
Operating System concepts
E.M.G.yadava womens college
 
Chapter 1 history and overview of Operating system.pptx
Chapter 1 history and overview of Operating system.pptx
fikadumeuedu
 
Introduction to Operating system CBSE
Introduction to Operating system CBSE
PrashantChahal3
 
CS311-Lec1.pdfCS311-Lec1.pdfCS311-Lec1.pdf
CS311-Lec1.pdfCS311-Lec1.pdfCS311-Lec1.pdf
sibiga2664
 
NE223_chapter 1_Overview of operating systems.ppt
NE223_chapter 1_Overview of operating systems.ppt
MemMem25
 
Operating systems
Operating systems
vinothinisureshbabu
 
OSLec1&2.ppt
OSLec1&2.ppt
ssusere16bd9
 
Operating System
Operating System
ushabarad142
 
Operating system by aman kr kushwaha
Operating system by aman kr kushwaha
AMAN KUMAR KUSHWAHA
 
unit1 part1.ppt
unit1 part1.ppt
suresh554942
 
Operating Systems- Dr.G.Sumathi AI & DS, KNCET
Operating Systems- Dr.G.Sumathi AI & DS, KNCET
sumathiganesan4
 
Introduction to Operating Systems - Mary Margarat
Introduction to Operating Systems - Mary Margarat
Mary Margarat
 
Lecture - 1.pdf
Lecture - 1.pdf
ruhama12
 
Operating_Systems_UNIT_Concept of an Operating System1.pptx
Operating_Systems_UNIT_Concept of an Operating System1.pptx
yatakonakiran2
 
Introduction to OS.pptx
Introduction to OS.pptx
taruian
 
OS - BACKGROUND HANDLING
OS - BACKGROUND HANDLING
ImranBhatti58
 
UNIT-I OVERVIEW OF OPERATING SYSTEM.pdf
UNIT-I OVERVIEW OF OPERATING SYSTEM.pdf
Chaitanyabenade
 
The Fundamentals of Operating Systems .pptx
The Fundamentals of Operating Systems .pptx
KevinJohnSRamos
 
Chapter 1 history and overview of Operating system.pptx
Chapter 1 history and overview of Operating system.pptx
fikadumeuedu
 
Introduction to Operating system CBSE
Introduction to Operating system CBSE
PrashantChahal3
 
CS311-Lec1.pdfCS311-Lec1.pdfCS311-Lec1.pdf
CS311-Lec1.pdfCS311-Lec1.pdfCS311-Lec1.pdf
sibiga2664
 
NE223_chapter 1_Overview of operating systems.ppt
NE223_chapter 1_Overview of operating systems.ppt
MemMem25
 
Operating system by aman kr kushwaha
Operating system by aman kr kushwaha
AMAN KUMAR KUSHWAHA
 
Operating Systems- Dr.G.Sumathi AI & DS, KNCET
Operating Systems- Dr.G.Sumathi AI & DS, KNCET
sumathiganesan4
 
Ad

More from Amanuelmergia (13)

Operating Systems chap 2_updated2 (1).pptx
Operating Systems chap 2_updated2 (1).pptx
Amanuelmergia
 
Operating Systems chap 2_updated2.pptx
Operating Systems chap 2_updated2.pptx
Amanuelmergia
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptx
Amanuelmergia
 
Lecture 5- Process Synchonization_revised.pdf
Lecture 5- Process Synchonization_revised.pdf
Amanuelmergia
 
OS course Outilne 2021.doc
OS course Outilne 2021.doc
Amanuelmergia
 
Lecture 3- Threads.pdf
Lecture 3- Threads.pdf
Amanuelmergia
 
Lecture 2- Processes.pdf
Lecture 2- Processes.pdf
Amanuelmergia
 
Lecture 6- Deadlocks (1) (1).pptx
Lecture 6- Deadlocks (1) (1).pptx
Amanuelmergia
 
Lecture 4 - Process Scheduling.pptx
Lecture 4 - Process Scheduling.pptx
Amanuelmergia
 
Lecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptx
Amanuelmergia
 
Lecture 6- Deadlocks.pptx
Lecture 6- Deadlocks.pptx
Amanuelmergia
 
Lecture 8- Virtual Memory Final.pptx
Lecture 8- Virtual Memory Final.pptx
Amanuelmergia
 
Lecture 3- Threads (1).pptx
Lecture 3- Threads (1).pptx
Amanuelmergia
 
Operating Systems chap 2_updated2 (1).pptx
Operating Systems chap 2_updated2 (1).pptx
Amanuelmergia
 
Operating Systems chap 2_updated2.pptx
Operating Systems chap 2_updated2.pptx
Amanuelmergia
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptx
Amanuelmergia
 
Lecture 5- Process Synchonization_revised.pdf
Lecture 5- Process Synchonization_revised.pdf
Amanuelmergia
 
OS course Outilne 2021.doc
OS course Outilne 2021.doc
Amanuelmergia
 
Lecture 3- Threads.pdf
Lecture 3- Threads.pdf
Amanuelmergia
 
Lecture 2- Processes.pdf
Lecture 2- Processes.pdf
Amanuelmergia
 
Lecture 6- Deadlocks (1) (1).pptx
Lecture 6- Deadlocks (1) (1).pptx
Amanuelmergia
 
Lecture 4 - Process Scheduling.pptx
Lecture 4 - Process Scheduling.pptx
Amanuelmergia
 
Lecture 5- Process Synchronization (1).pptx
Lecture 5- Process Synchronization (1).pptx
Amanuelmergia
 
Lecture 6- Deadlocks.pptx
Lecture 6- Deadlocks.pptx
Amanuelmergia
 
Lecture 8- Virtual Memory Final.pptx
Lecture 8- Virtual Memory Final.pptx
Amanuelmergia
 
Lecture 3- Threads (1).pptx
Lecture 3- Threads (1).pptx
Amanuelmergia
 
Ad

Recently uploaded (20)

FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
FME for Distribution & Transmission Integrity Management Program (DIMP & TIMP)
Safe Software
 
From Manual to Auto Searching- FME in the Driver's Seat
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 

Lecture 1- Introduction to Operating Systems.pdf

  • 1. Operating Systems: CSE 3204 Chapter One Introduction to Operating System and its Structures (Materials partly taken from Operating System Concepts by Silberschatz, Galvin and Gagne, 2005 – 7th Edition, chapter 1-2) ASTU Department of CSE May 21, 2019 1 Operating Systems Lecture 1: Introduction to Operating Systems
  • 2. Contents • What operating systems do • Computer system structure • Computer system organization • Operating system operations • Computing environments • Operating system-views • Reading Assignments May 21, 2019 2 Operating Systems
  • 3. May 21, 2019 3 What is an operating system? • A program that acts as an intermediary between a user of a computer and the computer hardware. • 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. • It’s a resource allocator Manages all resources • Decides between conflicting requests for efficient and fair resource use • It’s a control program • Controls the execution of programs to prevent errors and improper use of the computer Operating Systems
  • 4. Operating System Definition (Contd.) • Operating system is the first layer of software loaded into the computer working memory.  An interface between the user, the computer software and the hardware resources. • It provides a software platform on top of which other program can run. • “The one program running at all times on the computer” is the kernel. Everything else is either a system program (ships with the operating system) or an application program. 4 Operating Systems May 21, 2019
  • 5. Computer System structure May 21, 2019 5 Components of a computer: • User •machine/person /computer •Application programs • a special software used to solve particular problems of users •Operating system •Controls and coordinates use of hardware among various users and applications •Computer hardware •I/O device, Memory, CPU Operating Systems
  • 6. Computer System Organization  One or more CPUs, device controllers connect through common bus providing access to shared memory  Concurrent execution of CPUs and devices competing for memory cycles May 21, 2019 6 Operating Systems Operating System
  • 7. Computer-System Operation • I/O devices and the CPU can execute concurrently. • Each device controller is in charge of a particular device type. • Each device controller has a local buffer. • CPU moves data from/to main memory to/from local buffers • I/O is from the device to local buffer of controller. • Device controller informs CPU that it has finished its operation by causing an interrupt. 7 Operating Systems May 21, 2019
  • 8. Computer Startup • bootstrap program is loaded at power-up or reboot • Typically stored in ROM or EEPROM (Electronic Erasable Programmable Read Only Memory), generally known as firmware, within the computer hardware • Initializes all aspects of the system • Loads operating system kernel and starts execution 8 Operating Systems May 21, 2019
  • 9. Interrupts • An interruption of the normal sequence of execution • Improves processing efficiency • Allows the processor to execute other instructions while an I/O operation is in progress • A suspension of a process caused by an event external to that process and performed in such a way that the process can be resumed • Interrupt Handler: • A program that determines nature of the interrupt and performs whatever actions are needed • Control is transferred to this program • Generally part of the operating system May 21, 2019 9 Operating System Operating Systems
  • 10. Common Functions of Interrupts • Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines. • Interrupt architecture must save the address of the interrupted instruction. • Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt. • A trap is a software-generated interrupt caused either by an error or a user request. • An operating system is interrupt driven. 10 Operating Systems May 21, 2019
  • 11. Operating System Structure • Multiprogramming is needed for efficiency • A single user cannot keep CPU and I/O devices busy at all times • Multiprogramming increases CPU utilization by organizing jobs (code and data) so CPU always has one to execute • A subset of total jobs in system is kept in memory • One job selected and run via job scheduling • When it has to wait (for I/O for example), OS switches to another job 11 Operating Systems May 21, 2019 Memory Layout for multiprogramed system
  • 12. Operating System Structure (contd.) May 21, 2019 12 • Timesharing (multitasking) is a logical extension of multiprogramming in which CPU executes jobs by switching among them • The switch occurs so frequently that users can interact with each job while it is running, creating an interactive computing •The user gives instruction to the operating system or the program running using an input device and waits for immediate result on an output device  Therefore, the response time should be < 1 second •Since the time a command/action takes in such systems is short, little CPU time is needed for each user  This allows many users to share the computer simultaneously •Each user has at least one program executing in memory  Process •If several jobs ready to run at the same time  CPU scheduling •If processes don’t fit in memory, swapping moves them in and out to run •Virtual memory allows execution of processes not completely in memory Operating Systems
  • 13. Operating-System Operations • Interrupt driven by hardware • Software (program) error or request creates exception or trap – Division by zero, request for operating system service • Other process problems include infinite loop, processes modifying each other or the operating system • In order to ensure an appropriate execution of operating system code and user defined code, most systems provide a hardware support • Dual-mode operation allows OS to protect itself and other system components – User mode: execution done on behalf of a user. – Monitor mode (also kernel mode or system mode) : execution done on behalf of operating system. • Mode bit added to computer hardware to indicate the current mode: monitor (0) or user (1). • Some instructions designated as privileged are only executable in kernel mode • System call changes mode to kernel, return from call resets it to user mode 13 Operating Systems May 21, 2019
  • 14. Transition from User to Kernel Mode • Timer to prevent infinite loop / process hogging resources • Set interrupt after specific period • Operating system decrements counter • When counter zero generate an interrupt • Set up before scheduling process to regain control or terminate program that exceeds allotted time 14 Operating Systems May 21, 2019
  • 15. Computing Environments • Computing Environment is a collection of computer hardware, software, machines and networks that support the processing and interaction of electronic information to solve different computational problems. • There are four basic environment • Traditional • Client Server • Peer-to-Peer (P2P) • Web-based 15 Operating Systems May 21, 2019
  • 16. Computing Environments (contd.) • Traditional • Office environment • PCs connected to a network, terminals attached to mainframe or minicomputers providing batch and timesharing • Now portals allowing networked and remote systems access to same resources • Home networks • Used to be single system, then modems • Now firewalled, networked May 21, 2019 16 Operating Systems
  • 17. Computing Environments (Cont.) • Client-Server Environment • Dumb terminals supplanted by smart PCs • Many systems now servers, responding to requests generated by clients Compute-server provides an interface to client to request services (i.e. database) File-server provides interface for clients to store and retrieve files 17 Operating Systems May 21, 2019
  • 18. Peer-to-Peer Environment • Another model of distributed system • P2P does not distinguish clients and servers • Instead all nodes are considered peers • Each node may act as client, server or both • Node must join P2P network • Registers its service with central lookup service on network, or • Broadcast request for service and respond to requests for service via discovery protocol 18 Operating Systems May 21, 2019
  • 19. Web Based Environment • The Web has become ubiquitous • PCs most prevalent devices • More devices becoming networked to allow web access • New category of devices to manage web traffic among similar servers: load balancers • Use of operating systems like Windows 95, client-side, have evolved into Linux and Windows XP, which can be clients and servers May 21, 2019 19 Operating Systems
  • 20. Special Purpose Systems Real-time embedded systems •These systems have fixed time constraint, so that their operations should be finished with in that time •Embedded computers are commonly found everywhere (at home, in industries, manufacturing robots, care engines, etc) •They monitor and control devices and usually they have no or little user interface •Systems that control scientific experiments, industry processes, home appliances etc are real-time systems Multi-media systems • Handles multimedia data (video, audio) in addition to conventional data (text files, programs, spreadsheets etc Hand-held • Includes personal digital assistants (PDAs) like pocket PCs and palm PCs and cellular telephones •They use special-purpose embedded operating systems May 21, 2019 20 Operating Systems
  • 21. Operating-System View There are several points to view Operating Systems: • Functional view (what it does) • Components view (Designers view) • Services view (Users/Programmers view) • Structure view (How it is implemented) May 21, 2019 21 Operating Systems
  • 22. Functional view (What it does) • Program execution and handling • Starting programs, managing their execution and communicating their results. • I/O operations • Mechanisms for initiating and managing I/O • File-system Management • Creating, maintaining and manipulating files • Communications • Between processes of the same user • Such as sending result of input request to a user program • Between different users
  • 23. Functional view (…) • Exception detection and handling • Protection related issues • Safety in the case of power failures via backups. • Detecting undesirable state such as printers out of paper. • Resource allocation • Includes processor and I/O scheduling, memory management • Accounting • To track users usage of resources for billing and statistical reasons • Protection • Maintaining integrity of user’s data • Integrity checks to keep out unauthorized users • Maintaining logs of incorrect attempts
  • 24. Component view: Processes • A process is • A process is a program in execution. It is a unit of work within the system. Program is a passive entity, process is an active entity. • Dynamic entity created by the execution of the program. • Processes may play different roles • User processes • OS (system) processes • A single process can swap other processes • A computation requires typically many processes • Shell, one or more user processes, one or more system processes May 21, 2019 24 Operating Systems
  • 25. Component view: Process management • Operations: • Creation and termination • Suspension and resumption • Due to interrupts, context switches • Synchronizing processes • Making sure that a process that is waiting on an I/O waits till it is completed and does not wait forever, i.e., wakes-up soon after an I/O process terminates. • Communication • Between two processes enabling them to cooperate. • Deadlock detection and avoidance. May 21, 2019 25 Operating Systems
  • 26. Component view: Storage management • Managing main memory • Allocating main memory to active processes • Maintaining a map of allocated vs. free memory • De-allocating currently used memory to make a room for other processes. • Managing secondary storage • Managing the free sectors/tracks on the disk • Allocating this storage to programs • Scheduling access requests to the disk May 21, 2019 26 Operating Systems
  • 27. Component view: I/O Management • Devices • Device drivers • Accepting an I/O request and invoking appropriate device driver • Buffering, caching, spooling • Files • Non-volatile representation of users/system programs and data. • File systems • A file is a collection of related information defined by its creator. • Support logical organization of data that the user might want to see • Map data onto the physical storage devices and orchestrate their access and update. • Operations • Creation, manipulation and deletion of files and directories • Moving files from primary to secondary storage while maintaining structure. • Interaction with the memory manager • Backup and protection May 21, 2019 27 Operating Systems
  • 28. Component view: Networking • Support to communication in a distributed system • FTP • http • Network file system Component view: Protection • Controlling the access of programs, processes, or users to the resources defined by the computer system. May 21, 2019 28 Operating Systems
  • 29. Services view 1. Command Interpreters • User interface between users and the kernel 2. System calls • Programming interface to the services provided by the OS • Typically written in high level language like C or C++ • Mostly accessed by programs via a high-level Application Program Interface (API) rather than direct system call use • Three most common APIs are • Win32 API for Windows, • POSIX API for POSIX-based systems (including virtually all versions of UNIX, Linux, and Mac OS X), and • Java API for the Java virtual machine (JVM) 3. System programs • System programs provide convenient environment for program execution and development. May 21, 2019 29 Operating Systems
  • 30. Services View (contd.) System programs ( contd.) • Some are user interfaces to system calls; some are more complex. • Each system call is usually supported by a system program. • They can be divided into: • File manipulation • Status information • File modification • Programming language support • Program loading and execution • Communications • Application programs May 21, 2019 30 Operating Systems
  • 31. Shell: an OS interface • Program that sits on the kernel as an interface between users and the kernel. • It is a command interpretor and also has programming capability of its own • Interactive access to the OS system calls • copy from File to File • Contains a simple programming language • Popularized by UNIX • Before UNIX: JCL, OS CLs (command languages) • Bourne shell, C shell (csh), Korn shell (ksh), Bourne-again shell (bash), etc. May 21, 2019 31 Operating Systems
  • 32. Structure View: Simple Structure • MS-DOS – written to provide the most functionality in the least space • Not divided into modules • Although MS-DOS has some structure, its interfaces and levels of functionality are not well separated • MSDOS is vulnerable to errant (or malicious) programs May 21, 2019 32 Operating Systems
  • 33. Structure View: Layered Approach • The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface. • With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers May 21, 2019 33 Operating Systems
  • 34. Structure View: Layered Approach May 21, 2019 34 Operating Systems • UNIX – limited by hardware functionality, the original UNIX operating system had limited structuring. The UNIX OS consists of two separable parts: • Systems programs • The kernel  Consists of everything below the system-call interface and above the physical hardware  Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level
  • 35. Structure View: Layered Approach May 21, 2019 35 Operating Systems UNIX System Structure
  • 36. Structure View: Microkernel • Moves as much from the kernel into “user” space • Communication takes place between user modules using message passing • Benefits: • Easier to extend a microkernel • Easier to port the operating system to new architectures • More reliable (less code is running in kernel mode) • More secure • Detriments: • Performance overhead of user space to kernel space communication May 21, 2019 36 Operating Systems
  • 37. Structure View: Microkernel (contd.) May 21, 2019 37 Operating Systems Mac OS X Structure
  • 38. Structure View: Modules • Most modern operating systems implement kernel modules • Uses object-oriented approach • Each core component is separate • Each talks to the others over known interfaces • Each is loadable as needed within the kernel • Overall, similar to layers but with more flexible nature May 21, 2019 38 Operating Systems Solaris Modular Approach
  • 39. Structure View: Virtual Machines May 21, 2019 39 Operating Systems • A virtual machine takes the layered approach to its logical conclusion. It treats hardware and the operating system kernel as though they were all hardware • A virtual machine provides an interface identical to the underlying bare hardware • The operating system creates the illusion of multiple processes, each executing on its own processor with its own (virtual) memory • The resources of the physical computer are shared to create the virtual machines • CPU scheduling can create the appearance that users have their own processor • Spooling and a file system can provide virtual card readers and virtual line printers • A normal user time-sharing terminal serves as the virtual machine operator’s console
  • 40. May 21, 2019 40 Operating Systems Structure View: Virtual Machines (contd.) (a) Non virtual machine (b) virtual machine
  • 41. Structure View: Virtual Machines (contd.) May 21, 2019 41 Operating Systems • The virtual-machine concept provides complete protection of system resources since each virtual machine is isolated from all other virtual machines. This isolation, however, permits no direct sharing of resources. • A virtual-machine system is a perfect vehicle for operating- systems research and development. System development is done on the virtual machine, instead of on a physical machine and so does not disrupt normal system operation. • The virtual machine concept is difficult to implement due to the effort required to provide an exact duplicate to the underlying machine
  • 42. May 21, 2019 42 Operating Systems Structure View: Virtual Machines (contd.) VMware Architecture
  • 43. The Java Virtual Machine May 21, 2019 43 Operating Systems
  • 44. Reading Assignments 1. As discussed in today’s lecture, OS can be viewed from different perspectives. Read more about the functional and service views. 2. What are the uses of system calls and system programs. Identify their different types 3. What is cache memory? Discuss its advantages? 4. Operating system provides helpful services to users which are categorized in to two groups: • User interface, program execution, I/O operation, File-system Manipulation, Communications, Error detection • Resource Allocation, Accounting, Protection and Security Study the functions each of the services in the two categories 5. Read about the following operating systems and list out the major characteristics of each: • Serial processing • Simple batch systems • Multiprogrammed batch systems • Timesharing systems May 21, 2019 44 Operating Systems
  • 45. Recommended Websites • The Operating System Resource Center: A useful collection of documents and papers on a wide range of operating system topics. • Review of Operating Systems: A comprehensive review of commercial, free, research and hobby operating systems. • Operating System Technical Comparison: Includes a substantial amount of information on a variety of operating systems. • ACM Special Interest Group on Operating Systems: Information on SIGOPS publications and conferences. • IEEE Technical Committee on Operating Systems and Application Environments: Includes an online newsletter and links to other sites. • The comp. os. research FAQ: Lengthy and worthwhile FAQ covering operating system design issues. May 21, 2019 45 Operating Systems