ELEC 875 Design Recovery and Automated Evolution. Architecture Analysis. ELEC 875 Design Recovery and Automated Evolution

Size: px
Start display at page:

Download "ELEC 875 Design Recovery and Automated Evolution. Architecture Analysis. ELEC 875 Design Recovery and Automated Evolution"

Transcription

1 ELEC 875 Design Recovery and Automated Evolution Architecture Analysis

2 Next Week Bull, R.I.; Trevors, A.; Malton, A.J.; Godfrey, M.W. "Semantic grep: regular expressions + relational abstraction" 9th Working Conference on Reverse Engineering(WCRE 2002), October, 2002, Richmond, Virginia, pp Philipp Schugerl, "Scalable Clone Detection Using Description Logic" Proceeding IWSC '11 Proceedings of the 5th International Workshop on Software Clones, 2011, pp (Available at ACM digital library).

3 Bowman, Holt, Brewster Some Systems do not have documented system architecture Extract the system Architecture Problems keeping documented architecture up to date Automation?

4 Linux 10 KLOC in 1991 to 1.5MLOC in 1998 doubled every year Linux Kernel KLOC documented at individual system level no architectural documentation good guinea pig

5 Architecture Conceptual architecture How developers think about the system only the meaningful links and dependencies Component responsibilities Component interactions Activities Capture Functionality Capture Properties Constraints

6 Architecture Concrete Architecture The real architecture extracted by some set of tools. Contains extra links required by the implementation Neither architecture is documented for Linux

7 Architecture Change Architecture Erosion Conceptual Violations Architecture Drift Concrete architecture drifts away from conceptual architecture

8 Linux Conceptual Architecture Read Documentation No conceptual architecture documentation? Some architectural information spread in different documents Some overview documentation Knowledge of other Unix based architectures - Tunis, Hector

9 Linux Conceptual Architecture File System Memory Manager Network Scheduler IPC Init Library

10 File Conceptual Architecture

11 Linux Concrete Architecture Group source files based on directory structure, naming conventions, source code comments and source code examination Extract Relations between source files Lift relations between source files to relations between subsystems Convert to concrete architecture

12 Linux Extraction cfx - predecessor to cppx function level extraction (Middle Model) grok used to turn: - relations between functions and functions - relations between functions and files >>>>> - relations between files Files manually assigned to subsystems grok used to lift relations from files to subsystems

13 Linux Concrete Architecture File System Memory Manager Network Scheduler IPC Init Library

14 File Concrete Architecture

15 File Concrete Architecture

16 MM Concrete Architecture

17 Linux Concrete Architecture Given that concrete architecture one would think that the linux implementers are horrible coders efficiency shortcuts expediency Debugging (process scheduler depends on file system) mislocation of printk (process -> library) Synchronization primitives in IPC differences at the subsystem level

18 What Did We Learn? Human Assistance Needed in Analysis Concrete Architecture Different from Conceptual why - conceptual architecture incorrect - efficiency - expediency - unanticipated dependencies - differences in control flow - implementation language or environment constraints - some subsystems implemented everywhere!!

Architectural Decomposition Reid Holmes

Architectural Decomposition Reid Holmes Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture - Steve Easterbrook Architectural Decomposition

More information

Architectural Decomposition & Representations Reid Holmes

Architectural Decomposition & Representations Reid Holmes Architectural Decomposition & Representations Reid Holmes What is SW architecture? Definition: Blueprint for construction and evolution. Encompasses: Structure Behaviour The set of principal design decisions

More information

Architectural Decomposition Mei Nagappan

Architectural Decomposition Mei Nagappan Material and some slide content from: - Emerson Murphy-Hill, Reid Holmes - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture - Steve Easterbrook Architectural Decomposition

More information

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures Contents PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 18 1.5 Operating-System

More information

Chapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne

Chapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne Chapter 4: Threads Silberschatz, Galvin and Gagne Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Linux Threads 4.2 Silberschatz, Galvin and

More information

Source versus Object Code Extraction For Recovering Software Architecture

Source versus Object Code Extraction For Recovering Software Architecture Source versus Object Code Extraction For Recovering Software Architecture Ahmed E. Hassan, Zhen Ming Jiang, and Richard C. Holt Software Architecture Group (SWAG) School of Computer Science University

More information

Formalizing Fact Extraction

