The Good, the Bad, and the Ugly?

Size: px
Start display at page:

Download "The Good, the Bad, and the Ugly?"

Transcription

1 Corporate Technology The Good, the Bad, and the Ugly? Structure and Trends of Open Unix Kernels Dr. Wolfgang Mauerer, Siemens AG, CT SE 2 Corporate Competence Centre Embedded Linux wolfgang.mauerer@siemens.com Page 1 October 29, 2009 W. Mauerer Corporate Technology SE 2

2 Overview 1 Introduction 2 Evaluated Systems 3 Feature Comparison 4 Quantitative Measurements Code Shape Complexity Size Matters Dynamics 5 Summary Page 2 October 29, 2009 W. Mauerer Corporate Technology SE 2

3 Outline 1 Introduction 2 Evaluated Systems 3 Feature Comparison 4 Quantitative Measurements Code Shape Complexity Size Matters Dynamics 5 Summary Page 3 October 29, 2009 W. Mauerer Corporate Technology SE 2

4 Introduction Observations Users won t really notice different kernel underneath their systems (spark plugs!) Developers will mostly neither. Questions Why so many different kernels? How do they differ? Quantitative assessment possible? Which one s the best kernel? Page 4 October 29, 2009 W. Mauerer Corporate Technology SE 2

5 Introduction Observations Users won t really notice different kernel underneath their systems (spark plugs!) Developers (except system and spark plug developers) will mostly neither. Questions Why so many different kernels? How do they differ? Quantitative assessment possible? Which one s the best kernel? Page 4 October 29, 2009 W. Mauerer Corporate Technology SE 2

6 Introduction Observations Users won t really notice different kernel underneath their systems (spark plugs!) Developers (except system and spark plug developers) will mostly neither.? Questions Why so many different kernels? How do they differ? Quantitative assessment possible? Which one s the best kernel? Page 4 October 29, 2009 W. Mauerer Corporate Technology SE 2

7 Introduction Observations Users won t really notice different kernel underneath their systems (spark plugs!) Developers (except system and spark plug developers) will mostly neither.? Questions Why so many different kernels? How do they differ? Quantitative assessment possible? Which one s the best kernel? Page 4 October 29, 2009 W. Mauerer Corporate Technology SE 2

8 Outline 1 Introduction 2 Evaluated Systems 3 Feature Comparison 4 Quantitative Measurements Code Shape Complexity Size Matters Dynamics 5 Summary Page 5 October 29, 2009 W. Mauerer Corporate Technology SE 2

9 Evaluated Systems: Linux and OpenSolaris Started: 1991 License: GPL Version Control: GIT Started: 2008 (1991) License: CDDL Version Control: Mercurial Page 6 October 29, 2009 W. Mauerer Corporate Technology SE 2

10 The BSD family Started: 1993 License: BSD Version Control: Subversion Started: 1991 License: BSD Version Control: CVS Started: 1996 (1991) License: BSD Version Control: CVS Page 7 October 29, 2009 W. Mauerer Corporate Technology SE 2

11 Outline 1 Introduction 2 Evaluated Systems 3 Feature Comparison 4 Quantitative Measurements Code Shape Complexity Size Matters Dynamics 5 Summary Page 8 October 29, 2009 W. Mauerer Corporate Technology SE 2

12 Unbiased? No flame wars intended... Page 9 October 29, 2009 W. Mauerer Corporate Technology SE 2

13 Feature Comparison Commonplaces Yes, OpenSolaris focusses on tracing, zones, and ZFS Yes, Linux still focusses on... everything Yes, NetBSD is really about multi-arch support Yes, OpenBSD is about security and paranoia Yes, FreeBSD would like Linux s device drivers Alternatives Performance testing Tick list on Wikipedia Page 10 October 29, 2009 W. Mauerer Corporate Technology SE 2

14 Feature Comparison Commonplaces Yes, OpenSolaris focusses on tracing, zones, and ZFS Yes, Linux still focusses on... everything Yes, NetBSD is really about multi-arch support Yes, OpenBSD is about security and paranoia Yes, FreeBSD would like Linux s device drivers Alternatives Performance testing Tick list on Wikipedia Page 10 October 29, 2009 W. Mauerer Corporate Technology SE 2

15 Feature Comparison Commonplaces Yes, OpenSolaris focusses on tracing, zones, and ZFS Yes, Linux still focusses on... everything Yes, NetBSD is really about multi-arch support Yes, OpenBSD is about security and paranoia Yes, FreeBSD would like Linux s device drivers Alternatives Performance testing Tick list on Wikipedia Page 10 October 29, 2009 W. Mauerer Corporate Technology SE 2

16 Feature Comparison Commonplaces Yes, OpenSolaris focusses on tracing, zones, and ZFS Yes, Linux still focusses on... everything Yes, NetBSD is really about multi-arch support Yes, OpenBSD is about security and paranoia Yes, FreeBSD would like Linux s device drivers Alternatives Performance testing Tick list on Wikipedia Page 10 October 29, 2009 W. Mauerer Corporate Technology SE 2

17 Feature Comparison Commonplaces Yes, OpenSolaris focusses on tracing, zones, and ZFS Yes, Linux still focusses on... everything Yes, NetBSD is really about multi-arch support Yes, OpenBSD is about security and paranoia Yes, FreeBSD would like Linux s device drivers Alternatives Performance testing Tick list on Wikipedia Page 10 October 29, 2009 W. Mauerer Corporate Technology SE 2

18 Feature Comparison Commonplaces Yes, OpenSolaris focusses on tracing, zones, and ZFS Yes, Linux still focusses on... everything Yes, NetBSD is really about multi-arch support Yes, OpenBSD is about security and paranoia Yes, FreeBSD would like Linux s device drivers Alternatives Performance testing Tick list on Wikipedia Page 10 October 29, 2009 W. Mauerer Corporate Technology SE 2

