Qualifying exam: operating systems, 1/6/2014

Similar documents
CPS 310 first midterm exam, 2/26/2014

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

CPS 110 Final Exam. Spring 2011

CPS 510 final exam, 4/27/2015

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

CPS 310 second midterm exam, 11/14/2014

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

Operating Systems. Week 13 Recitation: Exam 3 Preview Review of Exam 3, Spring Paul Krzyzanowski. Rutgers University.

CS 416: Operating Systems Design April 22, 2015

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

Operating Systems Design Exam 3 Review: Spring Paul Krzyzanowski

OS security mechanisms:

Outline. Operating System Security CS 239 Computer Security February 23, Introduction. Server Machines Vs. General Purpose Machines

Advanced Operating Systems (CS 202)

CPS 310 midterm exam #1, 2/17/2017

CS140 Operating Systems and Systems Programming Final Exam

Distributed Systems. Fall 2017 Exam 3 Review. Paul Krzyzanowski. Rutgers University. Fall 2017

CPS 310 final exam, 5/1/2014

Today: Protection! Protection!

CS140 Operating Systems and Systems Programming Final Exam

CPS 310 first midterm exam, 10/6/2014

(a) Which of these two conditions (high or low) is considered more serious? Justify your answer.

SNS COLLEGE OF ENGINEERING

ENGR 3950U / CSCI 3020U Midterm Exam SOLUTIONS, Fall 2012 SOLUTIONS

Background: I/O Concurrency

Lecture 2: September 9

Background: Operating Systems

Today: Protection. Sermons in Computer Science. Domain Structure. Protection

Distributed Systems Fall 2009 Final

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT I

Operating Systems CMPSC 473 Midterm 2 Review April 15, Lecture 21 Instructor: Trent Jaeger

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

CSC369 Lecture 2. Larry Zhang, September 21, 2015

SHRI ANGALAMMAN COLLEGE OF ENGINEERING AND TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR, TIRUCHIRAPPALLI

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

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

This is an open book, open notes exam. But no online or in-class chatting.

CS 5460/6460 Operating Systems

QUESTION BANK UNIT I

(In columns, of course.)

CS /29/17. Paul Krzyzanowski 1. Fall 2016: Question 2. Distributed Systems. Fall 2016: Question 2 (cont.) Fall 2016: Question 3

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst

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

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

Computer Science 161

Department of Computer applications. [Part I: Medium Answer Type Questions]

CSC369 Lecture 2. Larry Zhang

King Fahd University of Petroleum and Minerals. Write clearly, precisely, and briefly!!

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:

What s Wrong with the Operating System Interface? Collin Lee and John Ousterhout

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

CPS 210: Operating Systems

COMP 3361: Operating Systems 1 Final Exam Winter 2009

CSC 4320 Test 1 Spring 2017

Concepts of Distributed Systems 2006/2007

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR / ODD SEMESTER

TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems

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

Problem Set 2. CS347: Operating Systems

CS2506 Quick Revision

University of Waterloo Midterm Examination Model Solution CS350 Operating Systems

Explicit Information Flow in the HiStar OS. Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, David Mazières

Concurrent & Distributed Systems Supervision Exercises

Midterm Exam. October 20th, Thursday NSC

Processes. Johan Montelius KTH

Operating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System

CIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:

A process. the stack

1995 Paper 10 Question 7

Announcement. Exercise #2 will be out today. Due date is next Monday

CIS Operating Systems Synchronization based on Busy Waiting. Professor Qiang Zeng Spring 2018

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

High Performance Computing Course Notes Shared Memory Parallel Programming

CS140 Operating Systems Final December 12, 2007 OPEN BOOK, OPEN NOTES

Midterm Exam CPS 210: Operating Systems Spring 2013

CPS 310 midterm exam #1, 2/19/2018

CS510 Operating System Foundations. Jonathan Walpole

Introduction to Security and User Authentication

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

Computer Security Fall 2006 Joseph/Tygar MT 2 Solutions

