Tải bản đầy đủ (.pdf) (23 trang)

Lecture Operating systems: A concept-based approach (2/e): Chapter 14 - Dhananjay M. Dhamdhere

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (676.43 KB, 23 trang )

  
PROPRIETARY MATERIAL. ©  2007 The McGraw­Hill Companies, Inc. All rights reserved. No part of this PowerPoint slide  may be displayed, reproduced or distributed 
in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw­Hill 
for their individual course preparation. If you are a student using this PowerPoint slide, you are using it without permission. 

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 1
Copyright © 2008


Functions performed by an OS



An OS performs the following functions









User interface
Process management


Memory management
I/O management
File management
Protection and Security

OS should be structured so that it can cope with
changes in computer systems and computing
  
environments

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 2
Copyright © 2008


Operation of an OS



Three key aspects of OS operation are
– Booting
* Determines configuration of the system, viz. CPU, I/O devices, etc.
* Loads the kernel, initializes its data structures and hands over
control


– Interrupt handling
* Events are handled to perform resource allocation, I/O and
initiation / termination of programs

– Scheduling

  

* A process is chosen for servicing

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 3
Copyright © 2008


Interrupt handling

  

•  An event causes an interrupt, which passes control to the kernel
•  An appropriate interrupt handler is invoked to handle the event
•  The scheduler selects the process to be serviced next

Chapter 14: Structure of
Operating Systems


Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 4
Copyright © 2008


A view of OS operation

 
•  The memory is divided into ‘system area’ and ‘user area’
  
•  Some components of OS reside permanently in memory; others are loaded as needed 

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 5
Copyright © 2008


Policies and Mechanisms



An OS function involves

– Policy
* A guiding principle that should be used to manage a class of entities
* For example, round-robin scheduling

– Mechanism
* A specific operation needed to implement a policy
* For example, dispatching

  

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 6
Copyright © 2008


Portability and extensibility of OS



For cost-effectiveness, OS lifetime should be >10 years
– Several changes take place during this time
* Computer architecture, I/O device technology, computing
environments change

– The OS should be able to cope with these changes

* Portability
 Ease with which an OS can be implemented on a computer
system with a different architecture
 Architecture-dependencies affect portability

  

* Extensibility
 It should be possible to adapt to changes
 For example, modify OS functionalities or add new ones

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 7
Copyright © 2008


Problems with monolithic OS structure
• OS code did not have modules with well-defined
interfaces
– Functionalities knew each other’s data and could access directly
– The OS layer had both architecture dependent and architecture
independent code
* Hence portability was poor

  


Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 8
Copyright © 2008


Alternative OS structures



Problems with monolithis structure led to developments
of three methods of structuring
– Layered structure
* Reduces complexity and cost of developing an OS

– Kernel-based structure
* Confines machine dependencies to a small section of OS code

– Microkernel-based structure
* Provides benefits of kernel-based structure and also provides
extensibility

  

Chapter 14: Structure of

Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 9
Copyright © 2008


Layered design of operating systems



An OS is structured into a number of layers
– Each layer provides a set of services
– A higher layer uses the services of the immediate lower layer
* Helps in controlling complexity and cost of developing and
maintaining an OS by reducing the semantic gap

  

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 10
Copyright © 2008



Semantic gap

•  Machine instructions implement machine­level primitive operations
•  OS modules wish to perform OS­level primitive operations, e.g., context save
  •  This mismatch is called a semantic gap

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 11
Copyright © 2008


Layered design of operating systems

  
•  The lower layer implements OS­level primitives, thus providing an extended machine
   which is a more capable machine
•  OS modules use operations of the extended machine, thus reducing semantic gap
Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 12

Copyright © 2008


Layers of THE multiprogramming system

•  Layers 0 and 1 perform processor and memory management, respectively
   •  Layer 3 hides intricacies of device­level I/O

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 13
Copyright © 2008


Virtual machine operating system (VM OS)



A VM OS operates as follows:
– It creates several virtual machines
* A virtual machine is like a virtual resource
* It has the same architecture as the real computer, i.e. the host
machine, but does not contain some of its features
 For example, it may not support some instructions of the host
computer


– VM OS interleaves operation of several virtual machines
* Instructions of the selected virtual machine are executed on the host
machine, which ensures efficiency of its operation

– Each virtual machine has its own operating system, called a
   guest OS
– This way, several operating systems can operate on the host
computer concurrently
Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 14
Copyright © 2008


VM OS

  

•  VM/370 is an early widely known VM OS; it worked on IBM/370

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed


Slide No: 15
Copyright © 2008


VM OS



Operation of a VM OS
– VM OS schedules guest OSs; a guest OS schedules one of the
application processes
* VM OS may not be able to differentiate between a guest OS and an
application process
* Application processes uses the capabilities of a virtual machine

– Virtualization is the process by which capabilities of host
machine are made available in virtual machine (VM)

  

* Full virtualization: all capabilities of host are available in VM
 May lead to lack of security as VM OS cannot prevent an
application process from using privileged instructions
* If full virtualization is not used, guest OS must invoke the VM OS to
use some capabilities of the host machine

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—

A Concept­Based Approach, 2 ed

Slide No: 16
Copyright © 2008


Uses of VM OS



A VM OS can be used in following ways
– Server consolidation
* Instead of having a separate machine for each server, several
servers can be made to use the same machine

– Disaster management
* Transfer a virtual machine from one computer to another for
planned and unplanned shutdowns

  

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 17
Copyright © 2008



Kernel-based operating systems

•  The kernel contains architecture­dependent code, which typically constitutes
     various mechanisms
•  The non­kernel modules do not contain architecture­dependent code
•  This arrangement facilitates portability of an OS

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 18
Copyright © 2008


Mechanisms in a kernel

  

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 19
Copyright © 2008



Dynamically loadable kernel modules



Kernel modules have well-specified interfaces
– Facilitates dynamic loading of kernel modules
* Conserves memory by loading only the required modules
* Provides extensibility as kernel modules can be modified separately

  

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 20
Copyright © 2008


Microkernel-based operating systems

•  A microkernel  is the essential core of OS code; it contains few mechanisms and system calls,
  
   e.g., memory management, so it can be very small in size
•  Less essential parts of code exist outside the microkernel; they operate as servers
•  This organization facilitates reliability, portability and extensibility

Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 21
Copyright © 2008


Kernels of Unix and Linux

•  Diagram shows structure of Unix kernel, which is monolithic in nature
  
•  Linux kernel has an analogous structure; however, it supports dynamically loadable
   kernel modules, is more responsive and supports architectures not having an MMU
Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 22
Copyright © 2008


Architecture of Windows

•  The HAL provides abstractions of I/O interfaces, interrupt controllers and interprocess
  

   communication processes in a multiprocessor system
•  HAL and the kernel are together equivalent of the conventional kernel
•  Environments subsystems support execution of MS­DOS, Win32 and OS/2 programs
Chapter 14: Structure of
Operating Systems

Dhamdhere: Operating Systems—
A Concept­Based Approach, 2 ed

Slide No: 23
Copyright © 2008



×