Computer Architecture and Operating Systems Course: International University Bremen Date: Final Examination

Size: px
Start display at page:

Download "Computer Architecture and Operating Systems Course: International University Bremen Date: Final Examination"

Transcription

1 Computer Architecture and Operating Systems Course: International University Bremen Date: Dr. Jürgen Schönwälder Type: open book Final Examination Problem F.1: operating systems ( =10 points) Indicate which of the following statements are correct or incorrect by marking the appropriate boxes. For every correctly marked box, you will earn two points. For every incorrectly marked box, you will loose one point. Statements which are not marked or which are marked as and will be ignored. The minimum number of points you can achieve is zero. Caches usually work well for applications that exhibit spatial and temporal locality. A hard link can span multiple file systems. Hard real-time operating systems cannot use virtual memory systems. Context switches require to reload or switch the page table in the memory management unit on paged virtual memory systems. Virtualization of the physical hardware allows to execute multiple operating systems concurrently where every concurrent operating system schedules its own set of potentially multi-threaded processes. Caches usually work well for applications that exhibit spatial and temporal locality. A hard link can span multiple file systems. Hard real-time operating systems cannot use virtual memory systems. Context switches require to reload or switch the page table in the memory management unit on paged virtual memory systems. Virtualization of the physical hardware allows to execute multiple operating systems concurrently where every concurrent operating system schedules its own set of potentially multi-threaded processes. Problem F.2: processes and threads (10+5+5=20 points) a) Consider the C program shown below. How many processes will be created when the program is executed? (Assume that all system calls succeed.) Draw a graph that shows the parent/child relationships among the processes. Hint: It usually helps to write down values for a and b for each process. /* fork.c */ #include <sys/types.h> #include <unistd.h> int main(int argc, char **argv) { pid_t a = 0, b = 0;

2 (void) fork(); a = fork(); if (a == 0) { b = fork(); if (a b) { (void) fork(); return 0; b) In a operating system with threads, is there one stack per thread or one stack per process? Explain. c) What is the main difference between context switch between processes and context switches between threads of the same process on a modern desktop computer? a) A total of 10 processes will be created (including the process entering the main() function). The resulting process tree looks likes this: +-fork-+-fork-+-fork-+-fork +-fork +-fork +-fork-+-fork +-fork +-fork b) Every thread must have its own stack to maintain the function call stack. A single shared stack would make it very difficult to return from functions. c) The main difference between threads and processes is that processes have their own logical address space while threads share the address space of the process. As a consequence, context switches between processes requires to potentially reload the memory management unit while a context switch between threads of the same process does not require to switch to another logical memory space. Problem F.3: process synchronization (20 points) The following synchronization problem is known as the unisex bathroom problem : A single bathroom is used as a unisex bathroom. The following two constraints must be maintained: 1. There cannot be men and women in the bathroom at the same time. 2. There should never be more than three people in the bathroom. Your task is to model men and woman as threads which execute the functions male() and female() to use the bathroom. Find a solution for the synchronization problem using semaphores and write it down in pseudo code. It is sufficient if the solution is deadlock free. Make sure that the usage of your semaphores and the logic behind the solution is well documented. A starvation free solution is a bit more complex and not required to obtain the points.

3 Below is the implementation of the function male(). The function female() is similar. semaphore empty = 1; /* controls access to the bathroom */ semaphore male_mutex = 1; /* mutex for male_counter */ semaphore male_multiplex = 3; /* limits # of men in the bathroom */ int male_counter; /* # of men in bathroom or waiting */ semaphore female_mutex = 1; /* mutex for female_counter */ semaphore female_multiplex = 3; /* limits # of women in the bathroom */ int female_counter; /* # of women in bathroom or waiting */ male() { down(&male_mutex); male_counter++; if (male_counter == 1) { down(&empty); /* make this a male bathroom or wait */ up(&male_mutex); down(&male_multiplex); /* limit # of people in the bathroom */ use_bathroom(); up(&male_multiplex); /* let the next one in */ down(&male_mutex) male_counter--; if (male_counter == 0) { up(&empty); /* may become a female bathroom now */ up(&male_mutex); Problem F.4: deadlock avoidance (banker s algorithm) (4+10+6=20 points) The Banker s algorithm can be used to avoid deadlocks by granting resource requests only if the system remains in a safe state, which can not lead to deadlocks. Consider a system with n = 4 processes (P 1, P 2, P 3, P 4 ). The current state of the system is as follows: Max = Need = Avail = (2, 2, 3, 3) a) Determine the current allocation matrix and the total number of instances of the 4 resource types. b) Is the current state safe? Justify your answer by executing the Banker s algorithm. c) Process P 1 requests 2 additional instances of resource two. Can this request be granted? a) Currently allocated resources: Alloc = Max Need =