19 Outline 1 Introduction 2 Evaluated Systems 3 Feature Comparison 4 Quantitative Measurements Code Shape Complexity Size Matters Dynamics 5 Summary Page 11 October 29, 2009 W. Mauerer Corporate Technology SE 2

20 Quantitative measurements Quantitative!= Useful Formal complexity vs. real complexity Line counting == bean counting? Reliability of direct comparisons? Question Can measurements provide meaningful insights? Page 12 October 29, 2009 W. Mauerer Corporate Technology SE 2

21 Quantitative measurements Quantitative!= Useful Formal complexity vs. real complexity Line counting == bean counting? Reliability of direct comparisons? Question Can measurements provide meaningful insights? Page 12 October 29, 2009 W. Mauerer Corporate Technology SE 2

22 Code Shape Page 13 October 29, 2009 W. Mauerer Corporate Technology SE 2

23 Code Shape: Composition Drivers Architectures Headers Core Docs FS MM Net Others Size [MiB] Linux FreeBSD NetBSD OpenBSD OpenSolaris Page 14 October 29, 2009 W. Mauerer Corporate Technology SE 2

24 Code Shape: Composition Relative Weight Drivers Architectures Headers Core Docs FS MM Net Others Linux FreeBSD NetBSD OpenBSD OpenSolaris Page 14 October 29, 2009 W. Mauerer Corporate Technology SE 2

25 Code shape: Measurements Measurements Line counts for Input Blanks Comments Preprocessor Statements Declarative/executable instructions Measured per File Function Structure/Union Measured over 5 years of history Page 15 October 29, 2009 W. Mauerer Corporate Technology SE 2

26 Code Shape: Linux Ratio Core Kernel and Memory Management Comments to Code (mm) Preprocessor to Code (mm) Comments to Code (core) Preprocessor to Code (core) Ratio File System and Device Drivers Comments to Code (drivers) Preprocessor to Code (drivers) Comments to Code (fs) Preprocessor to Code (fs) Kernel Release Kernel Release Page 16 October 29, 2009 W. Mauerer Corporate Technology SE 2

27 Code Shape: FreeBSD Ratio Core Kernel and Memory Management Comments to Code (mm) Preprocessor to Code (mm) Comments to Code (core) Preprocessor to Code (core) Ratio File System and Device Drivers Comments to Code (drivers) Preprocessor to Code (drivers) Comments to Code (fs) Preprocessor to Code (fs) Kernel Release Kernel Release Page 17 October 29, 2009 W. Mauerer Corporate Technology SE 2

28 Code Shape: Results Pattern: Documentation Memory Management Filesystems < Core Kernel Device Drivers Pattern: Preprocessor Use Comparable between subsystems of kernels OpenBSD, NetBSD: More tendency towards preprocessor Exception: OpenSolaris Very little preprocessor use Documentation: core < fs drivers < mm Page 18 October 29, 2009 W. Mauerer Corporate Technology SE 2

29 Code Shape: Results Pattern: Documentation Memory Management Filesystems < Core Kernel Device Drivers Pattern: Preprocessor Use Comparable between subsystems of kernels OpenBSD, NetBSD: More tendency towards preprocessor Exception: OpenSolaris Very little preprocessor use Documentation: core < fs drivers < mm Page 18 October 29, 2009 W. Mauerer Corporate Technology SE 2

30 Code Shape: Results Pattern: Documentation Memory Management Filesystems < Core Kernel Device Drivers Pattern: Preprocessor Use Comparable between subsystems of kernels OpenBSD, NetBSD: More tendency towards preprocessor Exception: OpenSolaris Very little preprocessor use Documentation: core < fs drivers < mm Page 18 October 29, 2009 W. Mauerer Corporate Technology SE 2

31 Complexity Page 19 October 29, 2009 W. Mauerer Corporate Technology SE 2

32 Complexity Measures Complexities Cyclomatic complexity Essential complexity Maximal nesting Maximal essential knots Henry-Kafura Information Flow Page 20 October 29, 2009 W. Mauerer Corporate Technology SE 2

33 Complexity: Comparison of measures avgcyclomatic avgcyclomaticmodified avgcyclomaticstrict avgessential avgknots Complexity Measure Kernel Release Similar picture for other systems Long-term behaviour, not absolute numbers important Page 21 October 29, 2009 W. Mauerer Corporate Technology SE 2

34 Complexity: NetBSD 9 8 avgcyclomaticmodified (core) avgessential (core) avgcyclomaticmodified (mm) avgessential (mm) avgcyclomaticmodified (fs) avgessential (fs) avgcyclomaticmodified (drivers) avgessential (drivers) Complexity Measure Complexity Measure Kernel Release Kernel Release Discontinuities and Flips! Page 22 October 29, 2009 W. Mauerer Corporate Technology SE 2

35 Complexity: OpenBSD 9 8 avgcyclomaticmodified (core) avgessential (core) avgcyclomaticmodified (mm) avgessential (mm) avgcyclomaticmodified (fs) avgessential (fs) avgcyclomaticmodified (drivers) avgessential (drivers) Complexity Measure Kernel Release Complexity Measure Kernel Release Discontinuities and Flips! Page 23 October 29, 2009 W. Mauerer Corporate Technology SE 2

36 Complexity: Interpretation Interpretation? Hard to attribute discontinuous jumps to specific causes Similar relations between subsystems Further averaging required Complexity ordering Let A, B denote subsystems. Define ordering (with c ]0.5, 1]): A B 1 #M #R r R m M Θ(m(B r ) m(a r )) c Page 24 October 29, 2009 W. Mauerer Corporate Technology SE 2

