Tentamen i TDDD82 Säkra mobila system (Systemprogramvara)

Size: px
Start display at page:

Download "Tentamen i TDDD82 Säkra mobila system (Systemprogramvara)"

Transcription

1 Tentamen i TDDD82 Säkra mobila system (Systemprogramvara) Inga hjälpmedel är tillåtna. Kom ihåg att svaren på samtliga uppgifter måste MOTIVERAS, och att motiveringarna skall vara uppställda på ett sådant sätt att det går att följa hur Du tänkt. OMOTIVERADE SVAR GER 0 POÄNG OM INGET ANNAT SÄGS. Ansvarig: Mikael Asplund (nåbar på tel ). Maxpoäng är 30 poäng. För betyg 3 krävs minst 15 poäng, för betyg 4 krävs 20 poäng och för betyg 5 krävs 25 poäng. Lycka till!!! 1

2 1. Consider an ordinary hash table T of size M designed for a single-threaded environment. A hash function h that maps data items to the range 0,..., M 1 is given. Data items u, v hashed to the same hash value h(u) = h(v) = i are chained in a singly-linked list, such that list T [i] contains all items with hash value i (see the picture). Each list item contains a data element and a next pointer to the next item in the list (NULL for the last element in a list). Each T [i] points to the first item in its list (or T [i] is NULL if the ith list is empty), i = 0,..., M 1. T 0 M 1 A sequential implementation is given with pseudocode below (assuming garbage collection). The operation insert(t, u) inserts a data item u into hash table T at the beginning of list T [h(u)]: void insert ( hash table T[], data item u ) int i = h(u); e = new list element; e->item = u; e->next = T[i]; T[i] = e; The operation remove(t, u) removes the first element in T that matches u. void remove ( has table T[], data item u ) int i = h(u); e = first element in T[i] while e!= NULL if (e->next!= NULL) and (e->next->item == u) e->next = e->next->next; break; e = e->next; 2

3 Your task will now be to make the hash table implementation thread-safe to allow a hash table stored in shared memory to be accessed properly by multiple threads: (a) Identify the critical section(s) in the pseudocode and suggest how to protect them properly against race conditions by using a single mutex lock. Show the revised (pseudo) code. (b) What is the disadvantage of a single-lock solution if there are many threads accessing T frequently, and why? (c) Describe a multi-lock approach that solves that problem. (1 points) 2. (a) Define the terms process and thread. In particular, what are the main differences between processes and threads, and what do they have in common? Be thorough! (b) Given the following (Unix) C program: #include <stdio.h> #include <unistd.h> int main() printf("hello\n"); return 0; How often is Hello printed to the standard output when executing this program? Explain your answer carefully (just guessing the right number gives no points). (c) How does an operating system prevent a process from monopolizing a processor, and what hardware support is required for that? (1 points) 3

4 3. Consider the following resource allocation problem in a system with 3 resources (R1-R3), and 4 processes (P1-P4). The table indicates the currently allocated resources and in parenthesis the maximum possible demand. R1 R2 R3 P1 0 (0) 1 (1) 0 (1) P2 3 (4) 1 (1) 0 (0) P3 0 (5) 1 (3) 0 (2) P4 4 (6) 3 (3) 1 (5) The currently available resources are: [2, 0, 4]. Use Banker s algorithm to determine if the request [2, 0, 2] from Process P3 should be granted. 4. (a) Exponential averaging can be used to predict the length of the next CPU burst by considering historical data. The following formula is used τ n+1 = αt n + (1 α)τ n, where t n is the actual length of the nth CPU burst and τ n+1 is the predicted value for the next CPU burst. How should the parameter α be interpreted? What possible values can α have and what is the interpretation of the extreme values? (3 points) (b) Applications can have varying QoS requirements. Explain what it means if an application is tolerant or non-tolerant, and give one example of each type of application. 4

