Вы находитесь на странице: 1из 30

Chapter 1

Introduction
Copyright 2008

Introduction

Abstract Views of an Operating System


Goals of an OS
Operation of an OS
Preview of the Book

Operating Systems, by Dhananjay Dhamdhere

1.2

Abstract Views of an Operating


System
What is an OS?
Abstract views
To a college student: SW that permits access to the Internet
To a programmer: SW that makes it possible to develop
programs on a computer system
To a user of an application package: SW that makes it
possible to use the package
To a technician in a computerized chemical plant: invisible
component of a computer system that controls the plant

An abstract view focuses only on essential characteristics

Operating Systems, by Dhananjay Dhamdhere

1.3

Abstract Views of an Operating


System (continued)
Operating system designer also has an abstract view

OS is a collection of routines that facilitates executio


of user programs and use of resources
Operating Systems, by Dhananjay Dhamdhere

1.4

Abstract views
We use abstract views to present design of OS
components. It has two benefits:
Managing complexity
Abstract view contains only selected features of a system

Presenting a generic view


For example, user interface of Figure 1.2 has many variants
in practice
Command line interface
Graphical user interface (GUI)

Operating Systems, by Dhananjay Dhamdhere

1.5

Goals of an OS
Fundamental goals of an operating system
Efficient use of computer resources
User convenience
Noninterference in the activities of its users

When these goals conflict, designer makes a trade-off


for
Efficient use
User convenience

Notion of effective utilization


Each OS provides a different flavor of effectiveness

Operating Systems, by Dhananjay Dhamdhere

1.6

Efficient Use
OS ensures efficient use of memory, CPU, and I/O
devices
Poor efficiency can result if a program does not use a
resource allocated to it

OS itself consumes CPU and memory resources, which


constitutes overhead
It reduces resources for user programs

OS can monitor use of resources to ensure efficiency


It would increase the overhead

OS uses policies that ensure efficiency


Operating Systems, by Dhananjay Dhamdhere

1.7

User Convenience

Operating Systems, by Dhananjay Dhamdhere

1.8

Noninterference
User can face interference in computational activities
Program execution or operation of OS can be disrupted
by actions of other persons
OS prevents interference by allocating resources for
exclusive use of programs and OS services, and preventing
illegal accesses to resources

Illegal file access


OS knows which user files can be accessed by whom
Achieved through authorization

Operating Systems, by Dhananjay Dhamdhere

1.9

Operation of an OS
Principal functions of OS:
Program management
Resource management
Security and protection

Operating Systems, by Dhananjay Dhamdhere

1.10

Operation of an OS (continued)

Operating Systems, by Dhananjay Dhamdhere

1.11

Program Management
OS can interleave execution of programs on a fast CPU
Scheduling decides which program should be given the
CPU at any time
Policy influences efficient CPU use and user service
Preemption: Taking away the CPU from a program

Operating Systems, by Dhananjay Dhamdhere

1.12

Resource Management
Resource allocations and deallocations can be done
with a resource table
Entry: name, address and status of a resource unit
Constructed by the boot procedure, maintained during
operation

Operating Systems, by Dhananjay Dhamdhere

1.13

Resource Management (continued)


Popular resource allocation strategies:
Resource partitioning
OS decides a priori what resources to allocate to each user
program; divides system resources into partitions
A resource partition is a collection of resources
Resource table contains entries for partitions
Simple to implement, but lacks flexibility

Pool-based
OS allocates resources from a pool of resources
Consults table and allocates the resource if it is free

Less overhead of allocating and deallocating resources


Achieves more efficient use of resources

Operating Systems, by Dhananjay Dhamdhere

1.14

Resource Management (continued)


A virtual resource is a fictitious resource

Abstract view of a resource taken by a program


Supported by OS through use of a real resource
Same real resource may support several virtual ones
Started with the use of virtual devices
E.g., a print server

Provides effect of having more resources


Most OSs provide virtual memory
May execute a program bigger than size of RAM

Some OSs create virtual machines


Each virtual machine can be allocated to a user

Operating Systems, by Dhananjay Dhamdhere

1.15

Security and Protection


Security counters threats of interference or illegal use
posed by persons/programs outside OS control
Authentication: only registered user can use a computer
system

Protection counters threats posed by users of an OS


Memory protection is a HW feature used by OS to thwart
disruption of programs and OS services
Authorization thwarts interference with files

