CS Operating system Summer Final -- August 12, You have 120 min. Good Luck!

Size: px
Start display at page:

Download "CS Operating system Summer Final -- August 12, You have 120 min. Good Luck!"

Transcription

1 Name / ID (please PRINT) Sequence #: Seat Number: CS Operating system Summer Final -- August 12, You have 120 min. Good Luck! This is a closed book/note examination. But You can use the reference card(s) given to you. This exam has 10 questions in 13 pages. Please read each question carefully and answer all the questions, which have 100 points in total + bonuses. Feel free to ask questions if you have any doubts about problems. Partial credit will be given, so do not leave questions blank. BONUSES: First five questions will be used to assess how well all students learn the selected key concepts covered in this course. So, please take time to answer all of the first five questions so we can better assess the course. To further encourage you, we offer bonus credit, which will be the 10% of the total grade that you will get for the first five questions. So if you answer all of them (50 points) correctly, you can earn up to 5pt bonus credits. This is in addition to the 3pt bonus that I had offered for an in-class exercise during the semester. You can also earn 2pt bonus credit, if you complete the boldfaced two columns of the following table. Please do this after answering all the questions in the exam and complete both columns. Question 1 2 Topic Review Questions (all from tk01 to tk06) Review Questions (all from tk07 to tk12) Possib le Points Difficulty level of this question 1: Easiest 10: Most difficulty Student Expects to receive out of 10 /10 10 /10 3 Memory Mng. (tk07-) 10 /10 Student Received 4 Threads-I (tk09-) 10 /10 5 Synchronization-I (tk10-) 10 /10 6 Virtual Memory - Demand Paging (tk08-) 10 /10 7 Threads-II (tk09-) 10 /10 8 Synchronization-II (tk10-) 10 /10 9 Signals (tk11-) 10 /10 10 Communications -socket prog., (tk12-) Bonus 2pt If this table is completed 2 Bonus 4pt For the in-class exercises 4 Bonus 5pt 10% of first 5 questions 5 Total /10 1

2 1. [10 points] Answer the following questions from the first half of the course with short explanations. You can also draw figures to better explain your reasoning if needed. a. [2pt] Explain the differences between System calls and Library function calls in C? b. [2pt] Draw a state diagram to show how the state (new, ready...) of a process changes? 2

3 c. [2pt] List at least two of the performance metrics used to compare scheduling algorithms. d. [2pt] If a system call (e.g., read()) returns -1 and error is set to EINTER, how should we interpret this and handle it?. e. [2pt] What is a pipe? How can we create one in Linux/Unix?. 3

4 2. [10 points] Answer the following questions from the second half of the course with short explanations. You can also draw figures to better explain your reasoning if needed. a. [2pt] What is a translation look-aside buffer (TLB) and how is it used in a paging system? b. [2pt] What are the goals and benefits of using virtual memory? (List at least two) 4

5 c. [2pt] Suppose you are given a function void *myfunc(void *argv); Draw the diagrams to show the difference in flow of executions when (i) it is called like a regular function (e.g., myfunction(&id);) in main, and (ii) it is used in pthread_create(&tid, NULL, myfunc, &id); in main d. [2pt] What is critical section (CS) and why does it need to be executed atomically? e. [2pt] Complete blanks in the following sentences about signals by using the appropriate keywords from the following list: generated, delivered, lifetime, pending, catch, signal handler, ignore, mask, block, unblock, default action. A signal is A signal is when the event that causes the signal occurs. when the process takes action based on the signal. A signal that has been generated but not yet delivered is. 5

6 3. [10 points] Memory Management a. [4 points] Suppose that the virtual address space is 8 Mbytes, the physical memory is 256 Kbytes, and the page/frame size is 4 Kbytes. Show how to determine the following bits: i. [0.5pt] Number of bits for virtual address = ii. [0.5pt] Number of bits for physical address = iii. [1pt] Number of bits for offset (d) = iv. [1pt] Number of bits for page number (p) = v. [1pt] Number of bits for frame number (f) = b. [4 points] Suppose we use TLB in the above system with the following page table and TLB table entries. For memory address translation, suppose the TLB access time is 8 ns and the memory access time is 30 ns. initial page table Index Valid Frame TLB For the logical/virtual address given in binary below, find the corresponding page number and frame number while also estimating the time to access the actual data/instruction in the physical memory (suppose we always first check TLB and then check page table if the page number is not in TLB). Also give the corresponding physical address. The given logical/virtual address is [1pt] Page # [1pt] Access time [1pt] Frame # [1pt] Physical Address = = = = c. [2 points] Suppose you are writing a C program to translate a given logical/virtual address (LA) to a physical address (PA) in the above system. You need to first find the page number (p) and offset number (d). Then get frame number (f) from page table and determine PA. For the above system in 3.a, what statements would you use to find p, d and PA? Suppose LA is given. unsigned int p,d,f,pa,la=0x1f28a3; // d = p = f = page_table[p]; PA = page Frame