4 The total number of resource instances is given by the vector (4, 10, 4, 7). b) Check whether the state is safe: Avail = (2, 2, 3, 3) Need = Process P 4 can get the claimed resources, terminate and release the assigned resources. This Avail = (3, 2, 3, 4) Need = Process P 3 can get the claimed resources, terminate and release the assigned resources. This Avail = (3, 4, 4, 4) Need = Process P 2 can get the claimed resources, terminate and release the assigned resources. This Avail = (3, 9, 4, 7) Need = Process P 1 can finally get the claimed resources, terminate and release the assigned resources. Since there is a sequence in which all processes can get their maximum claims, the state is safe and the resource request can be granted. c) Check whether the state after granting the resource request would be safe: Avail = (2, 0, 3, 3) Need = Process P 4 can get the claimed resources, terminate and release the assigned resources. This Avail = (3, 0, 4, 4) Need = Process P 3 can get the claimed resources, terminate and release the assigned resources. This Avail = (3, 2, 4, 4) Need = The maximum resource requests of the remaining processes cannot be satisfied anymore. The followup state is unsafe and hence the resource request must be denied.

5 Problem F.5: page replacement algorithms (10+10=20 points) Consider an operating system which uses paging to implement virtual memory. The physical memory system can hold 3 frames. A multi-threaded application generates the following reference string: w = 1, 5, 2, 5, 3, 5, 1, 2, 3, 4, 4, 5, 3, 5, 2 Assume that the memory frames are initially unused. a) Determine the entries in the page table under the Least Frequently Used (LFU) page replacement strategy. LFU replaces the page which has been used least frequently since it was loaded the last time. If multiple pages qualify, the FIFO strategy is used among these pages to break the tie. How many page faults to occur? b) Determine the entries in the page table under Belady s optimal page replacement strategy. If multiple pages have the same forward distance, the page with the smallest number is selected. How many page faults do occur? a) LFU replacement strategy (9 page faults) * * * * * * * * * b) Belady s optimal replacement strategy (7 page faults) * * * * * * *

6 Problem F.6: inter-process communication ( =10 points) Indicate which of the following statements are correct or incorrect by marking the appropriate boxes. For every correctly marked box, you will earn two points. For every incorrectly marked box, you will loose one point. Statements which are not marked or which are marked as and will be ignored. The minimum number of points you can achieve is zero. A pipe is a uni-directional communication channel between a parent and a child process. A machine instruction accessing an invalid memory address leads to hardware interrupt from the memory management unit which will be catched by the operating system kernel and cause a signal to be delivered to the process which executed the machine instruction. Unblocked signals can interrupt the normal control flow at arbitrary points in times. Datagram sockets do not need to call the bind() function since the remote address is passed to the sendto() function and retrieved from the recvfrom() function. The accept() socket function returns a new socket upon successful completion. A pipe is a uni-directional communication channel between a parent and a child process. Unblocked signals can interrupt the normal control flow at arbitrary points in times. A machine instruction accessing an invalid virtual memory address leads to hardware interrupt which will be catched by the operating system kernel and cause a signal to be delivered to the process which executed the machine instruction. Datagram sockets do not need to call the bind() function since the remote address is passed to the sendto() function and retrieved from the recvfrom() function. The accept() socket function returns a new socket upon successful completion.

Operating Systems and Networks Course: International University Bremen Date: Dr. Jürgen Schönwälder Deadline:

Operating Systems and Networks Course: International University Bremen Date: Dr. Jürgen Schönwälder Deadline: Operating Systems and Networks Course: 320202 International University Bremen Date: 2004-03-26 Dr. Jürgen Schönwälder Deadline: 2004-03-26 Midterm Examination Problem M.1: processes (10 points) Indicate

More information

Filesystems (just a bit): File allocation tables, free-bitmaps, free-lists, inodes, and performance considerations.

Filesystems (just a bit): File allocation tables, free-bitmaps, free-lists, inodes, and performance considerations. CSCI 346 Final Exam Review Questions -- Solutions The final exam will be Tuesday, May 17, 11:30-2:00 PM, in Swords 328. If you have not made arrangements with me and confirmed by email, you must take the

More information

CS630 Operating System Design, Second Exam, Fall 2014

CS630 Operating System Design, Second Exam, Fall 2014 CS630 Operating System Design, Second Exam, Fall 2014 Problem 1. (25 Points) Assume that a process executes the following pseudo codes: #5 #6 #7 main (int argc, char *argv[ ]) { int i, keyin; /* the last

More information

Q 1. (10 Points) Assume that a process executes the following pseudo codes:

Q 1. (10 Points) Assume that a process executes the following pseudo codes: CS630: Operating System Design Second Exam, Spring 2014 Q 1. (10 Points) Assume that a process executes the following pseudo codes: #4 #5 #6 #7 #10 main (int argc, char *argv[ ]) { int I, *input; n = argc

More information

Deadlock. Concurrency: Deadlock and Starvation. Reusable Resources

Deadlock. Concurrency: Deadlock and Starvation. Reusable Resources Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other No efficient solution Involve conflicting

More information

CSCI 346 Final Exam Review Materials

CSCI 346 Final Exam Review Materials CSCI 346 Final Exam Review Materials The final will take place during exam week. It should take 2-2.5 hours. Format is similar to the midterm. This exam is comprehensive, with material drawn from the midterm

More information

Concurrency: Deadlock and Starvation