Formalizing Fact Extraction atem 2003 Preliminary Version Formalizing Fact Extraction Yuan Lin 1 School of Computer Science University of Waterloo 200 University Avenue West Waterloo, ON N2L 3G1, Canada Richard C. Holt 2 School of

More information

ELEC 875 Design Recovery and Automated Evolution. Week 1 Class 2 Modeling. ELEC 875 Design Recovery and Automated Evolution

ELEC 875 Design Recovery and Automated Evolution. Week 1 Class 2 Modeling. ELEC 875 Design Recovery and Automated Evolution ELEC 875 Design Recovery and Automated Evolution Week 1 Class 2 Modeling Papers for next week Singer, J., Lethbridge, T., Vinson, N. and Anquetil, N., "An Examination of Software Engineering Work Practices",

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

Chapter 4: Threads. Chapter 4: Threads

Chapter 4: Threads. Chapter 4: Threads Chapter 4: Threads Silberschatz, Galvin and Gagne 2009 Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads 4.2

More information

OPS235: Week 1. Installing Linux ( Lab1: Investigations 1-4)

OPS235: Week 1. Installing Linux ( Lab1: Investigations 1-4) OPS235: Week 1 Installing Linux ( Lab1: Investigations 1-4) 1 Agenda: Lab 1 Required materials Thinking Ahead (Tips / Warnings): Importance of Command Line LVM / Host vs Virtual Machines Importance of

More information

Automatic Mining of Functionally Equivalent Code Fragments via Random Testing. Lingxiao Jiang and Zhendong Su

Automatic Mining of Functionally Equivalent Code Fragments via Random Testing. Lingxiao Jiang and Zhendong Su Automatic Mining of Functionally Equivalent Code Fragments via Random Testing Lingxiao Jiang and Zhendong Su Cloning in Software Development How New Software Product Cloning in Software Development Search

More information

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 18 1.5 Operating-System Operations

More information

PART B UNIT II COMMUNICATION IN DISTRIBUTED SYSTEM PART A

PART B UNIT II COMMUNICATION IN DISTRIBUTED SYSTEM PART A CS6601 DISTRIBUTED SYSTEMS QUESTION BANK UNIT 1 INTRODUCTION 1. What is a distributed system? 2. Mention few examples of distributed systems. 3. Mention the trends in distributed systems. 4. What are backbones

More information

CONTENTS. Computer-System Structures

CONTENTS. Computer-System Structures CONTENTS PART ONE OVERVIEW Chapter 1 Introduction 1.1 What Is an Operating System? 3 1.2 Simple Batch Systems 6 1.3 Multiprogrammed Batched Systems 8 1.4 Time-Sharing Systems 9 1.5 Personal-Computer Systems

More information

System Architecture 2008/09 Programming Assignment 3. 2 Overview on System/161 Memory Management Hardware

System Architecture 2008/09 Programming Assignment 3. 2 Overview on System/161 Memory Management Hardware University of Karlsruhe System Architecture Group Gerd Liefländer Teaching Assistant: Philipp Kupferschmied System Architecture 2008/09 Programming Assignment 3 Submission Deadlines: 23.01.2009, 12:00h

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

Identifying Clones in the Linux Kernel DRAFT

Identifying Clones in the Linux Kernel DRAFT Identifying Clones in the Linux Kernel. Casazza,. Antoniol, U. Villano, E. Merlo, M. Di Penta, antoniol@ieee.org gec, dipenta, villano @unisannio.it ettore.merlo@polymtl.ca University of Sannio, Faculty

More information

Reverse Software Engineering Using UML tools Jalak Vora 1 Ravi Zala 2

Reverse Software Engineering Using UML tools Jalak Vora 1 Ravi Zala 2 IJSRD - International Journal for Scientific Research & Development Vol. 2, Issue 03, 2014 ISSN (online): 2321-0613 Reverse Software Engineering Using UML tools Jalak Vora 1 Ravi Zala 2 1, 2 Department

More information

Software architecture: Introduction

Software architecture: Introduction 2IW80 Software specification and architecture Software architecture: Introduction Alexander Serebrenik This week sources Slides by Johan Lukkien and Rudolf Mak Software architecture Software architecture

More information

Verification of Linux Kernel without Loadable Kernel Modules. Evgeny Novikov and Ilja Zakharov ISP RAS, Linux Verification Center