5 5. Consider the three timelines for nodes A, B and C in the figure below. The arrows between the lines indicate messages as they are sent and received by the respective nodes. Use Lamport s locgical clock algorithm to set timestamps for the events a-j. P1 a b c P2 d e f g P3 h i j Based on these timestamps create a consistent cut where at least one message has the send and receive on different sides of the cut. Motivate why the cut is consistent. 6. It has been shown that in order to reach majority agreement in a set of replicas in a distributed system where some nodes might crash, one must assume the so called synchronous system model. (a) Explain the meaning of this model (2p) (b) Explain why it can be difficult to fulfil these assumptions for a system which is spread out across a wide area (e.g., multiple cities). (2p) (c) Give an example of when this system model is suitable (1p) 5

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

Linköping University, Sweden Last Modified 13 June 2011 Peter Bunus

Linköping University, Sweden Last Modified 13 June 2011 Peter Bunus Report No TENTA_TDDD04 Organization Linköping University, Sweden Last Modified 13 June 2011 Modified by Peter Bunus (peter.bunus@liu.se) Tentamen TDDD04 (Programvarutestning) Examination TDDD04 (Software

More information

Tentamen TDDD04 (Programvarutestning) Examination TDDD04 (Software Testing)

Tentamen TDDD04 (Programvarutestning) Examination TDDD04 (Software Testing) Report No TENTA_TDDD04 Organization Linköping University, Sweden Last Modified 6 June 2012 Modified by Peter Bunus (peter.bunus@liu.se) Tentamen TDDD04 (Programvarutestning) Examination TDDD04 (Software

More information

EP1200 Introduktion till datorsystemteknik Tentamen tisdagen den 3 juni 2014, till 18.00

EP1200 Introduktion till datorsystemteknik Tentamen tisdagen den 3 juni 2014, till 18.00 EP1200 Introduktion till datorsystemteknik Tentamen tisdagen den 3 juni 2014, 14.00 till 18.00 Inga hjälpmedel är tillåtna utom de som följer med tentamenstexten Skriv kurskod, namn och personnummer på

More information

TENTAMEN / EXAM. TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems

TENTAMEN / EXAM. TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems Linköpings universitet IDA Department of Computer and Information Sciences Doc. Christoph Kessler TENTAMEN / EXAM TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems

More information

TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems , 14:00 18:00

TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems , 14:00 18:00 TENTAMEN / EXAM TDDB68 Processprogrammering och operativsystem / Concurrent programming and operating systems 2017-06-07, 14:00 18:00 Jour: Mikael Asplund (0700895827); visiting ca. 15:30 Hjälpmedel /

More information

Tentamen TDDD04 (Programvarutestning) Examination TDDD04 (Software Testing)

Tentamen TDDD04 (Programvarutestning) Examination TDDD04 (Software Testing) 1 Report No TENTA_TDDD04 Organization Linköping University, Sweden Last Modified 6 June 2012 Modified by Peter Bunus (peter.bunus@liu.se) Tentamen TDDD04 (Programvarutestning) Examination TDDD04 (Software

More information

Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design Patterns)

Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design Patterns) Report No TENTA_TDDB84 Organization Linköping University, Sweden Last Modified 13 October 2010 Modified by Peter Bunus (peter.bunus@liu.se) Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design Patterns)

More information

Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design Patterns)

Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design Patterns) Report No TENTA_TDDB84 Organization Linköping University, Sweden Last Modified 13 October 2009 Modified by Peter Bunus (petbu@ida.liu.se) Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design Patterns)

More information

//converts a string to a non-negative number string2int(string s){

//converts a string to a non-negative number string2int(string s){ EP1200 Introduktion till datorsystemteknik Omtenta fredagen den 22 augusti 2014, 9.00 till 13.00 Possible solutions added with red. Other solutions may of course exist and worth full point. Inga hjälpmedel

More information

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: 09: Hjälpmedel: Inga hjälpmedel

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: 09: Hjälpmedel: Inga hjälpmedel Computer Graphics Provmoment: Ladokkod: Tentamen ges för: Tentamen NDG011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2010-03-02

More information