7 4. [10 points] Threads - I Suppose we want to pass one double value and one integer value as parameters to a thread called testthread(). For this, we need to declare a structure containing double and integer variables as shown below. You are asked to complete the following program to pass 5 and 3.14 as parameters to testthread(), which then simply prints the received parameters. You can ignore error checking. Assume all the necessary libraries are included. struct param { int i; double d; void *testthread(void *args) { void main() { pthread_t tid; int i1=5; double d1= 3.14; pthread_create(&tid, NULL, testthread, ); pthread_join(tid, NULL); 7

8 5. [10 points] Synchronization - I Suppose there are three threads P, Q and R. Each has some sequential code sections represented as function calls and then each thread updates a shared variable count, as shown in the below table. Define and initialize semaphores and then solve the coordination and the critical section problems by using acquire/release or sem_wait/sem_post such that QS1() is executed after PS1()and RS1(), PS2() and RS2() are executed after QS2() /* Semaphores and initial Values: */ 1pt P Q R PS1(); QS1(); RS1(); 6pt PS2(); QS2(); RS2(); count = count + 3 count = count - 2 y = count + 5 3pt 8

9 6. [10 points] Virtual Memory Page replacement: consider a demand paged virtual memory system with 4 frames allocated to a process. Assume that initially no frames are allocated to any pages and the process will make the following sequence of page references: For each of the following page replacement algorithms, indicate which pages are in memory after each reference and determine which references produce page faults. Circle the page faults. For each algorithm, also give the total number of page faults. a) [3pt] FIFO, number of page faults = Page reference b) [4pt] LRU, number of page faults = Page reference c) [3pt] Optimal, number of page faults = Page reference

10 7. [10 points] Threads- II Suppose we have the following thread to return an integer value to the parent thread. void *return_long_thread(void *arg) { long n1=0; static long n2=0; long *p1; /* some work is done and the same value is saved into both n1 and n2 */ p1 = (long *) malloc(sizeof(long)); if (p1==null) exit(); *p1 = n1; return(/* something */); a) [2pt] Suppose we use return((void *) &n1); This would compile and work. But the parent thread may not be able see the same correct result when executed at different times. Explain what is the problem in using this return statement in the above thread implementation. b) [3pt] How about using return((void *) &n2 ); or return((void *) p1 ); Actually both work when we have only one instance of the thread! Explain why they work. c) [3pt] Identify and explain which return statement in part (b) may not work when we have multiple instances of the above thread. d) [2pt] Fill the blanks so the parent thread can get the return value and print it. long *p; pthread_join(&tid, ); printf("returned integer is %ld\n", ); 10