37 Complexity: Interpretation Interpretation? Hard to attribute discontinuous jumps to specific causes Similar relations between subsystems Further averaging required Complexity ordering Let A, B denote subsystems. Define ordering (with c ]0.5, 1]): A B 1 #M #R r R m M Θ(m(B r ) m(a r )) c Page 24 October 29, 2009 W. Mauerer Corporate Technology SE 2

38 Complexity Ordering: Results Linux OpenSolaris OpenBSD NetBSD FreeBSD Fail Pass Fail Pass Fail Pass Fail Pass Fail Pass Hypothesis Core MM MM FS. Page 25 October 29, 2009 W. Mauerer Corporate Technology SE 2

39 Size Matters Page 26 October 29, 2009 W. Mauerer Corporate Technology SE 2

40 Size Matters: OpenBSD Size [MiB] 4 3 Core Memory Management Networking Size [MiB] Drivers Filesystems Architecture Support Kernel Version Kernel Version Results Discontinuities attributable to specific causes Per-subsystem consideration required Linear vs. superlinear Page 27 October 29, 2009 W. Mauerer Corporate Technology SE 2

41 Size Matters: Linux Size [MiB] Core Memory Management Networking Size [MiB] Drivers Filesystems Architecture Support Kernel Version Kernel Version Results Discontinuities attributable to specific causes Per-subsystem consideration required Linear vs. superlinear Page 27 October 29, 2009 W. Mauerer Corporate Technology SE 2

42 Size Matters Size [MiB] Core Memory Management Networking Size [MiB] Drivers Filesystems Architecture Support Kernel Version Kernel Version Results Discontinuities attributable to specific causes Per-subsystem consideration required Linear vs. superlinear Page 27 October 29, 2009 W. Mauerer Corporate Technology SE 2

43 Dynamics Page 28 October 29, 2009 W. Mauerer Corporate Technology SE 2

44 Dynamics of development Global analysis: Traditional method VCSs allow decomposition to patch level Good time resolution essential Page 29 October 29, 2009 W. Mauerer Corporate Technology SE 2

45 Dynamics: Linux Changes # lines affected Kernel Release (Well known from lwn.net and the Linux foundation) Page 30 October 29, 2009 W. Mauerer Corporate Technology SE 2

46 Dynamics: Linux # lines affected Insertions Deletions Sum Kernel Release (Well known from lwn.net and the Linux foundation) Page 30 October 29, 2009 W. Mauerer Corporate Technology SE 2

47 Dynamics: FreeBSD Insertions (Release) Deletions (Release) Both (Release) Insertions (Head) Deletions (Head) Both (Head) # lines affected Kernel Release Page 31 October 29, 2009 W. Mauerer Corporate Technology SE 2

48 Dynamics: NetBSD Changes # lines affected Insertions Deletions Both # lines affected Kernel Release Kernel Release Page 32 October 29, 2009 W. Mauerer Corporate Technology SE 2

49 Dynamics: OpenBSD # lines affected Changes # lines affected Insertions Deletions Both Kernel Release Kernel Release Page 33 October 29, 2009 W. Mauerer Corporate Technology SE 2

50 Dynamics: OpenSolaris # lines affected Changes on124 on120 on115 on110 on105 on100 on95 on90 on85 on80 on75 on70 on65 on60 on55 on50 on45 on40 on35 on30 on25 on20 # lines affected Insertions Deletions Sum on124 on120 on115 on110 on105 on100 on95 on90 on85 on80 on75 on70 on65 on60 on55 on50 on45 on40 on35 on30 on25 on20 Kernel Release Kernel Release Page 34 October 29, 2009 W. Mauerer Corporate Technology SE 2

51 Dynamics: Comparison Linux FreeBSD NetBSD OpenBSD OpenSolaris Cumulative Changes # lines affected Time [days] Page 35 October 29, 2009 W. Mauerer Corporate Technology SE 2

52 Dynamics: Comparison Linux FreeBSD NetBSD OpenBSD OpenSolaris Cumulative Changes # lines affected Time [days] Conclusions VCS: Key influence on dynamics Linear vs. superlinear: Relevant? Maintainability criteria don t match reality Page 35 October 29, 2009 W. Mauerer Corporate Technology SE 2

53 Outline 1 Introduction 2 Evaluated Systems 3 Feature Comparison 4 Quantitative Measurements Code Shape Complexity Size Matters Dynamics 5 Summary Page 36 October 29, 2009 W. Mauerer Corporate Technology SE 2

54 Summary Single static snapshots Dynamics Metrics Version Control Maintainability Indices Quantitative similarities Documentation, Preprocessor patterns Complexity relationships Page 37 October 29, 2009 W. Mauerer Corporate Technology SE 2

55 Thank you for listening! Page 38 October 29, 2009 W. Mauerer Corporate Technology SE 2

CS307 Operating Systems Introduction Fan Wu

CS307 Operating Systems Introduction Fan Wu CS307 Introduction Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2018 2 UNIX-family: BSD(Berkeley Software Distribution), System-V, GNU/Linux, MINIX, Nachos,

More information

README for X11R7.5. The X.Org Foundation 1. October 2009

README for X11R7.5. The X.Org Foundation 1. October 2009 The X.Org Foundation 1 October 2009 X11R7.5 is an Open Source version of the X Window System that supports many UNIX and UNIX-like operating systems (such as Linux, FreeBSD, NetBSD, OpenBSD, and Solaris)

More information

What s next. Computer Systems A Programmer s Perspective

What s next. Computer Systems A Programmer s Perspective What s next Computer Systems A Programmer s Perspective 198 The role of the operating system Protect the computer from misuse Provide an abstraction for using the hardware so that programs can be written

More information

Using git to download and update BOUT++

Using git to download and update BOUT++ ER Meeting 14th Sept 2015 1/28 Using git to download and update BOUT++ Peter Hill ER Meeting 14th Sept 2015 2/28 Outline What is git? Getting git Basic git usage Getting BOUT++ Compiling BOUT++ Running