TENTAMEN / EXAM. TDDB68 / TDDB72 Processprogrammering och operativsystem / Concurrent programming and operating systems 14 jan 2009, 08:00 12:00 TER2

TENTAMEN / EXAM. TDDB68 / TDDB72 Processprogrammering och operativsystem / Concurrent programming and operating systems 14 jan 2009, 08:00 12:00 TER2 Linköpings universitet IDA Department of Computer and Information Sciences Prof. Dr. Christoph Kessler TENTAMEN / EXAM TDDB68 / TDDB72 Processprogrammering och operativsystem / Concurrent programming and

More information

Tentamen i kursen EDAN15: Konstruktion av inbyggda system (Design of Embedded Systems)

Tentamen i kursen EDAN15: Konstruktion av inbyggda system (Design of Embedded Systems) Institutionen för datavetenskap Krzysztof Kuchcinski Tentamen i kursen EDAN: Konstruktion av inbyggda system (Design of Embedded Systems) 20-06-03, kl. 4-9 Sal: Sparta:D Hjälpmedel: Inga Resultat anslås:

More information

TentamensKod: (Ifylles av student) Tentamensdatum: Tid: 10:00 12:00. Hjälpmedel: Inga hjälpmedel

TentamensKod: (Ifylles av student) Tentamensdatum: Tid: 10:00 12:00. Hjälpmedel: Inga hjälpmedel Computer Graphics Provmoment: Ladokkod: Tentamen ges för: Teoretisk tentamen 21DG2B Systemarkitektprogrammet 7,5 högskolepoäng TentamensKod: (Ifylles av student) Tentamensdatum: 2017-05-29 Tid: 10:00 12:00