11 8. [10 points] Synchronization - II Suppose a novice has implemented the following program having three threads P, C_odd, and C_even. Each thread has some sequential code sections represented as function calls while also having a critical section. Thread P produces an item and inserts it in into a shared queue Q, which is not bounded (e.g, a linked list is used so we can always insert an item) and increases count by 1. Threads C_odd gets an item from the list when count is greater than zero and odd while C_even gets an item when count is greater than zero and even. Suppose all linked list functions Insert() and GetItem() work fine. However, the below program does not work correctly! The novice often sees different outputs or significant CPU usage without any output. You are asked to solve the problems of race condition and busy waiting in this implementation. int count=0; while(1){ Pa(); List *Q=Init(); P C_odd C_even Insert(Q,item); count++; Pb(); while(1){ C1a();// print count while(count<=0 count%2==0); itemodd = GetItem(Q); count--; C1b(); while(1){ C2a();// print count while(count<=0 count%2==1); itemev = GetItem(Q); count--; C2b(); Give your new solution in the below table. You can use the same linked list functions etc, as above. int count=0; List *Q=Init(); P C_odd C_even while(1){ while(1){ while(1){ Pa(); C1a();// print count C2a();// print count Pb(); C1b(); C2b(); 11

12 9. [10 points] Signals Our program calls two functions important_task(); and usual_task(); in an infinite loop. You are asked to complete the below program to implement the following two features: (i) The program should NOT quit when user presses ctrl-c which generates SIGINT. Instead, it handles it using the the my_sig_handler(); function, which is implemented below. (ii) The execution of important_task(); should not be interrupted by any signal. So block all the signals before calling it. After calling it, you need to restore the previous old mask. For a clear code, ignore error checking for now! // all the necessary libraries are included and // the following functions are already implemented, just use them important_task() { /* do something important /* usual_task() { /* do something /* void my_sig_handler(int signo){ fprintf(stderr, "Ctrl-c is pressed, but I will not quit!\n"); void main(){ struct sigaction act; sigset_t allsig, oldsig; while(1) { important_task(); usual_task(); 12

13 10. [10 points] Communications - Implement a simple client-server program using TCP sockets. The server always waits for connection requests on a welcome socket in an infinite loop. Upon receiving a connection request, the server creates a connection socket and sends a randomly generated integer (e.g., num=rand();) to the client. The client will first establish a TCP connection with the server. It then waits to receive a number from the server. Upon receiving the number, the client sends the same number back to the server and then sends a text message (e.g., "Hello") to the server. The client then closes the connection and quits. The server gets the number and a message from the client. If it is the same number that it sent before, then the server prints the received message else prints "no match". Then it closes that connection. The server will continue to wait for another client request on welcome socket. When implementing client and server programs below, please focus on the key system calls and in which order to call them while using generic parameters (e.g., IPaddress, portnum) rather than actual structures. Also ignore error checking and assume all the necessary libraries are included. /* server.c */ int serverip = ; // generic int serverport = 2017; void main(){ int ws, cs; /* welcomesocket, connsocket */ int num1; char buff[10]; /* client.c */ int serverip = ; // generic int serverport = 2017; void main() { int cs; /* clientsocket*/ int num1=; char *msg="hello"; 13

CS Operating system Spring Final -- May 8, You have 120 min. Good Luck!

CS Operating system Spring Final -- May 8, You have 120 min. Good Luck! Name / ID (please PRINT) Sequence #: Seat Number: CS 3733.001 -- Operating system Spring 2017 -- Final -- May 8, 2017 @9:45am You have 120 min. Good Luck! This is a closed book/note examination. But You

More information

CS Operating system

CS Operating system Name / ID (please PRINT) Seq#: Seat Number CS 3733.001 -- Operating system Spring 2017 -- Midterm II -- April 13, 2017 You have 75 min. Good Luck! This is a closed book/note examination. But You can use

More information

CS Operating system Summer Midterm I -- July 11, 2017 You have 115 min (10:00am-11:55pm). Good Luck!

CS Operating system Summer Midterm I -- July 11, 2017 You have 115 min (10:00am-11:55pm). Good Luck! Name / ID (please PRINT) Seq#: Seat #: CS 3733.001 -- Operating system Summer 2017 -- Midterm I -- July 11, 2017 You have 115 min (10:00am-11:55pm). Good Luck! This is a closed book/note examination. But

More information

CS Operating system Fall Midterm I -- Oct 5, 2017 You have 75 min. Good Luck!

CS Operating system Fall Midterm I -- Oct 5, 2017 You have 75 min. Good Luck! Name / ID (please PRINT) Seq#: Seat #: CS 3733.001 -- Operating system Fall 2017 -- Midterm I -- Oct 5, 2017 You have 75 min. Good Luck! This is a closed book/note examination. But You can use C reference

More information

CSC 1600: Chapter 6. Synchronizing Threads. Semaphores " Review: Multi-Threaded Processes"

CSC 1600: Chapter 6. Synchronizing Threads. Semaphores  Review: Multi-Threaded Processes CSC 1600: Chapter 6 Synchronizing Threads with Semaphores " Review: Multi-Threaded Processes" 1 badcnt.c: An Incorrect Program" #define NITERS 1000000 unsigned int cnt = 0; /* shared */ int main() pthread_t

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

CS 3214 Midterm. Here is the distribution of midterm scores for both sections (combined). Midterm Scores 20. # Problem Points Score

CS 3214 Midterm. Here is the distribution of midterm scores for both sections (combined). Midterm Scores 20. # Problem Points Score CS 3214 Here is the distribution of midterm scores for both sections (combined). Scores 20 18 16 14 12 10 8 6 4 2 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 0 The overall average was 58 points.

More information

Midterm Exam #2 Solutions April 20, 2016 CS162 Operating Systems

Midterm Exam #2 Solutions April 20, 2016 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2016 Anthony D. Joseph Midterm Exam #2 Solutions April 20, 2016 CS162 Operating Systems Your Name: SID AND

More information

Midterm Exam #2 April 20, 2016 CS162 Operating Systems

Midterm Exam #2 April 20, 2016 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2016 Anthony D. Joseph Midterm Exam #2 April 20, 2016 CS162 Operating Systems Your Name: SID AND 162 Login:

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

First Midterm Exam Solutions October 1, 2018 CS162 Operating Systems

First Midterm Exam Solutions October 1, 2018 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Fall 2018 Ion Stoica First Midterm Exam Solutions October 1, 2018 CS162 Operating Systems Your Name: SID AND 162

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

CS4411 Intro. to Operating Systems Exam 1 Fall points 9 pages

CS4411 Intro. to Operating Systems Exam 1 Fall points 9 pages CS4411 Intro. to Operating Systems Exam 1 Fall 2009 1 CS4411 Intro. to Operating Systems Exam 1 Fall 2009 150 points 9 pages Name: Most of the following questions only require very short answers. Usually

More information

York University Lassonde School of Engineering Department of Electrical Engineering and Computer Science

York University Lassonde School of Engineering Department of Electrical Engineering and Computer Science York University Lassonde School of Engineering Department of Electrical Engineering and Computer Science Midterm EECS 3221.03Z Operating Systems Fundamentals Feb 26, 2015 (14:30-16:00) Section: EECS3221Z

More information

Overview. Administrative. * HW 1 grades. * HW 2 Due. Topics. * 5.1 What is a Signal? * Dealing with Signals - masks, handlers

Overview. Administrative. * HW 1 grades. * HW 2 Due. Topics. * 5.1 What is a Signal? * Dealing with Signals - masks, handlers Overview Administrative * HW 1 grades * HW 2 Due Topics * 5.1 What is a Signal? * 5.2-3 Dealing with Signals - masks, handlers * 5.4 Synchronization: pause(), sigsuspend() * 5.6 Interaction with other

More information

CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators)

CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators) Name: Email address: Quiz Section: CSE 332 Autumn 2013: Midterm Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering. We will

