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

Size: px
Start display at page:

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

Transcription

1 Name / ID (please PRINT) Sequence #: Seat Number: CS Operating system Spring Final -- May 8, 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 8 questions in 11 pages. Please read each question carefully and answer all the questions, which have 100 points in total. Feel free to ask questions if you have any doubts about questions. Partial credit will be given, so do not leave questions blank. You can also get 2pt bonus credit if you complete the following survey questions and the boldfaced two columns of the grading table below. Please do this after answering the questions in the exam. Thanks! Survey Questions (circle one): I took Data Structures from Korkmaz Clark Sherette Tosun other I took System Prog. from Lama Maynard other I took Computer Org. from Tian Muzahid Clark Yu other I took Application Prog. from Bylander Zhang Quarles Robinson other Question Topic Review Questions (all 1 from tk01 to tk12) Unix I/O and Special 2 files (tk05-, tk06-) Memory Management 3 (tk07-) Virtual Memory - 4 Demand Paging (tk08-) Possible Points Difficulty level of this question 1: Easiest 5: Most difficulty Student Expects to receive out of 20 /20 10 /10 15 /15 10 /10 5 Threads (tk09-) 10 /10 Student Received 6 Synchronization (tk10-) 15 /15 7 Signals (tk11-) 10 /10 8 Communications - socket prog., (tk12-) Bonus if this table is completed 10 /10 2 Total

2 1. [20 points] Answer the following questions 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. [1pt] What is the purpose of using static before a variable name inside a C function? c. [2pt] Explain the difference between preemptive and non-preemptive scheduling. d. [1pt] What is the difference between binary file and text file? 2

3 e. [2pt] What is a Named Pipe (FIFO)? What advantages it has over regular (unnamed) pipe? f. [2pt] What do Dynamic loading and Dynamic linking mean? Why do we need them? g. [2pt] What does locality mean? How does it impact the performance of demand paging? h. [2pt] Explain how Light-Weight Process (LWP) approach works. 3

4 i. [2pt] Describe the following requirements for critical section (CS) solutions: Mutual Exclusion: Progress: Bounded Waiting: j. [2pt] Give the similarities and differences between signals (e.g., SIGINT) and interrupts? k. [1pt] A protocol is an agreement between two end points that want to communicate. What are the three main things that we need to specify when designing a networking protocol? 4

