Verteilte Systeme (Distributed Systems)
|
|
- Hannah Copeland
- 6 years ago
- Views:
Transcription
1 Verteilte Systeme (Distributed Systems) Karl M. Göschka VerteilteSysteme/
2 Lecture 4: Operating System Support Processes and Threads Client/Server Support and Concurrency Object Server Issues Code Migration Virtualization
3 Processes and threads (1) Unit of resource ownership and protection: It provides an address space to the program and protects it from other (concurrent) processes Unit of dispatching: A process encapsulates a program in execution - it contains the execution state of the program and is the entity that is scheduled and dispatched by the OS Enforced with hardware support (kernel mode) High cost for allocation and switching (possibly including swapping) granularity not sufficient 3
4 Process Switching (non-distributed) process B Context switching as the result of IPC 5
5 Processes and threads (2) Process remains the unit of resource management and protection, while thread becomes the unit of dispatching (execution state) Within a process, threads provide concurrent executions that share state (and the address space) minimal thread context (CPU, scheduling information, synchronization) Protection, however, is left to the application developer Trade-off: Robustness vs. efficiency 6
6 Multi-threading (1) A thread is an independent stream of execution Different threads in the same process share a global environment (e.g. same object instance) The accesses of threads to shared resources must be coordinated (synchronized) Different threads may run on different processors if available or share a single processor Threads are provided by operating systems, middleware, or even programming languages Java provides support for threads 7
7 Multi-threading (2) Threads are used to increase performance: Parallelism on multiprocessor machines (more finegrained than processes) Multi-threading is often used to reduce the impact of blocking operations (e.g. IO, networking) so that communication and local processing can overlap Local communication cheaper (vs. IPC context switching) 8
8 Multi-threading (3) Threads are used to improve the structure of a process respectively a large program Application-level parallelism Reactive (server) programming application responds to incoming (client) events Interactive (client) programming one thread to respond to user interaction, another to do the background work avoid blocking and increase perceived speed Asynchronous (batch) processing (e.g., autobackup) 9
9 Multi-threading issues Safety how to synchronize threads so that they do not interfere with one another Liveness how to avoid deadlock situations to ensure that all threads make progress (fairness?) Performance Overhead (performance penalty) from context-switching and synchronization 10
10 User level threads Thread library: routines for thread management, e.g. scheduling; saving and restoring thread context The kernel is not aware of the existence of threads All thread management done by the application: Cheap to create and destroy threads and only few instructions for switching, usually for synchronization purpose Scheduling can be application specific Can run on any OS BUT: Kernel schedules process as a unit Blocking system call will block entire process (including all other threads) BUT: Can not take advantage of multiprocessing 11
11 Kernel level threads (e.g., Windows) Kernel maintains context information for the process and the threads: Thread management is done by the kernel, only API to the kernel thread facility Scheduling is done on a thread basis by the kernel Multiprocessor support Non-blocking Kernel itself can be multithreaded BUT: Allocation and switching need expensive system calls: mode switch to the kernel 12
12 User-Level vs. kernel-level Threads 13
13 Combined Approaches Scheduler hints (Mach kernel) Scheduler Activation: Kernel upcall to thread package (kernel calls the user-level scheduler), but violates layered structure Hybrid: lightweight processes (LWP; Solaris) Process includes the user s address space, stack, and process control block User level thread package: Thread creation done in the user space, also the bulk of scheduling and synchronization of threads within application User level threads are mapped onto kernel level threads: Lightweight processes (LWP) Kernel threads (and LWPs) are scheduled by kernel: There is exactly one kernel thread for each LWP 14
14 Lightweight Process (1) 15
15 Lightweight Process (2) LWP exists within the process address space while at the same time it is bound to a single dispatchable kernel thread LWPs of one process share the user level thread table within that process Exploit concurrency application specific: Single threaded (no concurrency required) Logical parallelism (structuring): Multithreaded without need for hardware parallelism Kernel parallelism for multiprocessing or non-blocking Mixture: Background tasks may share LWP, while resource access via single LWP. 16
16 Lightweight Process (3) 17
17 Lecture 4: Operating System Support Processes and Threads Client/Server Support and Concurrency Object Server Issues Code Migration Virtualization
18 Invocations between address spaces (a) System call Thread Control transfer via trap instruction User Kernel Control transfer via privileged instructions (b) RPC/RMI (within one computer) Protection domain boundary Thread 1 Thread 2 (c) RPC/RMI (between computers) User 1 Kernel User 2 Thread 1 Network Thread 2 User 1 User 2 Kernel 1 Kernel 2 20
19 Client and server with threads Thread 1 generates results T1 Thread 2 makes requests to server Receipt & queuing Input-output Requests N threads Client Server Common threads in a client: UI, processing, network connection Common threads in a server: multiple clients; multiple I/O 21
20 Multithreaded Client Interact with human user and remote server in parallel (non blocking towards user) Hide communication latencies: Do something else in parallel (e.g. Web browser) Load balancing (only useful if supported on server side): connections to different replicas, data transfer in parallel Local data processing Compound documents: Drag-and-drop; inplace editing (notifications) Components for distribution transparency 22
21 Client-Side Support for Transparency Access: stub Location: naming and (re-)binding Replication: proxy Failure: retry, redirect, cache Concurrency: transaction monitor A possible approach to transparent replication of a remote object using a client-side solution. 23
22 N-Tier Java Applet Web Browser HTML Client HTTP Devices Presentation Tier Specific servers Windows Application Distribution Protocol: IIOP, RMI, or proprietary (e.g. DCE) Java Application Web Server Glue Logic HTTP Daemon Servlet static content and templates: HTML XHTML XML JSP Business Tier Session Session Session Session Business Logic Distributed Component Based Infrastructure Transaction Manager Content Mgmt Persistence Manager Libraries Wrapper/Connector Resource Tier Database Access Protocol: JDBC, SQLJ, or proprietary (e.g. SQL*Net) Legacy System proprietary legacy protocol Database Server proprietary legacy protocol 27
23 Architecture Results from case studies Often implicitly used by developers 29
24 Modeling MOF Meta-Meta-Model UML Class Diagram ConcurTask Trees Presentation Modeling Modeling Languages Domain Model relate Task Model relate Presentation Models relate Models communicate communicate Model Controller Views communicate Architecture 30
25 Server Design Issues Iterative or concurrent (e.g., multithreaded) Server interrupt / out-of-band control Stateless, stateful, soft state, session state Where/how to find/bind the server Name or directory servers Well known port addresses (0 1023) (see list at Multithreaded server: Simplifies server code Exploit parallelism for high performance (multiprocessor workstation) 31
26 Client/server binding 3.7 a) Client-to-server binding using a daemon as in DCE b) Client-to-server binding using a superserver as in UNIX (inetd, forks process) 32
27 Multithreaded Servers Example: A multithreaded server organized in a dispatcher/worker model. (dispatcher also called coordinator; worker also called servant or object) 34
28 Structure of a server Different architectures are possible Who creates the thread? When is the thread created? Fixed number of threads? Several design patterns 35
29 Pool vs. dynamic thread creation Thread creation is expensive (100s of instructions) The cost of thread creation can be amortized over many requests by keeping a thread around for several requests A fixed number of threads could be created at start-up time and assigned to requests as they come in 36
30 Server threading architectures workers per-connection threads per-object threads I/O remote objects remote objects I/O remote objects a. Thread-per-request b. Thread-per-connection c. Thread-per-object 37
31 The thread-per-request architecture A coordinator thread reads incoming requests As soon as a request is read, it spawns (creates) a thread to handle the request The new thread decodes the request; calls the servant to perform the request exits 38
32 Thread-per-connection architecture The coordinator thread detects a new client It connects the incoming client to a new thread The new thread decodes the request; calls the servant to perform the request returns to read next request from same client 39
33 The thread-per-servant architecture Each servant has its own thread and queue The coordinator reads an incoming request and inserts it in the queue of appropriate servant Each servant thread repeatedly takes a request from its queue and executes it (simple way of making servants thread-safe through strict serialization) 40
34 Server Clusters The general organization of a three-tiered server cluster 41
35 Lecture 4: Operating System Support Processes and Threads Client/Server Support and Concurrency Object Server Issues Code Migration Virtualization
36 Object server Provides means to access objects remotely according to different activation policies Object creation on invocation vs. during server initialization Separate memory segments vs. sharing code (class definition) Thread policies (single, one per object, one per request,...) and pool vs. on demand object adapter implements policies 43
37 Object Adapter (1) An object adapter (OA) implements a particular activation/invocation policy (OA groups objects per policy) Different OAs may coexist in the same server dispatcher OA is unaware of the specific object interface OA extracts reference and invokes skeleton according to policy 44
38 Example: The Ice Runtime System Example of creating an object server in Ice. 45
39 The main components of CORBA client implementation repository interface repository server object skeleton adapter client program proxy for A ORB core Request Reply ORB core Servant A or dynamic invocation or dynamic skeleton Servants (= programmer supplied object implementation) are a) inherited from generated skeleton or b) they are bound (registered) to particular skeletons 49
40 Role of CORBA Object Adapters Portable and transparent activation of object implementations Creation/management of object references Calling implementation skeleton Control of multiple server threads Basic authentication Deactivation of object implementations Support for persistent identities 50
41 Portable Object Adaptor (1) OID: POA assigned or user assigned Activation explicit or on demand 1. Multiple OIDs single servant 2. One servant for all objects 3. Single servant, many objects and types (DSI) Mapping of CORBA object identifiers to servants. a) The POA supports multiple servants. b) The POA supports a single servant. 52
42 Portable Object Adaptor (2) My_servant *my_object; CORBA::Objectid_var oid; // Declare a reference to a C++ object // Declare a CORBA identifier my_object = new MyServant; // Create a new C++ object oid = poa ->activate_object (my_object); // Register C++ object as CORBA OBJECT Changing a C++ object into a CORBA object. 53
43 Lecture 4: Operating System Support Processes and Threads Client/Server Support and Concurrency Object Server Issues Code Migration Virtualization
44 Code migration (1) Parameters passed among client and server may refer not only to data but also to code perhaps even while being executed! Historical: Balancing of computational load Distributed Systems: Moving code to where the data is can lower communication overhead: move query processing to database machine moving code to client can also improve scalability (e.g. form processing) 55
45 Example of Migrating Code The principle of dynamically configuring a client to communicate to a server. The client first fetches the necessary software, and then invokes the server (e.g. Java applet). 56
46 Code migration (2) Exploit parallelism (linear speed-up of e.g. Web search) Flexibility: Moving code can be used to customize (i.e. configure) the client dynamically and provide service interfaces on demand: Improved versioning and evolution BUT Security? BUT Code migration in heterogeneous systems is costly and intricate! Mobile code offers a different paradigm for structuring of distributed applications 57
47 Models for Code Migration Alternatives for code migration: Consider code segment, execution segment, and resource segment 58
48 Migration and Local Resources (1) Resource segment can not always be moved along without being changed Three types of process-to-resource bindings Binding by identifier Binding by value Binding by type Three types of resource-to-machine bindings Unattached resources Fastened resources Fixed resources 59
49 Migration and Local Resources (2) Resource-to machine binding Unattached Fastened Fixed Process-toresource binding By identifier By value By type MV (or GR) CP ( or MV, GR) RB (or GR, CP) GR (or MV) GR (or CP) RB (or GR, CP) GR GR RB (or GR) Actions to be taken with respect to the references to local resources when migrating code to another machine: GR Establish a global systemwide reference MV Move the resource CP Copy the value of the resource RB Rebind process to locally available resource 60
50 Lecture 4: Operating System Support Processes and Threads Client/Server Support and Concurrency Object Server Issues Code Migration Virtualization
51 Virtualization (1) Threads provide illusion of several processors Virtualization extends this idea to the resources 70s: run legacy software, e.g., IBM s: Application software is outliving system (operating system and hardware) portability Administration of large and heterogeneous systems and applications flexibility+portability Isolation: Reliability and security 62
52 The Role of Virtualization in DS a) General organization between a program, interface, and system. b) General organization of virtualizing system A on top of system B. 63
53 Interfaces at different levels (2) Various interfaces offered by computer systems. 65
54 Architectures of Virtual Machines (1) A process virtual machine, with multiple instances of (application, runtime) combinations. E.g., JVM. 66
55 Architectures of Virtual Machines (2) A virtual machine monitor, with multiple instances of (applications, OS) combinations. E.g., VMware, Xen 67
56 Migration in Heterogeneous Systems (1) Can the code segment be executed at all? Is the execution segment properly represented? scripting languages and highly portable languages (Java) rely on a process virtual machine that interprets source code (scripting) or intermediate code (Java) 68
57 Migration in Heterogeneous Systems (2) recently: migrate the whole computing environment (virtual machine monitor): strong mobility resources are part of moved environment service continuation during maintenance resource bindings: network-to-mac binding (storage as separate tier) memory image % 69
58 Migration in Heterogeneous Systems (3) Ways to handle migration (can be combined) Pushing memory pages to the new machine and resending the ones that are later modified during the migration process. ( extra effort) Stopping the current virtual machine; migrate memory, and start the new virtual machine. ( long service interruption) Letting the new virtual machine pull in new pages as needed, that is, let processes start on the new virtual machine immediately and copy memory pages on demand. ( long migration period) pre-copy: method 1 + method 2 (~200ms interruption) 70
59 Summary Concurrency is naturally present in a distributed system and needs operating system support Concurrency may be exploited in several ways in distributed systems: To improve performance by hiding delays due to blocking To structure high-performance servers To structure clients that hide server replication Other paradigms with different operating system support code migration virualization 76
Distributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Chapter 03 (version February 11, 2008) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
More information殷亚凤. Processes. Distributed Systems [3]
Processes Distributed Systems [3] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Architectural Styles: Layered style, Object-based,
More informationDISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 3 Processes
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 3 Processes Context Switching Processor context: The minimal collection of values stored in the
More informationToday: Distributed Middleware. Middleware
Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out
More informationTypes of Virtualization. Types of virtualization
Types of Virtualization Emulation VM emulates/simulates complete hardware Unmodified guest OS for a different PC can be run Bochs, VirtualPC for Mac, QEMU Full/native Virtualization VM simulates enough
More informationDistributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.
Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA
More informationDr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes
Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 Distributed Systems Chapter 3 - Processes CSCI319 Chapter 3 Page: 1 Processes Lecture notes based on the textbook by Tannenbaum Study objectives: 1. Understand
More informationOperating System Support
Operating System Support Dr. Xiaobo Zhou Adopted from Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 1 Learning Objectives Know what a modern
More informationDistributed Information Processing
Distributed Information Processing 7 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2017 Eom, Hyeonsang All Rights Reserved Outline
More informationOperating System. Chapter 4. Threads. Lynn Choi School of Electrical Engineering
Operating System Chapter 4. Threads Lynn Choi School of Electrical Engineering Process Characteristics Resource ownership Includes a virtual address space (process image) Ownership of resources including
More informationThreads Chapter 5 1 Chapter 5
Threads Chapter 5 1 Chapter 5 Process Characteristics Concept of Process has two facets. A Process is: A Unit of resource ownership: a virtual address space for the process image control of some resources
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationMotivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4
Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [THREADS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Shuffle less/shuffle better Which actions?
More informationProcess Description and Control
Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate
More informationChapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues
Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues 4.2 Silberschatz, Galvin
More informationDistributed Object-Based. Systems. Chapter 9
Distributed Object-Based Systems Chapter 9 Overview of CORBA The global architecture of CORBA. Object Model The general organization of a CORBA system. Service Collection Query Concurrency Transaction
More informationFor use by students enrolled in #71251 CSE430 Fall 2012 at Arizona State University. Do not use if not enrolled.
Operating Systems: Internals and Design Principles Chapter 4 Threads Seventh Edition By William Stallings Operating Systems: Internals and Design Principles The basic idea is that the several components
More informationLecture 7: February 10
CMPSCI 677 Operating Systems Spring 2016 Lecture 7: February 10 Lecturer: Prashant Shenoy Scribe: Tao Sun 7.1 Server Design Issues 7.1.1 Server Design There are two types of server design choices: Iterative
More informationDISTRIBUTED COMPUTER SYSTEMS
9/17/15 DISTRIBUTED COMPUTER SYSTEMS PROCESSES AND THREADS Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline Heavy Weight Processes Threads and Thread Implementation
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 3: Communication (Part 2) Remote Procedure
More informationDistributed Systems. The main method of distributed object communication is with remote method invocation
Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,
More informationThreads. CS3026 Operating Systems Lecture 06
Threads CS3026 Operating Systems Lecture 06 Multithreading Multithreading is the ability of an operating system to support multiple threads of execution within a single process Processes have at least
More informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationDistributed Object-based Systems CORBA
CprE 450/550x Distributed Systems and Middleware Distributed Object-based Systems CORBA Yong Guan 3216 Coover Tel: (515) 294-8378 Email: guan@ee.iastate.edu March 30, 2004 2 Readings for Today s Lecture!
More informationThreads, SMP, and Microkernels
Threads, SMP, and Microkernels Chapter 4 E&CE 354: Processes 0 Multithreaded Programming So what is multithreaded programming? Basically, multithreaded programming is implementing software so that two
More informationChapter 3 Process Description and Control
Operating Systems: Internals and Design Principles Chapter 3 Process Description and Control Seventh Edition By William Stallings Process Control Block Structure of Process Images in Virtual Memory How
More informationSoftware Paradigms (Lesson 10) Selected Topics in Software Architecture
Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1
More informationOPERATING SYSTEM. Chapter 4: Threads
OPERATING SYSTEM Chapter 4: Threads Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples Objectives To
More informationLecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors
Lecture 5: Process Description and Control Multithreading Basics in Interprocess communication Introduction to multiprocessors 1 Process:the concept Process = a program in execution Example processes:
More informationOperating System Architecture. CS3026 Operating Systems Lecture 03
Operating System Architecture CS3026 Operating Systems Lecture 03 The Role of an Operating System Service provider Provide a set of services to system users Resource allocator Exploit the hardware resources
More informationProcess Description and Control
Process Description and Control B.Ramamurthy 1/28/02 B.Ramamurthy 1 Introduction The fundamental task of any operating system is process management. OS must allocate resources to processes, enable sharing
More informationOperating Systems: Internals and Design Principles. Chapter 4 Threads Seventh Edition By William Stallings
Operating Systems: Internals and Design Principles Chapter 4 Threads Seventh Edition By William Stallings Operating Systems: Internals and Design Principles The basic idea is that the several components
More informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
More informationSprite (contd) Code and Process Migration
Sprite (contd) Sprite process migration Facilitated by the Sprite file system State transfer Swap everything out Send page tables and file descriptors to receiver Demand page process in Only dependencies
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture organization Lecture schedule (may change!)
More informationLast Class: RPCs. Today:
Last Class: RPCs RPCs make distributed computations look like local computations Issues: Parameter passing Binding Failure handling Lecture 8, page 1 Today: Lightweight RPCs Remote Method Invocation (RMI)
More informationChapter 1: Distributed Information Systems
Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier
More informationChapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote
More informationChapter 10 Web-based Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial
More informationOS Virtualization. Linux Containers (LXC)
OS Virtualization Emulate OS-level interface with native interface Lightweight virtual machines No hypervisor, OS provides necessary support Referred to as containers Solaris containers, BSD jails, Linux
More informationDS 2009: middleware. David Evans
DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between
More informationDistributed Objects. Object-Oriented Application Development
Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming
More informationProcesses and Threads. Processes: Review
Processes and Threads Processes and their scheduling Threads and scheduling Multiprocessor scheduling Distributed Scheduling/migration Lecture 3, page 1 Processes: Review Multiprogramming versus multiprocessing
More informationConcepts of Distributed Systems 2006/2007
Concepts of Distributed Systems 2006/2007 Processes Johan Lukkien 1 Programme Introduction & overview Communication Distributed OS & Processes Synchronization Security Consistency & replication Naming
More information3C05 - Advanced Software Engineering Thursday, April 29, 2004
Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object
More informationOperating System Support
Teaching material based on Distributed Systems: Concepts and Design, Edition 3, Addison-Wesley 2001. Copyright George Coulouris, Jean Dollimore, Tim Kindberg 2001 email: authors@cdk2.net This material
More informationChapter 4: Threads. Chapter 4: Threads
Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples
More informationApplications, services. Middleware. OS2 Processes, threads, Processes, threads, communication,... communication,... Platform
Operating System Support Introduction Distributed systems act as resource managers for the underlying hardware, allowing users access to memory, storage, CPUs, peripheral devices, and the network Much
More information! How is a thread different from a process? ! Why are threads useful? ! How can POSIX threads be useful?
Chapter 2: Threads: Questions CSCI [4 6]730 Operating Systems Threads! How is a thread different from a process?! Why are threads useful?! How can OSIX threads be useful?! What are user-level and kernel-level
More informationProcess Characteristics. Threads Chapter 4. Process Characteristics. Multithreading vs. Single threading
Process Characteristics Threads Chapter 4 Reading: 4.1,4.4, 4.5 Unit of resource ownership - process is allocated: a virtual address space to hold the process image control of some resources (files, I/O
More informationThreads Chapter 4. Reading: 4.1,4.4, 4.5
Threads Chapter 4 Reading: 4.1,4.4, 4.5 1 Process Characteristics Unit of resource ownership - process is allocated: a virtual address space to hold the process image control of some resources (files,
More informationEI 338: Computer Systems Engineering (Operating Systems & Computer Architecture)
EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture) Dept. of Computer Science & Engineering Chentao Wu wuct@cs.sjtu.edu.cn Download lectures ftp://public.sjtu.edu.cn User:
More information!! How is a thread different from a process? !! Why are threads useful? !! How can POSIX threads be useful?
Chapter 2: Threads: Questions CSCI [4 6]730 Operating Systems Threads!! How is a thread different from a process?!! Why are threads useful?!! How can OSIX threads be useful?!! What are user-level and kernel-level
More informationSAI/ST course Distributed Systems
SAI/ST course Distributed Systems 2013, Sep. 26 Oct 01 Lecture 3: Communication Agenda Overview Concepts Organization in layers IPC primitives Direct communication Indirect communication R.H. Mak 27-9-2013
More informationChapter 4: Multithreaded Programming. Operating System Concepts 8 th Edition,
Chapter 4: Multithreaded Programming, Silberschatz, Galvin and Gagne 2009 Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues 4.2 Silberschatz, Galvin
More informationQuestions answered in this lecture: CS 537 Lecture 19 Threads and Cooperation. What s in a process? Organizing a Process
Questions answered in this lecture: CS 537 Lecture 19 Threads and Cooperation Why are threads useful? How does one use POSIX pthreads? Michael Swift 1 2 What s in a process? Organizing a Process A process
More informationGustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2
Chapter 1: Distributed Information Systems Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 1 Design
More informationChapter 4 Threads, SMP, and
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Threads: Resource ownership
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationChapter 4: Multi-Threaded Programming
Chapter 4: Multi-Threaded Programming Chapter 4: Threads 4.1 Overview 4.2 Multicore Programming 4.3 Multithreading Models 4.4 Thread Libraries Pthreads Win32 Threads Java Threads 4.5 Implicit Threading
More informationLast Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 4, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is
More informationIntroduction. CS3026 Operating Systems Lecture 01
Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program
More informationAdvanced Lectures on knowledge Engineering
TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/
More informationOperating Systems Overview. Chapter 2
Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and
More informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationChapter 4: Processes. Process Concept
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Silberschatz, Galvin and Gagne
More informationAgenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008
Agenda Threads CSCI 444/544 Operating Systems Fall 2008 Thread concept Thread vs process Thread implementation - user-level - kernel-level - hybrid Inter-process (inter-thread) communication What is Thread
More informationMultithreaded Programming
Multithreaded Programming The slides do not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. September 4, 2014 Topics Overview
More informationCSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke
CSCI-GA.2250-001 Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke frankeh@cs.nyu.edu Processes Vs Threads The unit of dispatching is referred to as a thread or lightweight
More informationChapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline
More informationChapter 4: Processes
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Silberschatz, Galvin and Gagne
More informationProcess. Program Vs. process. During execution, the process may be in one of the following states
What is a process? What is process scheduling? What are the common operations on processes? How to conduct process-level communication? How to conduct client-server communication? Process is a program
More informationELEC 377 Operating Systems. Week 1 Class 2
Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.
More informationProcesses and Threads. Processes and Threads. Processes (2) Processes (1)
Processes and Threads (Topic 2-1) 2 홍성수 Processes and Threads Question: What is a process and why is it useful? Why? With many things happening at once in a system, need some way of separating them all
More informationDistributed Technologies - overview & GIPSY Communication Procedure
DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component
More informationOperating Systems 2 nd semester 2016/2017. Chapter 4: Threads
Operating Systems 2 nd semester 2016/2017 Chapter 4: Threads Mohamed B. Abubaker Palestine Technical College Deir El-Balah Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition
More informationInterprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5
Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5 Fall 2008 Jussi Kangasharju Chapter Outline Overview of interprocess communication Remote invocations (RPC etc.) Message
More informationOperating Systems : Overview
Operating Systems : Overview Bina Ramamurthy CSE421 8/29/2006 B.Ramamurthy 1 Topics for discussion What will you learn in this course? (goals) What is an Operating System (OS)? Evolution of OS Important
More informationProcess Characteristics
Threads 1 Chapter 4 2 Process Characteristics We ve mentioned a process as having two characteristics Unit of resource ownership: processes have their own dedicated memory address space processes temporarily
More informationLecture 2 Process Management
Lecture 2 Process Management Process Concept An operating system executes a variety of programs: Batch system jobs Time-shared systems user programs or tasks The terms job and process may be interchangeable
More informationProcesses and Threads
TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Processes and Threads [SGG7] Chapters 3 and 4 Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationWhat is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.
CORBA What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform. It includes: an object-oriented Remote Procedure Call (RPC) mechanism object
More informationDistributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum
Distributed Systems (3rd Edition) Maarten van Steen and Tanenbaum Edited by Ghada Ahmed, PhD Fall 2017 Processes: Threads Introduction to threads Introduction to threads Basic idea We build virtual processors
More informationDistributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 10: Version: December 10, 2012 1 / 22 10.1 Architecture 10.1 Architecture Remote
More informationThreads. Raju Pandey Department of Computer Sciences University of California, Davis Spring 2011
Threads Raju Pandey Department of Computer Sciences University of California, Davis Spring 2011 Threads Effectiveness of parallel computing depends on the performance of the primitives used to express
More informationOperating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group
Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and
More informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
More informationAdvanced Topics in Operating Systems
Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:
More informationEJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java
EJB Enterprise Java EJB Beans ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY Peter R. Egli 1/23 Contents 1. What is a bean? 2. Why EJB? 3. Evolution
More informationLecture 15: Network File Systems
Lab 3 due 12/1 Lecture 15: Network File Systems CSE 120: Principles of Operating Systems Alex C. Snoeren Network File System Simple idea: access disks attached to other computers Share the disk with many
More informationChapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline
More informationOS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation
CSE 421/521 - Operating Systems Fall 2012 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management
More informationLecture 4: Threads; weaving control flow
Lecture 4: Threads; weaving control flow CSE 120: Principles of Operating Systems Alex C. Snoeren HW 1 Due NOW Announcements Homework #1 due now Project 0 due tonight Project groups Please send project
More informationClient/Server-Architecture
Client/Server-Architecture Content Client/Server Beginnings 2-Tier, 3-Tier, and N-Tier Architectures Communication between Tiers The Power of Distributed Objects Managing Distributed Systems The State
More informationChapter 4: Threads. Operating System Concepts 9 th Edit9on
Chapter 4: Threads Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads 1. Overview 2. Multicore Programming 3. Multithreading Models 4. Thread Libraries 5. Implicit
More information