Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Threads, SMP, and Microkernels
OPERATING SYSTEM SUPPORT
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Lecture 6: Operating System Support Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
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-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Slides for Chapter 6: Operating System support From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
3.5 Interprocess Communication
USER LEVEL INTERPROCESS COMMUNICATION FOR SHARED MEMORY MULTIPROCESSORS Presented by Elakkiya Pandian CS 533 OPERATING SYSTEMS – SPRING 2011 Brian N. Bershad.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
Chapter 3: Processes. Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server.
Communication in Distributed Systems –Part 2
1 Chapter 4 Threads Threads: Resource ownership and execution.
Exercises for Chapter 6: Operating System Support
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
PRASHANTHI NARAYAN NETTEM.
Introduction The operating system layer Protection Processes and Threads Communication and invocation Operating system architecture Summary Chapter 6:
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 7 Operating.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Threads and Processes.
Operating Systems Part III: Process Management (Process States and Transitions)
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
3.1 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8 th Edition Chapter 3: Processes.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Source: Operating System Concepts by Silberschatz, Galvin and Gagne.
Processes Introduction to Operating Systems: Module 3.
Shuman Guo CSc 8320 Advanced Operating Systems
IS473 Distributed Systems CHAPTER 6 Operating System Support.
Multithreaded Programing. Outline Overview of threads Threads Multithreaded Models  Many-to-One  One-to-One  Many-to-Many Thread Libraries  Pthread.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Distributed Systems : Operating System Support
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 7: Operating.
 Process Concept  Process Scheduling  Operations on Processes  Cooperating Processes  Interprocess Communication  Communication in Client-Server.
OPERATING SYSTEM SUPPORT
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership - process includes a virtual address space to hold the process image Scheduling/execution-
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Chapter three.  An operating system executes a variety of programs:  A batch system executes jobs.  A time-shared systems has user programs or tasks.
Last Class: Introduction
Kernel Design & Implementation
Processes and threads.
Operating Systems CMPSC 473
Chapter 3: Process Concept
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
Processes Overview: Process Concept Process Scheduling
Chapter 6: Operating System Support
Programming Models for Distributed Application
Threads, SMP, and Microkernels
System Structure and Process Model
Multiple Processor Systems
Slides for Chapter 6: Operating System support
Fast Communication and User Level Parallelism
Multithreaded Programming
Presentation transcript:

Middleware Services

Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling

Core OS Components Process Manager Thread Manager Communication Manager Memory Manager Supervisor

Protection From illegitimate access –Read Or Write Protection by cryptographic techniques Another type is by FilePointer variable Protection by using a type safe language

Kernel and Protection Kernel process in supervisor mode Arranges others to be run in user mode Protection by address space Transfer between address spaces via –Interrupt –Sytem call trap Cost is extra processor cycles

Processes and threads A process may contain execution environment An Execution environment –An address space –Thread synch and communication resources –Open Files and Windows Threads can share Execution environment

Address Space Is a unit of management of a process’s virtual memory Can consists of one or more regions Each region is specified by –Its extent –Read/write/execute permissions for threads –Whether it can be grown upward or downward

Motivation for different regions Provide a stack for each thread Can detect attempts to exceed stack limits Attempt to access unallocated memory can be detected Files to be mapped into the address space

Shared regions Libraries Kernel Data sharing and communication

Creation of a new process Choice of process host –Location policy –Transfer policy Policies can be Static Deterministic Probabilistic Adaptive Apply Heuristics

Load sharing algorithm Sender initiated Receive initiated Migratory

Creation of a new Execution Environment Statically defined format –Text, stack and heap Defined with respect to an existing Execution environment –Copy on write –Page frames shared between two address spaces

Threads If a single thread can do the processing in n milli seconds a server can handle 1/ (n millisecond) client requests / second

Architecture for mutithreaded architecture Worker pool architecture Server creates a fixed pool of worker threads to process the requests when it starts up The module ‘receipt and queing’ which receives requests from a collection of sockets and places them on a shared queue for retrieval by workers

Architecture contd. Thread per request architecture Thread per connection architecture Thread per object architecture

Thread within clients Threads can be used for –Processing within Clients –And communication with remote objects in servers

Process and threads Cost of creating a new thread is less Switching Threads share data efficiently Threads within one process are not protected from one another –By type safe language

Thread programming setPrority start run sleep yeild – invoke the scheduler destroy

Thread Synchronization synchronized keyword wait notify -unblock notifyall-unblock join- block the caller until target thread’s termination interrupt – prematurely waking a waiting thread

Thread scheduling Preemptive Non preemptive Critical section yeild()

Communication Communication primitives –getRequest –sendReply –doOperation Middleware –RPC/RMI –Group communication –Event Notification

Protocols and Openness Communication between MW in different computers Amoebo RPC, VMTP, Sprite RPC Wireless –IrDA, Bluetooth Dynamic protocol composition –A protocol stack can be composed on the fly To meet reqmts of a particular appln.

Invokation performance Network bandwidth Network latencies

Invocation contd Making a system call Sending a message RPC RMI –Synchronous –Asynchronous

Invocation over the network A null RPC An RPC without parameters that executes a null procedure and return no values Little system data and no user data Total call time –Kernel action –User level RPC

Invocation costs Marshalling Data Copying Packet Initialization Thread Scheduling and Context Switching Memory Sharing Choice of protocol