More information

CS4411 Intro. to Operating Systems Final Fall points 12 pages

CS4411 Intro. to Operating Systems Final Fall points 12 pages CS44 Intro. to Operating Systems Final Exam Fall 5 CS44 Intro. to Operating Systems Final Fall 5 points pages Name: Most of the following questions only require very short answers. Usually a few sentences

More information

Midterm Exam October 15, 2012 CS162 Operating Systems

Midterm Exam October 15, 2012 CS162 Operating Systems CS 62 Fall 202 Midterm Exam October 5, 202 University of California, Berkeley College of Engineering Computer Science Division EECS Fall 202 Ion Stoica Midterm Exam October 5, 202 CS62 Operating Systems

More information

CSE 333 Final Exam June 6, 2017 Sample Solution

CSE 333 Final Exam June 6, 2017 Sample Solution Question 1. (24 points) Some C and POSIX I/O programming. Given an int file descriptor returned by open(), write a C function ReadFile that reads the entire file designated by that file descriptor and

More information

pthreads CS449 Fall 2017

pthreads CS449 Fall 2017 pthreads CS449 Fall 2017 POSIX Portable Operating System Interface Standard interface between OS and program UNIX-derived OSes mostly follow POSIX Linux, macos, Android, etc. Windows requires separate

More information

CS 537: Introduction to Operating Systems (Summer 2017) University of Wisconsin-Madison Department of Computer Sciences.

CS 537: Introduction to Operating Systems (Summer 2017) University of Wisconsin-Madison Department of Computer Sciences. CS 537: Introduction to Operating Systems (Summer 2017) University of Wisconsin-Madison Department of Computer Sciences Midterm Exam 2 July 21 st, 2017 3 pm - 5 pm There are sixteen (16) total numbered

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

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Sample Final Exam Questions (document version 1.1) WITH SELECTED SOLUTIONS

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Sample Final Exam Questions (document version 1.1) WITH SELECTED SOLUTIONS CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Sample Final Exam Questions (document version 1.1) WITH SELECTED SOLUTIONS Overview The final exam will be on Tuesday, May 17, 2016 from

More information

Midterm Exam #2 Solutions October 25, 2016 CS162 Operating Systems

Midterm Exam #2 Solutions October 25, 2016 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS all 2016 Anthony D. Joseph Midterm Exam #2 Solutions October 25, 2016 CS162 Operating Systems Your Name: SID AND

More information

First Midterm Exam September 28, 2017 CS162 Operating Systems

First Midterm Exam September 28, 2017 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Fall 2017 Ion Stoica First Midterm Exam September 28, 2017 CS162 Operating Systems Your Name: SID AND 162 Login

More information

Third Midterm Exam April 24, 2017 CS162 Operating Systems

Third Midterm Exam April 24, 2017 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2017 Ion Stoica Third Midterm Exam April 24, 2017 CS162 Operating Systems Your Name: SID AND 162 Login: TA

More information

CS4411 Intro. to Operating Systems Exam 1 Fall points 10 pages