More information

Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design Patterns)

Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design Patterns) Report No TENTAHT07TDDB84 Organization Linköping University, Sweden Last Modified 11 October 2007 Modified by Peter Bunus (petbu@ida.liu.se) Tentamen TDDB84 (Design Mönster) Examination TDDB84 (Design

More information

Tentamen EDAF85/EDA698 Realtidssystem (Helsingborg)

Tentamen EDAF85/EDA698 Realtidssystem (Helsingborg) LUNDS TEKNISKA HÖGSKOLA 1(10) Institutionen för datavetenskap Tentamen EDAF85/EDA698 Realtidssystem (Helsingborg) 201 10 26, 14.00 19.00 Det är tillåtet att använda Java snabbreferens och miniräknare,

More information

EXAM (Tentamen) TDDI11 Embedded Software. Good Luck! :00-12:00. On-call (jour): Admitted material: General instructions:

EXAM (Tentamen) TDDI11 Embedded Software. Good Luck! :00-12:00. On-call (jour): Admitted material: General instructions: On-call (jour): Mikael Asplund, 013-282668 EXAM (Tentamen) TDDI11 Embedded Software 2016-08-17 08:00-12:00 Admitted material: Dictionary from English to your native language General instructions: The assignments

More information

TENTAMEN Luleå tekniska universitet

TENTAMEN Luleå tekniska universitet TENTAMEN Luleå tekniska universitet Kurskod: D0013E Kursnamn: Mikrodatorteknik Tentamensdatum: 2014-10-29 Skrivtid: 4 timmar Tillåtna hjälpmedel: Jourhavande lärare m fullständigt telefonnr: Per Lindgren

More information

TENTAMEN Luleå tekniska universitet

TENTAMEN Luleå tekniska universitet TENTAMEN Luleå tekniska universitet Kurskod: D0013E Kursnamn: Mikrodatorteknik Tentamensdatum: 2014-10-29 Skrivtid: 4 timmar Tillåtna hjälpmedel: Jourhavande lärare m fullständigt telefonnr: Per Lindgren

More information

CS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University

CS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 Process creation in UNIX All processes have a unique process id getpid(),

More information

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

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

More information

CS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University

CS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 The Process Concept 2 The Process Concept Process a program in execution

More information

TDDD82 Säkra mobila System (Systemprogramvara)

TDDD82 Säkra mobila System (Systemprogramvara) TENTAMEN TDDD82 Säkra mobila System (Systemprogramvara) Datum: 2015-03-06 Tid: 8-12 Lokal: TER2 Jourhavande-lärare: Simin Nadjm-Tehrani (endast via telefon 0702 282412) Hjälpmedel: Behövs inte. Poängantal:

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

Tom Hart, University of Toronto Paul E. McKenney, IBM Beaverton Angela Demke Brown, University of Toronto

Tom Hart, University of Toronto Paul E. McKenney, IBM Beaverton Angela Demke Brown, University of Toronto Making Lockless Synchronization Fast: Performance Implications of Memory Reclamation Tom Hart, University of Toronto Paul E. McKenney, IBM Beaverton Angela Demke Brown, University of Toronto Outline Motivation

More information

CS450/550 Operating Systems

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

More information

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

More information

Maximum CPU utilization obtained with multiprogramming. CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait

Maximum CPU utilization obtained with multiprogramming. CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating Systems Examples Java Thread Scheduling Algorithm Evaluation CPU

More information

Homework #1 (Spring 2012) Due: Tuesday, February 28, 2012

Homework #1 (Spring 2012) Due: Tuesday, February 28, 2012 Name: AndrewID: 15-440 Homework #1 (Spring 2012) Due: Tuesday, February 28, 2012 Communication 1. Consider a sliding window protocol, such as the one we discussed in class. What effect does the window

More information

Abstraction. Implementation view. Abstract view. An ADT is a. Concrete Data Type. Public interface

Abstraction. Implementation view. Abstract view. An ADT is a. Concrete Data Type. Public interface Riley O5 & 1 Abstract Data Type (ADT) Template Design Pattern Abstraction Abstraction SMD135/167 Lecture 3 Interfaces Review: I/O Math: f(x)=x+4 is an abstraction f(3) is an application (of f on 3) 3+4

More information

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

Computer Architecture and Operating Systems Course: International University Bremen Date: Final Examination Computer Architecture and Operating Systems Course: 320202 International University Bremen Date: 2006-05-22 Dr. Jürgen Schönwälder Type: open book Final Examination Problem F.1: operating systems (2+2+2+2+2=10

More information

TDDD82 Säkra mobila System (System Software)

TDDD82 Säkra mobila System (System Software) TENTAMEN TDDD82 Säkra mobila System (System Software) Date: 2016-03-04 Time: 14-18 Room: TER1 On call: Mikael Asplund (telephone: 0700 895 827) Aids: Not needed. Max number of points: 34p Grades: 3, 4

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK II SEMESTER CP7204 Advanced Operating Systems Regulation 2013 Academic Year

More information

Hash Tables. Reading: Cormen et al, Sections 11.1 and 11.2

Hash Tables. Reading: Cormen et al, Sections 11.1 and 11.2 COMP3600/6466 Algorithms 2018 Lecture 10 1 Hash Tables Reading: Cormen et al, Sections 11.1 and 11.2 Many applications require a dynamic set that supports only the dictionary operations Insert, Search

More information

EIT070. Computer Organization

EIT070. Computer Organization EIT070 Computer Organization Course Organization Course homepage: http://www.eit.lth.se/kurs/eit070 Lab web-pages: http://www.eit.lth.se/index.php?ciuid=943&coursepage=5669 The labs are mandatory part

More information

IP routning inom enkla datornät, 2D1490 IP routing in simple networks, 2D1490. Datum: 23 Maj :00 13:00

IP routning inom enkla datornät, 2D1490 IP routing in simple networks, 2D1490. Datum: 23 Maj :00 13:00 Examination IP routning inom enkla datornät, 2D1490 IP routing in simple networks, 2D1490 NADA/KTH Datum: 23 Maj 2007 8:00 13:00 Inga hjälpmedel är tillåtna - Ni får ej använda böcker eller miniräknare!

More information

OS Assignment II. The process of executing multiple threads simultaneously is known as multithreading.

OS Assignment II. The process of executing multiple threads simultaneously is known as multithreading. OS Assignment II 1. A. Provide two programming examples of multithreading giving improved performance over a single-threaded solution. The process of executing multiple threads simultaneously is known

More information

UNIX Input/Output Buffering

UNIX Input/Output Buffering UNIX Input/Output Buffering When a C/C++ program begins execution, the operating system environment is responsible for opening three files and providing file pointers to them: stdout standard output stderr

More information

CSE 332 Winter 2018 Final Exam (closed book, closed notes, no calculators)

CSE 332 Winter 2018 Final Exam (closed book, closed notes, no calculators) Name: Sample Solution Email address (UWNetID): CSE 332 Winter 2018 Final Exam (closed book, closed notes, no calculators) Instructions: Read the directions for each question carefully before answering.

More information

Concurrency: Mutual Exclusion and Synchronization

Concurrency: Mutual Exclusion and Synchronization Concurrency: Mutual Exclusion and Synchronization 1 Needs of Processes Allocation of processor time Allocation and sharing resources Communication among processes Synchronization of multiple processes

More information

Last Class: Deadlocks. Today

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

More information

Tentamen EDA698 Realtidssystem (Helsingborg)

Tentamen EDA698 Realtidssystem (Helsingborg) LUNDS TEKNISKA HÖGSKOLA 1(14) Institutionen för datavetenskap Tentamen EDA698 Realtidssystem (Helsingborg) 2016 01 09, 08.00 13.00 Det är tillåtet att använda Java snabbreferens och miniräknare, samt ordbok.

More information

Lecture 10: Multi-Object Synchronization

Lecture 10: Multi-Object Synchronization CS 422/522 Design & Implementation of Operating Systems Lecture 10: Multi-Object Synchronization Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University L15.1 Frequently asked questions from the previous class survey Could we record burst times in

More information

PROCESS SYNCHRONIZATION

PROCESS SYNCHRONIZATION PROCESS SYNCHRONIZATION Process Synchronization Background The Critical-Section Problem Peterson s Solution Synchronization Hardware Semaphores Classic Problems of Synchronization Monitors Synchronization

More information

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Försättsblad till skriftlig tentamen vid Linköpings Universitet Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2014-06-03 Sal??? Tid 14-18 Kurskod Provkod Kursnamn/benämning TDDD04 TEN1 Programvarutestning Institution IDA Antal uppgifter

More information

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) 1/32 CPU Scheduling The scheduling problem: - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) When do we make decision? 2/32 CPU Scheduling Scheduling decisions may take