Concurrency: Deadlock and Starvation Concurrency: Deadlock and Starvation Chapter 6 E&CE 354: Processes 1 Deadlock Deadlock = situation in which every process from a set is permanently blocked, i.e. cannot proceed with execution Common cause:

More information

Operating Systems Comprehensive Exam. Spring Student ID # 3/16/2006

Operating Systems Comprehensive Exam. Spring Student ID # 3/16/2006 Operating Systems Comprehensive Exam Spring 2006 Student ID # 3/16/2006 You must complete all of part I (60%) You must complete two of the three sections in part II (20% each) In Part I, circle or select

More information

CS153: Midterm (Winter 19)

CS153: Midterm (Winter 19) CS153: Midterm (Winter 19) Name: Student ID: Answer all questions. State any assumptions clearly. Problem 1: (24 points; 5 minutes) Indicate whether each of the following statements is true or false: (T)

More information

coe628 Final Study Guide (2017)

coe628 Final Study Guide (2017) coe628 Final Study Guide 2017 1/6 coe628 Final Study Guide (2017) Table of Contents What is a Study Guide?...1 The Questions...2 Address of global variables in forked processes...2 Memory spaces...3 Amdahl

More information

CS630 Operating System Design Second Exam, Spring 2015,

CS630 Operating System Design Second Exam, Spring 2015, CS630 Operating System Design Second Exam, Spring 2015, Problem 1. (10 Points) A technique, called swap prefetch, preloads a process s nonresident pages that are likely to be referenced in the near future.

More information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017 CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 1 Review: Sync Terminology Worksheet 2 Review: Semaphores 3 Semaphores o Motivation: Avoid busy waiting by blocking a process execution

More information

COMP 3361: Operating Systems 1 Midterm Winter 2009

COMP 3361: Operating Systems 1 Midterm Winter 2009 COMP 3361: Operating Systems 1 Midterm Winter 2009 Name: Instructions This is an open book exam. The exam is worth 100 points, and each question indicates how many points it is worth. Read the exam from

More information

Operating Systems Comprehensive Exam. Spring Student ID # 2/17/2011

Operating Systems Comprehensive Exam. Spring Student ID # 2/17/2011 Operating Systems Comprehensive Exam Spring 2011 Student ID # 2/17/2011 You must complete all of Section I You must complete two of the problems in Section II If you need more space to answer a question,

More information

SNS COLLEGE OF ENGINEERING

SNS COLLEGE OF ENGINEERING SNS COLLEGE OF ENGINEERING Coimbatore. Department of Computer Science and Engineering Question Bank- Even Semester 2015-2016 CS6401 OPERATING SYSTEMS Unit-I OPERATING SYSTEMS OVERVIEW 1. Differentiate

More information

518 Lecture Notes Week 3

518 Lecture Notes Week 3 518 Lecture Notes Week 3 (Sept. 15, 2014) 1/8 518 Lecture Notes Week 3 1 Topics Process management Process creation with fork() Overlaying an existing process with exec Notes on Lab 3 2 Process management

More information

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013

Operating Systems Comprehensive Exam. Spring Student ID # 3/20/2013 Operating Systems Comprehensive Exam Spring 2013 Student ID # 3/20/2013 You must complete all of Section I You must complete two of the problems in Section II If you need more space to answer a question,

More information

QUESTION BANK UNIT I

QUESTION BANK UNIT I QUESTION BANK Subject Name: Operating Systems UNIT I 1) Differentiate between tightly coupled systems and loosely coupled systems. 2) Define OS 3) What are the differences between Batch OS and Multiprogramming?

More information

CS 4410 Operating Systems. Review 1. Summer 2016 Cornell University

CS 4410 Operating Systems. Review 1. Summer 2016 Cornell University CS 4410 Operating Systems Review 1 Summer 2016 Cornell University 1 A modern computer system keyboard disks mouse printer monitor CPU Disk controller USB controller Graphics adapter memory OS device driver

More information

CS350: Final Exam Review

CS350: Final Exam Review University of Waterloo CS350: Final Exam Review Gwynneth Leece, Andrew Song, Rebecca Putinski Winter, 2010 Intro, Threads & Concurrency What are the three views of an operating system? Describe them. Define

More information

CS 370 Operating Systems

CS 370 Operating Systems NAME S.ID. # CS 370 Operating Systems Mid-term Example Instructions: The exam time is 50 minutes. CLOSED BOOK. 1. [24 pts] Multiple choice. Check one. a. Multiprogramming is: An executable program that

More information

Operating Systems Comprehensive Exam. Fall Student ID # 10/31/2013

Operating Systems Comprehensive Exam. Fall Student ID # 10/31/2013 Operating Systems Comprehensive Exam Fall 2013 Student ID # 10/31/2013 You must complete all of Section I You must complete two of the problems in Section II If you need more space to answer a question,

More information

Prepared by Prof. Hui Jiang Process. Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University

Prepared by Prof. Hui Jiang Process. Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University EECS3221.3 Operating System Fundamentals No.2 Process Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run

More information

CS450/550 Operating Systems