More information

FreeBSD Jails vs. Solaris Zones

FreeBSD Jails vs. Solaris Zones FreeBSD Jails vs. Solaris Zones (and OpenSolaris) James O Gorman james@netinertia.co.uk Introduction FreeBSD user since 4.4-RELEASE Started using Solaris ~3.5 years ago Using jails for website hosting

More information

Version control system (VCS)

Version control system (VCS) Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible

More information

Intro to Analytics Learning Web Analytics

Intro to Analytics Learning Web Analytics Intro to Analytics 100 - Learning Web Analytics When you hear the word analytics, what does this mean to you? Analytics is the discovery, interpretation and communication of meaningful patterns in data.

More information

Kernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023

Kernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023 Operating Systems Autumn 2017-2018 Outline 1 2 3 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview

More information

A Practical Introduction to Version Control Systems

A Practical Introduction to Version Control Systems A Practical Introduction to Version Control Systems A random CAKES(less) talk on a topic I hope others find useful! a.brampton@lancs.ac.uk 4th February 2009 Outline 1 What is Version Control Basic Principles

More information

Image Compression With Haar Discrete Wavelet Transform

Image Compression With Haar Discrete Wavelet Transform Image Compression With Haar Discrete Wavelet Transform Cory Cox ME 535: Computational Techniques in Mech. Eng. Figure 1 : An example of the 2D discrete wavelet transform that is used in JPEG2000. Source:

More information

Getting Started with Team Coding Applicable to Toad for Oracle Suite 2016 (v12.9) and higher

Getting Started with Team Coding Applicable to Toad for Oracle Suite 2016 (v12.9) and higher Getting Started with Team Coding Applicable to Toad for Oracle Suite 2016 (v12.9) and higher John Bowman Toad for Oracle Development Table of Contents About Team Coding... 2 Working with a Version Control

More information

Why BSD? Michael W Lucas

Why BSD? Michael W Lucas Why BSD? Michael W Lucas https://mwl.io Who I Am? Author Unix since 198(mumble), sysadmin since 1995 Founding member of SouthEast Michigan BSD User Group, semibug.org Blatant BSD demagogue Author of many

More information

Comparison between SLOCs and number of files as size metrics for software evolution analysis 1

Comparison between SLOCs and number of files as size metrics for software evolution analysis 1 Comparison between SLOCs and number of files as size metrics for software evolution analysis 1 Comparison between SLOCs and number of files as size metrics for software evolution analysis Israel Herraiz,

More information

Morningstar Direct SM Equity Attribution

Morningstar Direct SM Equity Attribution Equity attribution, also known as micro attribution, compares a portfolio s performance to that of a benchmark by decomposing the excess return to explain the impact of various investment decisions. Analyze

More information

Using Machine Learning to Optimize Storage Systems

Using Machine Learning to Optimize Storage Systems Using Machine Learning to Optimize Storage Systems Dr. Kiran Gunnam 1 Outline 1. Overview 2. Building Flash Models using Logistic Regression. 3. Storage Object classification 4. Storage Allocation recommendation

More information

CS Operating Systems

CS Operating Systems CS 447 - Operating Systems Syllabus Assignments -- Uses Blitz (facultyweb.cs.wwu.edu/~phil/classes/blitz) Environment UNIX (Linux, OS X, NetBSD, FreeBSD...) Should be the same since Blitz is a Virtual

More information

Using a VMware Network Infrastructure to Collect Traffic Traces for Intrusion Detection Evaluation

Using a VMware Network Infrastructure to Collect Traffic Traces for Intrusion Detection Evaluation Using a VMware Network Infrastructure to Collect Traffic Traces for Intrusion Detection Evaluation by Frederic Massicotte, Mathieu Couture and Annie De Montigny Leboeuf http://www.crc.ca/networksystems_security/

More information

Rust on FreeBSD. Luca Pizzamiglio

Rust on FreeBSD. Luca Pizzamiglio Rust on FreeBSD Luca Pizzamiglio pizzamig@freebsd.org 2018-11-08 Rust on FreeBSD whoami(1) Luca Pizzamiglio FreeBSD user since 2009 FreeBSD contributor since 2011 FreeBSD port committer since 2017 The

More information

The Future of ZFS in FreeBSD

The Future of ZFS in FreeBSD The Future of ZFS in FreeBSD Martin Matuška mm@freebsd.org VX Solutions s. r. o. bsdday.eu 05.11.2011 About this presentation This presentation will give a brief introduction into ZFS and answer to the

More information

A Framework for Source Code Metrics

A Framework for Source Code Metrics A Framework for Source Code Metrics Neli Maneva, Software Engineering Department, IMI, BAS Nikolay Grozev, Musala Soft Ltd Delyan Lilov, Musala Soft Ltd Overview Introduction Background and Analysis Source

More information

Porting ZFS file system to FreeBSD. Paweł Jakub Dawidek

Porting ZFS file system to FreeBSD. Paweł Jakub Dawidek Porting ZFS file system to FreeBSD Paweł Jakub Dawidek The beginning... ZFS released by SUN under CDDL license available in Solaris / OpenSolaris only ongoing Linux port for FUSE framework

More information

Challenges in Mining Whole Software Universe

Challenges in Mining Whole Software Universe Challenges in Mining Whole Software Universe Katsuro Inoue Osaka University Cover Ratio Analyzing Evolution of kern_malloc 1 1 2 3 4 13 15 19 24 36 58 62 65 1 Lites 1.0 Kernel Source 2 Archive - CMU Mach

More information

ECS 150 Operating Systems

ECS 150 Operating Systems ECS 150 Operating Systems March 29th, 2007 Operating Systems Some Examples Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Operating Systems Some Examples Desktop/Workstation/Server

