Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Threads, SMP, and Microkernels
OPERATING SYSTEM SUPPORT
Operating System Structures
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
Chapter 3 Process Description and Control
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Computer Systems/Operating Systems - Class 8
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Figure 1.1 Interaction between applications and the operating system.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Threads. Processes and Threads  Two characteristics of “processes” as considered so far: Unit of resource allocation Unit of dispatch  Characteristics.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Threads.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Systems Security & Audit Operating Systems security.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Threads, Thread management & Resource Management.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
DCE (distributed computing environment) DCE (distributed computing environment)
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: Operating-System Structures.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
Processes Introduction to Operating Systems: Module 3.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
UNIX Unit 1- Architecture of Unix - By Pratima.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
The Mach System Silberschatz et al Presented By Anjana Venkat.
OPERATING SYSTEM SUPPORT
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Introduction to Operating Systems Concepts
Computer System Structures
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
CS490 Windows Internals Quiz 2 09/27/2013.
KERNEL ARCHITECTURE.
Chapter 4: Threads.
Chapter 2: System Structures
Computer-System Architecture
Chapter 1 Introduction to Operating System Part 5
Threads Chapter 4.
Multithreaded Programming
Operating Systems Lecture 3.
Operating Systems: A Modern Perspective, Chapter 3
Chapter 4: Threads.
Operating Systems Structure
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

Chapter 6 Operating System Support

This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed system. The operating system facilitates the encapsulation and protection of resources inside servers; and it supports the invocation mechanisms required to access these resources, including communication and scheduling.

Client applications invoke operations on resources that are often on another node or at least in another process. Applications (in the form of clients) and services (in the form of resource managers) use the middleware layer for their interactions. Middleware provides remote invocations between objects or processes at the nodes of a distributed system.

The task of any operating system is to provide problem-oriented abstractions of the underlying physical resources - the processors, memory, communications, and storage media. An operating system such as UNIX (and its variants such as Linux) or Windows (and its variants such as XP) provides the programmer with, for example, files rather than disk blocks, and with sockets rather than raw network access.

There are two types of O.S. : network O.S. and Distributed O.S. Both UNIX and Windows are examples of network operating systems. They have a networking capability built into them and so can be used to access remote resources. With a network operating system, a user can remotely log in to another computer, using rlogin or telnet, and run processes there.

However, unlike the operating system's control of the processes running at its own node, it does not schedule processes across the nodes. By contrast, one could imagine an operating system in which users are never concerned with where their programs run, or the location of any resources. There is a single system image. The operating system has control over all the nodes in the system, and it transparently locates new processes at whatever node suits its scheduling policies.

An operating system that produces a single system image like this for all the resources in a distributed system is called a distributed operating system

Middleware and network operating systems In fact, there are no distributed operating systems in general use, only network operating systems such as UNIX, Mac OS and Windows. This is likely to remain the case, for two main reasons: –The first is that users have much invested in their application software, which often meets their current problem-solving needs; they will not adopt a new operating system that will not run their applications, whatever efficiency advantages it offers.

–The second reason against the adoption of distributed operating systems is that users tend to prefer to have a degree of autonomy for their machines. The combination of middleware and network operating systems provides an acceptable balance between the requirement for autonomy, on the one hand, and network-transparent resource access on the other.

The network operating system enables users to run their favorite word processor and other standalone applications. Middleware enables them to take advantage of services that become available in their distributed system.

The operating system layer: Middleware runs on a variety of OS- hardware combinations (platforms) at the nodes of a distributed system. The OS running at a node - a kernel and associated user-level services, e.g. libraries - provides its own flavour of abstractions of local hardware resources for processing, storage and communication.

Middleware utilizes a combination of these local resources to implement its mechanisms for remote invocations between objects or processes at the nodes.

Kernels and server processes are the components that manage resources and present clients with an interface to the resources. We need set of properties in them: –Encapsulation: They should provide a useful service interface to their resources -that is, a set of operations that meet their clients' needs. Details such as management of memory and devices used to implement resources should be hidden from clients.

–Protection: Resources require protection from illegitimate accesses - for example, files are protected from being read by users without read permissions, and device registers are protected from application processes. –Concurrent processing: Clients may share resources and access them concurrently. Resource managers are responsible for achieving concurrency transparency. Clients access resources by making, for example, remote method invocations to a server object, or system calls to a kernel.

We call a means of accessing an encapsulated resource an invocation mechanism. A combination of libraries, kernels and servers may be called upon to perform the following invocation-related tasks: –Communication: Operation parameters and results have to be passed to and from resource managers, over a network or within a computer.

–Scheduling: When an operation is invoked, its processing must be scheduled within the kernel or server.

The previous figure shows the core OS functionality that we shall be concerned with: process and thread management, memory management, and communication between processes on the same computer (horizontal divisions in the figure denote dependencies).

OS software is designed to be portable between computer architectures where possible. It is divided into layers in order to reduce the machine dependency as possible as could.

The core OS components are the following: –Process Manager: Handles the creation of and operations upon processes. A process is a unit of resource management, including an address space and one or more threads. –Thread Manager: Thread creation, synchronization and scheduling. Threads are schedulable activities attached to processes. –Communication manager: communication between threads attached to different processes on the same computer. Some kernels also support comm. Between threads in remote processes.

–Memory manager: Management of physical and virtual memory for efficient data copying and movement. –Supervisor: Dispatching of interrupts, system call traps and other exceptions;

Protection: –Resources need protection from abused access. –Code only is not the main cause of problems in the OS. –To illustrate the protection consider a file opening it means to READ or WRITE from and to it.

–Protecting this file consists of two problems: To be sure that each of the previous two operations are done only by an authorized users. For example user1 owns the file and can read and write from and to it, and user2 just reads from it. An ultimate access to the files occurs when user2 somehow able to write to the file. Solving this problem in D.S. is a problem. –Another problem is to be able to execute an operation on the file rather than READ or WRITE, for example DELETE. Using type safe P.L will solve such problems. (it will prevent a module to access another module, if no visibility exists).

Kernels can be used to solve a lot of problems that related to illegitimate data access, regardless of the P.L.

Kernels and protection: The kernels is the program that able to direct access for the physical resources on its host computer. It can access memory, CPU registers and ca prevent any code to access them in an unacceptable way. There set of techniques used to enable kernel protection: –A special register in CPU is used, whose setting determines whether privileged instructions can be executed or not.

–Kernel also set up address space to protect itself from the accesses of an aberrant ضال processes, because Kernel will not allow a process to access anything outside its address space. –When a process executes code, it executes it in its address space (user level), and when it needs to execute a kernel process, it executes it in kernel’s address space. –The process can safely transfer data between user level and kernel by interrupts.