Resource Allocation and Deadlock Resource Allocation and Handling
|
|
|
- Randolf Palmer
- 9 years ago
- Views:
Transcription
1 Resource Allocation and Deadlock Resource Allocation and Deadlock Handling
2 Conditions for Deadlock [Coffman-etal 1971] 4 conditions must hold simultaneously for a deadlock to occur: Mutual exclusion: only one process at a time can use a resource. Hold and wait: a process holding some resource can request additional resources and wait for them if they are held by other processes. No preemption: a resource can only be released voluntarily by the process holding it, after that process has completed its task. Q: examples preemptable/non-preemtable resources? Circular wait: there exists a circular chain of 2 or more blocked processes, each waiting for a resource held by the next process in the chain 2
3 Resource Allocation & Handling of Deadlocks Structurally restrict the way in which processes request resources deadlock prevention: deadlock is not possible Require processes to give advance info about the (max) resources they will require; then schedule processes in a way that avoids deadlock. deadlock avoidance: deadlock is possible, but OS uses advance info to avoid it Allow a deadlock state and then recover Ignore the problem and pretend that deadlocks never occur in the system (can be a solution sometimes?! ) 3
4 Resource Allocation with Deadlock Prevention Restrain the ways requests can be made; attack at least one of the 4 conditions, so that deadlocks are impossible to happen: Mutual Exclusion (cannot do much here ) Hold and Wait must guarantee that when a process requests a resource, it does not hold any other resources. Require process to request and be allocated all its resources at once or allow process to request resources only when the process has none. Low resource utilization; starvation possible. No Preemption If a process holding some resources requests another resource that t cannot be immediately allocated, it releases the held resources and has to request them again (risk for starvation). Circular Wait impose total ordering of all resource types, and require that each process requests resources in an increasing order of enumeration (e.g first the tape, then the disk). Examples? 4
5 Fight the circular wait: Dining philosophers example request forks in increasing fork-id var f[0..n]: bin-semaphore /init all 1 / P_i: (i!=n) Repeat Wait(f[i]) Wait(f[(i+1)modn]) Eat Signal(f[(i+1)modn]) Signal(f[i]) Think forever Pn Repeat Wait(f[(i+1)modn]) Wait(f[i]) Eat Signal(f[i]) Signal(f[(i+1)modn]) Think forever Idea: Hierarchical i l ordering of resources Proc s request their needed resources in increasing i order 5
6 semaphore S[N] int state[n] t Pi: do Fight the hold and wait: Dining philosophers example <think> take_forks(i) <eat> leave_f forks(i) forever test(i) take_forks(i) wait(mutex) t state(i) := HUNGRY test(i) signal(mutex) wait(s[i]) leave_forks(i) wait(mutex) state(i) := THINKING test(left(i)) (i)) test(right(i) signal(mutex) Idea: apply mutex algorithm for each neighbourhood, instead of for each fork if state(i) ==HUNGRY && state(left(i) )!= EATING && state(left(i) )!= EATING then state(i) := EATING 6 signal(s[i])
7 Fight the no-preemption: Dining philosophers example var f[0..n]: record s: bin-semaphore trylock(fork): available: boolean /init all 1 / P_i: Repeat While <not holding both forks> do Lock(f[i]) If!trylock(f[(i+1)modn]) then release f[i]; od Eat Release(f[i]) Release(f[(i+1)modn]) Think forever Idea: release held resources and retry when the next one is not available wait(fork.s) If fork.available then fork.available := false ret:= true else ret:= false Signal(fork.s) Return(ret) Lock(fork): Repeat Until (trylock(fork)) Release(fork): wait(fork.s) fork.available := true Signal(fork.s) 7
8 Deadlock avoidance: System Model Resource types R 1, R 2,..., R m e.g. CPU, memory space, I/O devices, files each resource type R i has W i instances. Each process utilizes a resource as follows: request use release Resource-Allocation Graph A set of vertices V and a set of edges E. E V is partitioned into two sets: P = {P 1, P 2,, P n } the set of processes R = {R 1, R 2,, R m } the set of resource types request edge: P i R j assignment edge: R j P i 8
9 Example of a Resource Allocation Graph 9
10 Resource Allocation Graph With A Deadlock 10
11 Resource Allocation Graph With A cycle but no Deadlock 11
12 Basic Facts graph contains no cycles no deadlock. (i.e. cycle is always a necessary condition for deadlock) If graph contains a cycle if one instance per resource type, then deadlock. if several instances per resource type, then possibility of deadlock Thm: if immediate-allocation-method, allocation method, then knot deadlock. Knot= knot strongly connected subgraph (no sinks) with no outgoing edges 12
13 Resource Allocation with Deadlock Avoidance Requires a priori information available. eg: e.g.: each process declares maximum number of resources of each type that it may need (e.g memory/disk pages). Deadlock-avoidance algo: examines the resource-allocation state available and allocated resources maximum possible demands of the processes. to ensure there is no potential ti for a circular-wait: it safe state no deadlocks in the horizon. unsafe state deadlock might occur (later ) Q: how to do the safety check? Avoidance = ensure that system will not enter an unsafe state. Idea: If satisfying a request will result in an unsafe state, the requesting process is suspended until enough resources are free-ed by processes that will terminate in the meanwhile. 13
14 Enhanced Resource Allocation Graph for Deadlock Avoidance Claim edge P i R j : P j may request resource R j represented by a dashed line. Claim edge converts to request edge when a process requests a resource. When a resource is released by a process, assignment edge reconverts to a claim edge. Resources must be claimed a priori in the system. 14
15 Example Resource-Allocation Graph For Deadlock Avoidance: Safe State 15
16 Example Resource-Allocation Graph For Deadlock Avoidance: Unsafe State 16
17 Safety checking: More on Safe State safe state = there exists a safe sequence <P 1, P 2,, P n > of terminating ti all processes: for each P i, the requests that it can still make can be granted by currently available resources + those held by P 1 P 2 P i 1 currently available resources + those held by P 1, P 2,, P i-1 The system can schedule the processes as follows: if P i s resource needs are not immediately available, then it can wait until all P 1, P 2,, P i-1 have finished obtain needed d resources, execute, release resources, terminate. t then the next process can obtain its needed resources, and so on. 17
18 Banker s Algorithm for Resource Allocation with Deadlock Avoidance Data Structures: Max: n x m matrix. Max [i,j] = k: P i may request max k instances of resource type R j. Allocation: n x m matrix. Allocation[i,j] = k: P i is currently allocated k instances of R j. Available: length m vector available [j] = k : k instances of resource type R j available. Need: n x m matrix: Need [i,j] = Max[i,j] Allocation[i,j]: potential max request by P i for resource type R j RECALL: Avoidance = ensure that system will not enter an unsafe state. Idea: If satisfying a request will result in an unsafe state, then requesting process is suspended until enough resources are free-ed by processes that will terminate in the meanwhile. 18
19 Banker s algorithm: Resource Allocation For each new Request i do /*Request i [j] = k: P i wants k instances of R j. */ /* Check consequence if request is granted */ remember the current resource-allocation state; Available := Available - Request i ; Allocation i := Allocation i + Request ; i Need i := Need i Request i;; If safety-check OK the resources are allocated to P i. Else ( unsafe ) P i must wait and i the old resource-allocation state is restored; 19
20 Banker s Algorithm: safety check Work and Finish: auxiliary vectors of length m and n, respectively. Initialize: Work := Available Finish i [i] = false for i = 12 1,2,, n. While there exists i such that both do (a) Finish nsh[ [i] = false (b) Need i Work. Work := Work + Allocation i Finish[i] := true If Finish [i] = true for all i, then the system is in a safe state else state is unsafe 20
21 Very simple example execution of Bankers Algo (snapshot 1) Allocation Max Need Available A B A B A B A B P P The system is in a safe state since the sequence < P 1, P 2 > satisfies safety criteria. A B 21
22 Very simple example execution of Bankers Algo (snapshot 2) Allocation Max Need Available A B A B A B A B P P Allocating B to P 2 leaves the system in an unsafe state since there is no sequence that satisfies safety criteria (Available vector is 0!). A B 22
23 Deadlock Detection & Recovery Allow system to enter deadlock state Detection ti algorithm: what we did for checking safety in enhanced graph, now we do it in the resource allocation graph Using resource-allocation graphs Using Banker s algo idea Recovery scheme 23
24 Deadlock Detection Note: similar as detecting unsafe states using Banker s algo Q: how is similarity explained? Q: if they cost the same why not use avoidance instead of detection&recovery? Data structures: Available: vector of length m: number of available resources of each type. Allocation: n x m matrix: number of resources of each type currently allocated to each process. Request: n x mmatrix: current request of each process. Request [ij] = k: P i is requesting k more instances of resource type R j. 24
25 Detection-Algorithm Usage When, and how often, to invoke depends on: How often a deadlock is likely to occur? How many processes will need to be rolled back? If algorithm is invoked arbitrarily, there may be many cycles in the resource graph we would not be able to tell which of the many deadlocked dl d processes caused the deadlock. dl 25
26 Recovery from Deadlock: (1) Process Termination Abort all deadlocked processes. Abort one process at a time until deadlock is eliminated. In which order should we choose to abort? Criteria? effect of the process computation (breakpoints & rollback) Priority of the process. How long process has computed, and how much longer to completion. Resources the process has used/needs to complete. How many processes will need to be terminated. 26
27 Select a victim minimize i i cost. Recovery from Deadlock: (2) Resource Preemption Rollback return to some safe state, restart process from that state Must do checkpointing for this to be possible. Watch for starvation same process may always be picked as victim, include number of rollbacks in cost factor. 27
28 Combined Approach to Deadlock Handling Combine the three basic approaches (prevention, avoidance, detection), allowing the use of the optimal approach for each type of resources in the system: Partition resources into hierarchically ordered classes (deadlocks may arise only within each class, then) use most appropriate technique for handling deadlocks within each class, e.g: internal (e.g. interactive I/O channels): prevention by ordering process resources (e.g. files): avoidance by knowing max needs main memory: prevention by preemption swap space (blocks in disk, drum, ): prevention by preallocation 28
29 RA & Deadlock Handling in Distributed Systems Note: no centralized control here! Each site only knows about its own resources Deadlock may involve distributed resources 29
30 Resource Allocation in Message-Passing Systems Prevention (recall strategies: no cycles; request all resources at once; apply preemptive strategies) (apply in gen. din.phil) dinphil) using priorities/hierarchical ordering of resources Use resource-managers (1 proc/resource) and request resource from each manager (in the hierarchy order) Use mutex (each fork is a mutex, execute Rikart&Agrawala for each) No hold&wait: Each process is mutually exclusive with both its neighbours => each group of 3 neighbours is 1 Rikart&Agrawala instance No Preemption If a process holding some resources requests another resource that cannot be immediately allocated, it releases the held resources and has to request them again (risk for starvation:cf extra, optional reference, PetersonStyer (not included in study material) algo for avoiding starvation). 30
31 Distributed R.A. with Deadlock Avoidance or Deadlock Detection&Recovery Centralized control one site is responsible for safety check or deadlock detection Can be a bottleneck (in performance and fault-tolerance) Distributed control all processes cooperate in the safety check or deadlock dl detection ti function need of consistent global state straightforward (expensive) approach: all processes try to learn global state less expensive solutions tend to be complicated and/or unrealistic Distributed deadlock avoidance or detection&recovery is not very practical Checking global states involves considerable processing overhead for a distributed system with a large number of processes and resources Also: who will check if procs are all blocked?! 31
Chapter 7: Deadlocks!
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still
System model. Section 7.1. Operating Systems: Deadlock p. 1/15
System model Section 7.1 Resources: CPU, memory, files, devices, semaphores, etc. divided into several types each type has one or more identical instances Processes: 1. Request resource. (If resource cannot
The Deadlock Problem. Deadlocks. Deadlocks. Bridge Crossing Example
The Deadlock Problem Deadlocks A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set. Example System has 2 tape drives. P 1 and P 2 each
OPERATING SYSTEMS DEADLOCKS
OPERATING SYSTEMS DEADLOCKS Jerry Breecher 7: Deadlocks OPERATING SYSTEM Deadlocks What is a deadlock? What Is In This Chapter? Staying Safe: Preventing and Avoiding Deadlocks Living Dangerously: Let the
OPERATING SYSTEMS PROCESS SYNCHRONIZATION
OPERATING SYSTEMS PROCESS Jerry Breecher 6: Process Synchronization 1 OPERATING SYSTEM Synchronization What Is In This Chapter? This is about getting processes to coordinate with each other. How do processes
OS OBJECTIVE QUESTIONS
OS OBJECTIVE QUESTIONS Which one of the following is Little s formula Where n is the average queue length, W is the time that a process waits 1)n=Lambda*W 2)n=Lambda/W 3)n=Lambda^W 4)n=Lambda*(W-n) Answer:1
Linux Process Scheduling Policy
Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm
Process Scheduling. Process Scheduler. Chapter 7. Context Switch. Scheduler. Selection Strategies
Chapter 7 Process Scheduling Process Scheduler Why do we even need to a process scheduler? In simplest form, CPU must be shared by > OS > Application In reality, [multiprogramming] > OS : many separate
4003-440/4003-713 Operating Systems I. Process Scheduling. Warren R. Carithers ([email protected]) Rob Duncan ([email protected])
4003-440/4003-713 Operating Systems I Process Scheduling Warren R. Carithers ([email protected]) Rob Duncan ([email protected]) Review: Scheduling Policy Ideally, a scheduling policy should: Be: fair, predictable
Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:
Chapter 7 OBJECTIVES Operating Systems Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the concept of virtual memory. Understand the
Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 412, University of Maryland. Guest lecturer: David Hovemeyer.
Guest lecturer: David Hovemeyer November 15, 2004 The memory hierarchy Red = Level Access time Capacity Features Registers nanoseconds 100s of bytes fixed Cache nanoseconds 1-2 MB fixed RAM nanoseconds
Chapter 10. Backup and Recovery
Chapter 10. Backup and Recovery Table of Contents Objectives... 1 Relationship to Other Units... 2 Introduction... 2 Context... 2 A Typical Recovery Problem... 3 Transaction Loggoing... 4 System Log...
W4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline Introduction to scheduling Scheduling algorithms 1 Direction within course Until now: interrupts, processes, threads, synchronization Mostly mechanisms
Chapter 15: Recovery System
Chapter 15: Recovery System Failure Classification Storage Structure Recovery and Atomicity Log-Based Recovery Shadow Paging Recovery With Concurrent Transactions Buffer Management Failure with Loss of
Textbook and References
Transactions Qin Xu 4-323A Life Science Building, Shanghai Jiao Tong University Email: [email protected] Tel: 34204573(O) Webpage: http://cbb.sjtu.edu.cn/~qinxu/ Webpage for DBMS Textbook and References
Monitors, Java, Threads and Processes
Monitors, Java, Threads and Processes 185 An object-oriented view of shared memory A semaphore can be seen as a shared object accessible through two methods: wait and signal. The idea behind the concept
Concurrency Control. Module 6, Lectures 1 and 2
Concurrency Control Module 6, Lectures 1 and 2 The controlling intelligence understands its own nature, and what it does, and whereon it works. -- Marcus Aurelius Antoninus, 121-180 A. D. Database Management
Two Parts. Filesystem Interface. Filesystem design. Interface the user sees. Implementing the interface
File Management Two Parts Filesystem Interface Interface the user sees Organization of the files as seen by the user Operations defined on files Properties that can be read/modified Filesystem design Implementing
(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Pessimistic Timestamp Ordering. Write Operations and Timestamps
(Pessimistic) stamp Ordering Another approach to concurrency control: Assign a timestamp ts(t) to transaction T at the moment it starts Using Lamport's timestamps: total order is given. In distributed
Scheduling Shop Scheduling. Tim Nieberg
Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations
Lecture 7: Concurrency control. Rasmus Pagh
Lecture 7: Concurrency control Rasmus Pagh 1 Today s lecture Concurrency control basics Conflicts and serializability Locking Isolation levels in SQL Optimistic concurrency control Transaction tuning Transaction
Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)
Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the
Priority Inversion Problem and Deadlock Situations
INTER-PROCESS COMMUNICATION AND SYNCHRONISATION: Lesson-11: Priority Inversion Problem and Deadlock Situations 1 1. Priority Inversion 2 Assume Priorities of tasks be in an order such that task I highest
Database Concurrency Control and Recovery. Simple database model
Database Concurrency Control and Recovery Pessimistic concurrency control Two-phase locking (2PL) and Strict 2PL Timestamp ordering (TSO) and Strict TSO Optimistic concurrency control (OCC) definition
Distributed Databases
C H A P T E R19 Distributed Databases Practice Exercises 19.1 How might a distributed database designed for a local-area network differ from one designed for a wide-area network? Data transfer on a local-area
Chapter 12 File Management. Roadmap
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Overview Roadmap File organisation and Access
Chapter 12 File Management
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Overview File organisation and Access
1 Solving LPs: The Simplex Algorithm of George Dantzig
Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.
CS4410 Final Exam : Solution set. while(ticket[k] && (ticket[k],k) < (ticket[i],i))
1. Bakery Algorithm after optimization: CS4410 Final Exam : Solution set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 int ticket[n] = 0; boolean choosing[n] = false; void CSEnter(int i) { choosing[i]
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
Operating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
Operating Systems Principles
bicfm page i Operating Systems Principles Lubomir F. Bic University of California, Irvine Alan C. Shaw University of Washington, Seattle PEARSON EDUCATION INC. Upper Saddle River, New Jersey 07458 bicfm
Chapter 1 8 Essay Question Review
Chapter 1 8 Essay Question Review 1. Explain why an operating system can be viewed as a resource allocator. Ans: A computer system has many resources that may be required to solve a problem: CPU time,
Convenience: An OS makes a computer more convenient to use. Efficiency: An OS allows the computer system resources to be used in an efficient manner.
Introduction to Operating System PCSC-301 (For UG students) (Class notes and reference books are required to complete this study) Release Date: 27.12.2014 Operating System Objectives and Functions An OS
Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5
77 16 CPU Scheduling Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5 Until now you have heard about processes and memory. From now on you ll hear about resources, the things operated upon
Common Approaches to Real-Time Scheduling
Common Approaches to Real-Time Scheduling Clock-driven time-driven schedulers Priority-driven schedulers Examples of priority driven schedulers Effective timing constraints The Earliest-Deadline-First
Chapter 16: Recovery System
Chapter 16: Recovery System Failure Classification Failure Classification Transaction failure : Logical errors: transaction cannot complete due to some internal error condition System errors: the database
218 Chapter 5 CPU Scheduling
218 Chapter 5 CPU Scheduling First-come, first-served (FCFS) scheduling is the simplest scheduling algorithm, but it can cause short processes to wait for very long processes. Shortestjob-first (SJF) scheduling
Chapter 14: Recovery System
Chapter 14: Recovery System Chapter 14: Recovery System Failure Classification Storage Structure Recovery and Atomicity Log-Based Recovery Remote Backup Systems Failure Classification Transaction failure
Paper 3F6: Software Engineering and Systems Distributed Systems Design Solutions to Examples Paper 3
Engineering Tripos Part IIA THIRD YEAR Paper 3F: Software Engineering and Systems Distributed Systems Design Solutions to Examples Paper 3 CORBA 1. (a) A typical IDL file for this application is as follows:
DB2 Backup and Recovery
Information Management Technology Ecosystem DB2 Backup and Recovery Information Management Agenda Why back up data Basic backup and recovery concept Logging Log file states Logging types Infinite logging
Far-western University Central Office, Mahendranagar Operating System
Far-western University Central Office, Mahendranagar Operating System Course Title: Operating Systems Credit: 3+1 Course No: B.Sc. CS OS 231 hour 45+15 Nature of the Course: Theory + Lab Year: 2 nd, Semester:
Maintaining a Microsoft Windows Server 2003 Environment
Maintaining a Microsoft Windows Server 2003 Environment Course number: 2275C Course lenght: 3 days Course Outline Module 1: Preparing to Administer a Server This module explains how to administer a server.
Course Content. Transactions and Concurrency Control. Objectives of Lecture 4 Transactions and Concurrency Control
Database Management Systems Fall 2001 CMPUT 391: Transactions & Concurrency Control Dr. Osmar R. Zaïane University of Alberta Chapters 18 and 19 of Textbook Course Content Introduction Database Design
Matrix-Chain Multiplication
Matrix-Chain Multiplication Let A be an n by m matrix, let B be an m by p matrix, then C = AB is an n by p matrix. C = AB can be computed in O(nmp) time, using traditional matrix multiplication. Suppose
Transaction Management Overview
Transaction Management Overview Chapter 16 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transactions Concurrent execution of user programs is essential for good DBMS performance. Because
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
COS 318: Operating Systems. Semaphores, Monitors and Condition Variables
COS 318: Operating Systems Semaphores, Monitors and Condition Variables Prof. Margaret Martonosi Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall11/cos318/
CAs and Turing Machines. The Basis for Universal Computation
CAs and Turing Machines The Basis for Universal Computation What We Mean By Universal When we claim universal computation we mean that the CA is capable of calculating anything that could possibly be calculated*.
CS4410 - Fall 2008 Homework 2 Solution Due September 23, 11:59PM
CS4410 - Fall 2008 Homework 2 Solution Due September 23, 11:59PM Q1. Explain what goes wrong in the following version of Dekker s Algorithm: CSEnter(int i) inside[i] = true; while(inside[j]) inside[i]
Data Storage - II: Efficient Usage & Errors
Data Storage - II: Efficient Usage & Errors Week 10, Spring 2005 Updated by M. Naci Akkøk, 27.02.2004, 03.03.2005 based upon slides by Pål Halvorsen, 12.3.2002. Contains slides from: Hector Garcia-Molina
Unit 12 Database Recovery
Unit 12 Database Recovery 12-1 Contents 12.1 Introduction 12.2 Transactions 12.3 Transaction Failures and Recovery 12.4 System Failures and Recovery 12.5 Media Failures and Recovery Wei-Pang Yang, Information
Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM
Chapter 1 FUNDAMENTALS OF OPERATING SYSTEM An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. The purpose of an operating system is to
High Availability Essentials
High Availability Essentials Introduction Ascent Capture s High Availability Support feature consists of a number of independent components that, when deployed in a highly available computer system, result
Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University
Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications
Distributed Architectures. Distributed Databases. Distributed Databases. Distributed Databases
Distributed Architectures Distributed Databases Simplest: client-server Distributed databases: two or more database servers connected to a network that can perform transactions independently and together
OPERATING SYSTEMS SCHEDULING
OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform
Informatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
Recovery: An Intro to ARIES Based on SKS 17. Instructor: Randal Burns Lecture for April 1, 2002 Computer Science 600.416 Johns Hopkins University
Recovery: An Intro to ARIES Based on SKS 17 Instructor: Randal Burns Lecture for April 1, 2002 Computer Science 600.416 Johns Hopkins University Log-based recovery Undo logging Redo logging Restart recovery
Topics. Distributed Databases. Desirable Properties. Introduction. Distributed DBMS Architectures. Types of Distributed Databases
Topics Distributed Databases Chapter 21, Part B Distributed DBMS architectures Data storage in a distributed DBMS Distributed catalog management Distributed query processing Updates in a distributed DBMS
Approximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
Chapter 1 13 Essay Question Review
Chapter 1 13 Essay Question Review Chapter 1 1. Explain why an operating system can be viewed as a resource allocator. Ans: A computer system has many resources that may be required to solve a problem:
How To Improve Performance On A Single Chip Computer
: Redundant Arrays of Inexpensive Disks this discussion is based on the paper:» A Case for Redundant Arrays of Inexpensive Disks (),» David A Patterson, Garth Gibson, and Randy H Katz,» In Proceedings
Recovery System C H A P T E R16. Practice Exercises
C H A P T E R16 Recovery System Practice Exercises 16.1 Explain why log records for transactions on the undo-list must be processed in reverse order, whereas redo is performed in a forward direction. Answer:
Solving Problems Recursively
Solving Problems Recursively Recursion is an indispensable tool in a programmer s toolkit Allows many complex problems to be solved simply Elegance and understanding in code often leads to better programs:
Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example
Real-Time Scheduling (Part 1) (Working Draft) Insup Lee Department of Computer and Information Science School of Engineering and Applied Science University of Pennsylvania www.cis.upenn.edu/~lee/ CIS 41,
Introduction. Scheduling. Types of scheduling. The basics
Introduction In multiprogramming systems, when there is more than one runable (i.e., ready), the operating system must decide which one to activate. The decision is made by the part of the operating system
Concurrency Control. Chapter 17. Comp 521 Files and Databases Fall 2010 1
Concurrency Control Chapter 17 Comp 521 Files and Databases Fall 2010 1 Conflict Serializable Schedules Recall conflicts (WR, RW, WW) were the cause of sequential inconsistency Two schedules are conflict
Real Time Scheduling Basic Concepts. Radek Pelánek
Real Time Scheduling Basic Concepts Radek Pelánek Basic Elements Model of RT System abstraction focus only on timing constraints idealization (e.g., zero switching time) Basic Elements Basic Notions task
Virtualization: Benefits & Pitfalls. Matt Liebowitz, Kraft Kennedy Tim Garner, Aderant Mike Lombardi, Vertigrate Sergey Polak, Ropes & Gray LLP
Virtualization: Benefits & Pitfalls Matt Liebowitz, Kraft Kennedy Tim Garner, Aderant Mike Lombardi, Vertigrate Sergey Polak, Ropes & Gray LLP Who are we? Matt Liebowitz High level virtualization benefits/pitfalls
Computer Systems II. Unix system calls. fork( ) wait( ) exit( ) How To Create New Processes? Creating and Executing Processes
Computer Systems II Creating and Executing Processes 1 Unix system calls fork( ) wait( ) exit( ) 2 How To Create New Processes? Underlying mechanism - A process runs fork to create a child process - Parent
Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.
UCSD CSE CS 123 Final Exam Computer Networks Directions: Write your name on the exam. Write something for every question. You will get some points if you attempt a solution but nothing for a blank sheet
Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts
Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting
each college c i C has a capacity q i - the maximum number of students it will admit
n colleges in a set C, m applicants in a set A, where m is much larger than n. each college c i C has a capacity q i - the maximum number of students it will admit each college c i has a strict order i
Processes and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures
Chapter 18: Database System Architectures Centralized Systems! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types! Run on a single computer system and do
Storage. The text highlighted in green in these slides contain external hyperlinks. 1 / 14
Storage Compared to the performance parameters of the other components we have been studying, storage systems are much slower devices. Typical access times to rotating disk storage devices are in the millisecond
Windows Server Performance Monitoring
Spot server problems before they are noticed The system s really slow today! How often have you heard that? Finding the solution isn t so easy. The obvious questions to ask are why is it running slowly
TYPICAL QUESTIONS & ANSWERS
TYPICAL QUESTIONS & ANSWERS PART - I OBJECTIVE TYPE QUESTIONS Each Question carries 2 marks. Choose correct or the best alternative in the following: Q.1 Translator for low level programming language were
13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES
LESSON 13 Managing Devices OBJECTIVES After completing this lesson, you will be able to: 1. Open System Properties. 2. Use Device Manager. 3. Understand hardware profiles. 4. Set performance options. Estimated
Part 2: Community Detection
Chapter 8: Graph Data Part 2: Community Detection Based on Leskovec, Rajaraman, Ullman 2014: Mining of Massive Datasets Big Data Management and Analytics Outline Community Detection - Social networks -
Lecture 6: Semaphores and Monitors
HW 2 Due Tuesday 10/18 Lecture 6: Semaphores and Monitors CSE 120: Principles of Operating Systems Alex C. Snoeren Higher-Level Synchronization We looked at using locks to provide mutual exclusion Locks
The Google File System
The Google File System By Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung (Presented at SOSP 2003) Introduction Google search engine. Applications process lots of data. Need good file system. Solution:
Maintaining a Microsoft Windows Server 2003 Environment
Maintaining a Microsoft Windows Server 2003 Environment Key Data Course #: 2275C Number of Days: 3 Format: Instructor-Led Certification Exams: None Certification Track: Exam 70-290: Managing and Maintaining
An Overview of Distributed Databases
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 2 (2014), pp. 207-214 International Research Publications House http://www. irphouse.com /ijict.htm An Overview
Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
6 Synchronization with Semaphores
32 6 Synchronization with Semaphores The too-much-milk solution is much too complicated. The problem is that the mutual exclusion mechanism was too simple-minded: it used only atomic reads and writes.
How To Recover From Failure In A Relational Database System
Chapter 17: Recovery System Database System Concepts See www.db-book.com for conditions on re-use Chapter 17: Recovery System Failure Classification Storage Structure Recovery and Atomicity Log-Based Recovery
Design of a High-Availability Multimedia Scheduling Service using Primary-Backup Replication
Design of a High-Availability Multimedia Scheduling Service using Primary-Backup Replication Goudong (Shawn) Liu Vivek Sawant {liug,vivek,lindsey}@cs.unc.edu December 12, 2001 Mark R. Lindsey Abstract
! Volatile storage: ! Nonvolatile storage:
Chapter 17: Recovery System Failure Classification! Failure Classification! Storage Structure! Recovery and Atomicity! Log-Based Recovery! Shadow Paging! Recovery With Concurrent Transactions! Buffer Management!
Outline. Failure Types
Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 11 1 2 Conclusion Acknowledgements: The slides are provided by Nikolaus Augsten
Introduction to Distributed Systems
Introduction to Distributed Systems CSE 380 Computer Operating Systems Instructor: Insup Lee University of Pennsylvania Fall 2003 Lecture Note: Distributed Systems Why do we develop distributed systems?
OPERATING SYSTEMS Internais and Design Principles
OPERATING SYSTEMS Internais and Design Principles FOURTH EDITION William Stallings, Ph.D. Prentice Hall Upper Saddle River, New Jersey 07458 CONTENTS Web Site for Operating Systems: Internais and Design
Operating Systems, 6 th ed. Test Bank Chapter 7
True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one