More information

Latest releases: 5.3, The most popular of the *BSDs. Historically aimed for maximum. performance on X86. Now supports most of the popular

Latest releases: 5.3, The most popular of the *BSDs. Historically aimed for maximum. performance on X86. Now supports most of the popular Short history Based on: http://www.levenez.com/unix/ 1978 BSD (Barkeley software distribution) Based on unix system developed by Bell. 1991 386BSD BSD port to Intel (Based on 4.3BSD). 1991 Linux based

More information

Advanced Unix System Administration

Advanced Unix System Administration Advanced Unix System Administration Lecture 5 February 14, 2007 Steven Luo Shared Libraries The dynamic linker Binaries have a symbol table containing functions, etc. and

More information

Refactoring and Rearchitecturing

Refactoring and Rearchitecturing Refactoring and Rearchitecturing Overview Introduction Refactoring vs reachitecting Exploring the situation Legacy code Code written by others Code already written Not supported code Code without automated

More information

The NetBSD Logical Volume Manager

The NetBSD Logical Volume Manager The NetBSD Logical Volume Manager Adam Hamsik The NetBSD Foundation haad@netbsd.org Abstract LVM is a method of allocating disk space on a disk storage devices. Which is more flexible than conventional

More information

Home Page. Title Page. Contents. Page 1 of 17. Version Control. Go Back. Ken Bloom. Full Screen. Linux User Group of Davis March 1, Close.

Home Page. Title Page. Contents. Page 1 of 17. Version Control. Go Back. Ken Bloom. Full Screen. Linux User Group of Davis March 1, Close. Page 1 of 17 Version Control Ken Bloom Linux User Group of Davis March 1, 2005 Page 2 of 17 1. Version Control Systems CVS BitKeeper Arch Subversion SVK 2. CVS 2.1. History started in 1986 as a bunch of

More information

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1 Linux Essentials Smith, Roderick W. ISBN-13: 9781118106792 Table of Contents Introduction xvii Chapter 1 Selecting an Operating System 1 What Is an OS? 1 What Is a Kernel? 1 What Else Identifies an OS?

More information

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila Xen and the Art of Virtualization Nikola Gvozdiev Georgian Mihaila Outline Xen and the Art of Virtualization Ian Pratt et al. I. The Art of Virtualization II. Xen, goals and design III. Xen evaluation

More information

CptS 360 (System Programming) Unit 2: Introduction to UNIX and Linux

CptS 360 (System Programming) Unit 2: Introduction to UNIX and Linux CptS 360 (System Programming) Unit 2: Introduction to UNIX and Linux Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2018 Motivation APIs have a history: Learn

More information

2IS55 Software Evolution. Software metrics. Alexander Serebrenik

2IS55 Software Evolution. Software metrics. Alexander Serebrenik 2IS55 Software Evolution Software metrics Alexander Serebrenik Assignments Assignment 3: Feedback: 3.875/5 BUT only 8 responces Evaluation Q3: Feedback: Thank you! BUT only 6 responces Assignment 4: Deadline:

More information

A Comparison of File. D. Roselli, J. R. Lorch, T. E. Anderson Proc USENIX Annual Technical Conference

A Comparison of File. D. Roselli, J. R. Lorch, T. E. Anderson Proc USENIX Annual Technical Conference A Comparison of File System Workloads D. Roselli, J. R. Lorch, T. E. Anderson Proc. 2000 USENIX Annual Technical Conference File System Performance Integral component of overall system performance Optimised

More information

<Insert Picture Here> Lustre Development

<Insert Picture Here> Lustre Development Lustre Development Eric Barton Lead Engineer, Lustre Group Lustre Development Agenda Engineering Improving stability Sustaining innovation Development Scaling

More information

Towards a Wireless Lexicon. Philip Levis Computer Systems Lab Stanford University 20.viii.2007

Towards a Wireless Lexicon. Philip Levis Computer Systems Lab Stanford University 20.viii.2007 Towards a Wireless Lexicon Philip Levis Computer Systems Lab Stanford University 20.viii.2007 Low Power Wireless Low cost, numerous devices Wireless sensornets Personal area networks (PANs) Ad-hoc networks

More information

An Empirical Study of Operating Systems Errors. Jing Huang

An Empirical Study of Operating Systems Errors. Jing Huang An Empirical Study of Operating Systems Errors Jing Huang Background previous research manual inspection of logs, testing, and surveys because static analysis is applied uniformly to the entire kernel

More information

OPEN SOURCE SOFTWARE

OPEN SOURCE SOFTWARE Introduction to Open Source Software Development Spring semester, 2017 School of Computer Science and Engineering, Pusan National University Joon-Seok Kim OPEN SOURCE SOFTWARE Outline Open source software

More information

Fouad Riaz Bajwa. Co-Founder & FOSS Advocate FOSSFP - ifossf International Free and open Source Software Foundation, MI, USA.

Fouad Riaz Bajwa. Co-Founder & FOSS Advocate FOSSFP - ifossf International Free and open Source Software Foundation, MI, USA. Fouad Riaz Bajwa Co-Founder & FOSS Advocate FOSSFP - ifossf International Free and open Source Software Foundation, MI, USA. www.ifossf.org Worst Security Threats Sharing Knowledge What makes FOSS secure?

More information

(S)LOC Count Evolution for Selected OSS Projects. Tik Report 315

(S)LOC Count Evolution for Selected OSS Projects. Tik Report 315 (S)LOC Count Evolution for Selected OSS Projects Tik Report 315 Arno Wagner arno@wagner.name December 11, 009 Abstract We measure the dynamics in project code size for several large open source projects,

More information

It s a Unix(-like) System? An Introduction to TrueOS and Open Source Software. Copyright ixsystems, Inc. 2017