Operating Systems, by Dhananjay Dhamdhere

1.16

Security and Protection (continued)

Operating Systems, by Dhananjay Dhamdhere

1.17

Security and Protection (continued)


Intruders are outsiders who can cause interference
May use or create malicious programs
Trojan horses
Viruses
Worms

Methods of addressing security threats


Authentication techniques
Plugging security holes
Internet firewalls

Operating Systems, by Dhananjay Dhamdhere

1.18

Preview of the Book


The book discusses:

Part 1: Introduction to Operating Systems


Part 2: Managing User Computations
Part 3: Management of Memory
Part 4: Management of Files and I/O Devices
Part 5: Distributed Operating Systems

Parts 1-4 discuss conventional computing environments


Single computer system having a single CPU

Operating Systems, by Dhananjay Dhamdhere

1.19

Introduction to Operating Systems


Part 1 (Chapters 14)
How OS interacts with the computer and with user
programs through events and interrupts (Chapter 2)
See Figure 1.5

Effective Utilization of a Computer System (Chapter 3)


Techniques used to ensure effective utilization

Portability and Extensibility of Operating Systems (Chapter


4)
Structuring of an OS achieve these goals

Operating Systems, by Dhananjay Dhamdhere

1.20

Introduction to Operating Systems


(continued)

Operating Systems, by Dhananjay Dhamdhere

1.21

Managing User Computations


Part 2 (Chapters 510) covers program management
Processes and Threads (Chapter 5)
How programs are executed

Process Synchronization (Chapter 6)


See Figure 1.6

Scheduling (Chapter 7)
How to achieve effective utilization

Deadlocks (Chapter 8)
See Figure 1.7

Message Passing (Chapter 9)


Multiprocessor OSs (Chapter 10)
Exploiting multiple CPUs for effectiveness

Operating Systems, by Dhananjay Dhamdhere

1.22

Managing User Computations


(continued)
Processes Credit and Debit must access the balance
in an account without interference
Process Generate produces some data; Analyze uses it

Operating Systems, by Dhananjay Dhamdhere

1.23

Managing User Computations


(continued)
A process has to wait if a required resource is not
available
Deadlocks arise when processes wait for each others
resources

Operating Systems, by Dhananjay Dhamdhere

1.24

Management of Memory
Part 3 (Chapters 11-12) covers memory management
Memory reuse techniques and noncontiguous memory
allocation (Chapter 11) and virtual memory (Chapter 12)

Operating Systems, by Dhananjay Dhamdhere

1.25

Management of Files and I/O Devices


Part 4 (Chapters 13-15) discusses management of files
and I/O devices

Operating Systems, by Dhananjay Dhamdhere

1.26

Management of Files and I/O Devices


(continued)
Part 4 (Chapters 13-15) (Contd.)
File Systems (Chapter 13)
Allows users to create, use, and share files

Implementation of File Operations (Chapter 14)


IOCS implements file operations by transferring data
between memory and I/O devices

Security and Protection (Chapter 15)


Techniques of thwarting security and protection threats

Operating Systems, by Dhananjay Dhamdhere

1.27

Distributed Operating Systems


Part 5 (Chapters 16-21) discusses distributed OSs:
Distributed Operating Systems (Chapter 16)
Model of a distributed computer system
Networking HW and SW
Distributed computation paradigms
Theoretical Issues in Distributed Systems (Chapter 17)
Theoretical issues that arise from networking delays
and how to tackle them
Distributed Control Algorithms (Chapter 18)
Algorithms for performing OS functions in a distributed
manner

Operating Systems, by Dhananjay Dhamdhere

1.28

Distributed Operating Systems


(continued)
Part 5 (Chapters 16-21) (continued):
Recovery and Fault Tolerance (Chapter 19)
Issues in recovery and fault tolerance in distributed systems

Distributed File Systems (Chapter 20)


Reliability and performance improvement techniques used
in distributed file systems

Distributed System Security (Chapter 21)


Techniques used to address security issues in distributed
systems

Operating Systems, by Dhananjay Dhamdhere

1.29

Summary
OS services programs simultaneously by allocating
some of the resources to each program and
interleaving their execution on the CPU
Requirements to ensure effectiveness of computing:
Efficient use
User convenience
Non-interference

Primary functions
Management of programs
Management of resources
Security and protection

Operating Systems, by Dhananjay Dhamdhere

1.30

Вам также может понравиться