Operating System
Operating System
Operating System
(10B11CI511 )
Introduction to OS-related Hardware and
Software
Grading
T1
20 Marks
T2
20 Marks
T3
35 Marks
Project
10 Marks
Attendance #
5 Marks
Assignments* +
10 Marks
Class Participation
Total
100 Marks
Text books
Charles Crowley Operating System A Design Approach TMH.
Operating Systems Concepts: Essentials by Silberschatz, Galvin, Gagne
William Stallings Operating Systems-Internals and Design Principles
Andrew S. Tanenbaum Operating Systems Design and Implementation,
Third Edition, Prentice Hall Publications 2006
5. A.S. Tanenbaum, Modern Operating Systems, 2nd edition, Prentice Hall
India.
1.
2.
3.
4.
Overview
What is an Operating System?
A review of OS-related hardware
Resource Manager
Controls (scheduling, multiplexing, transforming etc.) accesses to
shared resources
CPU, memory, disks, network, ...
OS as a resource manager
Allocating resources to applications across space
and time
time sharing a resource (scheduling)
space sharing a resource (allocation)
Enforcement of boundaries
protecting applications from each other
Hardware resources
Device
Mgmt
Operating
System
Protection
File System
Video Card
Monitor
CPU
Network
Comm.
Memory
Disk
Process
Mgmt
Security
Network
Printer
12
Types of multiplexing
Time multiplexing
time-sharing
scheduling a serially-reusable resource among several users
Space multiplexing
space-sharing
dividing a multiple-use resource up among several users
14
Space-multiplexing memory
15
16
17
O.S. Components
Process management
Main memory management
File management
I/O system management
Secondary storage management
Networking
Protection system
Command interpreter system
Process Management
A process is a program in execution.
Needs (CPU time, memory, files, and I/O devices).
Main-Memory Management
Memory is a large array of words or bytes,
each with its own address. It is a repository of
quickly accessible data
shared by the CPU and I/O devices.
File Management
A file is a collection of related information
defined by its creator. Commonly, files represent
programs (both source and object forms) and
data.
The operating system is responsible for the
following activities in connections with file
management:
Secondary-Storage Management
Main memory (primary storage) is volatile
and small.
The operating system is responsible for the
following activities in connection with disk
management:
Free space management
Storage allocation
Disk scheduling
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.
Command-Interpreter System
Many commands are given to the operating
system by control statements which deal with:
Modes of execution
User mode.
Supervisory (or Kernel) mode.
Some instructions (e.g. controlling the system hardware) are not offered to
everyone for use.
These instructions are called privileged instructions and allowed to only privileged
users for use.
27
28
29
Program execution
I/O operations
File-system manipulation
Communications
Error detection
Mainframe Systems
First Computer used to tackle many commercial and scientific
applications
Batch Systems
Multiprogrammed Systems
Time-Sharing SystemsInteractive
Batch Systems
Reduce setup time by batching similar jobs
Multiprogrammed Systems
Several jobs are kept in main memory at the same time, and
the CPU is multiplexed among them.
Multitasking systems
Multiuser
Interactive computer system
high throughput
more reliable/fault tolerant
less costly
Asymmetric and symmetric multiprocessing (SMP)
Clustered systems
Multiple systems connected (e.g. LAN)
Shared storage
38
Parallel Systems
In parallel computing, all processors may have
access to a shared memory to exchange
information between processors.
39
Distributed Systems
41
Handheld Systems
RTOS running on a mobile device
Overview
What is an Operating System?
Operating System Structure
A review of OS-related hardware
43
OS Structure
Monolithic Systems
Micro kernel architecture
Layered Systems
Virtual Machine
Monolithic Systems
Microkernel based OS
Layered Approach
Advantages : modularity, Simplifies
debugging and system verification
Difficulty: Careful definition of layers since a
layer can use only those layers below it.
Disadvantages: Less efficient (Each layer adds
overhead)
System Calls
System calls provide the interface between a
running program and the operating system.
assembly-language instructions.
System programs
System calls provide a convenient environment
for program development and execution.
Most users view of the operating system is
defined by system programs, not the actual
system calls.
Virtualization
Virtualization is the creation of a virtual (rather than actual)
version of something, such as an operating system, a server, a
storage device or network resources.
Full virtualization: Almost complete simulation of the actual
hardware to allow software, which typically consists of a guest
operating system, to run unmodified.
Partial virtualization: Some but not all of the target
environment is simulated. Some guest programs, therefore,
may need modifications to run in this virtual environment.
Paravirtualization: A hardware environment is not simulated;
however, the guest programs are executed in their own
isolated domains, as if they are running on a separate system.
Guest programs need to be specifically modified to run in this
environment.
Computing environments
Client-Server computing
Peer-to-peer computing
Web-based computing
54
56
57
58