It s a Unix(-like) System? An Introduction to TrueOS and Open Source Software. Copyright ixsystems, Inc. 2017 It s a Unix(-like) System? An Introduction to TrueOS and Open Source Software Copyright ixsystems, Inc. 2017 Introduction Ken Moore - Senior software engineer at ixsystems. Core team member for TrueOS

More information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read) 1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?

More information

A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines

A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines Jakob Axelsson School of Innovation, Design and Engineering, Mälardalen University, SE-721 23 Västerås, Sweden

More information

Kismet. Dragorn July 10,

Kismet. Dragorn July 10, Kismet Dragorn dragorn@kismetwireless.net July 10, 2004 1 Kismet 802.11 sniffer Can sniff 11a, 11b, and 11g with the right hardware Completely passive Signature and Trend Layer2 IDS Runs on Linux, some

More information

What is FreeBSD? Christian Brüffer The FreeBSD Project

What is FreeBSD? Christian Brüffer The FreeBSD Project What is FreeBSD? Christian Brüffer The FreeBSD Project Overview What is FreeBSD? License Release Engineering Main Features BSD/FreeBSD History Organizational Structure What is FreeBSD?

More information

ComLinC User Manual. Kefei Lu

ComLinC User Manual. Kefei Lu ComLinC User Manual Kefei Lu December 3, 2007 Contents 1 Introduction to ComLinC 1 1.1 Licensing............................... 1 1.2 Getting Started............................ 1 1.2.1 Prerequists..........................

More information

Professional Linux Kernel Architecture By Wolfgang Mauerer

Professional Linux Kernel Architecture By Wolfgang Mauerer Professional Linux Kernel Architecture By Wolfgang Mauerer If searched for the book Professional Linux Kernel Architecture by Wolfgang Mauerer in pdf form, in that case you come on to the loyal site. We

More information

Independent implementations of an interface

Independent implementations of an interface Software property topics interfaces data formats standards and standardization protection mechanisms trade secrets licenses patents copyrights open source / free software real software systems Independent

More information

SOFTWARE CONFIGURATION MANAGEMENT

SOFTWARE CONFIGURATION MANAGEMENT SOFTWARE CONFIGURATION MANAGEMENT Cape Town SPIN - Albert Visagie - 19 March 2008 Goals Where were we? And get back there reliably. Where are we? How did we get here? Which bugs were fixed in this version?

More information

CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems

CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems Professor Patrick McDaniel Fall 2015 Assignment #1 See webpage Due 9/14/15 Page 2 UNIX Utilities: tar tar collects multiple

More information

Practical Programming with R

Practical Programming with R Practical Programming with R Stuart Borrett biol534 Why to write code Bruno Olveira http://nicercode.github.io/blog/2013-04-05-why-nice-code/ Review Lab 1 What were the most challenging Exercises? Why?

More information

ZFS. Right Now! Jeff Bonwick Sun Fellow

ZFS. Right Now! Jeff Bonwick Sun Fellow ZFS Right Now! Jeff Bonwick Sun Fellow Create a Mirrored ZFS Pool, tank # zpool create tank mirror c2d0 c3d0 That's it. You're done. # df Filesystem size used avail capacity Mounted on tank 233G 18K 233G

More information

Chapter 7: Linear regression

Chapter 7: Linear regression Chapter 7: Linear regression Objective (1) Learn how to model association bet. 2 variables using a straight line (called "linear regression"). (2) Learn to assess the quality of regression models. (3)

More information

Agile Mind Mathematics 6 Scope and Sequence, Indiana Academic Standards for Mathematics

Agile Mind Mathematics 6 Scope and Sequence, Indiana Academic Standards for Mathematics In the three years prior Grade 6, students acquired a strong foundation in numbers and operations, geometry, measurement, and data. Students are fluent in multiplication of multi-digit whole numbers and

More information

Empirical Study on Impact of Developer Collaboration on Source Code

Empirical Study on Impact of Developer Collaboration on Source Code Empirical Study on Impact of Developer Collaboration on Source Code Akshay Chopra University of Waterloo Waterloo, Ontario a22chopr@uwaterloo.ca Parul Verma University of Waterloo Waterloo, Ontario p7verma@uwaterloo.ca

More information

USPAS Simulation of Beam and Plasma Systems Steven M. Lund, Jean-Luc Vay, Remi Lehe, Daniel Winklehner and David L. Bruhwiler Lecture: Software Version Control Instructor: David L. Bruhwiler Contributors:

More information

Grade 1 Report Card. Rubrics Mathematics