CS4411 Intro. to Operating Systems Exam 1 Fall points 10 pages CS4411 Intro. to Operating Systems Exam 1 Fall 2005 (October 6, 2005) 1 CS4411 Intro. to Operating Systems Exam 1 Fall 2005 150 points 10 pages Name: Most of the following questions only require very short

More information

CPS 310 first midterm exam, 2/26/2014

CPS 310 first midterm exam, 2/26/2014 CPS 310 first midterm exam, 2/26/2014 Your name please: Part 1. More 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 necessarily

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

Operating Systems (1DT020 & 1TT802)

Operating Systems (1DT020 & 1TT802) Uppsala University Department of Information Technology Name: Perso. no: Operating Systems (1DT020 & 1TT802) 2009-05-27 This is a closed book exam. Calculators are not allowed. Answers should be written

More information

CS 1713 Introduction to Programming II

CS 1713 Introduction to Programming II CS 1713 Introduction to Programming II Spring 2014 Midterm 2 -- April 24, 2014 You have 75 min. Good luck. You can use the 2-page C reference card posted in the class web page. Name: Score:./100 Background

More information

CPS 310 midterm exam #2, 4/10/2017

CPS 310 midterm exam #2, 4/10/2017 CPS 310 midterm exam #2, 4/10/2017 Your name please: NetID: Sign for your honor: Answer all questions. Please attempt to confine your answers to the space provided. Allocate your time carefully: you have

More information

Signals, Synchronization. CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han

Signals, Synchronization. CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han , Synchronization CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han Announcements Program Assignment #1 due Tuesday Feb. 15 at 11:55 pm TA will explain parts b-d in recitation Read chapters 7 and

More information

CS3733: Operating Systems

CS3733: Operating Systems Outline CS3733: Operating Systems Topics: Synchronization, Critical Sections and Semaphores (SGG Chapter 6) Instructor: Dr. Tongping Liu 1 Memory Model of Multithreaded Programs Synchronization for coordinated

More information

Computer Systems Assignment 2: Fork and Threads Package

Computer Systems Assignment 2: Fork and Threads Package Autumn Term 2018 Distributed Computing Computer Systems Assignment 2: Fork and Threads Package Assigned on: October 5, 2018 Due by: October 12, 2018 1 Understanding fork() and exec() Creating new processes

More information

CSci 4061 Introduction to Operating Systems. (Advanced Control Signals)

CSci 4061 Introduction to Operating Systems. (Advanced Control Signals) CSci 4061 Introduction to Operating Systems (Advanced Control Signals) What is a Signal? Signals are a form of asynchronous IPC Earlier: Non-blocking I/O and check if it has happened => polling Problem

More information

POSIX threads CS 241. February 17, Copyright University of Illinois CS 241 Staff

POSIX threads CS 241. February 17, Copyright University of Illinois CS 241 Staff POSIX threads CS 241 February 17, 2012 Copyright University of Illinois CS 241 Staff 1 Recall: Why threads over processes? Creating a new process can be expensive Time A call into the operating system

More information

Second Midterm Exam March 21, 2017 CS162 Operating Systems

Second Midterm Exam March 21, 2017 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2017 Ion Stoica Second Midterm Exam March 21, 2017 CS162 Operating Systems Your Name: SID AND 162 Login:

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

May 19, Answer pieces in italics were not required to receive full points.

May 19, Answer pieces in italics were not required to receive full points. (2 pts) Name: (2 pts) User Id: CMPSCI 377: Operating Systems Final Exam May 19, 2003 Answer pieces in italics were not required to receive full points. Problem Topic Max Grade 0-4 1 Memory 30 2 Disk Support

More information

CS171 Midterm Exam. October 29, Name:

CS171 Midterm Exam. October 29, Name: CS171 Midterm Exam October 29, 2012 Name: You are to honor the Emory Honor Code. This is a closed-book and closed-notes exam. You have 50 minutes to complete this exam. Read each problem carefully, and

More information

CSE332 Summer 2010: Final Exam

CSE332 Summer 2010: Final Exam CSE332 Summer 2010: Final Exam Closed notes, closed book; calculator ok. Read the instructions for each problem carefully before answering. Problems vary in point-values, difficulty and length, so you

More information

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science AUGUST 2011 EXAMINATIONS CSC 209H1Y Instructor: Daniel Zingaro Duration three hours PLEASE HAND IN Examination Aids: one two-sided 8.5x11

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

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

CS-537: Midterm Exam (Spring 2001)

CS-537: Midterm Exam (Spring 2001) CS-537: Midterm Exam (Spring 2001) Please Read All Questions Carefully! There are seven (7) total numbered pages Name: 1 Grading Page Points Total Possible Part I: Short Answers (12 5) 60 Part II: Long

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

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