Verification of Linux Kernel without Loadable Kernel Modules. Evgeny Novikov and Ilja Zakharov ISP RAS, Linux Verification Center Verification of Linux Kernel without Loadable Kernel Modules Evgeny Novikov and Ilja Zakharov ISP RAS, Linux Verification Center CPA&LDV 18, Moscow, September 26, 2018 Linux Kernel Architecture Kernel

More information

CS307: Operating Systems

CS307: Operating Systems CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn

More information

Embedded Linux Architecture

Embedded Linux Architecture Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory

More information

Data-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes.

Data-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes. Data-Centric Consistency Models The general organization of a logical data store, physically distributed and replicated across multiple processes. Consistency models The scenario we will be studying: Some

More information

Unit OS2: Operating System Principles. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze

Unit OS2: Operating System Principles. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS2: Operating System Principles 2.5. Quiz Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Copyright Notice 2000-2005 David A. Solomon and Mark

More information

CS420: Operating Systems

CS420: Operating Systems Threading Issues James Moscola Department of Engineering & Computer Science York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Threading Issues

More information

Meta-Model and Model co-evolution

Meta-Model and Model co-evolution University of Grenoble Meta-Model and Model co-evolution Jean-Marie Favre University of Grenoble OUTLINE Motivation and background : Industry Software in 3D D1: meta dimension D2: engineering dimension

More information

MODERN FILESYSTEM PERFORMANCE IN LOCAL MULTI-DISK STORAGE SPACE CONFIGURATION

MODERN FILESYSTEM PERFORMANCE IN LOCAL MULTI-DISK STORAGE SPACE CONFIGURATION INFORMATION SYSTEMS IN MANAGEMENT Information Systems in Management (2014) Vol. 3 (4) 273 283 MODERN FILESYSTEM PERFORMANCE IN LOCAL MULTI-DISK STORAGE SPACE CONFIGURATION MATEUSZ SMOLIŃSKI Institute of

More information

Abstract. 1 Introduction. 1.1 Overview

Abstract. 1 Introduction. 1.1 Overview Semantic Grep: Regular Expressions Relational Abstraction R. Ian Bull, Andrew Trevors, Andrew J. Malton, and Michael W. Godfrey Software Architecture Group University of Waterloo Ontario, Canada, N2L 3G1

More information

CISC 322 Software Architecture. Lecture 13: Midterm Review Emad Shihab

CISC 322 Software Architecture. Lecture 13: Midterm Review Emad Shihab CISC 322 Software Architecture Lecture 13: Midterm Review Emad Shihab Course Content Requirements Architectural Styles Architecture Recovery Design Patterns Project Scheduling Software Estimation Requirements

More information

CS 450 Operating System Week 4 Lecture Notes

CS 450 Operating System Week 4 Lecture Notes CS 450 Operating System Week 4 Lecture Notes Reading: Operating System Concepts (7 th Edition) - Silberschatz, Galvin, Gagne Chapter 5 - Pages 129 147 Objectives: 1. Explain the main Objective of Threads

More information

Outline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012

Outline. Threads. Single and Multithreaded Processes. Benefits of Threads. Eike Ritter 1. Modified: October 16, 2012 Eike Ritter 1 Modified: October 16, 2012 Lecture 8: Operating Systems with C/C++ School of Computer Science, University of Birmingham, UK 1 Based on material by Matt Smart and Nick Blundell Outline 1 Concurrent

More information

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a

More information

Wins and Losses of Algebraic Transformations of Software Architectures

Wins and Losses of Algebraic Transformations of Software Architectures Wins and Losses of Algebraic Transformations of Software Architectures H.M. Fahmy 1, R.C. Holt 1, and J.R. Cordy 2 1 Dep t. of Computer Science, University of Waterloo, Waterloo, Ontario 2 Dep t. of Computing

More information

Identifying Clones in the Linux Kernel

Identifying Clones in the Linux Kernel Identifying Clones in the Linux Kernel G. Casazza ΛΛ, G. Antoniol Λ, U. Villano Λ,E.Merlo ΛΛΛ,M.DiPenta Λ, antoniol@ieee.org fgec, dipenta, villanog@unisannio.it ettore.merlo@polymtl.ca (Λ) University

More information

Software architecture: Introduction