CS450/550 Operating Systems CS450/550 Operating Systems Lecture 3 Deadlocks Dr. Xiaobo Zhou Department of Computer Science CS450/550 Deadlocks.1 Review: Summary of Chapter 2 Sequential process model Multi-threading: user-space vs.

More information

Process. Prepared by Prof. Hui Jiang Dept. of EECS, York Univ. 1. Process in Memory (I) PROCESS. Process. How OS manages CPU usage? No.

Process. Prepared by Prof. Hui Jiang Dept. of EECS, York Univ. 1. Process in Memory (I) PROCESS. Process. How OS manages CPU usage? No. EECS3221.3 Operating System Fundamentals No.2 Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run programs

More information

Eastern Mediterranean University School of Computing and Technology Department of Information Technology. ITEC202 Operating Systems

Eastern Mediterranean University School of Computing and Technology Department of Information Technology. ITEC202 Operating Systems Page 1 of 8 ITEC202 Operating Systems, Midterm Exam Eastern Mediterranean University School of Computing and Technology Department of Information Technology ITEC202 Operating Systems ITEC 202 Midterm Examination

More information

IPC and Unix Special Files

IPC and Unix Special Files Outline IPC and Unix Special Files (USP Chapters 6 and 7) Instructor: Dr. Tongping Liu Inter-Process communication (IPC) Pipe and Its Operations FIFOs: Named Pipes Ø Allow Un-related Processes to Communicate

More information

What Is A Process? Process States. Process Concept. Process Control Block (PCB) Process State Transition Diagram 9/6/2013. Process Fundamentals

What Is A Process? Process States. Process Concept. Process Control Block (PCB) Process State Transition Diagram 9/6/2013. Process Fundamentals What Is A Process? A process is a program in execution. Process Fundamentals #include int main(int argc, char*argv[]) { int v; printf( hello world\n ); scanf( %d, &v); return 0; Program test

More information

Concurrency: Deadlock and Starvation. Chapter 6

Concurrency: Deadlock and Starvation. Chapter 6 Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other Involve conflicting needs for resources

More information

COMP 300E Operating Systems Fall Semester 2011 Midterm Examination SAMPLE. Name: Student ID:

COMP 300E Operating Systems Fall Semester 2011 Midterm Examination SAMPLE. Name: Student ID: COMP 300E Operating Systems Fall Semester 2011 Midterm Examination SAMPLE Time/Date: 5:30 6:30 pm Oct 19, 2011 (Wed) Name: Student ID: 1. Short Q&A 1.1 Explain the convoy effect with FCFS scheduling algorithm.

More information

PROCESS CONCEPTS. Process Concept Relationship to a Program What is a Process? Process Lifecycle Process Management Inter-Process Communication 2.

PROCESS CONCEPTS. Process Concept Relationship to a Program What is a Process? Process Lifecycle Process Management Inter-Process Communication 2. [03] PROCESSES 1. 1 OUTLINE Process Concept Relationship to a Program What is a Process? Process Lifecycle Creation Termination Blocking Process Management Process Control Blocks Context Switching Threads

More information

412-S12 (shankar) Exam 2 SOLUTION Page 1 of 5. 5 problems. 50 points total. Closed book, closed notes, no electronic devices. Write your name above.

412-S12 (shankar) Exam 2 SOLUTION Page 1 of 5. 5 problems. 50 points total. Closed book, closed notes, no electronic devices. Write your name above. 42-S2 (shankar) Exam 2 SOLUTION Page of 5 5 problems. 50 points total. Closed book, closed notes, no electronic devices. Write your name above.. [0 points] In GeekOS project 4, if a user thread makes a

More information

Operating Systems: William Stallings. Starvation. Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall

Operating Systems: William Stallings. Starvation. Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 6 Concurrency: Deadlock and Starvation Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Deadlock

More information

Last Class: Deadlocks. Today

Last Class: Deadlocks. Today Last Class: Deadlocks Necessary conditions for deadlock: Mutual exclusion Hold and wait No preemption Circular wait Ways of handling deadlock Deadlock detection and recovery Deadlock prevention Deadlock

More information

* What are the different states for a task in an OS?

* What are the different states for a task in an OS? * Kernel, Services, Libraries, Application: define the 4 terms, and their roles. The kernel is a computer program that manages input/output requests from software, and translates them into data processing

More information

Qualifying exam: operating systems, 1/6/2014

Qualifying exam: operating systems, 1/6/2014 Qualifying exam: operating systems, 1/6/2014 Your name please: Part 1. Fun with forks (a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always

More information

Sample Questions. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

Sample Questions. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic) Sample Questions Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Sample Questions 1393/8/10 1 / 29 Question 1 Suppose a thread

More information

R13 SET - 1 2. Answering the question in Part-A is compulsory 1 a) Define Operating System. List out the objectives of an operating system. [3M] b) Describe different attributes of the process. [4M] c)

More information

TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems

TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems TENTAMEN / EXAM TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems 2017-06-05 Examiner: Mikael Asplund (0700895827) Hjälpmedel / Admitted material: Engelsk ordbok

More information

LINUX INTERNALS & NETWORKING Weekend Workshop

