Systemnahe Programmierung KU
|
|
|
- Willis Hensley
- 10 years ago
- Views:
Transcription
1 S C I E N C E P A S S I O N T E C H N O L O G Y Systemnahe Programmierung KU A6,A7
2 1. Virtual Memory 2. A7 - Fast-Food Restaurant 2
3 Course Overview A8, A9 System Programming A7 Thread Interaction and Synchronization A4, A5, A6 Multithreading, Processes, Virtual Memory A1, A2, A3 Git, Compiler, C, C++ 3
4 What is a pointer? 4
5 What is a pointer? Address in memory 4
6 What is a pointer? Address in memory? Index in RAM 4
7 What is a pointer? Address in memory? Index in RAM? 4
8 Segmentation fault 5
9 Segmentation fault Common scenario: User program accesses invalid memory location 5
10 Segmentation fault Common scenario: User program accesses invalid memory location The OS invokes a fault handler This fault handler can abort the user program or fix the situation by making the address valid Efficient: Don t assign memory until necessary 5
11 Segmentation fault Common scenario: User program accesses invalid memory location The OS invokes a fault handler This fault handler can abort the user program or fix the situation by making the address valid Efficient: Don t assign memory until necessary Are pointers addresses in physical memory? How can addresses in memory be invalid? 5
12 Virtual Memory 6
13 Virtual Memory Pointers are not addresses in physical memory 6
14 Virtual Memory Pointers are not addresses in physical memory Pointers are virtual addresses Addresses are translated from virtual addresses to real physical addresses transparently 6
15 Virtual Memory Pointers are not addresses in physical memory Pointers are virtual addresses Addresses are translated from virtual addresses to real physical addresses transparently Therefore, memory is split into parts called pages Operating system can map pages Operating system can maintain this mapping per process 6
16 Virtual Memory Pointers are not addresses in physical memory Pointers are virtual addresses Addresses are translated from virtual addresses to real physical addresses transparently Therefore, memory is split into parts called pages Operating system can map pages Operating system can maintain this mapping per process different processes can use the same addresses, but see different things there 6
17 Virtual Memory - It s a map! 7
18 Virtual Memory - It s a map! Pseudo code: // in software: int a = *(virt_address); // in hardware: std::map<virt*,phys*> addr_map; auto fetch_memory(virt* virt_address) { phys* phys_address = addr_map[virt_address]; return *phys_addr; } 7
19 A6 - Memory Layout and Demand Paging Experiment with different kinds of variables, which addresses do they get? Observe memory usage in practice, when does it really increase? Write many small test programs (else you won t find the right answers). Answer questions from the test system questionnaire! 8
20 Task Overview Resources: FoodTrays, FoodCounters, Tables Actors: Employees and Customers Customers acquire FoodTray, get food from the FoodCounter, and then eat at the table Resources may only be used/cleaned/renewed by one actor at a time 9
21 First Steps Pull upstream Try make and execute the program It will not work ;) Fix it! 10
22 A7 - Fast-Food Restaurant main() Restaurant Thread FoodCounter Customer Table Employee FoodTray 11
23 Classes to touch main() Restaurant Thread FoodCounter Customer Table Employee FoodTray 12
24 Classes? Yes, but still it s C ;) You will be able to run it on SWEB! 13
25 What do we need? Locks: Semaphores Mutexes Condition Variables 14
26 Semaphores sem_t sem ; // int sem_init ( sem_t * sem, int pshared, // unsigned int value ); sem_init (& sem, 0, 1); //... sem_wait (& sem ); // critical region sem_post (& sem ); //... sem_destroy (& sem ); 15
27 Mutexes pthread_mutex_t mutex ; // int pthread_mutex_init ( pthread_mutex_t * // mutex, pthread_mutexattr_t * attr ); pthread_mutex_init (& mutex, 0); //... pthread_mutex_lock (& mutex ); // critical region pthread_mutex_unlock (& mutex ); //... pthread_mutex_destroy (& mutex ); 16
28 Condition Variables pthread_cond_t cond ; // int pthread_cond_init ( pthread_cond_t * // cond, pthread_condattr_t * attr ); pthread_cond_init (& cond, 0); //... pthread_mutex_lock (& mutex ); // critical region pthread_cond_wait (& cond, & mutex ); // release mutex until condition is true // still critical region pthread_mutex_unlock (& mutex ); //... pthread_cond_destroy (& cond ); 17
29 Typical Errors if ( parking_lot. empty ()) { parking_lot. drivein ( my_car ); // go shopping parking_lot. leave ( my_car ); } 18
30 Typical Errors Something is not locked. Random behaviour, race conditions, strange crashes. 19
31 Typical Errors LOCK ( parking_lot ); if ( parking_lot. empty ()) { UNLOCK ( parking_lot ); parking_lot. drivein ( my_car ); // go shopping parking_lot. leave ( my_car ); } else UNLOCK ( parking_lot ); 20
32 Typical Errors Correct locking at first glance, but actually the critical part is not locked. 21
33 Typical Errors - Thread 1 LOCK ( bike ); bike. dismount (); // go shopping bike. mount (); UNLOCK ( bike ); 22
34 Typical Errors - Thread 2 bike. mount (); // do something 23
35 Typical Errors Correct locking, but some other thread accessed the resource without using the lock. 24
36 Typical Errors - Thread 1 acquir ealllocksi nthesystem (); // do something releas ealllocksi nthesystem (); 25
37 Typical Errors - Thread 2 somelock. acquire (); // wait a while //... 26
38 Typical Errors Everything is locked. Several times. Just to be sure. Will result in a fatal performance. Maybe nothing can happen simultaneously because of the way it is locked. 27
39 Typical Errors LOCK ( parking_lot ); if ( parking_lot. empty ()) { parking_lot. drivein ( my_car ); UNLOCK ( parking_lot ); // go shopping parking_lot. leave ( my_car ); } // no unlock... 28
40 Typical Errors Not unlocking the critical region in some situations. Other threads will wait forever. 29
41 Typical Errors - Thread 1 LOCK ( harddisk ); LOCK ( floppy ); copysomething ( floppy, harddisk ); UNLOCK ( floppy ); UNLOCK ( harddisk ); 30
42 Typical Errors - Thread 2 LOCK ( floppy ); LOCK ( harddisk ); checksomething ( floppy, harddisk ); UNLOCK ( harddisk ); UNLOCK ( floppy ); 31
43 Typical Errors Deadlock. 32
44 Typical Errors void setuppaging () { LOCK ( pagedirectory ); insertpagetable (); insertpage (); fillpagewithdata (); UNLOCK ( pagedirectory ); } 33 // in some other file (!): void insertpagetable () { LOCK ( pagedirectory ); // do the actual work UNLOCK ( pagedirectory ); }
45 Thanks for your attention!
THREADS, LIKE PROCESSES, ARE A MECHANISM TO ALLOW A PROGRAM to do more than
4 Threads THREADS, LIKE PROCESSES, ARE A MECHANISM TO ALLOW A PROGRAM to do more than one thing at a time. As with processes, threads appear to run concurrently; the Linux kernel schedules them asynchronously,
Shared Address Space Computing: Programming
Shared Address Space Computing: Programming Alistair Rendell See Chapter 6 or Lin and Synder, Chapter 7 of Grama, Gupta, Karypis and Kumar, and Chapter 8 of Wilkinson and Allen Fork/Join Programming Model
Intel TSX (Transactional Synchronization Extensions) Mike Dai Wang and Mihai Burcea
Intel TSX (Transactional Synchronization Extensions) Mike Dai Wang and Mihai Burcea 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Example: toy banking application with RTM Code written and tested in
CS 33. Multithreaded Programming V. CS33 Intro to Computer Systems XXXVII 1 Copyright 2015 Thomas W. Doeppner. All rights reserved.
CS 33 Multithreaded Programming V CS33 Intro to Computer Systems XXXVII 1 Copyright 2015 Thomas W. Doeppner. All rights reserved. Alternatives to Mutexes: Atomic Instructions Read-modify-write performed
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
Monitors, Java, Threads and Processes
Monitors, Java, Threads and Processes 185 An object-oriented view of shared memory A semaphore can be seen as a shared object accessible through two methods: wait and signal. The idea behind the concept
CPE453 Laboratory Assignment #2 The CPE453 Monitor
CPE453 Laboratory Assignment #2 The CPE453 Monitor Michael Haungs, Spring 2011 1 Objective As multi-core CPUs become commonplace, there is an increasing need to parallelize legacy applications. In this
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
Last Class: Semaphores
Last Class: Semaphores A semaphore S supports two atomic operations: S Wait(): get a semaphore, wait if busy semaphore S is available. S Signal(): release the semaphore, wake up a process if one is waiting
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Win32 API Emulation on UNIX for Software DSM
Win32 API Emulation on UNIX for Software DSM Agenda: Sven M. Paas, Thomas Bemmerl, Karsten Scholtyssik, RWTH Aachen, Germany http://www.lfbs.rwth-aachen.de/ [email protected] Background Our approach:
Mutual Exclusion using Monitors
Mutual Exclusion using Monitors Some programming languages, such as Concurrent Pascal, Modula-2 and Java provide mutual exclusion facilities called monitors. They are similar to modules in languages that
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Distributed Systems [Fall 2012]
Distributed Systems [Fall 2012] [W4995-2] Lec 6: YFS Lab Introduction and Local Synchronization Primitives Slide acks: Jinyang Li, Dave Andersen, Randy Bryant (http://www.news.cs.nyu.edu/~jinyang/fa10/notes/ds-lec2.ppt,
umps software development
Laboratorio di Sistemi Operativi Anno Accademico 2006-2007 Software Development with umps Part 2 Mauro Morsiani Software development with umps architecture: Assembly language development is cumbersome:
3 - Lift with Monitors
3 - Lift with Monitors TSEA81 - Computer Engineering and Real-time Systems This document is released - 2015-11-24 version 1.4 Author - Ola Dahl, Andreas Ehliar Assignment - 3 - Lift with Monitors Introduction
I/O. Input/Output. Types of devices. Interface. Computer hardware
I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in
Model Checking of Concurrent Algorithms: From Java to C
Model Checking of Concurrent Algorithms: From Java to C Cyrille Artho 1, Masami Hagiya 2, Watcharin Leungwattanakit 2, Yoshinori Tanabe 3, and Mitsuharu Yamamoto 4 1 Research Center for Information Security
Understanding Hardware Transactional Memory
Understanding Hardware Transactional Memory Gil Tene, CTO & co-founder, Azul Systems @giltene 2015 Azul Systems, Inc. Agenda Brief introduction What is Hardware Transactional Memory (HTM)? Cache coherence
CS4410 Final Exam : Solution set. while(ticket[k] && (ticket[k],k) < (ticket[i],i))
1. Bakery Algorithm after optimization: CS4410 Final Exam : Solution set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 int ticket[n] = 0; boolean choosing[n] = false; void CSEnter(int i) { choosing[i]
MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.033 Computer Systems Engineering: Spring 2013. Quiz I Solutions
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.033 Computer Systems Engineering: Spring 2013 Quiz I Solutions There are 11 questions and 8 pages in this
Programming with Threads in Unix
Programming with Threads in Unix Topics Processes and Threads Posix threads (Pthreads) interface Shared variables The need for synchronization Synchronizing with semaphores Synchronizing with mutex and
A Survey of Parallel Processing in Linux
A Survey of Parallel Processing in Linux Kojiro Akasaka Computer Science Department San Jose State University San Jose, CA 95192 408 924 1000 [email protected] ABSTRACT Any kernel with parallel processing
CS414 SP 2007 Assignment 1
CS414 SP 2007 Assignment 1 Due Feb. 07 at 11:59pm Submit your assignment using CMS 1. Which of the following should NOT be allowed in user mode? Briefly explain. a) Disable all interrupts. b) Read the
Paper 3F6: Software Engineering and Systems Distributed Systems Design Solutions to Examples Paper 3
Engineering Tripos Part IIA THIRD YEAR Paper 3F: Software Engineering and Systems Distributed Systems Design Solutions to Examples Paper 3 CORBA 1. (a) A typical IDL file for this application is as follows:
Lecture 25 Symbian OS
CS 423 Operating Systems Design Lecture 25 Symbian OS Klara Nahrstedt Fall 2011 Based on slides from Andrew S. Tanenbaum textbook and other web-material (see acknowledgements) cs423 Fall 2011 1 Overview
Facing the Challenges for Real-Time Software Development on Multi-Cores
Facing the Challenges for Real-Time Software Development on Multi-Cores Dr. Fridtjof Siebert aicas GmbH Haid-und-Neu-Str. 18 76131 Karlsruhe, Germany [email protected] Abstract Multicore systems introduce
Topics. Producing Production Quality Software. Concurrent Environments. Why Use Concurrency? Models of concurrency Concurrency in Java
Topics Producing Production Quality Software Models of concurrency Concurrency in Java Lecture 12: Concurrent and Distributed Programming Prof. Arthur P. Goldberg Fall, 2005 2 Why Use Concurrency? Concurrent
Shared Memory Segments and POSIX Semaphores 1
Shared Memory Segments and POSIX Semaphores 1 Alex Delis delis -at+ pitt.edu October 2012 1 Acknowledgements to Prof. T. Stamatopoulos, M. Avidor, Prof. A. Deligiannakis, S. Evangelatos, Dr. V. Kanitkar
Replication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
Linux/UNIX System Programming. POSIX Shared Memory. Michael Kerrisk, man7.org c 2015. February 2015
Linux/UNIX System Programming POSIX Shared Memory Michael Kerrisk, man7.org c 2015 February 2015 Outline 22 POSIX Shared Memory 22-1 22.1 Overview 22-3 22.2 Creating and opening shared memory objects 22-10
Outline. Review. Inter process communication Signals Fork Pipes FIFO. Spotlights
Outline Review Inter process communication Signals Fork Pipes FIFO Spotlights 1 6.087 Lecture 14 January 29, 2010 Review Inter process communication Signals Fork Pipes FIFO Spotlights 2 Review: multithreading
Operating Systems and Networks
recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls
How To Write A Multi Threaded Software On A Single Core (Or Multi Threaded) System
Multicore Systems Challenges for the Real-Time Software Developer Dr. Fridtjof Siebert aicas GmbH Haid-und-Neu-Str. 18 76131 Karlsruhe, Germany [email protected] Abstract Multicore systems have become
High Availability Solutions for the MariaDB and MySQL Database
High Availability Solutions for the MariaDB and MySQL Database 1 Introduction This paper introduces recommendations and some of the solutions used to create an availability or high availability environment
6 Synchronization with Semaphores
32 6 Synchronization with Semaphores The too-much-milk solution is much too complicated. The problem is that the mutual exclusion mechanism was too simple-minded: it used only atomic reads and writes.
Monitor Object. An Object Behavioral Pattern for Concurrent Programming. Douglas C. Schmidt
Monitor Object An Object Behavioral Pattern for Concurrent Programming Douglas C. Schmidt [email protected] Department of Computer Science Washington University, St. Louis 1 Intent The Monitor Object
2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts
Chapter 2 Introduction to Distributed systems 1 Chapter 2 2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts Client-Server
Operating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
Processes and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
Lecture 18: Reliable Storage
CS 422/522 Design & Implementation of Operating Systems Lecture 18: Reliable Storage Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions of
SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I)
SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics
Testing Database Performance with HelperCore on Multi-Core Processors
Project Report on Testing Database Performance with HelperCore on Multi-Core Processors Submitted by Mayuresh P. Kunjir M.E. (CSA) Mahesh R. Bale M.E. (CSA) Under Guidance of Dr. T. Matthew Jacob Problem
Lecture 6: Semaphores and Monitors
HW 2 Due Tuesday 10/18 Lecture 6: Semaphores and Monitors CSE 120: Principles of Operating Systems Alex C. Snoeren Higher-Level Synchronization We looked at using locks to provide mutual exclusion Locks
POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Kernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June 25 2010
Kernel Optimizations for KVM Rik van Riel Senior Software Engineer, Red Hat June 25 2010 Kernel Optimizations for KVM What is virtualization performance? Benefits of developing both guest and host KVM
Migration of Process Credentials
C H A P T E R - 5 Migration of Process Credentials 5.1 Introduction 5.2 The Process Identifier 5.3 The Mechanism 5.4 Concluding Remarks 100 CHAPTER 5 Migration of Process Credentials 5.1 Introduction Every
CS11 Java. Fall 2014-2015 Lecture 7
CS11 Java Fall 2014-2015 Lecture 7 Today s Topics! All about Java Threads! Some Lab 7 tips Java Threading Recap! A program can use multiple threads to do several things at once " A thread can have local
Design Patterns in C++
Design Patterns in C++ Concurrency Patterns Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 4, 2011 G. Lipari (Scuola Superiore Sant Anna) Concurrency Patterns May 4,
Lecture 22: C Programming 4 Embedded Systems
Lecture 22: C Programming 4 Embedded Systems Today s Goals Basic C programming process Variables and constants in C Pointers to access addresses Using a High Level Language High-level languages More human
Operating System Manual. Realtime Communication System for netx. Kernel API Function Reference. www.hilscher.com.
Operating System Manual Realtime Communication System for netx Kernel API Function Reference Language: English www.hilscher.com rcx - Kernel API Function Reference 2 Copyright Information Copyright 2005-2007
A Comparison Of Shared Memory Parallel Programming Models. Jace A Mogill David Haglin
A Comparison Of Shared Memory Parallel Programming Models Jace A Mogill David Haglin 1 Parallel Programming Gap Not many innovations... Memory semantics unchanged for over 50 years 2010 Multi-Core x86
Code Aware Resource Scheduling
Code Aware Resource Scheduling Marco Faella Fiat Slug with: Luca de Alfaro, UCSC Rupak Majumdar, UCLA Vishwanath Raman, UCSC Fridericus Dei Gratia Romanorum Imperator Semper Augustus 1 The problem mutex_lock(a)
Pitfalls in Embedded Software
Pitfalls in Embedded Software..and how to avoid them Sagar Behere 31 March 2014 Pitfalls in Embedded Software 1 / 19 What is wrong with this code? unsigned int count = BigValue; for (int i = 0; i < count;
Microsoft DFS Replication vs. Peer Software s PeerSync & PeerLock
Microsoft DFS Replication vs. Peer Software s PeerSync & PeerLock Contents.. Why Replication is Important. 2 The Original Purpose for MS DFSR. 2 Best Scenarios for DFSR. 3 When DFSR is Problematic. 4 The
CS11 Advanced C++ Spring 2008-2009 Lecture 9 (!!!)
CS11 Advanced C++ Spring 2008-2009 Lecture 9 (!!!) The static Keyword C++ provides the static keyword Also in C, with slightly different usage Used in two main contexts: Declaring static members of a class
Debugging with TotalView
Tim Cramer 17.03.2015 IT Center der RWTH Aachen University Why to use a Debugger? If your program goes haywire, you may... ( wand (... buy a magic... read the source code again and again and...... enrich
IPC. Semaphores were chosen for synchronisation (out of several options).
IPC Two processes will use shared memory to communicate and some mechanism for synchronise their actions. This is necessary because shared memory does not come with any synchronisation tools: if you can
Port of the Java Virtual Machine Kaffe to DROPS by using L4Env
Port of the Java Virtual Machine Kaffe to DROPS by using L4Env Alexander Böttcher [email protected] Technische Universität Dresden Faculty of Computer Science Operating System Group July 2004
First-class User Level Threads
First-class User Level Threads based on paper: First-Class User Level Threads by Marsh, Scott, LeBlanc, and Markatos research paper, not merely an implementation report User-level Threads Threads managed
Shared Memory Introduction
12 Shared Memory Introduction 12.1 Introduction Shared memory is the fastest form of IPC available. Once the memory is mapped into the address space of the processes that are sharing the memory region,
Parallel Programming
Parallel Programming 0024 Recitation Week 7 Spring Semester 2010 R 7 :: 1 0024 Spring 2010 Today s program Assignment 6 Review of semaphores Semaphores Semaphoren and (Java) monitors Semaphore implementation
COS 318: Operating Systems. Virtual Memory and Address Translation
COS 318: Operating Systems Virtual Memory and Address Translation Today s Topics Midterm Results Virtual Memory Virtualization Protection Address Translation Base and bound Segmentation Paging Translation
The first program: Little Crab
CHAPTER 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,
Why Threads Are A Bad Idea (for most purposes)
Why Threads Are A Bad Idea (for most purposes) John Ousterhout Sun Microsystems Laboratories [email protected] http://www.sunlabs.com/~ouster Introduction Threads: Grew up in OS world (processes).
Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam
Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Outline Introduction What is an OS? Concepts Processes
Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction
Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Outline Introduction What is an OS? Concepts Processes and Threads Memory Management File Systems Vrije Universiteit
ReturnStar HDD Lock V3.0 User Manual
ReturnStar HDD Lock V3.0 User Manual Copyright(C) 2003-2007 Returnstar Electronic Information Co., Ltd. Web: http://www.recoverystar.com Tel: +86-591-83385086 87274373 Fax: +86-591-87274383 E-mail: [email protected]
Implementation of Operator Authentication Processes on an Enterprise Level. Mark Heard Eastman Chemical Company
Implementation of Operator Authentication Processes on an Enterprise Level Mark Heard Eastman Chemical Company Presenter Mark Heard, Eastman Chemical Company Control System Engineer Experience with several
Database Replication with Oracle 11g and MS SQL Server 2008
Database Replication with Oracle 11g and MS SQL Server 2008 Flavio Bolfing Software and Systems University of Applied Sciences Chur, Switzerland www.hsr.ch/mse Abstract Database replication is used widely
LiveBackup. Jagane Sundar [email protected]
LiveBackup Jagane Sundar [email protected] LiveBackup A complete Backup Solution Create Full and Incremental Backups of running VMs A System Administrator or Backup Software can use livebackup_client to
OPERATING SYSTEMS PROCESS SYNCHRONIZATION
OPERATING SYSTEMS PROCESS Jerry Breecher 6: Process Synchronization 1 OPERATING SYSTEM Synchronization What Is In This Chapter? This is about getting processes to coordinate with each other. How do processes
MTP: Continuous User Authentication on Android Using Face Recognition
MTP: Continuous User Authentication on Android Using Face Recognition Testing of FaceApp Application This experiment is being conducted to find out the accuracy rate of face recognition algorithm used
CSC 2405: Computer Systems II
CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building [email protected]
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
2 The first program: Little Crab
2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if statement In the previous chapter, we
MatrixSSL Porting Guide
MatrixSSL Porting Guide Electronic versions are uncontrolled unless directly accessed from the QA Document Control system. Printed version are uncontrolled except when stamped with VALID COPY in red. External
Deadlock Victim. dimanche 6 mai 12
Deadlock Victim by Dr Heinz Kabutz && Olivier Croisier The Java Specialists Newsletter && The Coder's Breakfast [email protected] && [email protected] 1 You discover a race condition 2
A Deduplication File System & Course Review
A Deduplication File System & Course Review Kai Li 12/13/12 Topics A Deduplication File System Review 12/13/12 2 Traditional Data Center Storage Hierarchy Clients Network Server SAN Storage Remote mirror
Overview. CMSC 330: Organization of Programming Languages. Synchronization Example (Java 1.5) Lock Interface (Java 1.5) ReentrantLock Class (Java 1.
CMSC 330: Organization of Programming Languages Java 1.5, Ruby, and MapReduce Overview Java 1.5 ReentrantLock class Condition interface - await( ), signalall( ) Ruby multithreading Concurrent programming
3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version
Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin [email protected] Carl Timmer [email protected]
Code Injection From the Hypervisor: Removing the need for in-guest agents. Matt Conover & Tzi-cker Chiueh Core Research Group, Symantec Research Labs
Code Injection From the Hypervisor: Removing the need for in-guest agents Matt Conover & Tzi-cker Chiueh Core Research Group, Symantec Research Labs SADE: SteAlthy Deployment and Execution Introduction
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software
EMC RepliStor for Microsoft Windows ERROR MESSAGE AND CODE GUIDE P/N 300-002-826 REV A02
EMC RepliStor for Microsoft Windows ERROR MESSAGE AND CODE GUIDE P/N 300-002-826 REV A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright 2003-2005
Java Concurrency Framework. Sidartha Gracias
Java Concurrency Framework Sidartha Gracias Executive Summary This is a beginners introduction to the java concurrency framework Some familiarity with concurrent programs is assumed However the presentation
Concurrent Programming
Concurrent Programming Shared Memory Passing the baton Monitors Verónica Gaspes www.hh.se/staff/vero CERES, November 2, 2007 ceres Outline 1 Recap 2 Readers & Writers Readers & writers (mutual exclusion)
Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine
7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change
Linux scheduler history. We will be talking about the O(1) scheduler
CPU Scheduling Linux scheduler history We will be talking about the O(1) scheduler SMP Support in 2.4 and 2.6 versions 2.4 Kernel 2.6 Kernel CPU1 CPU2 CPU3 CPU1 CPU2 CPU3 Linux Scheduling 3 scheduling
Semaphores and Monitors: High-level Synchronization Constructs
Semaphores and Monitors: High-level Synchronization Constructs 1 Synchronization Constructs Synchronization Coordinating execution of multiple threads that share data structures Past few lectures: Locks:
Concepts of Concurrent Computation
Chair of Software Engineering Concepts of Concurrent Computation Bertrand Meyer Sebastian Nanz Lecture 3: Synchronization Algorithms Today's lecture In this lecture you will learn about: the mutual exclusion
Performance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
Using the Intel Inspector XE
Using the Dirk Schmidl [email protected] Rechen- und Kommunikationszentrum (RZ) Race Condition Data Race: the typical OpenMP programming error, when: two or more threads access the same memory