More information

Note 1: Compendium 4, 5 and 6 are not allowed during the exam.

Note 1: Compendium 4, 5 and 6 are not allowed during the exam. Institutionen för Dataoch Systemvetenskap *:9 (SU) and 2I123 (KTH) Internet Application Protocols and Standards STOCKHOLMS UNIVERSITET KUNGLIGA TEKNISKA HÖGSKOLAN Exam 1999-09-18 The following documents

More information

Parallelism Marco Serafini

Parallelism Marco Serafini Parallelism Marco Serafini COMPSCI 590S Lecture 3 Announcements Reviews First paper posted on website Review due by this Wednesday 11 PM (hard deadline) Data Science Career Mixer (save the date!) November

More information

CA31-1K DIS. Pointers. TA: You Lu

CA31-1K DIS. Pointers. TA: You Lu CA31-1K DIS Pointers TA: You Lu Pointers Recall that while we think of variables by their names like: int numbers; Computer likes to think of variables by their memory address: 0012FED4 A pointer is a

More information

Message Passing. Advanced Operating Systems Tutorial 7

Message Passing. Advanced Operating Systems Tutorial 7 Message Passing Advanced Operating Systems Tutorial 7 Tutorial Outline Review of Lectured Material Discussion: Erlang and message passing 2 Review of Lectured Material Message passing systems Limitations

More information

Mutual Exclusion and Synchronization