LINUX INTERNALS & NETWORKING Weekend Workshop Here to take you beyond LINUX INTERNALS & NETWORKING Weekend Workshop Linux Internals & Networking Weekend workshop Objectives: To get you started with writing system programs in Linux Build deeper view

More information

Fall 2015 COMP Operating Systems. Lab 06

Fall 2015 COMP Operating Systems. Lab 06 Fall 2015 COMP 3511 Operating Systems Lab 06 Outline Monitor Deadlocks Logical vs. Physical Address Space Segmentation Example of segmentation scheme Paging Example of paging scheme Paging-Segmentation

More information

CSC 4320 Test 1 Spring 2017

CSC 4320 Test 1 Spring 2017 CSC 4320 Test 1 Spring 2017 Name 1. What are the three main purposes of an operating system? 2. Which of the following instructions should be privileged? a. Set value of timer. b. Read the clock. c. Clear

More information

OPERATING SYSTEMS. Prescribed Text Book. Operating System Principles, Seventh Edition. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

OPERATING SYSTEMS. Prescribed Text Book. Operating System Principles, Seventh Edition. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne 1 DEADLOCKS In a multi programming environment, several processes

More information

Operating Systems (Classroom Practice Booklet Solutions)

Operating Systems (Classroom Practice Booklet Solutions) Operating Systems (Classroom Practice Booklet Solutions) 1. Process Management I 1. Ans: (c) 2. Ans: (c) 3. Ans: (a) Sol: Software Interrupt is generated as a result of execution of a privileged instruction.

More information

More on Synchronization and Deadlock

More on Synchronization and Deadlock Examples of OS Kernel Synchronization More on Synchronization and Deadlock Two processes making system calls to read/write on the same file, leading to possible race condition on the file system data structures

More information

CPS 310 first midterm exam, 10/6/2014

CPS 310 first midterm exam, 10/6/2014 CPS 310 first midterm exam, 10/6/2014 Your name please: Part 1. More fun with fork and exec* What is the output generated by this program? Please assume that each executed print statement completes, e.g.,

More information

DUH! Deadlocks. Concurrency Issues. The TENEX Case. If a process requests all systems buffers, operator console tries to print an error message

DUH! Deadlocks. Concurrency Issues. The TENEX Case. If a process requests all systems buffers, operator console tries to print an error message 1 Concurrency Issues Past lectures: Problem: Safely coordinate access to shared resource Solutions: Use semaphores, monitors, locks, condition variables Coordinate access within shared objects Deadlocks

More information

CSE 120 PRACTICE FINAL EXAM, WINTER 2013

CSE 120 PRACTICE FINAL EXAM, WINTER 2013 CSE 120 PRACTICE FINAL EXAM, WINTER 2013 For each question, select the best choice. In the space provided below each question, justify your choice by providing a succinct (one sentence) explanation. 1.

More information

Notice: This set of slides is based on the notes by Professor Perrone of Bucknell and the textbook authors Silberschatz, Galvin, and Gagne

Notice: This set of slides is based on the notes by Professor Perrone of Bucknell and the textbook authors Silberschatz, Galvin, and Gagne Process Fundamentals Notice: This set of slides is based on the notes by Professor Perrone of Bucknell and the textbook authors Silberschatz, Galvin, and Gagne CSCI 315 Operating Systems Design 1 What

More information

Last Class: Synchronization Problems. Need to hold multiple resources to perform task. CS377: Operating Systems. Real-world Examples

Last Class: Synchronization Problems. Need to hold multiple resources to perform task. CS377: Operating Systems. Real-world Examples Last Class: Synchronization Problems Reader Writer Multiple readers, single writer In practice, use read-write locks Dining Philosophers Need to hold multiple resources to perform task Lecture 10, page

More information

Course Description: This course includes the basic concepts of operating system

Course Description: This course includes the basic concepts of operating system Operating Systems Course Title: Operating Systems Full Marks:60+ 20+20 Course No: CSC259 Pass Marks: 24+8+8 Nature of the Course: Theory + Lab Credit Hrs: 3 Course Description: This course includes the

More information

MC7204 OPERATING SYSTEMS

MC7204 OPERATING SYSTEMS MC7204 OPERATING SYSTEMS QUESTION BANK UNIT I INTRODUCTION 9 Introduction Types of operating systems operating systems structures Systems components operating systems services System calls Systems programs

More information

Dr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year

Dr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year Dr. Rafiq Zakaria Campus Maulana Azad College of Arts, Science & Commerce, Aurangabad Department of Computer Science Academic Year 2015-16 MCQs on Operating System Sem.-II 1.What is operating system? a)

More information

Chapter 6 Concurrency: Deadlock and Starvation

Chapter 6 Concurrency: Deadlock and Starvation Operating Systems: Internals and Design Principles Chapter 6 Concurrency: Deadlock and Starvation Seventh Edition By William Stallings Operating Systems: Internals and Design Principles When two trains

More information

Deadlocks. Dr. Yingwu Zhu

Deadlocks. Dr. Yingwu Zhu Deadlocks Dr. Yingwu Zhu Deadlocks Synchronization is a live gun we can easily shoot ourselves in the foot Incorrect use of synchronization can block all processes You have likely been intuitively avoiding