Operating System(16MCA24)

CSE 451 Midterm Exam May 13 th, 2009

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

SAMPLE MIDTERM QUESTIONS

Fall 2005 Joseph/Tygar/Vazirani/Wagner Final

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1

CMPS 111 Spring 2003 Midterm Exam May 8, Name: ID:

Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5

Operating Systems. Lecture 4. Nachos Appetizer

Chapter 9: Key Management

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

Final Exam Preparation Questions

Module 21: Windows 2000

Module 21: Windows 2000

Lecture 4: Memory Management & The Programming Interface

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

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

Network File System (NFS)

UNIT I Linux Utilities

Network File System (NFS)

Transcription:

Qualifying exam: operating systems, 1/6/2014 Your name please: Part 1. Fun with forks (a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always the same. So please give three examples of possible outputs. int i = 0; main() { printf( %d\n, i); /* print i on a line */ fork(); i = i + 1; printf( %d\n, i); fork(); i = i + 1; printf( %d\n, i); } (b) Briefly justify/explain your answer for (a). Try to characterize the set of all possible outputs.

Qualifying exam: operating systems, 1/6/2014, page 2 of 5 Part 2. Cryptosystems (a) Alice and Bob are back together. Today Alice wants to send Bob a message that is secret and also authenticated, so that Bob knows the message came from Alice. Alice and Bob have keypairs and each knows the other's public key. How should Alice send the message? How should Bob validate the message? Briefly explain why your scheme works, and note any additional assumptions. (b) Alice, Bob, and their friends interact via the social networking service Faith. They protect their communication using secure sockets (SSL) for transport-layer security. Nancy wants to spy on their communication. Assume that Nancy can subvert any network provider and so intercept and/or inject packets at any point in the network. Suppose further that Nancy obtains the private key of a Certifying Authority that is trusted by Alice and Bob. How can she use the key to mount an attack?

Qualifying exam: operating systems, 1/6/2014, page 3 of 5 Part 3. Threads and concurrency control This problem asks you to write the core of a program to issue and service disk requests. As always: Any kind of pseudocode is fine as long as its meaning is clear. You may assume standard data structures, e.g., linked lists: don t write code for those. There are N requester threads that issue requests and one servicer thread to service the requests. Requesters issue requests by placing them on a queue. The queue is bounded to at most MAX requests: a requester waits if the queue is full. Requests are synchronous; each requester may have at most one pending request. Observe the following constraint: the servicer handles requests only when the queue is full or all living requesters have a pending request. Write procedures for the requesters and servicer. You will need to use some control concurrency: use monitors, mutexes, condition variables, and/or semaphores (your choice). Also, please briefly discuss the request scheduling policy used by the servicer thread, and the impact that it might have on performance.

Qualifying exam: operating systems, 1/6/2014, page 4 of 5 Part 4. Caching Caching is a common technique in system software. Operating systems manage primary memory as a cache for objects drawn from various sets while those objects are in active use: virtual memory pages, file blocks, directory name entries, IP address mappings on the local network, file metadata descriptors (inodes or vnodes), and so on. Outline the data structures that an operating system might use to represent such a cache. What are the important operations on these structures? In this question I am asking you to generalize from the examples and outline what is common across these software-managed caching structures, and also highlight some differences.

Qualifying exam: operating systems, 1/6/2014, page 5 of 5 Part 5. Isolation One important design goal of modern operating systems is isolation. Isolation means that application processes cannot interfere with one another or with the operating system itself. In particular, untrusted user code cannot access or modify any piece of data unless the system policy permits it. The operating system also allocates resources (e.g., memory, processing time, network bandwidth) fairly: a user process can use only the resources that the system policy grants to it. This question asks you to list and summarize how the hardware and the kernel software work together to enforce isolation. Your answer should refer to important hardware mechanisms (e.g., protected mode execution, virtual address mapping, traps, faults, interrupts) and how the OS uses them to isolate processes from one another.