Note: The following (with modifications) is adapted from Silberschatz (our course textbook), Project: Producer-Consumer Problem.

Note: The following (with modifications) is adapted from Silberschatz (our course textbook), Project: Producer-Consumer Problem. CSCI-375 Operating Systems Lab #5 Semaphores, Producer/Consumer Problem October 19, 2016 Note: The following (with modifications) is adapted from Silberschatz (our course textbook), Project: Producer-Consumer

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

Midterm Exam #1 September 28, 2016 CS162 Operating Systems

Midterm Exam #1 September 28, 2016 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Fall 2016 Anthony D. Joseph Midterm Exam #1 September 28, 2016 CS162 Operating Systems Your Name: SID AND 162 Login:

More information

CSC209 Review. Yeah! We made it!

CSC209 Review. Yeah! We made it! CSC209 Review Yeah! We made it! 1 CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files 2 ... and C programming... C basic syntax functions

More information

CSE 451 Midterm Exam May 13 th, 2009

CSE 451 Midterm Exam May 13 th, 2009 CSE 451 Midterm Exam May 13 th, 2009 Your Name: Student ID: General Information: This is a closed book examination. You have 50 minutes to answer as many questions as possible. The number in parentheses

More information

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio Fall 2017 1 Outline Inter-Process Communication (20) Threads

More information

Third Midterm Exam April 24, 2017 CS162 Operating Systems

Third Midterm Exam April 24, 2017 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2017 Ion Stoica Third Midterm Exam April 24, 2017 CS162 Operating Systems Your Name: SID AND 162 Login: TA

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

Stanford University Computer Science Department CS 140 Midterm Exam Dawson Engler Winter 1999

Stanford University Computer Science Department CS 140 Midterm Exam Dawson Engler Winter 1999 Stanford University Computer Science Department CS 140 Midterm Exam Dawson Engler Winter 1999 Name: Please initial the bottom left corner of each page. This is an open-book exam. You have 50 minutes to

More information

Midterm II December 4 th, 2006 CS162: Operating Systems and Systems Programming

Midterm II December 4 th, 2006 CS162: Operating Systems and Systems Programming Fall 2006 University of California, Berkeley College of Engineering Computer Science Division EECS John Kubiatowicz Midterm II December 4 th, 2006 CS162: Operating Systems and Systems Programming Your

More information

ENGR 3950U / CSCI 3020U UOIT, Fall 2012 Quiz on Process Synchronization SOLUTIONS

ENGR 3950U / CSCI 3020U UOIT, Fall 2012 Quiz on Process Synchronization SOLUTIONS Name: Student Number: SOLUTIONS ENGR 3950U / CSCI 3020U (Operating Systems) Quiz on Process Synchronization November 13, 2012, Duration: 40 Minutes (10 questions and 8 pages, 45 Marks) Instructor: Dr.

More information

CSE 410 Final Exam Sample Solution 6/08/10

CSE 410 Final Exam Sample Solution 6/08/10 Question 1. (12 points) (caches) (a) One choice in designing cache memories is to pick a block size. Which of the following do you think would be the most reasonable size for cache blocks on a computer

More information

Midterm Exam March 13, 2013 CS162 Operating Systems

Midterm Exam March 13, 2013 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2013 Anthony D. Joseph Midterm Exam March 13, 2013 CS162 Operating Systems Your Name: SID AND 162 Login:

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

CS 450 Exam 2 Mon. 4/11/2016

CS 450 Exam 2 Mon. 4/11/2016 CS 450 Exam 2 Mon. 4/11/2016 Name: Rules and Hints You may use one handwritten 8.5 11 cheat sheet (front and back). This is the only additional resource you may consult during this exam. No calculators.

More information

Threads Tuesday, September 28, :37 AM

Threads Tuesday, September 28, :37 AM Threads_and_fabrics Page 1 Threads Tuesday, September 28, 2004 10:37 AM Threads A process includes an execution context containing Memory map PC and register values. Switching between memory maps can take

More information

Do not start the test until instructed to do so!

Do not start the test until instructed to do so! Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices

More information

a) Do exercise (5th Edition Patterson & Hennessy). Note: Branches are calculated in the execution stage.

a) Do exercise (5th Edition Patterson & Hennessy). Note: Branches are calculated in the execution stage. CS3410 Spring 2015 Problem Set 2 (version 3) Due Saturday, April 25, 11:59 PM (Due date for Problem-5 is April 20, 11:59 PM) NetID: Name: 200 points total. Start early! This is a big problem set. Problem

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

CPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.

CPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts. CPSC/ECE 3220 Fall 2017 Exam 1 Name: 1. Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.) Referee / Illusionist / Glue. Circle only one of R, I, or G.

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

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Sample Exam 2 Questions (document version 1.0)

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Sample Exam 2 Questions (document version 1.0) CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Sample Exam 2 Questions (document version 1.0) Overview Exam 2 will be in class on Thursday, April 13, 2017 from 10:00-11:45AM (please arrive

More information

Lecture 9: Midterm Review

Lecture 9: Midterm Review Project 1 Due at Midnight Lecture 9: Midterm Review CSE 120: Principles of Operating Systems Alex C. Snoeren Midterm Everything we ve covered is fair game Readings, lectures, homework, and Nachos Yes,

More information

1. Draw and explain program flow of control without and with interrupts. [16]

1. Draw and explain program flow of control without and with interrupts. [16] Code No: R05310503 Set No. 1 1. Draw and explain program flow of control without and with interrupts. [16] 2. Explain the following transitions: (a) Blocked Blocked/Suspended. (b) Blocked/Suspended Ready/Suspended.

More information

Synchronization. CS61, Lecture 18. Prof. Stephen Chong November 3, 2011

Synchronization. CS61, Lecture 18. Prof. Stephen Chong November 3, 2011 Synchronization CS61, Lecture 18 Prof. Stephen Chong November 3, 2011 Announcements Assignment 5 Tell us your group by Sunday Nov 6 Due Thursday Nov 17 Talks of interest in next two days Towards Predictable,

More information

Thread. Disclaimer: some slides are adopted from the book authors slides with permission 1

Thread. Disclaimer: some slides are adopted from the book authors slides with permission 1 Thread Disclaimer: some slides are adopted from the book authors slides with permission 1 IPC Shared memory Recap share a memory region between processes read or write to the shared memory region fast

More information

Week 13. Final exam review

Week 13. Final exam review Week 13. Final exam review 1. True or false? A. I claim that linked lists have the following advantages over the arrays: They allow insertion in the middle in a constant time They allow access to the element

More information

Multithreading Programming II

Multithreading Programming II Multithreading Programming II Content Review Multithreading programming Race conditions Semaphores Thread safety Deadlock Review: Resource Sharing Access to shared resources need to be controlled to ensure

More information

Threads. What is a thread? Motivation. Single and Multithreaded Processes. Benefits

Threads. What is a thread? Motivation. Single and Multithreaded Processes. Benefits CS307 What is a thread? Threads A thread is a basic unit of CPU utilization contains a thread ID, a program counter, a register set, and a stack shares with other threads belonging to the same process

More information

CS 455 Midterm Exam 1 Fall 2016 [Bono] Thursday, Sept. 29, 2016

CS 455 Midterm Exam 1 Fall 2016 [Bono] Thursday, Sept. 29, 2016 Name: USC NetID (e.g., ttrojan): CS 455 Midterm Exam 1 Fall 2016 [Bono] Thursday, Sept. 29, 2016 There are 5 problems on the exam, with 56 points total available. There are 10 pages to the exam (5 pages

More information

Midterm Exam Amy Murphy 6 March 2002

Midterm Exam Amy Murphy 6 March 2002 University of Rochester Midterm Exam Amy Murphy 6 March 2002 Computer Systems (CSC2/456) Read before beginning: Please write clearly. Illegible answers cannot be graded. Be sure to identify all of your

More information

Introduction to Computer Science Midterm 3 Fall, Points

Introduction to Computer Science Midterm 3 Fall, Points Introduction to Computer Science Fall, 2001 100 Points Notes 1. Tear off this sheet and use it to keep your answers covered at all times. 2. Turn the exam over and write your name next to the staple. Do

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

Largest Online Community of VU Students

Largest Online Community of VU Students WWW.VUPages.com http://forum.vupages.com WWW.VUTUBE.EDU.PK Largest Online Community of VU Students MIDTERM EXAMINATION SEMESTER FALL 2003 CS301-DATA STRUCTURE Total Marks:86 Duration: 60min Instructions

More information

CS 1713 Introduction to Programming II

CS 1713 Introduction to Programming II CS 1713 Introduction to Programming II Spring 2014 Midterm 2 -- April 24, 2014 You have 75 min. Good luck. You can use the 2-page C reference card posted in the class web page. Name: Score:./100 Background

More information

Computing Science 300 Sample Final Examination

Computing Science 300 Sample Final Examination Computing Science 300 Sample Final Examination 1. [10 points] Generally speaking, input and output operations can be done using two different methods, busy-waiting and interrupt-driven (using DMA or single

More information

Advanced Computer Architecture

Advanced Computer Architecture 18-742 Advanced Computer Architecture Exam I October 8, 1997 Name (please print): Instructions: YOU HAVE 90 MINUTES TO COMPLETE THIS TEST DO NOT OPEN TEST UNTIL TOLD TO START The exam is composed of four

More information

Midterm Exam Solutions and Grading Guidelines March 3, 1999 CS162 Operating Systems

Midterm Exam Solutions and Grading Guidelines March 3, 1999 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 1999 Anthony D. Joseph Midterm Exam Solutions and Grading Guidelines March 3, 1999 CS162 Operating Systems

More information

Week 3 Lecture 2. Types Constants and Variables

Week 3 Lecture 2. Types Constants and Variables Lecture 2 Types Constants and Variables Types Computers store bits: strings of 0s and 1s Types define how bits are interpreted They can be integers (whole numbers): 1, 2, 3 They can be characters 'a',

More information

Unix System Programming - Chapter 8

Unix System Programming - Chapter 8 Unix System Programming - Chapter 8 Neal Nelson The Evergreen State College Apr 2010 USP Chapter 8 - Signals Section 8.1 - Basic Signal Concepts Section 8.2 - Generating Signals Section 8.3 - Signal Masks

More information

Lab Exam 1 D [1 mark] Give an example of a sample input which would make the function

Lab Exam 1 D [1 mark] Give an example of a sample input which would make the function CMPT 127 Spring 2019 Grade: / 20 First name: Last name: Student Number: Lab Exam 1 D400 1. [1 mark] Give an example of a sample input which would make the function scanf( "%f", &f ) return -1? Answer:

More information

Midterm Exam Answers Instructor: Randy Shepherd CSCI-UA.0201 Spring 2017

Midterm Exam Answers Instructor: Randy Shepherd CSCI-UA.0201 Spring 2017 Section 1: Multiple choice (select any that apply) - 20 points 01. Representing 10 using the 4 byte unsigned integer encoding and using 4 byte two s complements encoding yields the same bit pattern. (a)

More information

Spring CS 170 Exercise Set 1 (Updated with Part III)

Spring CS 170 Exercise Set 1 (Updated with Part III) Spring 2015. CS 170 Exercise Set 1 (Updated with Part III) Due on May 5 Tuesday 12:30pm. Submit to the CS170 homework box or bring to the classroom. Additional problems will be added as we cover more topics

More information

Final Exam. Spring Semester 2017 KAIST EE209 Programming Structures for Electrical Engineering. Name: Student ID:

Final Exam. Spring Semester 2017 KAIST EE209 Programming Structures for Electrical Engineering. Name: Student ID: Spring Semester 2017 KAIST EE209 Programming Structures for Electrical Engineering Final Exam Name: This exam is open book and notes. Read the questions carefully and focus your answers on what has been

More information

CSE351 Winter 2016, Final Examination March 16, 2016

CSE351 Winter 2016, Final Examination March 16, 2016 CSE351 Winter 2016, Final Examination March 16, 2016 Please do not turn the page until 2:30. Rules: The exam is closed-book, closed-note, etc. Please stop promptly at 4:20. There are 125 (not 100) points,

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

Threads. studykorner.org

Threads. studykorner.org Threads Thread Subpart of a process Basic unit of CPU utilization Smallest set of programmed instructions, can be managed independently by OS No independent existence (process dependent) Light Weight Process

More information

Programming Assignment 3

Programming Assignment 3 UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 3550 Section 002 Communication Networks Spring 2018 Programming Assignment 3 Introduction Having created a TCP client in programming assignment 2, it s

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

Introduction to Computer Systems. Final Exam. May 3, Notes and calculators are permitted, but not computers. Caching. Signals.

Introduction to Computer Systems. Final Exam. May 3, Notes and calculators are permitted, but not computers. Caching. Signals. 15-213 Introduction to Computer Systems Final Exam May 3, 2006 Name: Andrew User ID: Recitation Section: This is an open-book exam. Notes and calculators are permitted, but not computers. Write your answers

More information

Synchronization Spinlocks - Semaphores

Synchronization Spinlocks - Semaphores CS 4410 Operating Systems Synchronization Spinlocks - Semaphores Summer 2013 Cornell University 1 Today How can I synchronize the execution of multiple threads of the same process? Example Race condition

More information

M3) Got some numbers, down by the C (10 pts, 20 mins)

M3) Got some numbers, down by the C (10 pts, 20 mins) M3) Got some numbers, down by the C (0 pts, 20 mins) a) Fill in the blanks of this C code to write a to every byte of a single 2 KiB page on the heap, don t write anything to any other pages. You may assume

More information