Mutual Exclusion and Synchronization Mutual Exclusion and Synchronization Concurrency Defined Single processor multiprogramming system Interleaving of processes Multiprocessor systems Processes run in parallel on different processors Interleaving

More information

Where is the math? Dag Wedelin Datavetenskap Chalmers. lunch talk

Where is the math? Dag Wedelin Datavetenskap Chalmers. lunch talk Where is the math? Dag Wedelin Datavetenskap Chalmers lunch talk 2015-2018 Where is the math? Matematisk modellering kan sägas vara länken mellan matematiken och verkligheten, där man ofta behöver arbeta

More information

Read-Copy Update (RCU) Don Porter CSE 506

Read-Copy Update (RCU) Don Porter CSE 506 Read-Copy Update (RCU) Don Porter CSE 506 Logical Diagram Binary Formats Memory Allocators Today s Lecture System Calls Threads User Kernel RCU File System Networking Sync Memory Management Device Drivers

More information

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling Uniprocessor Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Three level scheduling 2 1 Types of Scheduling 3 Long- and Medium-Term Schedulers Long-term scheduler Determines which programs

More information

Lock free Algorithm for Multi-core architecture. SDY Corporation Hiromasa Kanda SDY

Lock free Algorithm for Multi-core architecture. SDY Corporation Hiromasa Kanda SDY Lock free Algorithm for Multi-core architecture Corporation Hiromasa Kanda 1.Introduction Background needed Multi-Thread Problem of Multi-Thread program What's Lock free? Lock-free algorithm performance

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

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

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

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

More information

Concurrency: Mutual Exclusion and

Concurrency: Mutual Exclusion and Concurrency: Mutual Exclusion and Synchronization 1 Needs of Processes Allocation of processor time Allocation and sharing resources Communication among processes Synchronization of multiple processes

More information

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

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

More information

Solutions to the first midterm. COSC 4330/6310 Summer 2013

Solutions to the first midterm. COSC 4330/6310 Summer 2013 Solutions to the first midterm COSC 4330/6310 Summer 2013 First question a) Give an example of a popular operating system using a UNIX or a Linux kernel. b) Give an example of a real-time process with

More information

Outline. 1 Hashing. 2 Separate-Chaining Symbol Table 2 / 13

Outline. 1 Hashing. 2 Separate-Chaining Symbol Table 2 / 13 Hash Tables 1 / 13 Outline 1 Hashing 2 Separate-Chaining Symbol Table 2 / 13 The basic idea is to save items in a key-indexed array, where the index is a function of the key Hash function provides a method

More information

Deadlocks. Today. Next Time. ! Resources & deadlocks! Dealing with deadlocks! Other issues. ! Memory management

Deadlocks. Today. Next Time. ! Resources & deadlocks! Dealing with deadlocks! Other issues. ! Memory management Deadlocks Today! Resources & deadlocks! Dealing with deadlocks! Other issues Next Time! Memory management Introduction to deadlocks A set of threads is deadlocked if each thread in the set is waiting for

More information

Main Points of the Computer Organization and System Software Module

Main Points of the Computer Organization and System Software Module Main Points of the Computer Organization and System Software Module You can find below the topics we have covered during the COSS module. Reading the relevant parts of the textbooks is essential for a

More information

På Google testar man på toaletten Peter Karlsson Zetterberg. Sitt nära, några av exemplen har liten text!

På Google testar man på toaletten Peter Karlsson Zetterberg. Sitt nära, några av exemplen har liten text! På Google testar man på toaletten Peter Karlsson Zetterberg Sitt nära, några av exemplen har liten text! Vem är Peter? Life Science, Big Data, Image Processing Innehåll Hur inspirera? Testa på toaletten!

More information

Luleå University of Technology Kurskod SMD152 Datum Skrivtid

Luleå University of Technology Kurskod SMD152 Datum Skrivtid Luleå University of Technology Kurskod SMD152 Datum 2003-10-24 Skrivtid 9.00 13.00 1 Manual synthesis (10 p, 2 p each) Here you are given five different VHDL models. Your task is to draw the schematics