More information

Universidad Carlos III de Madrid Computer Science and Engineering Department Operating Systems Course

Universidad Carlos III de Madrid Computer Science and Engineering Department Operating Systems Course Exercise 1 (20 points). Autotest. Answer the quiz questions in the following table. Write the correct answer with its corresponding letter. For each 3 wrong answer, one correct answer will be subtracted

More information

CS 350 : COMPUTER SYSTEM CONCEPTS SAMPLE TEST 2 (OPERATING SYSTEMS PART) Student s Name: MAXIMUM MARK: 100 Time allowed: 70 minutes

CS 350 : COMPUTER SYSTEM CONCEPTS SAMPLE TEST 2 (OPERATING SYSTEMS PART) Student s Name: MAXIMUM MARK: 100 Time allowed: 70 minutes CS 350 : COMPUTER SYSTEM CONCEPTS SAMPLE TEST 2 (OPERATING SYSTEMS PART) Student s Name: MAXIMUM MARK: 100 Time allowed: 70 minutes Q1 (30 marks) NOTE: Unless otherwise stated, the questions are with reference

More information

CMPT 300: Operating Systems I Assignment 1

CMPT 300: Operating Systems I Assignment 1 POLICIES: CMPT 300: Operating Systems I Assignment 1 Sample Solution 1. Coverage Chapters 1-6 2. Grade 10 points, 100% counted into the final grade 3. Individual or Group Individual based, but group discussion

More information

CS , Spring 2009 Exam 2

CS , Spring 2009 Exam 2 Andrew login ID: Full Name: Recitation Section: CS 15-213, Spring 2009 Exam 2 Tues., April 7th, 2009 Instructions: Make sure that your exam is not missing any sheets, then write your full name, Andrew

More information

This exam paper contains 8 questions (12 pages) Total 100 points. Please put your official name and NOT your assumed name. First Name: Last Name:

This exam paper contains 8 questions (12 pages) Total 100 points. Please put your official name and NOT your assumed name. First Name: Last Name: CSci 4061: Introduction to Operating Systems (Spring 2013) Final Exam May 14, 2013 (4:00 6:00 pm) Open Book and Lecture Notes (Bring Your U Photo Id to the Exam) This exam paper contains 8 questions (12

More information

ECS 150 (Operating Systems) Goal To examine what causes deadlock, and what to do about it. Spring Quarter

ECS 150 (Operating Systems) Goal To examine what causes deadlock, and what to do about it. Spring Quarter D e a d l o c k Goal To examine what causes deadlock, and what to do about it. Spring Quarter 1999 1 The resource manager is that part of the kernel responsible for managing resources. Its process interface

More information

(b) External fragmentation can happen in a virtual memory paging system.

(b) External fragmentation can happen in a virtual memory paging system. Alexandria University Faculty of Engineering Electrical Engineering - Communications Spring 2015 Final Exam CS333: Operating Systems Wednesday, June 17, 2015 Allowed Time: 3 Hours Maximum: 75 points Note:

More information

MODERN OPERATING SYSTEMS. Third Edition ANDREW S. TANENBAUM. Chapter 6 Deadlocks

MODERN OPERATING SYSTEMS. Third Edition ANDREW S. TANENBAUM. Chapter 6 Deadlocks MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 6 Deadlocks Preemptable and Nonpreemptable Resources Sequence of events required to use a resource: 1. Request the resource. 2. Use the

More information

ECE519 Advanced Operating Systems

ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (6 th Week) (Advanced) Operating Systems 6. Concurrency: Deadlock and Starvation 6. Outline Principles of Deadlock

More information

CROWDMARK. Examination Midterm. Spring 2017 CS 350. Closed Book. Page 1 of 30. University of Waterloo CS350 Midterm Examination.

CROWDMARK. Examination Midterm. Spring 2017 CS 350. Closed Book. Page 1 of 30. University of Waterloo CS350 Midterm Examination. Times: Thursday 2017-06-22 at 19:00 to 20:50 (7 to 8:50PM) Duration: 1 hour 50 minutes (110 minutes) Exam ID: 3520593 Please print in pen: Waterloo Student ID Number: WatIAM/Quest Login Userid: Sections:

More information

( D ) 4. Which is not able to solve the race condition? (A) Test and Set Lock (B) Semaphore (C) Monitor (D) Shared memory

( D ) 4. Which is not able to solve the race condition? (A) Test and Set Lock (B) Semaphore (C) Monitor (D) Shared memory CS 540 - Operating Systems - Final Exam - Name: Date: Wenesday, May 12, 2004 Part 1: (78 points - 3 points for each problem) ( C ) 1. In UNIX a utility which reads commands from a terminal is called: (A)

More information

CYSE 411/AIT681 Secure Software Engineering Topic #13. Secure Coding: Race Conditions

CYSE 411/AIT681 Secure Software Engineering Topic #13. Secure Coding: Race Conditions CYSE 411/AIT681 Secure Software Engineering Topic #13. Secure Coding: Race Conditions Instructor: Dr. Kun Sun 1 Secure Coding String management Pointer Subterfuge Dynamic memory management Integer security

More information

518 Lecture Notes Week 7

518 Lecture Notes Week 7 518 Lecture Notes Week 7 (October 13, 2014) 1/9 518 Lecture Notes Week 7 1 Topics Semaphores Messages Monitors Race conditions, deadlock and starvation Banker's Algorithm Dining Philosophers Java Threads

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Inter-process Communication (IPC) Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Recall Process vs. Thread A process is

More information

The deadlock problem

The deadlock problem Deadlocks Arvind Krishnamurthy Spring 2004 The deadlock problem A set of blocked processes each holding a resource and waiting to acquire a resource held by another process. Example locks A and B P 0 P

More information

Chapter 3. Deadlocks

Chapter 3. Deadlocks Chapter 3 Deadlocks 3.1 Resource 3.2 Introduction to deadlocks 3.3 The ostrich algorithm 3.4 Deadlock detection and recovery 3.5 Deadlock avoidance 3.6 Deadlock prevention 3.7 Other issues Resources Examples

More information

Concurrency Issues. Past lectures: What about coordinated access across multiple objects? Today s lecture:

Concurrency Issues. Past lectures: What about coordinated access across multiple objects? Today s lecture: Deadlock 1 Concurrency Issues Past lectures: Ø Problem: Safely coordinate access to shared resource Ø Solutions: Use semaphores, monitors, locks, condition variables Coordinate access within shared objects

More information

OS Structure. User mode/ kernel mode. System call. Other concepts to know. Memory protection, privileged instructions

OS Structure. User mode/ kernel mode. System call. Other concepts to know. Memory protection, privileged instructions Midterm Review OS Structure User mode/ kernel mode Memory protection, privileged instructions System call Definition, examples, how it works? Other concepts to know Monolithic kernel vs. Micro kernel 2

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT I

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT I DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year and Semester : II / IV Subject Code : CS6401 Subject Name : Operating System Degree and Branch : B.E CSE UNIT I 1. Define system process 2. What is an

More information

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD OPERATING SYSTEMS #4 After A.S.Tanenbaum, Modern Operating Systems, 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD DEADLOCKS General Information DEADLOCKS RESOURCE T YPE

More information

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):