Software architecture: Introduction 2IW80 Software specification and architecture Software architecture: Introduction Alexander Serebrenik This week sources Slides by Johan Lukkien and Rudolf Mak Software architecture Software architecture

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

UNCORRECTED PROOF ARTICLE IN PRESS. Analyzing cloning evolution in the Linux kernel. G. Antoniol a, *, U. Villano a, E. Merlo b, M.

UNCORRECTED PROOF ARTICLE IN PRESS. Analyzing cloning evolution in the Linux kernel. G. Antoniol a, *, U. Villano a, E. Merlo b, M. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 Analyzing cloning evolution in the Linux kernel

More information

BACHELOR OF COMPUTER APPLICATIONS (BCA)

BACHELOR OF COMPUTER APPLICATIONS (BCA) BACHELOR OF COMPUTER APPLICATIONS (BCA) BCA/ASSIGN/VI/YEAR/14-15 ASSIGNMENTS (For July, 2014 and Jan., 2015 sessions) (6 th Semester (Revised Syllabus)) (BCS-062, MCS-022, BCSL-063) SCHOOL OF COMPUTER

More information

Deviations are things that modify a thread s normal flow of control. Unix has long had signals, and these must be dealt with in multithreaded

Deviations are things that modify a thread s normal flow of control. Unix has long had signals, and these must be dealt with in multithreaded Deviations are things that modify a thread s normal flow of control. Unix has long had signals, and these must be dealt with in multithreaded improvements to Unix. There are actually two fairly different

More information

Operating- System Structures

Operating- System Structures Operating- System Structures 2 CHAPTER Practice Exercises 2.1 What is the purpose of system calls? Answer: System calls allow user-level processes to request services of the operating system. 2.2 What

More information

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures

Contents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 15 1.5 Operating-System Operations

More information

CS140 Operating Systems and Systems Programming Midterm Exam

CS140 Operating Systems and Systems Programming Midterm Exam CS140 Operating Systems and Systems Programming Midterm Exam October 28 th, 2005 (Total time = 50 minutes, Total Points = 50) Name: (please print) In recognition of and in the spirit of the Stanford University

More information

Two Systems Engineering Functions with SysML: The High and Low of MBSE Usability (Part 1) Bjorn Cole

Two Systems Engineering Functions with SysML: The High and Low of MBSE Usability (Part 1) Bjorn Cole Two Systems Engineering Functions with SysML: The High and Low of MBSE Usability (Part 1) Bjorn Cole NASA Process (NPR 7120.5d) Usability For tools that perform tasks, I will combine the criteria brought

More information

An Overview of the BLITZ System

An Overview of the BLITZ System An Overview of the BLITZ System Harry H. Porter III Department of Computer Science Portland State University Introduction The BLITZ System is a collection of software designed to support a university-level

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University 1. Introduction 2. System Structures 3. Process Concept 4. Multithreaded Programming

More information

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System Operating System Operating System Overview Chapter 2 A program that controls the execution of application programs An interface between applications and hardware 1 2 Operating System Objectives Layers

More information

Operating System Overview. Operating System

Operating System Overview. Operating System Operating System Overview Chapter 2 1 Operating System A program that controls the execution of application programs An interface between applications and hardware 2 1 Operating System Objectives Convenience

More information

Operating System Structure

Operating System Structure Operating System Structure Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission Recap: Memory Hierarchy Fast, Expensive Slow, Inexpensive 2 Recap Architectural support

More information

Defining, Transforming, and Exchanging High-Level Schemas

Defining, Transforming, and Exchanging High-Level Schemas Defining, Transforming, and Exchanging High-Level Schemas A guided journey through the outback Presented by Michael W. Godfrey Software Architecture Group (SWAG) Dept of Comp Sci, Univ of Waterloo This

More information

Review of Versioning. Configuration Management. Relation of Versioning to CM. Lecture 14: Configuration Management & Midterm Review

Review of Versioning. Configuration Management. Relation of Versioning to CM. Lecture 14: Configuration Management & Midterm Review Lecture 4: Configuration Management & Midterm Review Kenneth M. Anderson Software Methods and Tools CSCI 3308 - Fall Semester, 004 Review of Versioning Versioning involves tracking the changes to a file

More information

Process Monitoring in Operating System Linux

Process Monitoring in Operating System Linux Process Monitoring in Operating System Linux ZDENEK SLANINA, VILEM SROVNAL Department of Measurement and Control VSB Technical University of Ostrava 17. listopadu 15, 708 33 Ostrava-Poruba CZECH REPUBLIC