Grade 1 Report Card. Rubrics Mathematics Operations and Algebraic Thinking Grade Report Card Rubrics Mathematics Standard: Demonstrates multiple strategies to fluently add and subtract within 0 (including but not limited to: counting on and making

More information

Intro Technical details Using vcsh Outlook Outro. vcsh. manage config files in $HOME via fake bare git repositories

Intro Technical details Using vcsh Outlook Outro. vcsh. manage config files in $HOME via fake bare git repositories Intro Technical details Using Outlook Outro manage config files in $HOME via fake bare git repositories Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com 2012-02-04 Intro Technical

More information

The Design and Implementation of OpenBGPd

The Design and Implementation of OpenBGPd The Design and Implementation of OpenBGPd André Oppermann Claudio Jeker SWINOG-9 Berne, 29. September 2004 The Design

More information

Russell Doty Red Hat

Russell Doty Red Hat Russell Doty Red Hat disclaimer This presentation does not constitute advice or legal advice. It represents my personal observations and insights. I m not speaking for Red Hat. If you have questions, seek

More information

Graduate Topics in Biophysical Chemistry CH Assignment 0 (Programming Assignment) Due Monday, March 19

Graduate Topics in Biophysical Chemistry CH Assignment 0 (Programming Assignment) Due Monday, March 19 Introduction and Goals Graduate Topics in Biophysical Chemistry CH 8990 03 Assignment 0 (Programming Assignment) Due Monday, March 19 It is virtually impossible to be a successful scientist today without

More information

Software Lesson 1 Outline

Software Lesson 1 Outline Software Lesson 1 Outline 1. Software Lesson 1 Outline 2. What is Software? A Program? Data? 3. What are Instructions? 4. What is a Programming Language? 5. What is Source Code? What is a Source File?

More information

COMP2330 Data Communications and Networking

COMP2330 Data Communications and Networking COMP2330 Data Communications and Networking Dr. Chu Xiaowen (Second semester, 2009-2010 academic year) Laboratory 3 Last update: Feb-3-2009 Use Wireshark to Analyze IP Packet Objectives: (1) Use Wireshark

More information

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1 WHO AM I? @tushar_rishav GSoC'16 student contributing to coala - a static code analysis tool, under Python So ware Foundation. A senior

More information

Software Distribution and Package Management

Software Distribution and Package Management Software Distribution and Package Management Pieter Lexis February 15, 2016 Package Management - Pieter Lexis February 15, 2016 1 / 1 whoami Pieter Lexis OS3 graduate SysAdmin for a long time DNS + DNSSEC

More information

Version Control. CSC207 Fall 2014

Version Control. CSC207 Fall 2014 Version Control CSC207 Fall 2014 Problem 1: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope you can remember what changes

More information

System Administration. Storage Systems

System Administration. Storage Systems System Administration Storage Systems Agenda Storage Devices Partitioning LVM File Systems STORAGE DEVICES Single Disk RAID? RAID Redundant Array of Independent Disks Software vs. Hardware RAID 0, 1,

More information

UBC: An Efficient Unified I/O and Memory Caching Subsystem for NetBSD

UBC: An Efficient Unified I/O and Memory Caching Subsystem for NetBSD UBC: An Efficient Unified I/O and Memory Caching Subsystem for NetBSD Chuck Silvers The NetBSD Project chuq@chuq.com, http://www.netbsd.org/ Abstract This paper introduces UBC ( Unified Buffer Cache ),

More information

Software Metrics and Design Principles. What is Design?

Software Metrics and Design Principles. What is Design? Software Metrics and Design Principles Chapters 5,8 What is Design? Design is the process of creating a plan or blueprint to follow during actual construction Design is a problem-solving activity that

More information

CSE 4/521 Introduction to Operating Systems

CSE 4/521 Introduction to Operating Systems CSE 4/521 Introduction to Operating Systems Lecture 3 Operating Systems Structures (Operating-System Services, User and Operating-System Interface, System Calls, Types of System Calls, System Programs,

More information

EXPLODE: a Lightweight, General System for Finding Serious Storage System Errors. Junfeng Yang, Can Sar, Dawson Engler Stanford University

EXPLODE: a Lightweight, General System for Finding Serious Storage System Errors. Junfeng Yang, Can Sar, Dawson Engler Stanford University EXPLODE: a Lightweight, General System for Finding Serious Storage System Errors Junfeng Yang, Can Sar, Dawson Engler Stanford University Why check storage systems? Storage system errors are among the

More information

Making Applications Mobile

Making Applications Mobile Making Applications Mobile using containers Ottawa Linux Symposium, July 2006 Cedric Le Goater Daniel Lezcano Clement Calmels Dave Hansen

More information

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Case Studies Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics The Original UNIX File System FFS Ext2 FAT 2 UNIX FS (1)

More information

Using Git For Development. Shantanu Pavgi, UAB IT Research Computing

Using Git For Development. Shantanu Pavgi, UAB IT Research Computing Using Git For Development Shantanu Pavgi, pavgi@uab.edu UAB IT Research Computing Outline Version control system Git Branching and Merging Workflows Advantages Version Control System (VCS) Recording changes

More information

Engage Education Foundation

Engage Education Foundation E Free Exam for 2013-17 VCE study design Engage Education Foundation Units 3 and 4 Visual Communication and Design Practice Exam Solutions Stop! Don t look at these solutions until you have attempted the

More information

The Myth and Reality of using Haskell in the Real World

The Myth and Reality of using Haskell in the Real World The Myth and Reality of using Haskell in the Real World Experiences from darcs Cornell University September 24, 2005 Outline Introduction to darcs What s an SCM? Ideas behind darcs Myth: Haskell code is

More information

Version Control with Git

Version Control with Git Version Control with Git Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel based on https://git-scm.com/book What is Version (Revision) Control A system for managing changes

More information

Version Control. 1 Version Control Systems. Ken Bloom. Linux User Group of Davis March 1, 2005

Version Control. 1 Version Control Systems. Ken Bloom. Linux User Group of Davis March 1, 2005 Version Control Ken Bloom Linux User Group of Davis March 1, 2005 You ve probably heard of version control systems like CVS being used to develop software. Real briefly, a version control system is generally

More information

UNIX/Linux Fundamentals Lecture 1. Nick Stiffler Philip Conrad

UNIX/Linux Fundamentals Lecture 1. Nick Stiffler Philip Conrad UNIX/Linux Fundamentals Lecture 1 Nick Stiffler Philip Conrad Matrix Reloaded What will we cover? Operating system overview UNIX commands, shell & process mgt. Scripting languages Programming tools Various

More information

OS Extensibility: Spin, Exo-kernel and L4

OS Extensibility: Spin, Exo-kernel and L4 OS Extensibility: Spin, Exo-kernel and L4 Extensibility Problem: How? Add code to OS how to preserve isolation? without killing performance? What abstractions? General principle: mechanisms in OS, policies

More information

The future of X.Org on non-gnu/linux systems

The future of X.Org on non-gnu/linux systems The future of X.Org on non-gnu/linux systems Matthieu Herrb OpenBSD/X.Org February 2, 2013 Introduction X has always been multi-platform XFree86 was started on SVr4 and FreeBSD, ported on Linux later.

More information

Chapter 3. Revision Control

Chapter 3. Revision Control Chapter 3 Revision Control We begin our journey into software engineering before we write a single line of code. Revision control systems (RCSes) such as Subversion or CVS are astoundingly useful for single-developer

More information

Why lock down the kernel? Matthew Garrett

Why lock down the kernel? Matthew Garrett Why lock down the kernel? Matthew Garrett What are we trying to do? There s a barrier between users and root Should there be a barrier between root and the kernel? Some prior art CONFIG_MODULE_SIG_FORCE

More information

Practical C Programming

Practical C Programming Practical C Programming Advanced Preprocessor # - quotes a string ## - concatenates things #pragma h3p://gcc.gnu.org/onlinedocs/cpp/pragmas.html #warn #error Defined Constants Macro FILE LINE DATE TIME

More information

Creating Accessible Word Documents

Creating Accessible Word Documents Creating Accessible Word Documents 1. Formatting the Titles and Headings Structure is added to documents by using styles. Using styles helps your readers to visually get a sense of the structure of your

More information

Software Compare and Contrast

Software Compare and Contrast Microsoft Software Compare and Contrast Word Easy to navigate. Compatible with all PC computers. Very versatile. There are lots of templates that can be used to create flyers, calendars, resumes, etc.

More information

FreeBSD/ZFS last word in operating/file systems. BSDConTR Paweł Jakub Dawidek

FreeBSD/ZFS last word in operating/file systems. BSDConTR Paweł Jakub Dawidek FreeBSD/ZFS last word in operating/file systems BSDConTR 2007 Paweł Jakub Dawidek The beginning... ZFS released by SUN under CDDL license available in Solaris / OpenSolaris only ongoing

More information

Software Testing Fundamentals. Software Testing Techniques. Information Flow in Testing. Testing Objectives

Software Testing Fundamentals. Software Testing Techniques. Information Flow in Testing. Testing Objectives Software Testing Fundamentals Software Testing Techniques Peter Lo Software Testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding.

More information

Effective Use of CSAIL Storage

Effective Use of CSAIL Storage Effective Use of CSAIL Storage How to get the most out of your computing infrastructure Garrett Wollman, Jonathan Proulx, and Jay Sekora The Infrastructure Group Introduction Outline of this talk 1. Introductions

More information

A brief overview of DRM/KMS and its status in NetBSD

A brief overview of DRM/KMS and its status in NetBSD A brief overview of DRM/KMS and its status in NetBSD Taylor Riastradh Campbell campbell@mumble.net riastradh@netbsd.org AsiaBSDcon 2015 Tokyo, Japan March 13, 2015 No, not that DRM! DRM: Direct rendering

More information

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands.

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands. EmpAnADa Project C.F.J.Lange@tue.nl June 4 th, 2004 Eindhoven University of Technology, The Netherlands Outline EmpAnADa introduction Part I Completeness and consistency in detail Part II Background UML

More information

System Administration

System Administration System Administration MTAT.08.021 6 ECTS Markko Merzin markko.merzin@ut.ee http://courses.cs.ut.ee/2012/syshald/ 1/55 Markko Merzin Lecturer worked as a System administrator: 15 years (and counting) Researcher:

More information

What are Requirements?

What are Requirements? Domain Specific Languages and Requirements (Engineering) Markus Voelter www.voelter.de voelter@acm.org What are Requirements? 1 a requirement is a singular documented need of what a particular product

More information

Web Ontology for Software Package Management

Web Ontology for Software Package Management Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 331 338. Web Ontology for Software Package Management Péter Jeszenszky Debreceni

More information

Data Visualization via Conditional Formatting

Data Visualization via Conditional Formatting Data Visualization Data visualization - the process of displaying data (often in large quantities) in a meaningful fashion to provide insights that will support better decisions. Data visualization improves

More information

Porting ZFS 1) file system to FreeBSD 2)

