Consider the short (and useless) C program off to the right. Each of the variables {a, b, c} references an integer value that occupies some memory at runtime.

Slides:



Advertisements
Similar presentations
I/O Management and Disk Scheduling
Advertisements

RAID (Redundant Arrays of Independent Disks). Disk organization technique that manages a large number of disks, providing a view of a single disk of High.
Operating Systems Lecture 10 Issues in Paging and Virtual Memory Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing.
The Zebra Striped Network Filesystem. Approach Increase throughput, reliability by striping file data across multiple servers Data from each client is.
Lecture 36: Chapter 6 Today’s topic –RAID 1. RAID Redundant Array of Inexpensive (Independent) Disks –Use multiple smaller disks (c.f. one large disk)
REDUNDANT ARRAY OF INEXPENSIVE DISCS RAID. What is RAID ? RAID is an acronym for Redundant Array of Independent Drives (or Disks), also known as Redundant.
OS2-1 Chapter 2 Computer System Structures. OS2-2 Outlines Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
CPSC-608 Database Systems Fall 2008 Instructor: Jianer Chen Office: HRBB 309B Phone: Notes #6.
1 Storage (cont’d) Disk scheduling Reducing seek time (cont’d) Reducing rotational latency RAIDs.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
SECTIONS 13.1 – 13.3 Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin SECONDARY STORAGE MANAGEMENT.
Device Management.
Race Conditions CS550 Operating Systems. Review So far, we have discussed Processes and Threads and talked about multithreading and MPI processes by example.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 Today I/O Systems Storage. 2 I/O Devices Many different kinds of I/O devices Software that controls them: device drivers.
I/O Systems and Storage Systems May 22, 2000 Instructor: Gary Kimura.
Lecture 39: Review Session #1 Reminders –Final exam, Thursday 3:10pm Sloan 150 –Course evaluation (Blue Course Evaluation) Access through.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Operating Systems CSE 411 CPU Management Oct Lecture 13 Instructor: Bhuvan Urgaonkar.
Module 3 - Storage MIS5122: Enterprise Architecture for IT Auditors.
I/O Systems ◦ Operating Systems ◦ CS550. Note:  Based on Operating Systems Concepts by Silberschatz, Galvin, and Gagne  Strongly recommended to read.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
Redundant Array of Independent Disks
Data Management for Decision Support Session-5 Prof. Bharat Bhasker.
What is the output generated by this program? (Assume that there are no errors or failures.) [30 pts] CPS 310 final exam, 12/12/2014 Your name please:
Lecture 9 of Advanced Databases Storage and File Structure (Part II) Instructor: Mr.Ahmed Al Astal.
Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
(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.
1 I/O Management and Disk Scheduling Chapter Categories of I/O Devices Human readable Used to communicate with the user Printers Video display terminals.
 Computer memory is device that is used to store data or programs (sequences of instructions) on a temporary or permanent basis for use in an electronic.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
© Pearson Education Limited, Chapter 16 Physical Database Design – Step 7 (Monitor and Tune the Operational System) Transparencies.
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Processes and OS basics. RHS – SOC 2 OS Basics An Operating System (OS) is essentially an abstraction of a computer As a user or programmer, I do not.
CE Operating Systems Lecture 20 Disk I/O. Overview of lecture In this lecture we will look at: Disk Structure Disk Scheduling Disk Management Swap-Space.
I/O Management and Disk Structure Introduction to Operating Systems: Module 14.
Agenda Introduction. Design. Trust and Threat Model. Key-Encrypting Keys. Token Vulnerabilities. Token-Laptop Interaction. Assigning File keys & Handling.
(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.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Memory Management Problem: Records (of various lengths) need to be stored. Model: A big array of space to store them, managed by a memory manager. Like.
Consider the program fragment below left. Assume that the program containing this fragment executes t1() and t2() on separate threads running on separate.
414/415 Review Session Emin Gun Sirer. True/False Multiprogramming offers increased response time Instructions to access a raw disk device need to be.
(a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not necessarily the same in each execution. What.
Memory Coherence in Shared Virtual Memory System ACM Transactions on Computer Science(TOCS), 1989 KAI LI Princeton University PAUL HUDAK Yale University.
11.1 Silberschatz, Galvin and Gagne ©2005 Operating System Principles 11.5 Free-Space Management Bit vector (n blocks) … 012n-1 bit[i] =  1  block[i]
Consider the Java code snippet below. Is it a legal use of Java synchronization? What happens if two threads A and B call get() on an object supporting.
Consider the short (and useless) C program off to the right. Each of the variables {a, b, c} references an integer value that occupies some memory at runtime.
Part 1. Managing replicated server groups These questions pertain to managing server groups with replication, as in e.g., Chubby, Dynamo, and the classical.
Chapter 14: Mass-Storage Systems Disk Structure. Disk Scheduling. RAID.
FILE SYSTEM IMPLEMENTATION 1. 2 File-System Structure File structure Logical storage unit Collection of related information File system resides on secondary.
Network-Attached Storage. Network-attached storage devices Attached to a local area network, generally an Ethernet-based network environment.
RAID.
Storage HDD, SSD and RAID.
Processes and threads.
CSE 451: Operating Systems
/50 /60 /40 /30 A Tale of Two Clients
CPS 310 midterm exam #1, 2/19/2016 Your name please: ___________________ NetID:___________ /40 /40 /50.
Background on the need for Synchronization
Andy Wang COP 5611 Advanced Operating Systems
I/O System Chapter 5 Designed by .VAS.
CSE451 I/O Systems and the Full I/O Path Autumn 2002
Unit OS10: Fault Tolerance
Operating System I/O System Monday, August 11, 2008.
Section 10: Last section! Final review.
CSI 400/500 Operating Systems Spring 2009
Lecture 42: Review for Final Exam
Sanuja Dabade & Eilbroun Benjamin CS 257 – Dr. TY Lin
Overview Continuation from Monday (File system implementation)
CSE 153 Design of Operating Systems Winter 2019
Disk Scheduling The operating system is responsible for using hardware efficiently — for the disk drives, this means having a fast access time and disk.
Presentation transcript:

Consider the short (and useless) C program off to the right. Each of the variables {a, b, c} references an integer value that occupies some memory at runtime. Answer the following questions for each of the integer values referenced by {a, b, c}. Where is/are {a, b, c} stored in virtual memory? (i.e., what segment) How/when is the virtual memory for {a, b, c} allocated? How/when is it released? When the main thread accesses {a, b, c}, how is the virtual address computed or determined? How/when is the machine memory for {a, b, c} allocated? How/when is it released? When the main thread accesses {a, b, c}, how is the machine address computed or determined? CPS 310 final exam, 12/15/2013 Your name please: Part 1. Get with the program (60 points) int a = 0; int main() { int b = a; return p(); } int p() { int* c = (int*)malloc(4); return *c; } / 300

Implement monitors using semaphores. As always, “any kind of pseudocode is fine as long as its meaning is clear”. Don’t forget to implement the condition variables! You may omit broadcast/notifyAll, and you may assume that all threads using your implementation are “well-behaved”. CPS 310 final exam, 12/15/2013, page 2 of 8 Part 2. Déjà vu all over again (60 points)

Part 3. Waiting for a core (60 points) In general, threads in the Ready state (Runnable) are linked into a list called a ready queue or runqueue. (More precisely, their thread objects or Thread Control Blocks are linked into a list.) Answer the following questions about ready queues. Each question is asking for short phrases in the “lingo” of this class. You can explain a little, but please keep it brief. (a)What events would cause the kernel to place a thread on the ready queue? List as many causes as you can. (b) What events would cause the kernel to remove a thread from the ready queue? List as many causes as you can. (c) Most modern kernels have multiple ready queues. Why is it useful to have multiple ready queues? List as many reasons as you can. (d) If a thread is not on a ready queue, what other data structures in the kernel might point to it? List as many examples as you can. CPS 310 final exam, 12/15/2013, page 3 of 8

CPS 310 final exam, 12/15/2013, page 4 of 8 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. (a)Nancy cannot “break” the cryptography, but she can still spy on SSL-encrypted communication if she can obtain the right keys. Outline two approaches that Nancy might use to obtain useful keys. Be sure to explain how Nancy would use the keys obtained in each approach (if it succeeds). Part 4. Brave new world (60 points)

Part 4. Brave new world (continued) (b) Now suppose that Nancy also wants to modify the SSL-encrypted communication between Faith and her clients as it occurs, without detection by any of them. Can she do it using the approaches from (a)? Explain. (c) Faith and other service providers are planning to enhance their security with a scheme called Perfect Forward Secrecy to defend against the following vulnerability of SSL: if Nancy obtains Faith's private key, then Nancy can decrypt all previous communication between Faith and her clients, assuming that Nancy has also intercepted and retained a copy of those network packets. Explain how Nancy would use the key to decrypt the saved traffic. CPS 310 final exam, 12/15/2013, page 5 of 8

Part 5. Spinning in circles (60 points) This part deals with performance and data safety for a data storage volume under various designs. Suppose that the system issues a stream of read and/or write requests for random block numbers in the volume. For example, these requests might result from some workload on a file system similar to your DeFiler (Lab #4). In the baseline design the storage volume resides on a single disk drive (HDD). The following questions each propose a change to the baseline design, and ask you to state the effect of the change relative to the baseline design. You may assume that the request stream is continuous and balanced: the next request arrives for a disk just before its previous request completes. I am looking for answers that are specific and quantitative. You might need some other assumptions: if so, be sure to state them. (a)If we double the rotational speed or arial density of the single disk, how does it affect throughput and the average per-request response time, other things being equal? (b) If we double the block size, how does it affect throughput and the average per-request response time, other things being equal? (c) Suppose we distribute the volume across N disks using striping (RAID-0). How does it affect throughput and the average per- request response time, other things being equal? How does it affect the probability of a failure that results in data loss? (d) Suppose we distribute the volume across N disks using mirroring (RAID-1). How does it affect throughput and the average per-request response time, other things being equal? How does it affect the probability of a failure that results in data loss? (e) Suppose the volume has N disks, and blocks are distributed across the disks using striping with parity (RAID-5). How does it affect throughput and the average per-request response time, other things being equal? How does it affect the probability of a failure that results in data loss? CPS 310 final exam, 12/15/2013, page 6 of 8

Part 5. Spinning in circles (continued) (f) Now suppose the system implements atomic commit for groups of writes using logging. How does it affect throughput, other things being equal? (g) Now suppose the system implements atomic commit for groups of writes using shadowing. How does it affect throughput, other things being equal? (h) Suppose the system caches blocks in memory, using a structure similar to your Lab #4 buffer cache. You may assume that the buffer cache can hold M blocks out of a capacity of C blocks for the disk volume, where M < C. How does adding the cache affect throughput and the average per-request response time, other things being equal? CPS 310 final exam, 12/15/2013, page 7 of 8

Part 6. Extra credit What is a thread? Illustrate with a picture. Extra extra points if you can explain it in a more entertaining way than I did. (Low bar?) CPS 310 final exam, 12/15/2013, page 8 of 8