More information

Operating Systems Comprehensive Exam. There are five questions on this exam. Please answer any four questions total

Operating Systems Comprehensive Exam. There are five questions on this exam. Please answer any four questions total Operating Systems Comprehensive Exam There are five questions on this exam. Please answer any four questions. ID 1 2 3 4 5 total 1) The following questions pertain to McKusick et al's A Fast File System

More information

OPERATING SYSTEM. Chapter 4: Threads

OPERATING SYSTEM. Chapter 4: Threads OPERATING SYSTEM Chapter 4: Threads Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples Objectives To

More information

Linux Driver and Embedded Developer

Linux Driver and Embedded Developer Linux Driver and Embedded Developer Course Highlights The flagship training program from Veda Solutions, successfully being conducted from the past 10 years A comprehensive expert level course covering

More information

COMPLEX SYSTEMS. Today. Complex Systems. Kinds of Systems. Embedded Systems. Software Engineering. Lectures 20: Engineering Complex Systems

COMPLEX SYSTEMS. Today. Complex Systems. Kinds of Systems. Embedded Systems. Software Engineering. Lectures 20: Engineering Complex Systems Chair of Software Engineering Today Software Engineering Prof. Dr. Bertrand Meyer Dr. Manuel Oriol Dr. Bernd Schoeller Lectures 20: Engineering Complex Systems Complex Systems What is it? Examples Technologies

More information

Here to take you beyond. ECEP Course syllabus. Emertxe Information Technologies ECEP course syllabus

Here to take you beyond. ECEP Course syllabus. Emertxe Information Technologies ECEP course syllabus Here to take you beyond ECEP Course syllabus Module: 1/6 Module name: Linux Systems To get familiar with Linux Operating system Commands, tools and editors Enable you to write Shell scripts To understand

More information

7/6/2015. Motivation & examples Threads, shared memory, & synchronization. Imperative programs

7/6/2015. Motivation & examples Threads, shared memory, & synchronization. Imperative programs Motivation & examples Threads, shared memory, & synchronization How do locks work? Data races (a lower level property) How do data race detectors work? Atomicity (a higher level property) Concurrency exceptions

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 03 Lecture 12 Create, Execute, and Exit from a Process

More information

Concurrent & Distributed Systems Supervision Exercises

Concurrent & Distributed Systems Supervision Exercises Concurrent & Distributed Systems Supervision Exercises Stephen Kell Stephen.Kell@cl.cam.ac.uk November 9, 2009 These exercises are intended to cover all the main points of understanding in the lecture

More information

The L4 microkernel. Garland, Mehta, Roehricht, Schulze. CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA

The L4 microkernel. Garland, Mehta, Roehricht, Schulze. CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA Garland, Mehta, Roehricht, Schulze The L4 microkernel Harrisonburg, November 29, 2003 CS-450 Section 3 Operating Systems Fall 2003 James Madison University Harrisonburg, VA Contents 1 An Introduction to

More information

Operating System For Computer Science & Information Technology By www.thegateacademy.com Syllabus Syllabus for Operating System Processes, Threads, Inter Process Communication, Concurrency and Synchronization,

More information

AN OVERVIEW OF MINIX 3

AN OVERVIEW OF MINIX 3 AN OVERVIEW OF MINIX 3 NICTA seminar, 20 Oct. 2008 Sydney, Australia Jorrit N. Herder Vrije Universiteit Amsterdam There are no significant bugs in our released software that any significant number of

More information

CS160A EXERCISES-FILTERS2 Boyd

CS160A EXERCISES-FILTERS2 Boyd Exercises-Filters2 In this exercise we will practice with the Unix filters cut, and tr. We will also practice using paste, even though, strictly speaking, it is not a filter. In addition, we will expand

More information

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Lecture 2: Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Visual Computing Systems Today Finishing up from last time Brief discussion of graphics workload metrics

More information

Operating System Structure

Operating System Structure Operating System Structure Heechul Yun Disclaimer: some slides are adopted from the book authors slides with permission Recap OS needs to understand architecture Hardware (CPU, memory, disk) trends and

More information

OS Containers. Michal Sekletár November 06, 2016