Porting ZFS 1) file system to FreeBSD 2) Porting ZFS 1) file system to FreeBSD 2) Paweł Jakub Dawidek 1) last word in file systems 2) last word in operating systems Do you plan to use ZFS in FreeBSD 7? Have you already tried

More information

goto considered not particularly harmful: defect analysis in a major numerical library"

goto considered not particularly harmful: defect analysis in a major numerical library Title Slide Kingston University CISM Faculty Research Seminar................................................................................... goto considered not particularly harmful: defect analysis

More information

Versioning Systems. Tolu Oguntusin(too06u) 12th November, University of Nottingham

Versioning Systems. Tolu Oguntusin(too06u) 12th November, University of Nottingham Introduction to in Software Quality. (too06u) University of Nottingham 12th November, 2008 Outline Introduction to in Software Quality. 1 Introduction to What are? How do they work? How are files stored?

More information

Filesystem Performance on FreeBSD

Filesystem Performance on FreeBSD Filesystem Performance on FreeBSD Kris Kennaway kris@freebsd.org BSDCan 2006, Ottawa, May 12 Introduction Filesystem performance has many aspects No single metric for quantifying it I will focus on aspects

More information

Continuity and Tangent Lines for functions of two variables

Continuity and Tangent Lines for functions of two variables Continuity and Tangent Lines for functions of two variables James K. Peterson Department of Biological Sciences and Department of Mathematical Sciences Clemson University April 4, 2014 Outline 1 Continuity

More information

Beyond Competent (In addition to C)

Beyond Competent (In addition to C) Grade 6 Math Length of Class: School Year Program/Text Used: Everyday Math Competency 1: Ratios and Proportional Relationships - Students will demonstrate the ability to understand ratios and proportional

More information