More information

Back to synchronization

Back to synchronization Back to synchronization The dining philosophers problem Deadlocks o Modeling deadlocks o Dealing with deadlocks Operating Systems, 28, I. Dinur, D. Hendler and R. Iakobashvili The Dining Philosophers Problem

More information

What is the Race Condition? And what is its solution? What is a critical section? And what is the critical section problem?

What is the Race Condition? And what is its solution? What is a critical section? And what is the critical section problem? What is the Race Condition? And what is its solution? Race Condition: Where several processes access and manipulate the same data concurrently and the outcome of the execution depends on the particular

More information

CSCE Operating Systems Deadlock. Qiang Zeng, Ph.D. Fall 2018

CSCE Operating Systems Deadlock. Qiang Zeng, Ph.D. Fall 2018 CSCE 311 - Operating Systems Deadlock Qiang Zeng, Ph.D. Fall 2018 Previous Class What is Deadlock? How to detect it? Dealing with deadlock: Prevention Avoidance Detection CSCE 311 Operating Systems 2 Outline

More information

Retrieval Exercises for CS 3733 Operating Systems. Instructor: Dr. Turgay Korkmaz Department Computer Science The University of Texas at San Antonio

Retrieval Exercises for CS 3733 Operating Systems. Instructor: Dr. Turgay Korkmaz Department Computer Science The University of Texas at San Antonio Retrieval Exercises for CS 3733 Operating Systems Instructor: Dr. Turgay Korkmaz Department Computer Science The University of Texas at San Antonio Topics: Early systems and OS overview Skim Chapters 1-2

More information

Student Name:.. Student ID... Course Code: CSC 227 Course Title: Semester: Fall Exercises Cover Sheet:

Student Name:.. Student ID... Course Code: CSC 227 Course Title: Semester: Fall Exercises Cover Sheet: King Saud University College of Computer and Information Sciences Computer Science Department Course Code: CSC 227 Course Title: Operating Systems Semester: Fall 2016-2017 Exercises Cover Sheet: Final

More information

University of Waterloo Midterm Examination Model Solution CS350 Operating Systems

University of Waterloo Midterm Examination Model Solution CS350 Operating Systems University of Waterloo Midterm Examination Model Solution CS350 Operating Systems Fall, 2003 1. (10 total marks) Suppose that two processes, a and b, are running in a uniprocessor system. a has three threads.

More information

EECS 482 Midterm (Fall 1998)

EECS 482 Midterm (Fall 1998) EECS 482 Midterm (Fall 1998) You will have 80 minutes to work on this exam, which is closed book. There are 4 problems on 9 pages. Read the entire exam through before you begin working. Work on those problems

More information

Solution for Operating System

Solution for Operating System Solution for Operating System May 2016 Index Q.1) a). 2 b). 3 c).3-5 d).5-7 Q.2) a). 7-13 b). 13-14 Q.3) a). 15-17 b). 18-19 Q.4) a). N.A b). N.A Q.5) a). 19-25 b). N.A Q.6) a). 26 b). 27-28 c). N.A d).