OS Containers. Michal Sekletár November 06, 2016 OS Containers Michal Sekletár msekleta@redhat.com November 06, 2016 whoami Senior Software Engineer @ Red Hat systemd and udev maintainer Free/Open Source Software contributor Michal Sekletár msekleta@redhat.com

More information

OCFS2: Evolution from OCFS. Mark Fasheh Senior Software Developer Oracle Corporation

OCFS2: Evolution from OCFS. Mark Fasheh Senior Software Developer Oracle Corporation OCFS2: Evolution from OCFS Mark Fasheh Senior Software Developer Oracle Corporation Goals for OCFS2 Become a high performance general purpose Cluster FS Meta data caching Meta data journaling Cross node

More information

ELEC 377 Operating Systems. Week 4 Lab 2 Tutorial

ELEC 377 Operating Systems. Week 4 Lab 2 Tutorial ELEC 377 Operating Systems Week 4 Tutorial Modules Provide extensions to the kernel Device Drivers File Systems Extra Functionality int init_module() {.. do initialization stuff.... tell the kernel what

More information

Gaddis: Starting Out with Alice Test Bank Chapter Two 1 Chapter Two

Gaddis: Starting Out with Alice Test Bank Chapter Two 1 Chapter Two Gaddis: Starting Out with Alice Test Bank Chapter Two 1 Chapter Two MULTIPLE CHOICE 1. What is the name of the default world method that automatically runs when an Alice program is executed? a. the first

More information

AN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi, Akshay Kanwar, Lovenish Saluja

AN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi, Akshay Kanwar, Lovenish Saluja www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 2 Issue 10 October, 2013 Page No. 2958-2965 Abstract AN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi,

More information

Threads. What is a thread? Motivation. Single and Multithreaded Processes. Benefits

Threads. What is a thread? Motivation. Single and Multithreaded Processes. Benefits CS307 What is a thread? Threads A thread is a basic unit of CPU utilization contains a thread ID, a program counter, a register set, and a stack shares with other threads belonging to the same process

More information

Motivation & examples Threads, shared memory, & synchronization

Motivation & examples Threads, shared memory, & synchronization 1 Motivation & examples Threads, shared memory, & synchronization How do locks work? Data races (a lower level property) How do data race detectors work? Atomicity (a higher level property) Concurrency

More information

6.828 Fall 2007 Quiz II Solutions

6.828 Fall 2007 Quiz II Solutions Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Fall 2007 Quiz II Solutions The average was 80. 1 I Virtual Machines The x86 SIDT and LIDT instructions

More information

Git Introduction CS 400. February 11, 2018

Git Introduction CS 400. February 11, 2018 Git Introduction CS 400 February 11, 2018 1 Introduction Git is one of the most popular version control system. It is a mature, actively maintained open source project originally developed in 2005 by Linus

More information

Semantics of fork() and exec()

Semantics of fork() and exec() Threads Week 3.2 Threading Issues Semantics of fork() and exec() system calls Signal handling Synchronous and asynchronous Thread cancellation of target thread Asynchronous or deferred Thread-local storage

More information

HyperFrame - A Framework for Hypermedia Authoring

HyperFrame - A Framework for Hypermedia Authoring HyperFrame - A Framework for Hypermedia Authoring S. Crespo, M. F. Fontoura, C. J. P. Lucena, D. Schwabe Pontificia Universidade Católica do Rio de Janeiro - Departamento de Informática Universidade do

More information

System types. Distributed systems

System types. Distributed systems System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors

More information

Heuristic Evaluation

Heuristic Evaluation Heuristic Evaluation For CS4760 & HU4628 Group 3 -- BAER Can Li (canli@mtu.edu) 2/17/2015 Background: The primary mission of BAER Teams is to protect lives, property and sensitive habitats from post-fire

More information

OS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4

OS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4 OS DESIGN PATTERNS II CS124 Operating Systems Fall 2017-2018, Lecture 4 2 Last Time Began discussing general OS design patterns Simple structure (MS-DOS) Layered structure (The THE OS) Monolithic kernels

More information

Towards a formal model of object-oriented hyperslices

Towards a formal model of object-oriented hyperslices Towards a formal model of object-oriented hyperslices Torsten Nelson, Donald Cowan, Paulo Alencar Computer Systems Group, University of Waterloo {torsten,dcowan,alencar}@csg.uwaterloo.ca Abstract This

More information

Chapter 4: Multithreaded Programming Dr. Varin Chouvatut. Operating System Concepts 8 th Edition,

Chapter 4: Multithreaded Programming Dr. Varin Chouvatut. Operating System Concepts 8 th Edition, Chapter 4: Multithreaded Programming Dr. Varin Chouvatut, Silberschatz, Galvin and Gagne 2010 Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues Operating

More information

The operating system: should there be one?

The operating system: should there be one? The operating system: should there be one? Stephen Kell srkell@acm.org Oracle Labs The operating system... p.1/23 What time is it? The operating system... p.2/23 Outline of this talk The operating system...

More information

CIS Operating Systems Introduction. Professor Qiang Zeng

CIS Operating Systems Introduction. Professor Qiang Zeng CIS 5512 - Operating Systems Introduction Professor Qiang Zeng About me PhD in CSE, Penn State Enjoy hacking kernels and systems s/w Industry experiences: IBM Watson Research Center NEC Lab America Yahoo

More information

External Alerting with Alert Responses

External Alerting with Alert Responses The following topics describe how to send external event alerts from the Firepower Management Center using alert responses: Firepower Management Center Alert Responses, page 1 Creating an SNMP Alert Response,

More information

Evolving HPCToolkit John Mellor-Crummey Department of Computer Science Rice University Scalable Tools Workshop 7 August 2017

Evolving HPCToolkit John Mellor-Crummey Department of Computer Science Rice University   Scalable Tools Workshop 7 August 2017 Evolving HPCToolkit John Mellor-Crummey Department of Computer Science Rice University http://hpctoolkit.org Scalable Tools Workshop 7 August 2017 HPCToolkit 1 HPCToolkit Workflow source code compile &

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 043 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK Course Name : LINUX PROGRAMMING Course Code : ACS010 Class : III

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

A+ Guide to Managing and Maintaining Your PC. How Hardware and Software Work Together

A+ Guide to Managing and Maintaining Your PC. How Hardware and Software Work Together A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 2 How Hardware and Software Work Together You Will Learn About operating systems, what they are, and what they do How an OS interfaces

More information

Processes and Threads

Processes and Threads COS 318: Operating Systems Processes and Threads Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318 Today s Topics u Concurrency

More information

Threads. Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows. 2/13/11 CSE325 - Threads 1

Threads. Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows. 2/13/11 CSE325 - Threads 1 Threads Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows 2/13/11 CSE325 - Threads 1 Threads The process concept incorporates two abstractions: a virtual

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 043 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK Course Name : LINUX PROGRAMMING Course Code : A70511 (R15) Class

More information

ZooKeeper Recipes and Solutions

ZooKeeper Recipes and Solutions by Table of contents 1 A Guide to Creating Higher-level Constructs with ZooKeeper...2 1.1 Out of the Box Applications: Name Service, Configuration, Group Membership... 2 1.2 Barriers... 2 1.3 Queues...

More information

JIVE: Dynamic Analysis for Java

JIVE: Dynamic Analysis for Java JIVE: Dynamic Analysis for Java Overview, Architecture, and Implementation Demian Lessa Computer Science and Engineering State University of New York, Buffalo Dec. 01, 2010 Outline 1 Overview 2 Architecture

More information

Research on Implement Snapshot of pnfs Distributed File System

Research on Implement Snapshot of pnfs Distributed File System Applied Mathematics & Information Sciences An International Journal 2011 NSP 5 (2) (2011), 179S-185S Research on Implement Snapshot of pnfs Distributed File System Liu-Chao, Zhang-Jing Wang, Liu Zhenjun,

More information

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

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

More information

Introduction to Computer Security

Introduction to Computer Security Introduction to Computer Security Instructor: Mahadevan Gomathisankaran mgomathi@unt.edu 1 Introduction So you can specify a well-thought-out policy and a concrete model now what? Now it s time for a system

More information

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS EECS 571 Principles of Real-Time Embedded Systems Lecture Note #10: More on Scheduling and Introduction of Real-Time OS Kang G. Shin EECS Department University of Michigan Mode Changes Changes in mission

More information

Porting Linux to a New Architecture

Porting Linux to a New Architecture Embedded Linux Conference Europe 2014 Porting Linux to a New Architecture Marta Rybczyńska October 15, 2014 Different Types of Porting New board New processor from existing family New architecture 2 New

More information