More information

TDDB68 + TDDD82. Lecture: Deadlocks

TDDB68 + TDDD82. Lecture: Deadlocks TDDB68 + TDDD82 Lecture: Deadlocks Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science Thanks to Simin Nadjm-Tehrani and Christoph Kessler for much

More information

CS153: Midterm (Fall 16)

CS153: Midterm (Fall 16) Name: CS153: Midterm (Fall 16) Answer all questions. State any assumptions clearly. Problem 1: (16 points + 2 bonus; 10 minutes) Mark any 8 of the following statements as True or False. Answer all 10 to

More information

Question 1. Notes on the Exam. Today. Comp 104: Operating Systems Concepts 11/05/2015. Revision Lectures

Question 1. Notes on the Exam. Today. Comp 104: Operating Systems Concepts 11/05/2015. Revision Lectures Comp 104: Operating Systems Concepts Revision Lectures Today Here are a sample of questions that could appear in the exam Please LET ME KNOW if there are particular subjects you want to know about??? 1

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

Back to synchronization

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

More information

CS370 Operating Systems Midterm Review

CS370 Operating Systems Midterm Review CS370 Operating Systems Midterm Review Yashwant K Malaiya Fall 2015 Slides based on Text by Silberschatz, Galvin, Gagne 1 1 What is an Operating System? An OS is a program that acts an intermediary between

More information

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

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

More information

Advanced Topic: Efficient Synchronization

Advanced Topic: Efficient Synchronization Advanced Topic: Efficient Synchronization Multi-Object Programs What happens when we try to synchronize across multiple objects in a large program? Each object with its own lock, condition variables Is

More information

Name: uteid: 1. CS439H: Fall 2011 Midterm 1

Name: uteid: 1. CS439H: Fall 2011 Midterm 1 Name: uteid: 1 Instructions CS439H: Fall 2011 Midterm 1 Stop writing when time is announced at the end of the exam. I will leave the room as soon as I ve given people a fair chance to bring me the exams.

More information

Exam in Distributed Systems

Exam in Distributed Systems Exam in Distributed Systems Justin Pearson 25 Aug 13-18, 2008 Cover Sheet This sheet should be handed in together with the exam. Each problem must be solved on a separate sheet. Write your name on each

More information

CS333 Intro to Operating Systems. Jonathan Walpole

CS333 Intro to Operating Systems. Jonathan Walpole CS333 Intro to Operating Systems Jonathan Walpole Threads & Concurrency 2 Threads Processes have the following components: - an address space - a collection of operating system state - a CPU context or

More information

THREADS: (abstract CPUs)

THREADS: (abstract CPUs) CS 61 Scribe Notes (November 29, 2012) Mu, Nagler, Strominger TODAY: Threads, Synchronization - Pset 5! AT LONG LAST! Adversarial network pong handling dropped packets, server delays, overloads with connection

More information

Outlook. Deadlock Characterization Deadlock Prevention Deadlock Avoidance

Outlook. Deadlock Characterization Deadlock Prevention Deadlock Avoidance Deadlocks Outlook Deadlock Characterization Deadlock Prevention Deadlock Avoidance Deadlock Detection and Recovery e 2 Deadlock Characterization 3 Motivation System owns many resources of the types Memory,

More information

Yet another synchronization problem

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

More information

Parallel linked lists

Parallel linked lists Parallel linked lists Lecture 10 of TDA384/DIT391 (Principles of Conent Programming) Carlo A. Furia Chalmers University of Technology University of Gothenburg SP3 2017/2018 Today s menu The burden of locking

More information

Threads. Threads (continued)

Threads. Threads (continued) Threads A thread is an alternative model of program execution A process creates a thread through a system call Thread operates within process context Use of threads effectively splits the process state

More information

Deadlocks. Today. Next Time. Resources & deadlocks Dealing with deadlocks Other issues. I/O and file systems