More information

Lecture 4: Process Management

Lecture 4: Process Management Lecture 4: Process Management (Chapters 2-3) Process: execution context of running program. A process does not equal a program! Process is an instance of a program Many copies of same program can be running

More information

OS Structure. User mode/ kernel mode (Dual-Mode) Memory protection, privileged instructions. Definition, examples, how it works?

OS Structure. User mode/ kernel mode (Dual-Mode) Memory protection, privileged instructions. Definition, examples, how it works? Midterm Review OS Structure User mode/ kernel mode (Dual-Mode) Memory protection, privileged instructions System call Definition, examples, how it works? Other concepts to know Monolithic kernel vs. Micro

More information

Yet another synchronization problem

Yet another synchronization problem Yet another synchronization problem The dining philosophers problem Deadlocks o Modeling deadlocks o Dealing with deadlocks Operating Systems, 25, Meni Adler, Danny Hendler & Roie Zivan The Dining Philosophers

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 17: Processes, Pipes, and Signals Cristina Nita-Rotaru Lecture 17/ Fall 2013 1 Processes in UNIX UNIX identifies processes via a unique Process ID Each process also knows

More information

COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 3: Process. Zhi Wang Florida State University

COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 3: Process. Zhi Wang Florida State University COP 4610: Introduction to Operating Systems (Spring 2016) Chapter 3: Process Zhi Wang Florida State University Contents Process concept Process scheduling Operations on processes Inter-process communication

More information

Sections 01 (11:30), 02 (16:00), 03 (8:30) Ashraf Aboulnaga & Borzoo Bonakdarpour

Sections 01 (11:30), 02 (16:00), 03 (8:30) Ashraf Aboulnaga & Borzoo Bonakdarpour Course CS350 - Operating Systems Sections 01 (11:30), 02 (16:00), 03 (8:30) Instructor Ashraf Aboulnaga & Borzoo Bonakdarpour Date of Exam October 25, 2011 Time Period 19:00-21:00 Duration of Exam Number

More information

Concurrent Programming

Concurrent Programming Concurrent Programming CS 485G-006: Systems Programming Lectures 32 33: 18 20 Apr 2016 1 Concurrent Programming is Hard! The human mind tends to be sequential The notion of time is often misleading Thinking

More information

Operating Systems EDA092, DIT 400 Exam

Operating Systems EDA092, DIT 400 Exam Chalmers University of Technology and Gothenburg University Operating Systems EDA092, DIT 400 Exam 2015-04-14 Date, Time, Place: Tuesday 2015/04/14, 14:00 18:00, Väg och vatten -salar Course Responsible:

More information

CSE Operating Systems

CSE Operating Systems CSE 380 - Operating Systems Notes for Lecture 9-10/7/04 Matt Blaze (some examples by Insup Lee) Our deadlock toolkit (so far) Approach 1: Ignore problem Approach 2: Prevention 2a: Exhaustive Search of

More information

CS604 Final term Paper Fall (2012)

CS604 Final term Paper Fall (2012) CS604- Operating Systems Solved Subjective From Final term Papers 10 July,2013 MC100401285 Moaaz.pk@gmail.com Mc100401285@gmail.com PSMD01 CS604 Final term Paper Fall (2012) 1. Write the names of common

More information

Concurrency. Stefan D. Bruda. Winter 2018

Concurrency. Stefan D. Bruda. Winter 2018 Concurrency Stefan D. Bruda Winter 2018 DOING MORE THINGS SIMULTANEOUSLY Concurrency can be achieved by multiprocessing and time-sharing Best definition for concurrency: apparently simultaneous execution

More information

CS 3305 Intro to Threads. Lecture 6

CS 3305 Intro to Threads. Lecture 6 CS 3305 Intro to Threads Lecture 6 Introduction Multiple applications run concurrently! This means that there are multiple processes running on a computer Introduction Applications often need to perform

More information

LSN 13 Linux Concurrency Mechanisms

LSN 13 Linux Concurrency Mechanisms LSN 13 Linux Concurrency Mechanisms ECT362 Operating Systems Department of Engineering Technology LSN 13 Creating Processes fork() system call Returns PID of the child process created The new process is

More information

Linux Programming

Linux Programming Linux Programming CMPT 433 Slides #6 Dr. B. Fraser 18-05-22 1 Topics 1) How can we do multitasking? 2) How can our multiple tasks communicate? 3) How can we communicate over the network? 18-05-22 2 Concurrency:

More information

Operating Systems. Lecture 4 - Concurrency and Synchronization. Master of Computer Science PUF - Hồ Chí Minh 2016/2017

Operating Systems. Lecture 4 - Concurrency and Synchronization. Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Operating Systems Lecture 4 - Concurrency and Synchronization Adrien Krähenbühl Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Mutual exclusion Hardware solutions Semaphores IPC: Message passing

More information

Lecture 7 Deadlocks (chapter 7)

Lecture 7 Deadlocks (chapter 7) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 7 Deadlocks (chapter 7) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides here are

More information