5 2. [10 points] Unix I/O and file operations - Special Files a. [5 points] Suppose that the file tmpdata.txt contains abcdefghijk. Suppose the following code is executed correctly without generating any errors. 1: int fd; 2: char buf[6] = ; 3: fd = open( tmpdata.txt, O_RDONLY); 4: fork( ); 5: read(fd, buf, 2); 6: read(fd, buf+2, 2); 7: printf( %d: %s, (long)getpid(), buf); i). [3pt] Explain if the following two outputs are possible or not? Why/why not? Suppose parent's pid is 7 while child's pid is 8. 7:b2ef5 8:a2cd5 7:abcd5 8:a2b45 ii). [2pt] Suppose the lines 3 and 4 are exchanged? Explain why (or why not) the above outputs are possible in this case. b. [5 points] Suppose you are given the inode structure as shown below. Assume that our inode structure has 10 direct pointers, and the data Block size is 8K bytes and pointers are 4 bytes. Write a function int num_of_data_block_di(struct inode *myinode); which counts the number of data blocks under double indirect link. Note that double indirect level might be partially filled with data blocks! So if there is no more data block or level, the corresponding pointer will contain NULL. Please take that into account! If needed, you can assume that the standard libraries are included here. int num_of_data_block_di(struct inode *myinode){ int i, j, k; int count=0; int num_blk_ptr = db si di ti 5

6 3. [15 points] Memory Management a. [5 points] Suppose that the virtual address space is 16 Mbytes, the physical memory is 128 Kbytes, and the page/frame size is 2 Kbytes. Show how to determine the following bits: i. [1pt] Number of bits for virtual address = ii. [1pt] 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. [5 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 6 ns and the memory access time is 20 ns while the disk access time is 10 ms. initial page table Index Valid frame TLB page Frame For the logical/virtual address given in binary below, find the corresponding page number and frame number while 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 memory address. The given logical/virtual address is [1pt] Page # [2pt] Access time [1pt] Frame # [1pt] Physical Address = = = = c. [5 points] Suppose you are writing a C program to translate a given logical/virtual address (LA) to a physical address (PA). You need to first find the page number (p) and offset number (d). Then get frame number (f) from page table and determine PS. For the above system (3.a), what statements would you use to find p, d and PA? Suppose LA is given. unsigned int p,d,f,pa,la=0x9f28a3; // d = p = f = page_table[p]; PA = 6

7 4. [10 points] Virtual Memory a. [5points] Consider a demand-paging system where the page fault time (including the times for looking up page, reading a page from the disk, and updating page table) is on average 30 milliseconds (ms) while the physical memory access time is 10 microsecond ( sec). Addresses are translated through a page table in main memory. So, each memory reference takes two memory accesses. Assume that 90% of the pages are in the page table while the 10% of the pages cause page fault. [Note: 1 ms = 1000 sec] Determine the effective Access Time (EAT) for the above system. b. [5points] Recall that "thrashing" means that a process is busy swapping pages in and out. Explain the reasons that may cause thrashing and how we can avoid thrashing. 7

8 5. [10 points] Threads Suppose we want a thread to get a structure containing two double values as a parameter and return another structure containing three types of values as defined below. You are asked to complete the following program in which the testthread() finds the sum of the received double values and then returns their sum along with an integer value of 2 and char value of 'p' to the main thread waiting to join. The main program simply prints out the returned values. You can ignore error checking. Assume all the necessary libraries are included. typedef struct { double x, y; } in_data_t; typedef struct { double sum; int i; char ch; } out_data_t; void *testthread(void *args) { } void main() { pthread_t tid; double d1= 3.14, d2=5.54; /* double values to be sent to the thread */ pthread_create(&tid, NULL, testthread, ); pthread_join(tid, ); printf(" Sum is %lf int is %d char is %c\n", ); } 8

9 6. [15 points] Synchronization a. [10 points] Suppose there are three threads P, Q and R. Each has some sequential code sections represented as function calls and then 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 (use acquire/release or wait/signal). Assume that RS1() is executed after QS1()which is executed after PS1(), QS2() is executed after RS1() PS2() and RS2() are executed after QS2() /* Semaphores and initial Values: */ 2pt P Q R PS1(); QS1(); RS1(); 5pt PS2(); QS2(); RS2(); count = count + 3 count = count - 2 y = count + 5 3pt b. [5 points] What is a condition variable? When/why do we need it? 9

10 7. [10 points] Signals Suppose we have a program that calls a given function do_something() in an infinite loop. You are asked to modify/re-implement this program such that it can be terminated gracefully if the user presses ctrl-c at least three times (recall that pressing ctrl-c generates SIGINT)? Ignore error checking. // all the necessary libraries are included do_something() { /* implemented for you, just use it */ } 10

11 8. [10 points] Communications - implement a client-server program using TCP sockets. The client will first establish a TCP connection with the server. It then sends two integers (actually convert them to string and send two strings) and expect server to send back the sum of these numbers as a string. Upon receiving the sum, the client will print it and quit. The server always waits for connection requests is an infinite loop. Upon receiving a connection request, the server (parent process) creates a child process, which performs the tasks expected by the client. The parent process (server) will continue to wait for another client request. Make sure you close the socket descriptors that are not needed in the parent and child. 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 = ; int serverport = 2017; void main(){ int welcomesocket, connsocket; int num1, num2, sum; char buff[10]; /* client.c */ int serverip = ; int serverport = 2017; void main() { int clientsocket; int num1=234, num2=5431, sum; char buff[10]; 11

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

CS Operating system Summer Final -- August 12, You have 120 min. Good Luck! Name / ID (please PRINT) Sequence #: Seat Number: CS 3733.001 -- Operating system Summer 2017 -- Final -- August 12, 2017 @10:00am You have 120 min. Good Luck! This is a closed book/note examination. But

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

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

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

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

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

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

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

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

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 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

CS4411 Intro. to Operating Systems Final Fall points 10 pages

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

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

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

(VERSION WITH ANSWERS) CORE EXAMINATION Department of Computer Science New York University September 26, 2008

(VERSION WITH ANSWERS) CORE EXAMINATION Department of Computer Science New York University September 26, 2008 (VERSION WITH ANSWERS) CORE EXAMINATION Department of Computer Science New York University September 26, 2008 This is the common examination for the M.S. program in CS. It covers three core computer science

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

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

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

Q1. State True/false with jusification if the answer is false:

Q1. State True/false with jusification if the answer is false: Paper Title: Operating System (IOPS332C) Quiz 1 Time : 1 hr Q1. State True/false with jusification if the answer is false: a. Multiprogramming (having more programs in RAM simultaneously) decreases total

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

* 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

UNIVERSITY OF TORONTO SCARBOROUGH Computer and Mathematical Sciences. APRIL 2016 EXAMINATIONS CSCB09H3S Software Tools & Systems Programming

UNIVERSITY OF TORONTO SCARBOROUGH Computer and Mathematical Sciences. APRIL 2016 EXAMINATIONS CSCB09H3S Software Tools & Systems Programming UNIVERSITY OF TORONTO SCARBOROUGH Computer and Mathematical Sciences APRIL 2016 EXAMINATIONS CSCB09H3S Software Tools & Systems Programming Instructor: Bianca Schroeder and Naureen Nizam Duration: 3 hours

More information

Computer Science 217 Final Exam May 15, :30pm-4:30pm

Computer Science 217 Final Exam May 15, :30pm-4:30pm NAME: Login name: Computer Science 217 Final Exam May 15, 2009 1:30pm-4:30pm This test has eight (8) questions and thirteen (13) pages. Put your name (or login-id) on every page, and write out and sign

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

EE 472 Embedded Systems. Name solutions. Instructions:

EE 472 Embedded Systems. Name solutions. Instructions: Name solutions Instructions: Write your name and student id on every page. You may not consult any other materials or anyone in the class. If you are unsure of what a question is asking, write your assumptions

More information

CMPSC 311 Such Final Very Exam

CMPSC 311 Such Final Very Exam Section: 2:30 3:35 Name: CMPSC 311 Such Final Very Exam May 5, 2014 Closed book, closed neighbor, no electronic tools or additional papers. You may not share or discuss exam questions with anyone. This

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

CMPSC 311- Introduction to Systems Programming Module: Concurrency

CMPSC 311- Introduction to Systems Programming Module: Concurrency CMPSC 311- Introduction to Systems Programming Module: Concurrency Professor Patrick McDaniel Fall 2013 Sequential Programming Processing a network connection as it arrives and fulfilling the exchange

More information

CMPS 111 Spring 2013 Prof. Scott A. Brandt Midterm Examination May 6, Name: ID:

CMPS 111 Spring 2013 Prof. Scott A. Brandt Midterm Examination May 6, Name: ID: CMPS 111 Spring 2013 Prof. Scott A. Brandt Midterm Examination May 6, 2013 Name: ID: This is a closed note, closed book exam. There are 23 multiple choice questions, 6 short answer questions. Plan your

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

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

Operating Systems. Lecture 06. System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line

Operating Systems. Lecture 06. System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line Operating Systems Lecture 06 System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line March 04, 2013 exec() Typically the exec system call is

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

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

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

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

Outline. OS Interface to Devices. System Input/Output. CSCI 4061 Introduction to Operating Systems. System I/O and Files. Instructor: Abhishek Chandra

Outline. OS Interface to Devices. System Input/Output. CSCI 4061 Introduction to Operating Systems. System I/O and Files. Instructor: Abhishek Chandra Outline CSCI 6 Introduction to Operating Systems System I/O and Files File I/O operations File Descriptors and redirection Pipes and FIFOs Instructor: Abhishek Chandra 2 System Input/Output Hardware devices:

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 Final Exam Friday, August 11 th 2017 3 pm - 5:30 pm There are eighteen (18) total

More information

CS 3013 Operating Systems WPI, A Term Assigned: Friday, August 31, 2007 Due: Monday, September 17, 2007

CS 3013 Operating Systems WPI, A Term Assigned: Friday, August 31, 2007 Due: Monday, September 17, 2007 CS 3013 Operating Systems WPI, A Term 2007 Craig E. Wills Project 2 (30 pts) Assigned: Friday, August 31, 2007 Due: Monday, September 17, 2007 Introduction This assignment is intended to help you learn

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

OS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions).

OS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions). OS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions). (a) (b) (c) (d) (e) (f) (g) (h) (i) T_ The two primary purposes of an operating

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

CS , Fall 2001 Exam 2

CS , Fall 2001 Exam 2 Andrew login ID: Full Name: CS 15-213, Fall 2001 Exam 2 November 13, 2001 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the front. Write

More information

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

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

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

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

Midterm Exam #1 February 28, 2018 CS162 Operating Systems

Midterm Exam #1 February 28, 2018 CS162 Operating Systems University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2018 Anthony D. Joseph and Jonathan Ragan-Kelley Midterm Exam #1 February 28, 2018 CS162 Operating Systems

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

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

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

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

Outline. CS4254 Computer Network Architecture and Programming. Introduction 2/4. Introduction 1/4. Dr. Ayman A. Abdel-Hamid.

Outline. CS4254 Computer Network Architecture and Programming. Introduction 2/4. Introduction 1/4. Dr. Ayman A. Abdel-Hamid. Threads Dr. Ayman Abdel-Hamid, CS4254 Spring 2006 1 CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department Virginia Tech Threads Outline Threads (Chapter

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

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

CS , Fall 2001 Exam 2

CS , Fall 2001 Exam 2 Andrew login ID: Full Name: CS 15-213, Fall 2001 Exam 2 November 13, 2001 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the front. Write

More information

CSE 410 Final Exam 6/09/09. Suppose we have a memory and a direct-mapped cache with the following characteristics.

CSE 410 Final Exam 6/09/09. Suppose we have a memory and a direct-mapped cache with the following characteristics. Question 1. (10 points) (Caches) Suppose we have a memory and a direct-mapped cache with the following characteristics. Memory is byte addressable Memory addresses are 16 bits (i.e., the total memory size

More information

CS 5523: Operating Systems

CS 5523: Operating Systems CS 5523: Operating Systems Instructor: Dr. Tongping Liu Midterm Exam: Oct 6, 2015, Tuesday 7:15pm 8:30pm CS5523: Operating Systems @ UTSA 1 Lecture1: OS Overview Operating System: what is it?! Evolution

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

CMPSC 311- Introduction to Systems Programming Module: Concurrency

CMPSC 311- Introduction to Systems Programming Module: Concurrency CMPSC 311- Introduction to Systems Programming Module: Concurrency Professor Patrick McDaniel Fall 2016 Sequential Programming Processing a network connection as it arrives and fulfilling the exchange

More information

Computer Science 162, Fall 2014 David Culler University of California, Berkeley Midterm 2 November 14, 2014

Computer Science 162, Fall 2014 David Culler University of California, Berkeley Midterm 2 November 14, 2014 Computer Science 162, Fall 2014 David Culler University of California, Berkeley Midterm 2 November 14, 2014 Name SID Login TA Name Section Time This is a closed book exam with one 2-sided page of notes

More information

COMP SCI 3SH3: Operating System Concepts (Term 2 Winter 2006) Test 2 February 27, 2006; Time: 50 Minutes ;. Questions Instructor: Dr.

COMP SCI 3SH3: Operating System Concepts (Term 2 Winter 2006) Test 2 February 27, 2006; Time: 50 Minutes ;. Questions Instructor: Dr. COMP SCI 3SH3: Operating System Concepts (Term 2 Winter 2006) Test 2 February 27, 2006; Time: 50 Minutes ;. Questions Instructor: Dr. Kamran Sartipi Name: Student ID: Question 1 (Disk Block Allocation):

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

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

Final Examination (Fall 2016) (Section 1)

Final Examination (Fall 2016) (Section 1) CS 453/552: Operating Systems Final Examination (Fall 2016) (Section 1) Time: 120 minutes Name : Total Points: 150 Please read the following carefully. You get five points for writing your name above!

More information

Workshop on Inter Process Communication Solutions

Workshop on Inter Process Communication Solutions Solutions 1 Background Threads can share information with each other quite easily (if they belong to the same process), since they share the same memory space. But processes have totally isolated memory

More information

CS , Fall 2003 Exam 2

CS , Fall 2003 Exam 2 Andrew login ID: Full Name: CS 15-213, Fall 2003 Exam 2 November 18, 2003 Instructions: Make sure that your exam is not missing any sheets, then write your full name and Andrew login ID on the front. Write

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

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

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

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

Processes. Processes (cont d)

Processes. Processes (cont d) Processes UNIX process creation image-file arg1 arg2 Shell command line example ls -l Equivalent to /bin/ls -l Why? How do you find out where the image file is? Background processes ls -l & Execute a process

More information

There are 8 total numbered pages, 6 Questions. You have 60 minutes. Budget your time carefully!

There are 8 total numbered pages, 6 Questions. You have 60 minutes. Budget your time carefully! UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING MIDTERM EXAMINATION, March, 2017 Third Year Materials ECE344H1 - Operating Systems Calculator Type: 2 Exam Type: A Examiner D. Yuan Please

More information

15-213: Final Exam Review

15-213: Final Exam Review 5-23: Final Exam Review Nikhil, Kashish, Krishanu, Stan Threads and Synchronization Carnegie Mellon Threads and Synchronization Carnegie Mellon Problem Statement: 5-23 Ts now want to begin a new procedure

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

CMPSC 311- Introduction to Systems Programming Module: Concurrency

CMPSC 311- Introduction to Systems Programming Module: Concurrency CMPSC 311- Introduction to Systems Programming Module: Concurrency Professor Patrick McDaniel Fall 2013 Sequential Programming Processing a network connection as it arrives and fulfilling the exchange

More information

CSci 4061 Introduction to Operating Systems. IPC: Basics, Pipes

CSci 4061 Introduction to Operating Systems. IPC: Basics, Pipes CSci 4061 Introduction to Operating Systems IPC: Basics, Pipes Today Directory wrap-up Communication/IPC Test in one week Communication Abstraction: conduit for data exchange between two or more processes

More information

CSE473/Spring st Midterm Exam Tuesday, February 19, 2007 Professor Trent Jaeger

CSE473/Spring st Midterm Exam Tuesday, February 19, 2007 Professor Trent Jaeger CSE473/Spring 2008-1st Midterm Exam Tuesday, February 19, 2007 Professor Trent Jaeger Please read the instructions and questions carefully. You will be graded for clarity and correctness. You have 75 minutes

More information

CMPSCI 377: Operating Systems Exam 1: Processes, Threads, CPU Scheduling and Synchronization. October 9, 2002

CMPSCI 377: Operating Systems Exam 1: Processes, Threads, CPU Scheduling and Synchronization. October 9, 2002 Name: Student Id: General instructions: CMPSCI 377: Operating Systems Exam 1: Processes, Threads, CPU Scheduling and Synchronization October 9, 2002 This examination booklet has 10 pages. Do not forget

More information

Processes often need to communicate. CSCB09: Software Tools and Systems Programming. Solution: Pipes. Recall: I/O mechanisms in C

Processes often need to communicate. CSCB09: Software Tools and Systems Programming. Solution: Pipes. Recall: I/O mechanisms in C 2017-03-06 Processes often need to communicate CSCB09: Software Tools and Systems Programming E.g. consider a shell pipeline: ps wc l ps needs to send its output to wc E.g. the different worker processes

More information

Logistics. Recitation 11: I/O Problems. Today s Plan. Why Use Robust I/O. Andrew Faulring Section A 18 November 2002

Logistics. Recitation 11: I/O Problems. Today s Plan. Why Use Robust I/O. Andrew Faulring Section A 18 November 2002 Logistics faulring@cs.cmu.edu Recitation 11: I/O Problems Andrew Faulring 15213 Section A 18 November 2002 Office hours NSH 2504 Permanently moving to Tuesday 2 3 What s left Lab 6 Malloc: due on Thursday,

More information

CSE 410: Systems Programming

CSE 410: Systems Programming CSE 410: Systems Programming Pipes and Redirection Ethan Blanton Department of Computer Science and Engineering University at Buffalo Interprocess Communication UNIX pipes are a form of interprocess communication

More information

Princeton University COS 217: Introduction to Programming Systems Spring 2017 Final Exam Answers

Princeton University COS 217: Introduction to Programming Systems Spring 2017 Final Exam Answers Princeton University COS 217: Introduction to Programming Systems Spring 2017 Final Exam Answers The exam was a 3-hour, closed-book, closed notes, no electronics allowed, exam. Question 1: Who Dunnit?

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2019 Lecture 6 Processes Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Fork( ) causes a branch

More information

ECE 2035 Programming HW/SW Systems Fall problems, 5 pages Exam Three 20 November 2013

ECE 2035 Programming HW/SW Systems Fall problems, 5 pages Exam Three 20 November 2013 Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate

More information

Process Creation in UNIX

Process Creation in UNIX Process Creation in UNIX int fork() create a child process identical to parent Child process has a copy of the address space of the parent process On success: Both parent and child continue execution at

More information

Windows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C.

Windows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C. Structure Unix architecture users Functions of the System tools (shell, editors, compilers, ) standard library System call Standard library (printf, fork, ) OS kernel: processes, memory management, file

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

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

Final Exam April 14, 2007 COSC 3407: Operating Systems

Final Exam April 14, 2007 COSC 3407: Operating Systems Laurentian University Department of Mathematics & Computer Science Winter 2007 Name: Student ID: Final Exam April 14, 2007 COSC 3407: Operating Systems Kalpdrum Passi Instructions: 1. This is a closed

More information

PROCESSES. Jo, Heeseung

PROCESSES. Jo, Heeseung PROCESSES Jo, Heeseung TODAY'S TOPICS What is the process? How to implement processes? Inter-Process Communication (IPC) 2 WHAT IS THE PROCESS? Program? vs. Process? vs. Processor? 3 PROCESS CONCEPT (1)

More information

Processes. Jo, Heeseung

Processes. Jo, Heeseung Processes Jo, Heeseung Today's Topics What is the process? How to implement processes? Inter-Process Communication (IPC) 2 What Is The Process? Program? vs. Process? vs. Processor? 3 Process Concept (1)

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

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

1. [Lock, Monitor and Deadlock: 5 Lectures (=26%)] 16 Marks [ ]

1. [Lock, Monitor and Deadlock: 5 Lectures (=26%)] 16 Marks [ ] INDIAN INSTITUTE OF TECHNOLOGY GUWAHATI Computer Science and Engineering Course: CS341 (Operating System), End-Semester Exam Date: 21 st Nov 2014 Timing: 1.00PM-4.00PM Full Marks: 60 1. [Lock, Monitor

More information

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008. CSC 4103 - Operating Systems Spring 2008 Lecture - XII Midterm Review Tevfik Ko!ar Louisiana State University March 4 th, 2008 1 I/O Structure After I/O starts, control returns to user program only upon

More information

CS350 Midterm Spring 2012 Page 1

CS350 Midterm Spring 2012 Page 1 UNIVERSITY OF WATERLOO CS 350 MIDTERM :: SPRING 2012 Date: Monday, June 25, 2012 Time: 7:00 8:50 pm Instructor: Dave Tompkins Exam Type: Closed book Additional Materials Allowed: none Last Name: First

More information

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

( B ) 4. Which is not able to solve the race condition? (A) Test and Set Lock (B) Shared memory (C) Semaphore (D) Monitor CS 540 - Operating Systems - Final Exam - Name: Date: Monday, May 12, 2003 Part 1: (80 + 8 (bonus) points - 4 points for each problem) ( C ) 1. In an operating system a utility which reads commands from

More information