Deadlocks. Today. Next Time. Resources & deadlocks Dealing with deadlocks Other issues. I/O and file systems Deadlocks Today Resources & deadlocks Dealing with deadlocks Other issues Next Time I/O and file systems That s some catch, that Catch-22 Thread A: lock(l1); lock(l2);... A Thread B: lock(l2); lock(l1);...

More information

Today: Process Management. The Big Picture So Far. What's in a Process? Example Process State in Memory

Today: Process Management. The Big Picture So Far. What's in a Process? Example Process State in Memory The Big Picture So Far Today: Process Management From the Architecture to the OS to the User: Architectural resources, OS management, and User Abstractions. A process as the unit of execution. Hardware

More information

Deadlock Revisited. CS439: Principles of Computer Systems November 29, 2017

Deadlock Revisited. CS439: Principles of Computer Systems November 29, 2017 Deadlock Revisited CS439: Principles of Computer Systems November 29, 2017 Last Time Distributed File Systems Remote Procedure Calls (RPC) Consistency Models Coherence, Staleness, Consistency Network File

More information

Self-referential Structures and Linked List. Programming and Data Structure 1

Self-referential Structures and Linked List. Programming and Data Structure 1 Self-referential Structures and Linked List Programming and Data Structure 1 Linked List :: Basic Concepts A list refers to a set of items organized sequentially. An array is an example of a list. The

More information

Parallel access to linked data structures

Parallel access to linked data structures Parallel access to linked data structures [Solihin Ch. 5] Answer the questions below. Name some linked data structures. What operations can be performed on all of these structures? Why is it hard to parallelize

More information

CSL 201 Data Structures Mid-Semester Exam minutes

CSL 201 Data Structures Mid-Semester Exam minutes CL 201 Data tructures Mid-emester Exam - 120 minutes Name: Roll Number: Please read the following instructions carefully This is a closed book, closed notes exam. Calculators are allowed. However laptops

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

CSE 120. Summer, Inter-Process Communication (IPC) Day 3. Inter-Process Communication (IPC) Scheduling Deadlock. Instructor: Neil Rhodes

CSE 120. Summer, Inter-Process Communication (IPC) Day 3. Inter-Process Communication (IPC) Scheduling Deadlock. Instructor: Neil Rhodes CSE 120 Summer, 2005 Inter-Process Communication (IPC) Day 3 Inter-Process Communication (IPC) Scheduling Deadlock Instructor: Neil Rhodes Inter-Process Communication Cooperating processes must communicate

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

Uniprocessor Scheduling

Uniprocessor Scheduling Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall CPU- and I/O-bound processes

More information

The Big Picture So Far. Today: Process Management

The Big Picture So Far. Today: Process Management The Big Picture So Far From the Architecture to the OS to the User: Architectural resources, OS management, and User Abstractions. Hardware abstraction Processor Memory I/O devices File System Distributed

More information

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: SYSTEM ARCHITECTURE & SOFTWARE [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University OpenMP compiler directives

More information

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

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

More information

Notes on the Exam. Question 1. Today. Comp 104:Operating Systems Concepts 11/05/2015. Revision Lectures (separate questions and answers)

Notes on the Exam. Question 1. Today. Comp 104:Operating Systems Concepts 11/05/2015. Revision Lectures (separate questions and answers) Comp 104:Operating Systems Concepts Revision Lectures (separate questions and answers) Today Here are a sample of questions that could appear in the exam Please LET ME KNOW if there are particular subjects

More information

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

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

More information

CSE 120 PRACTICE FINAL EXAM, WINTER 2013

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

More information

Luleå University of Technology Kurskod SMD098 Datum Skrivtid

Luleå University of Technology Kurskod SMD098 Datum Skrivtid Luleå University of Technology Kurskod SMD098 Datum 2001-12-17 Skrivtid 14.00 18.00 Tentamen i Beräkningstrukturer Antal uppgifter: 6 Max poäng: 35 Lärare: Jonas Thor Telefon: 2549 Tillåtna hjälpmedel:

More information