# bibtab

bibtype: book
filename: unix.bib
label: Stroustrup:2013:CPL
author: Bjarne Stroustrup
title: The C++ Programming Language
publisher: pub-AW
address: pub-AW:adr
edition: Fourth
pages: xiv + 1342
year: 2013
ISBN: 0-321-56384-0 (paperback) OR 0321563840 (paperback)
ISBN13: 978-0-321-56384-2 (paperback) OR 9780321563842 (paperback)
LCCN: QA76.73.C153 S77 2013
bibdate: Thu May 23 17:35:23 MDT 2013
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib; z3950.loc.gov:7090/Voyager
bibtimestamp: 2013.05.23 17:35:23 MDT
URL: http://www.pearsonhighered.com/educator/product/C-Programming-Language-The/9780321563842
subject: C++ (Computer program language)
acknowledgement: ack-nhfb
rawauthor: Bjarne Stroustrup
rawtitle: The {C++} Programming Language
TOC:
Part I. Introductory Material 1. Notes to the Reader 2. A Tour of C++: The Basics 3. A Tour of C++: Abstraction Mechanisms 4. A Tour of C++: Containers and Algorithms 5. A Tour of C++: Concurrency and Utilities Part II. Basic Facilities 6. Types and Declarations 7. Pointers, Arrays, and References 8. Structures, Unions, and Enumerations 9. Statements 10. Expressions 11. Select Operations 12. Functions 13. Exception Handling 14. Namespaces 15. Source Files and Programs Part III. Abstraction Mechanisms 16. Classes 17. Construction, Cleanup, Copy, and Move 18. Overloading 19. Special Operators 20. Derived Classes 21. Class Hierarchies 22. Run-Time Type Information 23. Templates 24. Generic Programming 25. Specialization 26. Instantiation 27. Templates and Hierarchies 28. Metaprogramming 29. A Matrix Design Part IV. The Standard Library 30. Standard Library Summary 31. STL Containers 32. STL Algorithms 33. STL Iterators 34. Memory and Resources 35. Utilities 36. Strings 37. Regular Expressions 38. I/O Streams 39. Locales 40. Numerics 41. Concurrency 42. Threads and Tasks 43. The C Standard Library 44. Compatibility

rawTOC:
Part I. Introductory Material \\ 1. Notes to the Reader \\ 2. A Tour of C++: The Basics \\ 3. A Tour of C++: Abstraction Mechanisms \\ 4. A Tour of C++: Containers and Algorithms \\ 5. A Tour of C++: Concurrency and Utilities \\ Part II. Basic Facilities \\ 6. Types and Declarations \\ 7. Pointers, Arrays, and References \\ 8. Structures, Unions, and Enumerations \\ 9. Statements \\ 10. Expressions \\ 11. Select Operations \\ 12. Functions \\ 13. Exception Handling \\ 14. Namespaces \\ 15. Source Files and Programs \\ Part III. Abstraction Mechanisms \\ 16. Classes \\ 17. Construction, Cleanup, Copy, and Move \\ 18. Overloading \\ 19. Special Operators \\ 20. Derived Classes \\ 21. Class Hierarchies \\ 22. Run-Time Type Information \\ 23. Templates \\ 24. Generic Programming \\ 25. Specialization \\ 26. Instantiation \\ 27. Templates and Hierarchies \\ 28. Metaprogramming \\ 29. A Matrix Design \\ Part IV. The Standard Library \\ 30. Standard Library Summary \\ 31. STL Containers \\ 32. STL Algorithms \\ 33. STL Iterators \\ 34. Memory and Resources \\ 35. Utilities \\ 36. Strings \\ 37. Regular Expressions \\ 38. I/O Streams \\ 39. Locales \\ 40. Numerics \\ 41. Concurrency \\ 42. Threads and Tasks \\ 43. The C Standard Library \\ 44. Compatibility

entry:
@Book{Stroustrup:2013:CPL,
  author =       "Bjarne Stroustrup",
  title =        "The {C++} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Fourth",
  pages =        "xiv + 1342",
  year =         "2013",
  ISBN =         "0-321-56384-0 (paperback)",
  ISBN-13 =      "978-0-321-56384-2 (paperback)",
  LCCN =         "QA76.73.C153 S77 2013",
  bibdate =      "Thu May 23 17:35:23 MDT 2013",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.pearsonhighered.com/educator/product/C-Programming-Language-The/9780321563842",
  acknowledgement = ack-nhfb,
  subject =      "C++ (Computer program language)",
  tableofcontents = "Part I. Introductory Material \\
                 1. Notes to the Reader \\
                 2. A Tour of C++: The Basics \\
                 3. A Tour of C++: Abstraction Mechanisms \\
                 4. A Tour of C++: Containers and Algorithms \\
                 5. A Tour of C++: Concurrency and Utilities \\
                 Part II. Basic Facilities \\
                 6. Types and Declarations \\
                 7. Pointers, Arrays, and References \\
                 8. Structures, Unions, and Enumerations \\
                 9. Statements \\
                 10. Expressions \\
                 11. Select Operations \\
                 12. Functions \\
                 13. Exception Handling \\
                 14. Namespaces \\
                 15. Source Files and Programs \\
                 Part III. Abstraction Mechanisms \\
                 16. Classes \\
                 17. Construction, Cleanup, Copy, and Move \\
                 18. Overloading \\
                 19. Special Operators \\
                 20. Derived Classes \\
                 21. Class Hierarchies \\
                 22. Run-Time Type Information \\
                 23. Templates \\
                 24. Generic Programming \\
                 25. Specialization \\
                 26. Instantiation \\
                 27. Templates and Hierarchies \\
                 28. Metaprogramming \\
                 29. A Matrix Design \\
                 Part IV. The Standard Library \\
                 30. Standard Library Summary \\
                 31. STL Containers \\
                 32. STL Algorithms \\
                 33. STL Iterators \\
                 34. Memory and Resources \\
                 35. Utilities \\
                 36. Strings \\
                 37. Regular Expressions \\
                 38. I/O Streams \\
                 39. Locales \\
                 40. Numerics \\
                 41. Concurrency \\
                 42. Threads and Tasks \\
                 43. The C Standard Library \\
                 44. Compatibility",
}


bibtype: article
filename: unix.bib
label: Teodorovici:2013:BRA
author: Vasile G. Teodorovici
journal: j-SIGSOFT
volume: 38
number: 6
pages: 45--45
month: nov
monthnumber: 11
year: 2013
CODEN: SFENDP
DOI: https://doi.org/10.1145/2532780.2532798
ISSN: 0163-5948 (print), 1943-5843 (electronic) OR 01635948 (print), 19435843 (electronic)
ISSNL: 0163-5948 OR 01635948
bibdate: Wed Aug 1 17:16:31 MDT 2018
bibtimestamp: 2018.08.01 17:16:31 MDT
fjournal: ACM SIGSOFT Software Engineering Notes
acknowledgement: ack-nhfb
journalURL: https://dl.acm.org/citation.cfm?id=J728
rawauthor: Vasile G. Teodorovici
title:
Book Review: booktitle Advanced programming in the UNIX environment, third edition by W. Richard Stevens and Stephen A. Rago

bibsource:
https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

rawtitle:
Book Review: {{\booktitle{Advanced programming in the UNIX environment}}, third edition by W. Richard Stevens and Stephen A. Rago}

entry:
@Article{Teodorovici:2013:BRA,
  author =       "Vasile G. Teodorovici",
  title =        "Book Review: {{\booktitle{Advanced programming in the
                 UNIX environment}}, third edition by W. Richard Stevens
                 and Stephen A. Rago}",
  journal =      j-SIGSOFT,
  volume =       "38",
  number =       "6",
  pages =        "45--45",
  month =        nov,
  year =         "2013",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/2532780.2532798",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:16:31 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}


bibtype: book
filename: unix.bib
label: Wunschiers:2013:CBP
author: Robbe Wunschiers
publisher: pub-SV
address: pub-SV:adr
edition: Second
pages: xxix + 449
year: 2013
DOI: https://doi.org/10.1007/978-3-642-34749-8
ISBN: 3-642-34748-7, 3-642-34749-5 (e-book) OR 3642347487, 3642347495 (ebook)
ISBN13: 978-3-642-34748-1, 978-3-642-34749-8 (e-book) OR 9783642347481, 9783642347498 (ebook)
LCCN: QH324.2 .W86 2013
bibdate: Thu Jul 10 08:57:23 MDT 2014
bibtimestamp: 2014.07.10 08:57:23 MDT
acknowledgement: ack-nhfb
rawauthor: R{\"o}bbe W{\"u}nschiers
title:
Computational biology: a practical introduction to biodata processing and analysis with Linux, MySQL, and R

bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/s-plus.bib; https://www.math.utah.edu/pub/tex/bib/sqlbooks.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
This greatly expanded 2nd edition provides a practical introduction to --- data processing with Linux tools and the programming languages AWK and Perl --- data management with the relational database system MySQL, and --- data analysis and visualization with the statistical computing environment R for students and practitioners in the life sciences. Although written for beginners, experienced researchers in areas involving bioinformatics and computational biology may benefit from numerous tips and tricks that help to process, filter and format large datasets. Learning by doing is the basic concept of this book. Worked examples illustrate how to employ data processing and analysis techniques, e.g. for --- finding proteins potentially causing pathogenicity in bacteria, --- supporting the significance of BLAST with homology modeling, or --- detecting candidate proteins that may be redox-regulated, on the basis of their structure. All the software tools and datasets used are freely available. One section is devoted to explaining setup and maintenance of Linux as an operating system independent virtual machine. The author's experiences and knowledge gained from working and teaching in both academia and industry constitute the foundation for this practical approach.

subject:
Computational biology; Bioinformatics; Automatic Data Processing; Bioinformatics.; Computational biology.

TOC:
Whetting Your Appetite Introduction Content of This Book Computer and Operating Systems Unix/Linux Working with Linux The First Touch Working with Files Remote Connections Playing with Text and Data Files Using the Shell Installing BLAST and ClustalW Shell Programming Regular Expressions Sed Programming AWK Perl Other Programming Languages Advanced Data Analysis Relational Databases with MySQL The Statistics Suite R Worked Examples Genomic Analysis of the Pathogenicity Factors from E. coli Strain O157:H7 and EHEC Strain O104:H4 Limits of BLAST and Homology Modeling Virtual Sequencing of pUC18c Querying for Potential Redox-Regulated Enzymes

rawabstract:
This greatly expanded 2nd edition provides a practical introduction to --- data processing with Linux tools and the programming languages AWK and Perl --- data management with the relational database system MySQL, and --- data analysis and visualization with the statistical computing environment R for students and practitioners in the life sciences. Although written for beginners, experienced researchers in areas involving bioinformatics and computational biology may benefit from numerous tips and tricks that help to process, filter and format large datasets. Learning by doing is the basic concept of this book. Worked examples illustrate how to employ data processing and analysis techniques, e.g. for --- finding proteins potentially causing pathogenicity in bacteria, --- supporting the significance of BLAST with homology modeling, or --- detecting candidate proteins that may be redox-regulated, on the basis of their structure. All the software tools and datasets used are freely available. One section is devoted to explaining setup and maintenance of Linux as an operating system independent virtual machine. The author's experiences and knowledge gained from working and teaching in both academia and industry constitute the foundation for this practical approach.

rawtitle:
Computational biology: a practical introduction to biodata processing and analysis with {Linux}, {MySQL}, and {R}

rawTOC:
Whetting Your Appetite \\ Introduction \\ Content of This Book \\ Computer and Operating Systems \\ Unix/Linux \\ Working with Linux \\ The First Touch \\ Working with Files \\ Remote Connections \\ Playing with Text and Data Files \\ Using the Shell \\ Installing BLAST and ClustalW \\ Shell Programming \\ Regular Expressions \\ Sed \\ Programming \\ AWK \\ Perl \\ Other Programming Languages \\ Advanced Data Analysis \\ Relational Databases with MySQL \\ The Statistics Suite R \\ Worked Examples \\ Genomic Analysis of the Pathogenicity Factors from E. coli Strain O157:H7 and EHEC Strain O104:H4 \\ Limits of BLAST and Homology Modeling \\ Virtual Sequencing of pUC18c \\ Querying for Potential Redox-Regulated Enzymes

entry:
@Book{Wunschiers:2013:CBP,
  author =       "R{\"o}bbe W{\"u}nschiers",
  title =        "Computational biology: a practical introduction to
                 biodata processing and analysis with {Linux}, {MySQL},
                 and {R}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Second",
  pages =        "xxix + 449",
  year =         "2013",
  DOI =          "https://doi.org/10.1007/978-3-642-34749-8",
  ISBN =         "3-642-34748-7, 3-642-34749-5 (e-book)",
  ISBN-13 =      "978-3-642-34748-1, 978-3-642-34749-8 (e-book)",
  LCCN =         "QH324.2 .W86 2013",
  bibdate =      "Thu Jul 10 08:57:23 MDT 2014",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/s-plus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sqlbooks.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "This greatly expanded 2nd edition provides a practical
                 introduction to --- data processing with Linux tools
                 and the programming languages AWK and Perl --- data
                 management with the relational database system MySQL,
                 and --- data analysis and visualization with the
                 statistical computing environment R for students and
                 practitioners in the life sciences. Although written
                 for beginners, experienced researchers in areas
                 involving bioinformatics and computational biology may
                 benefit from numerous tips and tricks that help to
                 process, filter and format large datasets. Learning by
                 doing is the basic concept of this book. Worked
                 examples illustrate how to employ data processing and
                 analysis techniques, e.g. for --- finding proteins
                 potentially causing pathogenicity in bacteria, ---
                 supporting the significance of BLAST with homology
                 modeling, or --- detecting candidate proteins that may
                 be redox-regulated, on the basis of their structure.
                 All the software tools and datasets used are freely
                 available. One section is devoted to explaining setup
                 and maintenance of Linux as an operating system
                 independent virtual machine. The author's experiences
                 and knowledge gained from working and teaching in both
                 academia and industry constitute the foundation for
                 this practical approach.",
  acknowledgement = ack-nhfb,
  subject =      "Computational biology; Bioinformatics; Automatic Data
                 Processing; Bioinformatics.; Computational biology.",
  tableofcontents = "Whetting Your Appetite \\
                 Introduction \\
                 Content of This Book \\
                 Computer and Operating Systems \\
                 Unix/Linux \\
                 Working with Linux \\
                 The First Touch \\
                 Working with Files \\
                 Remote Connections \\
                 Playing with Text and Data Files \\
                 Using the Shell \\
                 Installing BLAST and ClustalW \\
                 Shell Programming \\
                 Regular Expressions \\
                 Sed \\
                 Programming \\
                 AWK \\
                 Perl \\
                 Other Programming Languages \\
                 Advanced Data Analysis \\
                 Relational Databases with MySQL \\
                 The Statistics Suite R \\
                 Worked Examples \\
                 Genomic Analysis of the Pathogenicity Factors from E.
                 coli Strain O157:H7 and EHEC Strain O104:H4 \\
                 Limits of BLAST and Homology Modeling \\
                 Virtual Sequencing of pUC18c \\
                 Querying for Potential Redox-Regulated Enzymes",
}


bibtype: article
filename: unix.bib
label: Alrshah:2014:CSH
author: Mohamed A. Alrshah and Mohamed Othman and Borhanuddin Ali and Zurina Mohd Hanapi
title: Comparative study of high-speed Linux TCP variants over high-BDP networks
journal: j-J-NETW-COMPUT-APPL
volume: 43
pages: 66--75
month: aug
monthnumber: 8
year: 2014
CODEN: JNCAF3
ISSN: 1084-8045 (print), 1095-8592 (electronic) OR 10848045 (print), 10958592 (electronic)
ISSNL: 1084-8045 OR 10848045
bibdate: Wed Jan 28 15:45:07 MST 2015
bibtimestamp: 2015.01.28 15:45:07 MST
URL: http://www.sciencedirect.com/science/article/pii/S1084804514000903
fjournal: Journal of Network and Computer Applications
acknowledgement: ack-nhfb
ajournal: J. Netw. Comput. Appl.
journalURL: http://www.sciencedirect.com/science/journal/10848045
rawauthor: Mohamed A. Alrshah and Mohamed Othman and Borhanuddin Ali and Zurina Mohd Hanapi
rawtitle: Comparative study of high-speed {Linux TCP} variants over {high-BDP} networks
bibsource:
https://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

entry:
@Article{Alrshah:2014:CSH,
  author =       "Mohamed A. Alrshah and Mohamed Othman and Borhanuddin
                 Ali and Zurina Mohd Hanapi",
  title =        "Comparative study of high-speed {Linux TCP} variants
                 over {high-BDP} networks",
  journal =      j-J-NETW-COMPUT-APPL,
  volume =       "43",
  number =       "??",
  pages =        "66--75",
  month =        aug,
  year =         "2014",
  CODEN =        "JNCAF3",
  ISSN =         "1084-8045 (print), 1095-8592 (electronic)",
  ISSN-L =       "1084-8045",
  bibdate =      "Wed Jan 28 15:45:07 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/jnetwcomputappl.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1084804514000903",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Netw. Comput. Appl.",
  fjournal =     "Journal of Network and Computer Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/10848045",
}


bibtype: article
filename: unix.bib
label: Andrus:2014:CNE
title: Cider: native execution of iOS apps on Android
journal: j-COMP-ARCH-NEWS
volume: 42
number: 1
pages: 367--382
month: mar
monthnumber: 3
year: 2014
CODEN: CANED2
DOI: https://doi.org/10.1145/2654822.2541972
ISSN: 0163-5964 (print), 1943-5851 (electronic) OR 01635964 (print), 19435851 (electronic)
ISSNL: 0163-5964 OR 01635964
bibdate: Thu Sep 4 07:12:13 MDT 2014
bibsource: https://www.math.utah.edu/pub/tex/bib/sigarch.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2014.09.04 07:12:13 MDT
fjournal: ACM SIGARCH Computer Architecture News
remark: ASPLOS '14 conference proceedings.
acknowledgement: ack-nhfb
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J89
rawtitle: {Cider}: native execution of {iOS} apps on {Android}
author:
Jeremy Andrus and Alexander Van't Hof and Naser AlDuaij and Christoffer Dall and Nicolas Viennot and Jason Nieh

abstract:
We present Cider, an operating system compatibility architecture that can run applications built for different mobile ecosystems, iOS or Android, together on the same smartphone or tablet. Cider enhances the domestic operating system, Android, of a device with kernel-managed, per-thread personas to mimic the application binary interface of a foreign operating system, iOS, enabling it to run unmodified foreign binaries. This is accomplished using a novel combination of binary compatibility techniques including two new mechanisms: compile-time code adaptation, and diplomatic functions. Compile-time code adaptation enables existing unmodified foreign source code to be reused in the domestic kernel, reducing implementation effort required to support multiple binary interfaces for executing domestic and foreign applications. Diplomatic functions leverage per-thread personas, and allow foreign applications to use domestic libraries to access proprietary software and hardware interfaces. We have built a Cider prototype, and demonstrate that it imposes modest performance overhead and runs unmodified iOS and Android applications together on a Google Nexus tablet running the latest version of Android.

rawabstract:
We present Cider, an operating system compatibility architecture that can run applications built for different mobile ecosystems, iOS or Android, together on the same smartphone or tablet. Cider enhances the domestic operating system, Android, of a device with kernel-managed, per-thread personas to mimic the application binary interface of a foreign operating system, iOS, enabling it to run unmodified foreign binaries. This is accomplished using a novel combination of binary compatibility techniques including two new mechanisms: compile-time code adaptation, and diplomatic functions. Compile-time code adaptation enables existing unmodified foreign source code to be reused in the domestic kernel, reducing implementation effort required to support multiple binary interfaces for executing domestic and foreign applications. Diplomatic functions leverage per-thread personas, and allow foreign applications to use domestic libraries to access proprietary software and hardware interfaces. We have built a Cider prototype, and demonstrate that it imposes modest performance overhead and runs unmodified iOS and Android applications together on a Google Nexus tablet running the latest version of Android.

rawauthor:
Jeremy Andrus and Alexander Van't Hof and Naser AlDuaij and Christoffer Dall and Nicolas Viennot and Jason Nieh

entry:
@Article{Andrus:2014:CNE,
  author =       "Jeremy Andrus and Alexander Van't Hof and Naser
                 AlDuaij and Christoffer Dall and Nicolas Viennot and
                 Jason Nieh",
  title =        "{Cider}: native execution of {iOS} apps on {Android}",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "42",
  number =       "1",
  pages =        "367--382",
  month =        mar,
  year =         "2014",
  CODEN =        "CANED2",
  DOI =          "https://doi.org/10.1145/2654822.2541972",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Thu Sep 4 07:12:13 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/sigarch.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "We present Cider, an operating system compatibility
                 architecture that can run applications built for
                 different mobile ecosystems, iOS or Android, together
                 on the same smartphone or tablet. Cider enhances the
                 domestic operating system, Android, of a device with
                 kernel-managed, per-thread personas to mimic the
                 application binary interface of a foreign operating
                 system, iOS, enabling it to run unmodified foreign
                 binaries. This is accomplished using a novel
                 combination of binary compatibility techniques
                 including two new mechanisms: compile-time code
                 adaptation, and diplomatic functions. Compile-time code
                 adaptation enables existing unmodified foreign source
                 code to be reused in the domestic kernel, reducing
                 implementation effort required to support multiple
                 binary interfaces for executing domestic and foreign
                 applications. Diplomatic functions leverage per-thread
                 personas, and allow foreign applications to use
                 domestic libraries to access proprietary software and
                 hardware interfaces. We have built a Cider prototype,
                 and demonstrate that it imposes modest performance
                 overhead and runs unmodified iOS and Android
                 applications together on a Google Nexus tablet running
                 the latest version of Android.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
  remark =       "ASPLOS '14 conference proceedings.",
}


bibtype: book
filename: unix.bib
label: Borges:2014:OSA
author: Alexandre Borges
title: Oracle Solaris 11 Advanced Administration Cookbook
publisher: Packt Publishing
address: Birmingham, UK
pages: 478
year: 2014
ISBN: 1-84968-827-3, 1-84968-826-5 OR 1849688273, 1849688265
ISBN13: 978-1-84968-827-7, 978-1-84968-826-0 OR 9781849688277, 9781849688260
bibdate: Tue Oct 21 05:53:23 MDT 2014
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2014.10.21 05:53:23 MDT
remark: Monitoring and handling process execution.
acknowledgement: ack-nhfb
rawauthor: Alexandre Borges
rawtitle: {Oracle Solaris 11} Advanced Administration Cookbook
abstract:
If you are a Solaris administrator who wants to learn more about administering an Oracle Solaris system and want to go a level higher in utilizing the advanced features of Oracle Solaris, then this book is for you. A working knowledge of Solaris Administration is assumed.

TOC:
Cover Copyright Credits About the Author Acknowledgments About the Reviewers www.PacktPub.com Table of Contents Preface 1: IPS and Boot Environments Introduction Determining the current package publisher Listing and collecting the information and dependencies of a package Installing a package, verifying its content, and fixing package corruption Managing IPS history and freezing and uninstalling packages Discovering the IPS Package Manager interface Creating, activating, and destroying a boot environment Listing and renaming a boot environment Configuring an IPS local repository Configuring a secondary IPS local repository Publishing packages into a repository Adding big applications into a repository Creating your own package and publishing it Managing an IPS publisher on Solaris 11 Pinning publishers Changing the URI and enabling and disabling a publisher Creating a mirror repository Removing a repository and changing the search order Listing and creating a boot environment Mounting, unmounting, installing, and uninstalling a package in an inactive boot environment Activating a boot environment Creating a boot environment from an existing one References 2: ZFS Introduction Creating ZFS storage pools and filesystems Playing with ZFS faults and properties Making a ZFS snapshot and clone Performing a backup in a ZFS filesystem Handling logs and caches Managing devices in storage pools Configuring spare disks Handling ZFS snapshots and clones Playing with COMSTAR Mirroring the root pool ZFS shadowing Configuring ZFS sharing with the SMB share Setting and getting other ZFS properties Playing with ZFS swap References 3: Networking Introduction: Playing with Reactive Network Configuration: Internet Protocol Multipathing Setting the link aggregation Configuring network bridging Configuring link protection and the DNS Client service Configuring the DHCP server Configuring Integrated Load Balance References 4: Zones Introduction Creating, administering, and using a virtual network in a zone Managing a zone using the resource manager Implementing a flow control Working with migrations from physical Oracle Solaris 10 hosts to Oracle Solaris 11 Zones References 5: Playing with Oracle Solaris 11 Services: Introduction: Reviewing SMF operations Handling manifests and profiles Creating SMF services Administering inetd-controlled network services Troubleshooting Oracle Solaris 11 services References 6: Configuring and Using an Automated Installer (AI) Server Introduction Configuring an AI server and installing a system from it References 7: Configuring and Administering RBAC and Least Privileges Introduction Configuring and using RBAC Playing with least privileges References 8: Administering and Monitoring Processes Introduction

rawabstract:
If you are a Solaris administrator who wants to learn more about administering an Oracle Solaris system and want to go a level higher in utilizing the advanced features of Oracle Solaris, then this book is for you. A working knowledge of Solaris Administration is assumed.

rawTOC:
Cover \\ Copyright \\ Credits \\ About the Author \\ Acknowledgments \\ About the Reviewers \\ www.PacktPub.com \\ Table of Contents \\ Preface \\ 1: IPS and Boot Environments \\ Introduction \\ Determining the current package publisher \\ Listing and collecting the information and dependencies of a package \\ Installing a package, verifying its content, and fixing package corruption \\ Managing IPS history and freezing and uninstalling packages \\ Discovering the IPS Package Manager interface \\ Creating, activating, and destroying a boot environment \\ Listing and renaming a boot environment \\ Configuring an IPS local repository \\ Configuring a secondary IPS local repository \\ Publishing packages into a repository \\ Adding big applications into a repository \\ Creating your own package and publishing it \\ Managing an IPS publisher on Solaris 11 \\ Pinning publishers \\ Changing the URI and enabling and disabling a publisher \\ Creating a mirror repository \\ Removing a repository and changing the search order \\ Listing and creating a boot environment \\ Mounting, unmounting, installing, and uninstalling a package in an inactive \\ boot environment \\ Activating a boot environment \\ Creating a boot environment from an existing one \\ References \\ 2: ZFS \\ Introduction \\ Creating ZFS storage pools and filesystems \\ Playing with ZFS faults and properties \\ Making a ZFS snapshot and clone \\ Performing a backup in a ZFS filesystem \\ Handling logs and caches \\ Managing devices in storage pools \\ Configuring spare disks \\ Handling ZFS snapshots and clones \\ Playing with COMSTAR \\ Mirroring the root pool \\ ZFS shadowing \\ Configuring ZFS sharing with the SMB share \\ Setting and getting other ZFS properties \\ Playing with ZFS swap \\ References \\ 3: Networking \\ Introduction: Playing with Reactive Network Configuration: Internet Protocol Multipathing \\ Setting the link aggregation \\ Configuring network bridging \\ Configuring link protection and the DNS Client service \\ Configuring the DHCP server \\ Configuring Integrated Load Balance \\ References \\ 4: Zones \\ Introduction \\ Creating, administering, and using a virtual network in a zone \\ Managing a zone using the resource manager \\ Implementing a flow control \\ Working with migrations from physical Oracle Solaris 10 hosts to Oracle Solaris 11 Zones \\ References \\ 5: Playing with Oracle Solaris 11 Services: Introduction: Reviewing SMF operations \\ Handling manifests and profiles \\ Creating SMF services \\ Administering inetd-controlled network services \\ Troubleshooting Oracle Solaris 11 services \\ References \\ 6: Configuring and Using an Automated Installer (AI) Server \\ Introduction \\ Configuring an AI server and installing a system from it \\ References \\ 7: Configuring and Administering RBAC and Least Privileges \\ Introduction \\ Configuring and using RBAC \\ Playing with least privileges \\ References \\ 8: Administering and Monitoring Processes \\ Introduction

entry:
@Book{Borges:2014:OSA,
  author =       "Alexandre Borges",
  title =        "{Oracle Solaris 11} Advanced Administration Cookbook",
  publisher =    "Packt Publishing",
  address =      "Birmingham, UK",
  pages =        "478",
  year =         "2014",
  ISBN =         "1-84968-827-3, 1-84968-826-5",
  ISBN-13 =      "978-1-84968-827-7, 978-1-84968-826-0",
  LCCN =         "????",
  bibdate =      "Tue Oct 21 05:53:23 MDT 2014",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "If you are a Solaris administrator who wants to learn
                 more about administering an Oracle Solaris system and
                 want to go a level higher in utilizing the advanced
                 features of Oracle Solaris, then this book is for you.
                 A working knowledge of Solaris Administration is
                 assumed.",
  acknowledgement = ack-nhfb,
  remark =       "Monitoring and handling process execution.",
  tableofcontents = "Cover \\
                 Copyright \\
                 Credits \\
                 About the Author \\
                 Acknowledgments \\
                 About the Reviewers \\
                 www.PacktPub.com \\
                 Table of Contents \\
                 Preface \\
                 1: IPS and Boot Environments \\
                 Introduction \\
                 Determining the current package publisher \\
                 Listing and collecting the information and dependencies
                 of a package \\
                 Installing a package, verifying its content, and fixing
                 package corruption \\
                 Managing IPS history and freezing and uninstalling
                 packages \\
                 Discovering the IPS Package Manager interface \\
                 Creating, activating, and destroying a boot environment
                 \\
                 Listing and renaming a boot environment \\
                 Configuring an IPS local repository \\
                 Configuring a secondary IPS local repository \\
                 Publishing packages into a repository \\
                 Adding big applications into a repository \\
                 Creating your own package and publishing it \\
                 Managing an IPS publisher on Solaris 11 \\
                 Pinning publishers \\
                 Changing the URI and enabling and disabling a publisher
                 \\
                 Creating a mirror repository \\
                 Removing a repository and changing the search order \\
                 Listing and creating a boot environment \\
                 Mounting, unmounting, installing, and uninstalling a
                 package in an inactive \\
                 boot environment \\
                 Activating a boot environment \\
                 Creating a boot environment from an existing one \\
                 References \\
                 2: ZFS \\
                 Introduction \\
                 Creating ZFS storage pools and filesystems \\
                 Playing with ZFS faults and properties \\
                 Making a ZFS snapshot and clone \\
                 Performing a backup in a ZFS filesystem \\
                 Handling logs and caches \\
                 Managing devices in storage pools \\
                 Configuring spare disks \\
                 Handling ZFS snapshots and clones \\
                 Playing with COMSTAR \\
                 Mirroring the root pool \\
                 ZFS shadowing \\
                 Configuring ZFS sharing with the SMB share \\
                 Setting and getting other ZFS properties \\
                 Playing with ZFS swap \\
                 References \\
                 3: Networking \\
                 Introduction: Playing with Reactive Network
                 Configuration: Internet Protocol Multipathing \\
                 Setting the link aggregation \\
                 Configuring network bridging \\
                 Configuring link protection and the DNS Client service
                 \\
                 Configuring the DHCP server \\
                 Configuring Integrated Load Balance \\
                 References \\
                 4: Zones \\
                 Introduction \\
                 Creating, administering, and using a virtual network in
                 a zone \\
                 Managing a zone using the resource manager \\
                 Implementing a flow control \\
                 Working with migrations from physical Oracle Solaris 10
                 hosts to Oracle Solaris 11 Zones \\
                 References \\
                 5: Playing with Oracle Solaris 11 Services:
                 Introduction: Reviewing SMF operations \\
                 Handling manifests and profiles \\
                 Creating SMF services \\
                 Administering inetd-controlled network services \\
                 Troubleshooting Oracle Solaris 11 services \\
                 References \\
                 6: Configuring and Using an Automated Installer (AI)
                 Server \\
                 Introduction \\
                 Configuring an AI server and installing a system from
                 it \\
                 References \\
                 7: Configuring and Administering RBAC and Least
                 Privileges \\
                 Introduction \\
                 Configuring and using RBAC \\
                 Playing with least privileges \\
                 References \\
                 8: Administering and Monitoring Processes \\
                 Introduction",
}


bibtype: techreport
filename: unix.bib
label: Cox:2014:XSU
author: Russ Cox and Frans Kaashoek and Robert Morris
title: xv6: a simple, Unix-like teaching operating system
institution: Csail, MIT
address: Cambridge, MA, USA
pages: 101
day: 3
month: sep
monthnumber: 9
year: 2014
bibdate: Mon Aug 15 07:41:56 2016
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2016.08.15 07:41:56 ???
URL: https://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf
keywords: Robert Tappan Morris [son of Robert Morris]
acknowledgement: ack-nhfb
rawauthor: Russ Cox and Frans Kaashoek and Robert Morris
rawtitle: xv6: a simple, {Unix}-like teaching operating system
abstract:
This is a draft text intended for a class on operating systems. It explains the main concepts of operating systems by studying an example kernel, named xv6. xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented in ANSI C for an x86-based multiprocessor.

rawabstract:
This is a draft text intended for a class on operating systems. It explains the main concepts of operating systems by studying an example kernel, named xv6. xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented in ANSI C for an x86-based multiprocessor.

entry:
@TechReport{Cox:2014:XSU,
  author =       "Russ Cox and Frans Kaashoek and Robert Morris",
  title =        "xv6: a simple, {Unix}-like teaching operating system",
  institution =  "Csail, MIT",
  address =      "Cambridge, MA, USA",
  pages =        "101",
  day =          "3",
  month =        sep,
  year =         "2014",
  bibdate =      "Mon Aug 15 07:41:56 2016",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf",
  abstract =     "This is a draft text intended for a class on operating
                 systems. It explains the main concepts of operating
                 systems by studying an example kernel, named xv6. xv6
                 is a re-implementation of Dennis Ritchie's and Ken
                 Thompson's Unix Version 6 (v6). xv6 loosely follows the
                 structure and style of v6, but is implemented in ANSI C
                 for an x86-based multiprocessor.",
  acknowledgement = ack-nhfb,
  keywords =     "Robert Tappan Morris [son of Robert Morris]",
}


bibtype: book
filename: unix.bib
label: Datko:2014:BSA
author: Josh Datko
title: BeagleBone for Secret Agents
publisher: Packt Publishing
address: Birmingham, UK
pages: 101
year: 2014
LCCN: QA76.774.L46
bibdate: Thu Feb 26 14:26:36 MST 2015
bibtimestamp: 2015.02.26 14:26:36 MST
series: Community Experience Distilled
URL: http://lib.myilibrary.com?id=646557; http://public.eblib.com/choice/PublicFullRecord.aspx?p=1797268
acknowledgement: ack-nhfb
rawauthor: Josh Datko
rawtitle: {BeagleBone} for Secret Agents
ISBN:
1-78398-604-2, 1-78398-605-0 (e-book), 1-322-15302-7 (e-book) OR 1783986042, 1783986050 (ebook), 1322153027 (ebook)

ISBN13:
978-1-78398-604-0, 978-1-78398-605-7 (e-book), 978-1-322-15302-5 (e-book) OR 9781783986040, 9781783986057 (ebook), 9781322153025 (ebook)

subject:
Linux; Embedded computer systems; Operating systems (Computers); COMPUTERS / Computer Literacy; COMPUTERS / Computer Science; COMPUTERS / Data Processing; COMPUTERS / Hardware / General; COMPUTERS / Information Technology; COMPUTERS / Machine Theory; COMPUTERS / Reference

entry:
@Book{Datko:2014:BSA,
  author =       "Josh Datko",
  title =        "{BeagleBone} for Secret Agents",
  publisher =    "Packt Publishing",
  address =      "Birmingham, UK",
  year =         "2014",
  ISBN =         "1-78398-604-2, 1-78398-605-0 (e-book), 1-322-15302-7
                 (e-book)",
  ISBN-13 =      "978-1-78398-604-0, 978-1-78398-605-7 (e-book),
                 978-1-322-15302-5 (e-book)",
  LCCN =         "QA76.774.L46",
  bibdate =      "Thu Feb 26 14:26:36 MST 2015",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  series =       "Community Experience Distilled",
  URL =          "http://lib.myilibrary.com?id=646557;
                 http://public.eblib.com/choice/PublicFullRecord.aspx?p=1797268",
  acknowledgement = ack-nhfb,
  subject =      "Linux; Embedded computer systems; Operating systems
                 (Computers); COMPUTERS / Computer Literacy; COMPUTERS /
                 Computer Science; COMPUTERS / Data Processing;
                 COMPUTERS / Hardware / General; COMPUTERS / Information
                 Technology; COMPUTERS / Machine Theory; COMPUTERS /
                 Reference",
}


bibtype: book
filename: unix.bib
label: Dulaney:2014:LAO
author: Emmett A. Dulaney
title: Linux all-in-one for dummies
publisher: pub-WILEY
address: pub-WILEY:adr
edition: Fifth
pages: xviii + 550
year: 2014
ISBN: 1-118-84435-1 OR 1118844351
ISBN13: 978-1-118-84435-9 OR 9781118844359
LCCN: QA76.76.O63 D8557 2014
bibdate: Thu Sep 17 06:04:43 MDT 2015
bibtimestamp: 2015.09.17 06:04:43 MDT
series: For dummies
remark: ``A Wiley Brand.''.
subject: Linux; Operating systems (Computers); Computer science
acknowledgement: ack-nhfb
rawauthor: Emmett A. Dulaney
rawtitle: {Linux} all-in-one for dummies
URL:
http://www.loc.gov/catdir/enhancements/fy1506/2013958402-b.html; http://www.loc.gov/catdir/enhancements/fy1506/2013958402-d.html; http://www.loc.gov/catdir/enhancements/fy1506/2013958402-t.html

abstract:
This is the ideal, user-friendly resource for anyone looking to get familiar with Linux. It even includes a test-prep section for those studying to pass the Level-1 Linux certification!

TOC:
Introduction Getting started with Linux Linux desktops Networking The Internet Administration Security Scripting Linux certification

rawabstract:
This is the ideal, user-friendly resource for anyone looking to get familiar with Linux. It even includes a test-prep section for those studying to pass the Level-1 Linux certification!

rawTOC:
Introduction \\ Getting started with Linux \\ Linux desktops \\ Networking \\ The Internet \\ Administration \\ Security \\ Scripting \\ Linux certification

entry:
@Book{Dulaney:2014:LAO,
  author =       "Emmett A. Dulaney",
  title =        "{Linux} all-in-one for dummies",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Fifth",
  pages =        "xviii + 550",
  year =         "2014",
  ISBN =         "1-118-84435-1",
  ISBN-13 =      "978-1-118-84435-9",
  LCCN =         "QA76.76.O63 D8557 2014",
  bibdate =      "Thu Sep 17 06:04:43 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "For dummies",
  URL =          "http://www.loc.gov/catdir/enhancements/fy1506/2013958402-b.html;
                 http://www.loc.gov/catdir/enhancements/fy1506/2013958402-d.html;
                 http://www.loc.gov/catdir/enhancements/fy1506/2013958402-t.html",
  abstract =     "This is the ideal, user-friendly resource for anyone
                 looking to get familiar with Linux. It even includes a
                 test-prep section for those studying to pass the
                 Level-1 Linux certification!",
  acknowledgement = ack-nhfb,
  remark =       "``A Wiley Brand.''.",
  subject =      "Linux; Operating systems (Computers); Computer
                 science",
  tableofcontents = "Introduction \\
                 Getting started with Linux \\
                 Linux desktops \\
                 Networking \\
                 The Internet \\
                 Administration \\
                 Security \\
                 Scripting \\
                 Linux certification",
}


bibtype: book
filename: unix.bib
label: Grimmett:2014:MBR
author: Richard Grimmett
publisher: Packt Publishing
address: Birmingham, UK
pages: iii + 217
year: 2014
LCCN: TJ211.45 .G7566 2014
bibdate: Thu Feb 26 14:35:12 MST 2015
bibtimestamp: 2015.02.26 14:35:12 MST
series: Community experience distilled
subject: Robots; Programming; BeagleBone Black (Computer); Microcontrollers
acknowledgement: ack-nhfb
rawauthor: Richard Grimmett
title:
Mastering BeagleBone robotics: master the power of the BeagleBone Black to maximize your robot-building skills and create awesome projects

ISBN:
1-78398-890-8 (paperback), 1-78398-891-6 (e-book), 1-322-55407-2 (e-book) OR 1783988908 (paperback), 1783988916 (ebook), 1322554072 (ebook)

ISBN13:
978-1-78398-890-7 (paperback), 978-1-78398-891-4 (e-book), 978-1-322-55407-5 (e-book) OR 9781783988907 (paperback), 9781783988914 (ebook), 9781322554075 (ebook)

rawtitle:
Mastering {BeagleBone} robotics: master the power of the {BeagleBone Black} to maximize your robot-building skills and create awesome projects

entry:
@Book{Grimmett:2014:MBR,
  author =       "Richard Grimmett",
  title =        "Mastering {BeagleBone} robotics: master the power of
                 the {BeagleBone Black} to maximize your robot-building
                 skills and create awesome projects",
  publisher =    "Packt Publishing",
  address =      "Birmingham, UK",
  pages =        "iii + 217",
  year =         "2014",
  ISBN =         "1-78398-890-8 (paperback), 1-78398-891-6 (e-book),
                 1-322-55407-2 (e-book)",
  ISBN-13 =      "978-1-78398-890-7 (paperback), 978-1-78398-891-4
                 (e-book), 978-1-322-55407-5 (e-book)",
  LCCN =         "TJ211.45 .G7566 2014",
  bibdate =      "Thu Feb 26 14:35:12 MST 2015",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  series =       "Community experience distilled",
  acknowledgement = ack-nhfb,
  subject =      "Robots; Programming; BeagleBone Black (Computer);
                 Microcontrollers",
}


bibtype: book
filename: unix.bib
label: Kasanen:2014:CLT
author: Lauri Kasanen
title: Into the core: A look at Tiny Core Linux
pages: iii + 217
year: 2014
ISBN: 952-93-3391-9 OR 9529333919
ISBN13: 978-952-93-3391-2 OR 9789529333912
bibdate: Tue Jan 19 11:20:15 MST 2016
bibtimestamp: 2016.01.19 11:20:15 MST
URL: http://tinycorelinux.net/book.html
acknowledgement: ack-nhfb
rawauthor: Lauri Kasanen
rawtitle: Into the core: A look at {Tiny Core Linux}
entry:
@Book{Kasanen:2014:CLT,
  author =       "Lauri Kasanen",
  title =        "Into the core: A look at {Tiny Core Linux}",
  publisher =    "????",
  address =      "????",
  year =         "2014",
  ISBN =         "952-93-3391-9",
  ISBN-13 =      "978-952-93-3391-2",
  LCCN =         "????",
  bibdate =      "Tue Jan 19 11:20:15 MST 2016",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://tinycorelinux.net/book.html",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: Lee:2014:UBC
author: Eunji Lee and Hyokyung Bahn and Sam H. Noh
title: A Unified Buffer Cache Architecture that Subsumes Journaling Functionality via Nonvolatile Memory
journal: j-TOS
volume: 10
number: 1
pages: 1:1--1:??
month: jan
monthnumber: 1
year: 2014
DOI: https://doi.org/10.1145/2560010
ISSN: 1553-3077 (print), 1553-3093 (electronic) OR 15533077 (print), 15533093 (electronic)
ISSNL: 1553-3077 OR 15533077
bibdate: Wed Feb 5 16:53:47 MST 2014
bibtimestamp: 2014.02.05 16:53:47 MST
fjournal: ACM Transactions on Storage
acknowledgement: ack-nhfb
articleno: 1
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J960
rawauthor: Eunji Lee and Hyokyung Bahn and Sam H. Noh
rawtitle: A Unified Buffer Cache Architecture that Subsumes Journaling Functionality via Nonvolatile Memory
bibsource:
http://www.acm.org/pubs/contents/journals/tos/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/tos.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
Journaling techniques are widely used in modern file systems as they provide high reliability and fast recovery from system failures. However, it reduces the performance benefit of buffer caching as journaling accounts for a bulk of the storage writes in real system environments. To relieve this problem, we present a novel buffer cache architecture that subsumes the functionality of caching and journaling by making use of nonvolatile memory such as PCM or STT-MRAM. Specifically, our buffer cache supports what we call the in-place commit scheme. This scheme avoids logging, but still provides the same journaling effect by simply altering the state of the cached block to frozen. As a frozen block still provides the functionality of a cache block, we show that in-place commit does not degrade cache performance. We implement our scheme on Linux 2.6.38 and measure the throughput and execution time of the scheme with various file I/O benchmarks. The results show that our scheme improves the throughput and execution time by 89% and 34% on average, respectively, compared to the existing Linux buffer cache with ext4 without any loss of reliability.

rawabstract:
Journaling techniques are widely used in modern file systems as they provide high reliability and fast recovery from system failures. However, it reduces the performance benefit of buffer caching as journaling accounts for a bulk of the storage writes in real system environments. To relieve this problem, we present a novel buffer cache architecture that subsumes the functionality of caching and journaling by making use of nonvolatile memory such as PCM or STT-MRAM. Specifically, our buffer cache supports what we call the in-place commit scheme. This scheme avoids logging, but still provides the same journaling effect by simply altering the state of the cached block to frozen. As a frozen block still provides the functionality of a cache block, we show that in-place commit does not degrade cache performance. We implement our scheme on Linux 2.6.38 and measure the throughput and execution time of the scheme with various file I/O benchmarks. The results show that our scheme improves the throughput and execution time by 89\% and 34\% on average, respectively, compared to the existing Linux buffer cache with ext4 without any loss of reliability.

entry:
@Article{Lee:2014:UBC,
  author =       "Eunji Lee and Hyokyung Bahn and Sam H. Noh",
  title =        "A Unified Buffer Cache Architecture that Subsumes
                 Journaling Functionality via Nonvolatile Memory",
  journal =      j-TOS,
  volume =       "10",
  number =       "1",
  pages =        "1:1--1:??",
  month =        jan,
  year =         "2014",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/2560010",
  ISSN =         "1553-3077 (print), 1553-3093 (electronic)",
  ISSN-L =       "1553-3077",
  bibdate =      "Wed Feb 5 16:53:47 MST 2014",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tos/;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/tos.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "Journaling techniques are widely used in modern file
                 systems as they provide high reliability and fast
                 recovery from system failures. However, it reduces the
                 performance benefit of buffer caching as journaling
                 accounts for a bulk of the storage writes in real
                 system environments. To relieve this problem, we
                 present a novel buffer cache architecture that subsumes
                 the functionality of caching and journaling by making
                 use of nonvolatile memory such as PCM or STT-MRAM.
                 Specifically, our buffer cache supports what we call
                 the in-place commit scheme. This scheme avoids logging,
                 but still provides the same journaling effect by simply
                 altering the state of the cached block to frozen. As a
                 frozen block still provides the functionality of a
                 cache block, we show that in-place commit does not
                 degrade cache performance. We implement our scheme on
                 Linux 2.6.38 and measure the throughput and execution
                 time of the scheme with various file I/O benchmarks.
                 The results show that our scheme improves the
                 throughput and execution time by 89\% and 34\% on
                 average, respectively, compared to the existing Linux
                 buffer cache with ext4 without any loss of
                 reliability.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "ACM Transactions on Storage",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J960",
}


bibtype: article
filename: unix.bib
label: Lu:2014:SLF
author: Lanyue Lu and Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau and Shan Lu
title: A Study of Linux File System Evolution
journal: j-TOS
volume: 10
number: 1
pages: 3:1--3:??
month: jan
monthnumber: 1
year: 2014
DOI: https://doi.org/10.1145/2560012
ISSN: 1553-3077 (print), 1553-3093 (electronic) OR 15533077 (print), 15533093 (electronic)
ISSNL: 1553-3077 OR 15533077
bibdate: Wed Feb 5 16:53:47 MST 2014
bibtimestamp: 2014.02.05 16:53:47 MST
fjournal: ACM Transactions on Storage
acknowledgement: ack-nhfb
articleno: 3
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J960
rawauthor: Lanyue Lu and Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau and Shan Lu
rawtitle: A Study of {Linux} File System Evolution
bibsource:
http://www.acm.org/pubs/contents/journals/tos/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/tos.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
We conduct a comprehensive study of file-system code evolution. By analyzing eight years of Linux file-system changes across 5079 patches, we derive numerous new (and sometimes surprising) insights into the file-system development process; our results should be useful for both the development of file systems themselves as well as the improvement of bug-finding tools.

rawabstract:
We conduct a comprehensive study of file-system code evolution. By analyzing eight years of Linux file-system changes across 5079 patches, we derive numerous new (and sometimes surprising) insights into the file-system development process; our results should be useful for both the development of file systems themselves as well as the improvement of bug-finding tools.

entry:
@Article{Lu:2014:SLF,
  author =       "Lanyue Lu and Andrea C. Arpaci-Dusseau and Remzi H.
                 Arpaci-Dusseau and Shan Lu",
  title =        "A Study of {Linux} File System Evolution",
  journal =      j-TOS,
  volume =       "10",
  number =       "1",
  pages =        "3:1--3:??",
  month =        jan,
  year =         "2014",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/2560012",
  ISSN =         "1553-3077 (print), 1553-3093 (electronic)",
  ISSN-L =       "1553-3077",
  bibdate =      "Wed Feb 5 16:53:47 MST 2014",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tos/;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/tos.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "We conduct a comprehensive study of file-system code
                 evolution. By analyzing eight years of Linux
                 file-system changes across 5079 patches, we derive
                 numerous new (and sometimes surprising) insights into
                 the file-system development process; our results should
                 be useful for both the development of file systems
                 themselves as well as the improvement of bug-finding
                 tools.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "ACM Transactions on Storage",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J960",
}


bibtype: article
filename: unix.bib
label: Ma:2014:FFF
title: Ffsck: The Fast File-System Checker
journal: j-TOS
volume: 10
number: 1
pages: 2:1--2:??
month: jan
monthnumber: 1
year: 2014
DOI: https://doi.org/10.1145/2560011
ISSN: 1553-3077 (print), 1553-3093 (electronic) OR 15533077 (print), 15533093 (electronic)
ISSNL: 1553-3077 OR 15533077
bibdate: Wed Feb 5 16:53:47 MST 2014
bibtimestamp: 2014.02.05 16:53:47 MST
fjournal: ACM Transactions on Storage
acknowledgement: ack-nhfb
articleno: 2
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J960
rawtitle: {Ffsck}: The Fast File-System Checker
author:
Ao Ma and Chris Dragga and Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau and Marshall Kirk McKusick

bibsource:
http://www.acm.org/pubs/contents/journals/tos/; https://www.math.utah.edu/pub/tex/bib/tos.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
Failures, errors, and bugs can corrupt file systems and cause data loss, despite the presence of journals and similar preventive techniques. While consistency checkers such as fsck can detect corruption and repair a damaged image, they are generally created as an afterthought, to be run only at rare intervals. Thus, checkers operate slowly, causing significant downtime for large scale storage systems. We address this dilemma by treating the checker as a key component of the overall file system, rather than a peripheral add-on. To this end, we present a modified ext3 file system, rext 3, to directly support the fast file-system checker, ffsck. Rext3 colocates and self-identifies its metadata blocks, removing the need for costly seeks and tree traversals during checking. These modifications allow ffsck to scan and repair the file system at rates approaching the full sequential bandwidth of the underlying device. In addition, we demonstrate that rext3 generally performs competitively with ext3 and exceeds it in handling random reads and large writes. Finally, we apply our principles to FreeBSD's FFS file system and its checker, doing so in a lightweight fashion that preserves the file-system layout while still providing some of the performance gains from ffsck.

rawabstract:
Failures, errors, and bugs can corrupt file systems and cause data loss, despite the presence of journals and similar preventive techniques. While consistency checkers such as fsck can detect corruption and repair a damaged image, they are generally created as an afterthought, to be run only at rare intervals. Thus, checkers operate slowly, causing significant downtime for large scale storage systems. We address this dilemma by treating the checker as a key component of the overall file system, rather than a peripheral add-on. To this end, we present a modified ext3 file system, rext 3, to directly support the fast file-system checker, ffsck. Rext3 colocates and self-identifies its metadata blocks, removing the need for costly seeks and tree traversals during checking. These modifications allow ffsck to scan and repair the file system at rates approaching the full sequential bandwidth of the underlying device. In addition, we demonstrate that rext3 generally performs competitively with ext3 and exceeds it in handling random reads and large writes. Finally, we apply our principles to FreeBSD's FFS file system and its checker, doing so in a lightweight fashion that preserves the file-system layout while still providing some of the performance gains from ffsck.

rawauthor:
Ao Ma and Chris Dragga and Andrea C. Arpaci-Dusseau and Remzi H. Arpaci-Dusseau and Marshall Kirk McKusick

entry:
@Article{Ma:2014:FFF,
  author =       "Ao Ma and Chris Dragga and Andrea C. Arpaci-Dusseau
                 and Remzi H. Arpaci-Dusseau and Marshall Kirk
                 McKusick",
  title =        "{Ffsck}: The Fast File-System Checker",
  journal =      j-TOS,
  volume =       "10",
  number =       "1",
  pages =        "2:1--2:??",
  month =        jan,
  year =         "2014",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/2560011",
  ISSN =         "1553-3077 (print), 1553-3093 (electronic)",
  ISSN-L =       "1553-3077",
  bibdate =      "Wed Feb 5 16:53:47 MST 2014",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tos/;
                 https://www.math.utah.edu/pub/tex/bib/tos.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "Failures, errors, and bugs can corrupt file systems
                 and cause data loss, despite the presence of journals
                 and similar preventive techniques. While consistency
                 checkers such as fsck can detect corruption and repair
                 a damaged image, they are generally created as an
                 afterthought, to be run only at rare intervals. Thus,
                 checkers operate slowly, causing significant downtime
                 for large scale storage systems. We address this
                 dilemma by treating the checker as a key component of
                 the overall file system, rather than a peripheral
                 add-on. To this end, we present a modified ext3 file
                 system, rext 3, to directly support the fast
                 file-system checker, ffsck. Rext3 colocates and
                 self-identifies its metadata blocks, removing the need
                 for costly seeks and tree traversals during checking.
                 These modifications allow ffsck to scan and repair the
                 file system at rates approaching the full sequential
                 bandwidth of the underlying device. In addition, we
                 demonstrate that rext3 generally performs competitively
                 with ext3 and exceeds it in handling random reads and
                 large writes. Finally, we apply our principles to
                 FreeBSD's FFS file system and its checker, doing so in
                 a lightweight fashion that preserves the file-system
                 layout while still providing some of the performance
                 gains from ffsck.",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "ACM Transactions on Storage",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J960",
}


bibtype: article
filename: unix.bib
label: McKusick:2014:FUS
author: Marshall Kirk McKusick and J. Roberson
title: The FreeBSD ULE Scheduler
journal: The FreeBSD Journal
volume: 1
number: 5
pages: 20--26
month: sep
monthnumber: 9
year: 2014
ISBN: 0-615-88479-2 OR 0615884792
ISBN13: 978-0-615-88479-0 OR 9780615884790
bibdate: Mon Feb 24 16:48:04 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.24 16:48:04 ???
URL: http://issue.freebsdfoundation.org/publication/?m=33057&i=230897&p=22
acknowledgement: ack-nhfb
journalURL: https://www.freebsdfoundation.org/journal/
rawauthor: Marshall Kirk McKusick and J. Roberson
rawtitle: The {FreeBSD ULE} Scheduler
entry:
@Article{McKusick:2014:FUS,
  author =       "Marshall Kirk McKusick and J. Roberson",
  title =        "The {FreeBSD ULE} Scheduler",
  journal =      "The FreeBSD Journal",
  volume =       "1",
  number =       "5",
  pages =        "20--26",
  month =        sep # "\slash " # oct,
  year =         "2014",
  ISBN =         "0-615-88479-2",
  ISBN-13 =      "978-0-615-88479-0",
  bibdate =      "Mon Feb 24 16:48:04 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://issue.freebsdfoundation.org/publication/?m=33057&i=230897&p=22",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://www.freebsdfoundation.org/journal/",
}


bibtype: article
filename: unix.bib
label: McKusick:2014:JSU
author: Marshall Kirk McKusick and J. Roberson
title: Journaled Soft-updates
journal: The FreeBSD Journal
volume: 1
number: 2
pages: 30--36
month: mar
monthnumber: 3
year: 2014
ISBN: 0-615-88479-2 OR 0615884792
ISBN13: 978-0-615-88479-0 OR 9780615884790
bibdate: Mon Feb 24 16:48:04 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.24 16:48:04 ???
URL: http://issue.freebsdfoundation.org/publication/?m=33057&i=217640&p=32
acknowledgement: ack-nhfb
journalURL: https://www.freebsdfoundation.org/journal/
rawauthor: Marshall Kirk McKusick and J. Roberson
rawtitle: Journaled Soft-updates
entry:
@Article{McKusick:2014:JSU,
  author =       "Marshall Kirk McKusick and J. Roberson",
  title =        "Journaled Soft-updates",
  journal =      "The FreeBSD Journal",
  volume =       "1",
  number =       "2",
  pages =        "30--36",
  month =        mar # "\slash " # apr,
  year =         "2014",
  ISBN =         "0-615-88479-2",
  ISBN-13 =      "978-0-615-88479-0",
  bibdate =      "Mon Feb 24 16:48:04 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://issue.freebsdfoundation.org/publication/?m=33057&i=217640&p=32",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://www.freebsdfoundation.org/journal/",
}


bibtype: article
filename: unix.bib
label: Mihajlovic:2014:DIQ
author: Bojan Mihajlovic and Zeljko Zilic and Warren J. Gross
journal: j-TECS
volume: 13
number: 5s
pages: 167:1--167:??
month: nov
monthnumber: 11
year: 2014
DOI: https://doi.org/10.1145/2678022
ISSN: 1539-9087 (print), 1558-3465 (electronic) OR 15399087 (print), 15583465 (electronic)
ISSNL: 1539-9087 OR 15399087
bibdate: Wed Jan 7 15:03:31 MST 2015
bibtimestamp: 2015.01.07 15:03:31 MST
fjournal: ACM Transactions on Embedded Computing Systems
acknowledgement: ack-nhfb
articleno: 167
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J840
rawauthor: Bojan Mihajlovi{\'c} and Zeljko Zili{\'c} and Warren J. Gross
title:
Dynamically Instrumenting the QEMU Emulator for Linux Process Trace Generation with the GDB Debugger

bibsource:
http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib

abstract:
In software debugging, trace generation techniques are used to resolve highly complex bugs. However, the emulators increasingly used for embedded software development do not yet offer the types of trace generation infrastructure available in hardware. In this article, we make changes to the ARM ISA emulation of the QEMU emulator to allow for continuous instruction-level trace generation. Using a standard GDB client, tracepoints can be inserted to dynamically log registers and memory addresses without altering executing code. The ability to run trace experiments in five different modes allows the scope of trace generation to be narrowed as needed, down to the level of a single Linux process. Our scheme collects the execution traces of a Linux process on average between 9.6x--0.7x the speed of existing QEMU trace capabilities, with 96.7% less trace data volume. Compared to a software-instrumented tracing scheme, our method is both unobtrusive and performs on average between 3--4 orders of magnitude faster.

rawabstract:
In software debugging, trace generation techniques are used to resolve highly complex bugs. However, the emulators increasingly used for embedded software development do not yet offer the types of trace generation infrastructure available in hardware. In this article, we make changes to the ARM ISA emulation of the QEMU emulator to allow for continuous instruction-level trace generation. Using a standard GDB client, tracepoints can be inserted to dynamically log registers and memory addresses without altering executing code. The ability to run trace experiments in five different modes allows the scope of trace generation to be narrowed as needed, down to the level of a single Linux process. Our scheme collects the execution traces of a Linux process on average between 9.6x--0.7x the speed of existing QEMU trace capabilities, with 96.7\% less trace data volume. Compared to a software-instrumented tracing scheme, our method is both unobtrusive and performs on average between 3--4 orders of magnitude faster.

rawtitle:
Dynamically Instrumenting the {QEMU} Emulator for {Linux} Process Trace Generation with the {GDB} Debugger

entry:
@Article{Mihajlovic:2014:DIQ,
  author =       "Bojan Mihajlovi{\'c} and Zeljko Zili{\'c} and Warren
                 J. Gross",
  title =        "Dynamically Instrumenting the {QEMU} Emulator for
                 {Linux} Process Trace Generation with the {GDB}
                 Debugger",
  journal =      j-TECS,
  volume =       "13",
  number =       "5s",
  pages =        "167:1--167:??",
  month =        nov,
  year =         "2014",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/2678022",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Wed Jan 7 15:03:31 MST 2015",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/tecs.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  abstract =     "In software debugging, trace generation techniques are
                 used to resolve highly complex bugs. However, the
                 emulators increasingly used for embedded software
                 development do not yet offer the types of trace
                 generation infrastructure available in hardware. In
                 this article, we make changes to the ARM ISA emulation
                 of the QEMU emulator to allow for continuous
                 instruction-level trace generation. Using a standard
                 GDB client, tracepoints can be inserted to dynamically
                 log registers and memory addresses without altering
                 executing code. The ability to run trace experiments in
                 five different modes allows the scope of trace
                 generation to be narrowed as needed, down to the level
                 of a single Linux process. Our scheme collects the
                 execution traces of a Linux process on average between
                 9.6x--0.7x the speed of existing QEMU trace
                 capabilities, with 96.7\% less trace data volume.
                 Compared to a software-instrumented tracing scheme, our
                 method is both unobtrusive and performs on average
                 between 3--4 orders of magnitude faster.",
  acknowledgement = ack-nhfb,
  articleno =    "167",
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J840",
}


bibtype: book
filename: unix.bib
label: Molloy:2014:EBT
author: Derek Molloy
title: Exploring BeagleBone: tools and techniques for building with embedded Linux
publisher: pub-WILEY
address: pub-WILEY:adr
pages: xxx + 564
year: 2014
ISBN: 1-118-93512-8 (paperback), 1-118-93513-6 (e-book) OR 1118935128 (paperback), 1118935136 (ebook)
ISBN13: 978-1-118-93512-5 (paperback) OR 9781118935125 (paperback)
bibdate: Thu Feb 26 14:32:35 MST 2015
bibtimestamp: 2015.02.26 14:32:35 MST
acknowledgement: ack-nhfb
rawauthor: Derek Molloy
rawtitle: Exploring {BeagleBone}: tools and techniques for building with embedded {Linux}
entry:
@Book{Molloy:2014:EBT,
  author =       "Derek Molloy",
  title =        "Exploring {BeagleBone}: tools and techniques for
                 building with embedded {Linux}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxx + 564",
  year =         "2014",
  ISBN =         "1-118-93512-8 (paperback), 1-118-93513-6 (e-book)",
  ISBN-13 =      "978-1-118-93512-5 (paperback)",
  LCCN =         "????",
  bibdate =      "Thu Feb 26 14:32:35 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: Palix:2014:FL
title: Faults in Linux 2.6
journal: j-TOCS
volume: 32
number: 2
pages: 4:1--4:??
month: jun
monthnumber: 6
year: 2014
CODEN: ACSYEC
DOI: https://doi.org/10.1145/2619090
ISSN: 0734-2071 (print), 1557-7333 (electronic) OR 07342071 (print), 15577333 (electronic)
ISSNL: 0734-2071 OR 07342071
bibdate: Mon Jul 7 16:54:52 MDT 2014
bibtimestamp: 2014.07.07 16:54:52 MDT
fjournal: ACM Transactions on Computer Systems
acknowledgement: ack-nhfb
articleno: 4
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J774
rawtitle: Faults in {Linux 2.6}
author:
Nicolas Palix and Gael Thomas and Suman Saha and Christophe Calves and Gilles Muller and Julia Lawall

bibsource:
http://www.acm.org/pubs/contents/journals/tocs/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/tocs.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
In August 2011, Linux entered its third decade. Ten years before, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired numerous efforts on improving the reliability of driver code. Today, Linux is used in a wider range of environments, provides a wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? To answer this question, we have transported Chou et al.'s experiments to all versions of Linux 2.6 released between 2003 and 2011. We find that Linux has more than doubled in size during this period, but the number of faults per line of code has been decreasing. Moreover, the fault rate of drivers is now below that of other directories, such as arch. These results can guide further development and research efforts for the decade to come. To allow updating these results as Linux evolves, we define our experimental protocol and make our checkers available.

rawabstract:
In August 2011, Linux entered its third decade. Ten years before, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired numerous efforts on improving the reliability of driver code. Today, Linux is used in a wider range of environments, provides a wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? To answer this question, we have transported Chou et al.'s experiments to all versions of Linux 2.6 released between 2003 and 2011. We find that Linux has more than doubled in size during this period, but the number of faults per line of code has been decreasing. Moreover, the fault rate of drivers is now below that of other directories, such as arch. These results can guide further development and research efforts for the decade to come. To allow updating these results as Linux evolves, we define our experimental protocol and make our checkers available.

rawauthor:
Nicolas Palix and Gael Thomas and Suman Saha and Christophe Calv{\`e}s and Gilles Muller and Julia Lawall

entry:
@Article{Palix:2014:FL,
  author =       "Nicolas Palix and Gael Thomas and Suman Saha and
                 Christophe Calv{\`e}s and Gilles Muller and Julia
                 Lawall",
  title =        "Faults in {Linux 2.6}",
  journal =      j-TOCS,
  volume =       "32",
  number =       "2",
  pages =        "4:1--4:??",
  month =        jun,
  year =         "2014",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/2619090",
  ISSN =         "0734-2071 (print), 1557-7333 (electronic)",
  ISSN-L =       "0734-2071",
  bibdate =      "Mon Jul 7 16:54:52 MDT 2014",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "In August 2011, Linux entered its third decade. Ten
                 years before, Chou et al. published a study of faults
                 found by applying a static analyzer to Linux versions
                 1.0 through 2.4.1. A major result of their work was
                 that the drivers directory contained up to 7 times more
                 of certain kinds of faults than other directories. This
                 result inspired numerous efforts on improving the
                 reliability of driver code. Today, Linux is used in a
                 wider range of environments, provides a wider range of
                 services, and has adopted a new development and release
                 model. What has been the impact of these changes on
                 code quality? To answer this question, we have
                 transported Chou et al.'s experiments to all versions
                 of Linux 2.6 released between 2003 and 2011. We find
                 that Linux has more than doubled in size during this
                 period, but the number of faults per line of code has
                 been decreasing. Moreover, the fault rate of drivers is
                 now below that of other directories, such as arch.
                 These results can guide further development and
                 research efforts for the decade to come. To allow
                 updating these results as Linux evolves, we define our
                 experimental protocol and make our checkers
                 available.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}


bibtype: book
filename: unix.bib
label: Richardson:2014:BEL
author: Matt Richardson
title: BeagleBone fur Einsteiger: [Linux-basierte Elektronik-Projekte mit Python und JavaScript]
publisher: pub-ORA
address: pub-ORA:adr
pages: xii + 134
year: 2014
ISBN: 3-95561-409-3 OR 3955614093
ISBN13: 978-3-95561-409-6 OR 9783955614096
bibdate: Thu Feb 26 14:22:56 MST 2015
bibtimestamp: 2015.02.26 14:22:56 MST
language: German
acknowledgement: ack-nhfb
rawauthor: Matt Richardson
rawtitle: {BeagleBone f{\"u}r Einsteiger: [Linux-basierte Elektronik-Projekte mit Python und JavaScript]}
bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/python.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

subject:
BeagleBone Black; BeagleBone; Digitalelektronik; Hobbyelektronik; JavaScript; LINUX; Programmierung; Python (Programmiersprache); Systemplattform

entry:
@Book{Richardson:2014:BEL,
  author =       "Matt Richardson",
  title =        "{BeagleBone f{\"u}r Einsteiger: [Linux-basierte
                 Elektronik-Projekte mit Python und JavaScript]}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xii + 134",
  year =         "2014",
  ISBN =         "3-95561-409-3",
  ISBN-13 =      "978-3-95561-409-6",
  LCCN =         "????",
  bibdate =      "Thu Feb 26 14:22:56 MST 2015",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/python.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject =      "BeagleBone Black; BeagleBone; Digitalelektronik;
                 Hobbyelektronik; JavaScript; LINUX; Programmierung;
                 Python (Programmiersprache); Systemplattform",
}


bibtype: article
filename: unix.bib
label: Rubanov:2014:EPL
author: Vladimir Rubanov and Denis Silakov
journal: j-SCI-COMPUT-PROGRAM
volume: 91 (part B)
pages: 234--248
day: 1
month: oct
monthnumber: 10
year: 2014
CODEN: SCPGD4
ISSN: 0167-6423 (print), 1872-7964 (electronic) OR 01676423 (print), 18727964 (electronic)
ISSNL: 0167-6423 OR 01676423
bibdate: Sat Aug 16 11:32:54 MDT 2014
bibtimestamp: 2014.08.16 11:32:54 MDT
URL: http://www.sciencedirect.com/science/article/pii/S0167642314000240
fjournal: Science of Computer Programming
acknowledgement: ack-nhfb
journalURL: http://www.sciencedirect.com/science/journal/01676423/
rawauthor: Vladimir Rubanov and Denis Silakov
title:
Ensuring portability of Linux applications through standardization and knowledge base driven analysis

bibsource:
https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

rawtitle:
Ensuring portability of {Linux} applications through standardization and knowledge base driven analysis

entry:
@Article{Rubanov:2014:EPL,
  author =       "Vladimir Rubanov and Denis Silakov",
  title =        "Ensuring portability of {Linux} applications through
                 standardization and knowledge base driven analysis",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "91 (part B)",
  number =       "??",
  pages =        "234--248",
  day =          "1",
  month =        oct,
  year =         "2014",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Sat Aug 16 11:32:54 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167642314000240",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423/",
}


bibtype: book
filename: unix.bib
label: Seacord:2014:CCC
author: Robert C. Seacord
title: The CERT C coding standard: 98 rules for developing safe, reliable, and secure systems
publisher: pub-AW
address: pub-AW:adr
edition: Second
pages: xliv + 517
year: 2014
ISBN: 0-321-98404-8 (paperback) OR 0321984048 (paperback)
ISBN13: 978-0-321-98404-3 (paperback) OR 9780321984043 (paperback)
LCCN: QA76.73.C153 S433 2014
bibdate: Wed Apr 15 06:10:09 MDT 2020
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.04.15 06:10:09 MDT
series: The SEI series in software engineering
URL: http://proquestcombo.safaribooksonline.com/9780133812275
acknowledgement: ack-nhfb
rawauthor: Robert C. Seacord
rawtitle: The {CERT} {C} coding standard: 98 rules for developing safe, reliable, and secure systems
abstract:
booktitle The CERT C Coding Standard, Second Edition enumerates the coding errors that are the root causes of current software vulnerabilities in C, prioritizing them by severity, likelihood of exploitation, and remediation costs. ``Secure programming in C can be more difficult than even many experienced programmers realize,'' said Robert C. Seacord, technical manager of the CERT Secure Coding Initiative and author of the CERT C Coding Standard. ``Software systems are becoming increasing complex as our dependency on these systems increases. In our new CERT standard, as with all of our standards, we identify insecure coding practices and present secure alternatives that software developers can implement to reduce or eliminate vulnerabilities before deployment.''.

subject:
C (Computer program language); Computer programming; Standards; C (Computer program language); Standards.

rawabstract:
\booktitle{The CERT C Coding Standard}, Second Edition enumerates the coding errors that are the root causes of current software vulnerabilities in C, prioritizing them by severity, likelihood of exploitation, and remediation costs. ``Secure programming in C can be more difficult than even many experienced programmers realize,'' said Robert C. Seacord, technical manager of the CERT Secure Coding Initiative and author of the CERT C Coding Standard. ``Software systems are becoming increasing complex as our dependency on these systems increases. In our new CERT standard, as with all of our standards, we identify insecure coding practices and present secure alternatives that software developers can implement to reduce or eliminate vulnerabilities before deployment.''.

entry:
@Book{Seacord:2014:CCC,
  author =       "Robert C. Seacord",
  title =        "The {CERT} {C} coding standard: 98 rules for
                 developing safe, reliable, and secure systems",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xliv + 517",
  year =         "2014",
  ISBN =         "0-321-98404-8 (paperback)",
  ISBN-13 =      "978-0-321-98404-3 (paperback)",
  LCCN =         "QA76.73.C153 S433 2014",
  bibdate =      "Wed Apr 15 06:10:09 MDT 2020",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  series =       "The SEI series in software engineering",
  URL =          "http://proquestcombo.safaribooksonline.com/9780133812275",
  abstract =     "\booktitle{The CERT C Coding Standard}, Second Edition
                 enumerates the coding errors that are the root causes
                 of current software vulnerabilities in C, prioritizing
                 them by severity, likelihood of exploitation, and
                 remediation costs. ``Secure programming in C can be
                 more difficult than even many experienced programmers
                 realize,'' said Robert C. Seacord, technical manager of
                 the CERT Secure Coding Initiative and author of the
                 CERT C Coding Standard. ``Software systems are becoming
                 increasing complex as our dependency on these systems
                 increases. In our new CERT standard, as with all of our
                 standards, we identify insecure coding practices and
                 present secure alternatives that software developers
                 can implement to reduce or eliminate vulnerabilities
                 before deployment.''.",
  acknowledgement = ack-nhfb,
  subject =      "C (Computer program language); Computer programming;
                 Standards; C (Computer program language); Standards.",
}


bibtype: article
filename: unix.bib
label: Bellasi:2015:ERR
author: Patrick Bellasi and Giuseppe Massari and William Fornaciari
title: Effective Runtime Resource Management Using Linux Control Groups with the BarbequeRTRM Framework
journal: j-TECS
volume: 14
number: 2
pages: 39:1--39:??
month: mar
monthnumber: 3
year: 2015
DOI: https://doi.org/10.1145/2658990
ISSN: 1539-9087 (print), 1558-3465 (electronic) OR 15399087 (print), 15583465 (electronic)
ISSNL: 1539-9087 OR 15399087
bibdate: Thu Mar 26 05:58:56 MDT 2015
bibtimestamp: 2015.03.26 05:58:56 MDT
fjournal: ACM Transactions on Embedded Computing Systems
acknowledgement: ack-nhfb
articleno: 39
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J840
rawauthor: Patrick Bellasi and Giuseppe Massari and William Fornaciari
bibsource:
http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/tecs.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
The extremely high technology process reached by silicon manufacturing (smaller than 32nm) has led to production of computational platforms and SoC, featuring a considerable amount of resources. Whereas from one side such multi- and many-core platforms show growing performance capabilities, from the other side they are more and more affected by power, thermal, and reliability issues. Moreover, the increased computational capabilities allows congested usage scenarios with workloads subject to mixed and time-varying requirements. Effective usage of the resources should take into account both the application requirements and resources availability, with an arbiter, namely a resource manager in charge to solve the resource contention among demanding applications. Current operating systems (OS) have only a limited knowledge about application-specific behaviors and their time-varying requirements. Dedicated system interfaces to collect such inputs and forward them to the OS (e.g., its scheduler) are thus an interesting research area that aims at integrating the OS with an ad hoc resource manager. Such a component can exploit efficient low-level OS interfaces and mechanisms to extend its capabilities of controlling tasks and system resources. Because of the specific tasks and timings of a resource manager, this component can be easily and effectively developed as a user-space extension lying in between the OS and the controlled application. This article, which focuses on multicore Linux systems, shows a portable solution to enforce runtime resource management decisions based on the standard control groups framework. A burst and a mixed workload analysis, performed on a multicore-based NUMA platform, have reported some promising results both in terms of performance and power saving.

rawabstract:
The extremely high technology process reached by silicon manufacturing (smaller than 32nm) has led to production of computational platforms and SoC, featuring a considerable amount of resources. Whereas from one side such multi- and many-core platforms show growing performance capabilities, from the other side they are more and more affected by power, thermal, and reliability issues. Moreover, the increased computational capabilities allows congested usage scenarios with workloads subject to mixed and time-varying requirements. Effective usage of the resources should take into account both the application requirements and resources availability, with an arbiter, namely a resource manager in charge to solve the resource contention among demanding applications. Current operating systems (OS) have only a limited knowledge about application-specific behaviors and their time-varying requirements. Dedicated system interfaces to collect such inputs and forward them to the OS (e.g., its scheduler) are thus an interesting research area that aims at integrating the OS with an ad hoc resource manager. Such a component can exploit efficient low-level OS interfaces and mechanisms to extend its capabilities of controlling tasks and system resources. Because of the specific tasks and timings of a resource manager, this component can be easily and effectively developed as a user-space extension lying in between the OS and the controlled application. This article, which focuses on multicore Linux systems, shows a portable solution to enforce runtime resource management decisions based on the standard control groups framework. A burst and a mixed workload analysis, performed on a multicore-based NUMA platform, have reported some promising results both in terms of performance and power saving.

rawtitle:
Effective Runtime Resource Management Using {Linux} Control Groups with the {BarbequeRTRM} Framework

entry:
@Article{Bellasi:2015:ERR,
  author =       "Patrick Bellasi and Giuseppe Massari and William
                 Fornaciari",
  title =        "Effective Runtime Resource Management Using {Linux}
                 Control Groups with the {BarbequeRTRM} Framework",
  journal =      j-TECS,
  volume =       "14",
  number =       "2",
  pages =        "39:1--39:??",
  month =        mar,
  year =         "2015",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/2658990",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Thu Mar 26 05:58:56 MDT 2015",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/tecs.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "The extremely high technology process reached by
                 silicon manufacturing (smaller than 32nm) has led to
                 production of computational platforms and SoC,
                 featuring a considerable amount of resources. Whereas
                 from one side such multi- and many-core platforms show
                 growing performance capabilities, from the other side
                 they are more and more affected by power, thermal, and
                 reliability issues. Moreover, the increased
                 computational capabilities allows congested usage
                 scenarios with workloads subject to mixed and
                 time-varying requirements. Effective usage of the
                 resources should take into account both the application
                 requirements and resources availability, with an
                 arbiter, namely a resource manager in charge to solve
                 the resource contention among demanding applications.
                 Current operating systems (OS) have only a limited
                 knowledge about application-specific behaviors and
                 their time-varying requirements. Dedicated system
                 interfaces to collect such inputs and forward them to
                 the OS (e.g., its scheduler) are thus an interesting
                 research area that aims at integrating the OS with an
                 ad hoc resource manager. Such a component can exploit
                 efficient low-level OS interfaces and mechanisms to
                 extend its capabilities of controlling tasks and system
                 resources. Because of the specific tasks and timings of
                 a resource manager, this component can be easily and
                 effectively developed as a user-space extension lying
                 in between the OS and the controlled application. This
                 article, which focuses on multicore Linux systems,
                 shows a portable solution to enforce runtime resource
                 management decisions based on the standard control
                 groups framework. A burst and a mixed workload
                 analysis, performed on a multicore-based NUMA platform,
                 have reported some promising results both in terms of
                 performance and power saving.",
  acknowledgement = ack-nhfb,
  articleno =    "39",
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J840",
}


bibtype: article
filename: unix.bib
label: Courtes:2015:RUCa
author: Ludovic Courtes and Ricardo Wurmus
title: Reproducible and User-Controlled Software Environments in HPC with Guix
journal: arxiv.org
pages: 1--13
year: 2015
bibdate: Thu Mar 09 14:31:17 2017
bibsource: https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2017.03.09 14:31:17 ???
URL: https://arxiv.org/abs/1506.02822
acknowledgement: ack-nhfb
rawauthor: Ludovic Court{\`e}s and Ricardo Wurmus
rawtitle: Reproducible and User-Controlled Software Environments in {HPC} with {Guix}
abstract:
Support teams of high-performance computing (HPC) systems often find themselves between a rock and a hard place: on one hand, they understandably administrate these large systems in a conservative way, but on the other hand, they try to satisfy their users by deploying up-to-date tool chains as well as libraries and scientific software. HPC system users often have no guarantee that they will be able to reproduce results at a later point in time, even on the same system-software may have been upgraded, removed, or recompiled under their feet, and they have little hope of being able to reproduce the same software environment elsewhere. We present GNU Guix and the functional package management paradigm and show how it can improve reproducibility and sharing among researchers with representative use cases.

rawabstract:
Support teams of high-performance computing (HPC) systems often find themselves between a rock and a hard place: on one hand, they understandably administrate these large systems in a conservative way, but on the other hand, they try to satisfy their users by deploying up-to-date tool chains as well as libraries and scientific software. HPC system users often have no guarantee that they will be able to reproduce results at a later point in time, even on the same system-software may have been upgraded, removed, or recompiled under their feet, and they have little hope of being able to reproduce the same software environment elsewhere. We present GNU Guix and the functional package management paradigm and show how it can improve reproducibility and sharing among researchers with representative use cases.

entry:
@Article{Courtes:2015:RUCa,
  author =       "Ludovic Court{\`e}s and Ricardo Wurmus",
  title =        "Reproducible and User-Controlled Software Environments
                 in {HPC} with {Guix}",
  journal =      "arxiv.org",
  pages =        "1--13",
  year =         "2015",
  bibdate =      "Thu Mar 09 14:31:17 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://arxiv.org/abs/1506.02822",
  abstract =     "Support teams of high-performance computing (HPC)
                 systems often find themselves between a rock and a hard
                 place: on one hand, they understandably administrate
                 these large systems in a conservative way, but on the
                 other hand, they try to satisfy their users by
                 deploying up-to-date tool chains as well as libraries
                 and scientific software. HPC system users often have no
                 guarantee that they will be able to reproduce results
                 at a later point in time, even on the same
                 system-software may have been upgraded, removed, or
                 recompiled under their feet, and they have little hope
                 of being able to reproduce the same software
                 environment elsewhere. We present GNU Guix and the
                 functional package management paradigm and show how it
                 can improve reproducibility and sharing among
                 researchers with representative use cases.",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: Courtes:2015:RUCb
author: Ludovic Courtes and Ricardo Wurmus
editor: Sascha Hunold
booktitle: Euro-Par 2015: parallel processing workshops
title: Reproducible and User-Controlled Software Environments in HPC with Guix
journal: j-LECT-NOTES-COMP-SCI
volume: 9523
pages: 579--591
year: 2015
CODEN: LNCSD9
DOI: https://doi.org/10.1007/978-3-319-27308-2_47
ISSN: 0302-9743 (print), 1611-3349 (electronic) OR 03029743 (print), 16113349 (electronic)
ISSNL: 0302-9743 OR 03029743
bibdate: Thu Mar 09 14:31:17 2017
bibsource: https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2017.03.09 14:31:17 ???
fjournal: Lecture Notes in Computer Science
acknowledgement: ack-nhfb
journalURL: http://link.springer.com/bookseries/558
rawauthor: Ludovic Court{\`e}s and Ricardo Wurmus
rawbooktitle: {Euro-Par 2015}: parallel processing workshops
raweditor: Sascha Hunold
rawtitle: Reproducible and User-Controlled Software Environments in {HPC} with {Guix}
abstract:
Support teams of high-performance computing (HPC) systems often find themselves between a rock and a hard place: on one hand, they understandably administrate these large systems in a conservative way, but on the other hand, they try to satisfy their users by deploying up-to-date tool chains as well as libraries and scientific software. HPC system users often have no guarantee that they will be able to reproduce results at a later point in time, even on the same system-software may have been upgraded, removed, or recompiled under their feet, and they have little hope of being able to reproduce the same software environment elsewhere. We present GNU Guix and the functional package management paradigm and show how it can improve reproducibility and sharing among researchers with representative use cases.

entry:
@Article{Courtes:2015:RUCb,
  author =       "Ludovic Court{\`e}s and Ricardo Wurmus",
  editor =       "Sascha Hunold",
  booktitle =    "{Euro-Par 2015}: parallel processing workshops",
  title =        "Reproducible and User-Controlled Software Environments
                 in {HPC} with {Guix}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "9523",
  pages =        "579--591",
  year =         "2015",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/978-3-319-27308-2_47",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Mar 09 14:31:17 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "Support teams of high-performance computing (HPC)
                 systems often find themselves between a rock and a hard
                 place: on one hand, they understandably administrate
                 these large systems in a conservative way, but on the
                 other hand, they try to satisfy their users by
                 deploying up-to-date tool chains as well as libraries
                 and scientific software. HPC system users often have no
                 guarantee that they will be able to reproduce results
                 at a later point in time, even on the same
                 system-software may have been upgraded, removed, or
                 recompiled under their feet, and they have little hope
                 of being able to reproduce the same software
                 environment elsewhere. We present GNU Guix and the
                 functional package management paradigm and show how it
                 can improve reproducibility and sharing among
                 researchers with representative use cases.",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
  journal-URL =  "http://link.springer.com/bookseries/558",
}


bibtype: book
filename: unix.bib
label: deRaadt:2015:O
author: Theo de Raadt
title: OpenBSD 5.7
year: 2015
ISBN: 0-9881561-5-6 OR 0988156156
ISBN13: 978-0-9881561-5-9 OR 9780988156159
bibdate: Sat Mar 14 15:48:57 2015
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2015.03.14 15:48:57 ???
URL: http://www.openbsd.org/57.html
acknowledgement: ack-nhfb
rawauthor: Theo de Raadt
rawtitle: {OpenBSD 5.7}
entry:
@Book{deRaadt:2015:O,
  author =       "Theo de Raadt",
  title =        "{OpenBSD 5.7}",
  publisher =    "????",
  address =      "????",
  pages =        "????",
  year =         "2015",
  ISBN =         "0-9881561-5-6",
  ISBN-13 =      "978-0-9881561-5-9",
  LCCN =         "????",
  bibdate =      "Sat Mar 14 15:48:57 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.openbsd.org/57.html",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: Jacobsen:2015:LCD
author: Charles Jacobsen and Muktesh Khole and Sarah Spall and Scotty Bauer and Anton Burtsev
title: Lightweight Capability Domains: Towards Decomposing the Linux Kernel
journal: j-OPER-SYS-REV
volume: 49
number: 2
pages: 44--50
month: dec
monthnumber: 12
year: 2015
CODEN: OSRED8
DOI: https://doi.org/10.1145/2883591.2883601
ISSN: 0163-5980 (print), 1943-586X (electronic) OR 01635980 (print), 1943586X (electronic)
ISSNL: 0163-5980 OR 01635980
bibdate: Thu Jan 21 12:18:28 MST 2016
bibtimestamp: 2016.01.21 12:18:28 MST
fjournal: ACM SIGOPS Operating Systems Review
acknowledgement: ack-nhfb
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J597
rawauthor: Charles Jacobsen and Muktesh Khole and Sarah Spall and Scotty Bauer and Anton Burtsev
rawtitle: Lightweight Capability Domains: Towards Decomposing the {Linux} Kernel
bibsource:
http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/opersysrev.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
Despite a number of radical changes in how computer systems are used, the design principles behind the very core of the systems stack --- an operating system kernel --- has remained unchanged for decades. We run monolithic kernels developed with a combination of an unsafe programming language, global sharing of data structures, opaque interfaces, and no explicit knowledge of kernel protocols. Today, the monolithic architecture of a kernel is the main factor undermining its security, and even worse, limiting its evolution towards a safer, more secure environment. Lack of isolation across kernel subsystems allows attackers to take control over the entire machine with a single kernel vulnerability. Furthermore, complex, semantically rich monolithic code with globally shared data structures and no explicit interfaces is not amenable to formal analysis and verification tools. Even after decades of work to make monolithic kernels more secure, over a hundred serious kernel vulnerabilities are still reported every year. Modern kernels need decomposition as a practical means of confining the effects of individual attacks. Historically, decomposed kernels were prohibitively slow. Today, the complexity of a modern kernel prevents a trivial decomposition effort. We argue, however, that despite all odds modern kernels can be decomposed. Careful choice of communication abstractions and execution model, a general approach to decomposition, a path for incremental adoption, and automation through proper language tools can address complexity of decomposition and performance overheads of decomposed kernels. Our work on lightweight capability domains (LCDs) develops principles, mechanisms, and tools that enable incremental, practical decomposition of a modern operating system kernel.

rawabstract:
Despite a number of radical changes in how computer systems are used, the design principles behind the very core of the systems stack --- an operating system kernel --- has remained unchanged for decades. We run monolithic kernels developed with a combination of an unsafe programming language, global sharing of data structures, opaque interfaces, and no explicit knowledge of kernel protocols. Today, the monolithic architecture of a kernel is the main factor undermining its security, and even worse, limiting its evolution towards a safer, more secure environment. Lack of isolation across kernel subsystems allows attackers to take control over the entire machine with a single kernel vulnerability. Furthermore, complex, semantically rich monolithic code with globally shared data structures and no explicit interfaces is not amenable to formal analysis and verification tools. Even after decades of work to make monolithic kernels more secure, over a hundred serious kernel vulnerabilities are still reported every year. Modern kernels need decomposition as a practical means of confining the effects of individual attacks. Historically, decomposed kernels were prohibitively slow. Today, the complexity of a modern kernel prevents a trivial decomposition effort. We argue, however, that despite all odds modern kernels can be decomposed. Careful choice of communication abstractions and execution model, a general approach to decomposition, a path for incremental adoption, and automation through proper language tools can address complexity of decomposition and performance overheads of decomposed kernels. Our work on lightweight capability domains (LCDs) develops principles, mechanisms, and tools that enable incremental, practical decomposition of a modern operating system kernel.

entry:
@Article{Jacobsen:2015:LCD,
  author =       "Charles Jacobsen and Muktesh Khole and Sarah Spall and
                 Scotty Bauer and Anton Burtsev",
  title =        "Lightweight Capability Domains: Towards Decomposing
                 the {Linux} Kernel",
  journal =      j-OPER-SYS-REV,
  volume =       "49",
  number =       "2",
  pages =        "44--50",
  month =        dec,
  year =         "2015",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/2883591.2883601",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Thu Jan 21 12:18:28 MST 2016",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/opersysrev.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "Despite a number of radical changes in how computer
                 systems are used, the design principles behind the very
                 core of the systems stack --- an operating system
                 kernel --- has remained unchanged for decades. We run
                 monolithic kernels developed with a combination of an
                 unsafe programming language, global sharing of data
                 structures, opaque interfaces, and no explicit
                 knowledge of kernel protocols. Today, the monolithic
                 architecture of a kernel is the main factor undermining
                 its security, and even worse, limiting its evolution
                 towards a safer, more secure environment. Lack of
                 isolation across kernel subsystems allows attackers to
                 take control over the entire machine with a single
                 kernel vulnerability. Furthermore, complex,
                 semantically rich monolithic code with globally shared
                 data structures and no explicit interfaces is not
                 amenable to formal analysis and verification tools.
                 Even after decades of work to make monolithic kernels
                 more secure, over a hundred serious kernel
                 vulnerabilities are still reported every year. Modern
                 kernels need decomposition as a practical means of
                 confining the effects of individual attacks.
                 Historically, decomposed kernels were prohibitively
                 slow. Today, the complexity of a modern kernel prevents
                 a trivial decomposition effort. We argue, however, that
                 despite all odds modern kernels can be decomposed.
                 Careful choice of communication abstractions and
                 execution model, a general approach to decomposition, a
                 path for incremental adoption, and automation through
                 proper language tools can address complexity of
                 decomposition and performance overheads of decomposed
                 kernels. Our work on lightweight capability domains
                 (LCDs) develops principles, mechanisms, and tools that
                 enable incremental, practical decomposition of a modern
                 operating system kernel.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGOPS Operating Systems Review",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J597",
}


bibtype: book
filename: unix.bib
label: Lucas:2015:FM
author: Michael W. Lucas and Allan Jude
title: FreeBSD Mastery: ZFS
publisher: Tilted Windmill Press
pages: xx + 212
year: 2015
ISBN: 0-692-45235-4 (paperback) OR 0692452354 (paperback)
ISBN13: 978-0-692-45235-6 (paperback) OR 9780692452356 (paperback)
bibdate: Fri Jun 24 17:30:44 MDT 2016
bibtimestamp: 2016.06.24 17:30:44 MDT
acknowledgement: ack-nhfb
rawauthor: Michael W. Lucas and Allan Jude
rawtitle: {FreeBSD} Mastery: {ZFS}
bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

TOC:
0: Introduction / 1 1: Introducing ZFS / 15 2: Virtual Devices / 23 3: Pools / 45 4: ZFS Datasets / 75 5: Repairs & Renovations / 103 6: Disk Space Management / 131 7: Snapshots and Clones / 161 8: Installing to ZFS / 195 Afterword / 201 About the Authors / 203

rawTOC:
0: Introduction / 1 \\ 1: Introducing ZFS / 15 \\ 2: Virtual Devices / 23 \\ 3: Pools / 45 \\ 4: ZFS Datasets / 75 \\ 5: Repairs \& Renovations / 103 \\ 6: Disk Space Management / 131 \\ 7: Snapshots and Clones / 161 \\ 8: Installing to ZFS / 195 \\ Afterword / 201 \\ About the Authors / 203

entry:
@Book{Lucas:2015:FM,
  author =       "Michael W. Lucas and Allan Jude",
  title =        "{FreeBSD} Mastery: {ZFS}",
  publisher =    "Tilted Windmill Press",
  address =      "????",
  pages =        "xx + 212",
  year =         "2015",
  ISBN =         "0-692-45235-4 (paperback)",
  ISBN-13 =      "978-0-692-45235-6 (paperback)",
  LCCN =         "????",
  bibdate =      "Fri Jun 24 17:30:44 MDT 2016",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  tableofcontents = "0: Introduction / 1 \\
                 1: Introducing ZFS / 15 \\
                 2: Virtual Devices / 23 \\
                 3: Pools / 45 \\
                 4: ZFS Datasets / 75 \\
                 5: Repairs \& Renovations / 103 \\
                 6: Disk Space Management / 131 \\
                 7: Snapshots and Clones / 161 \\
                 8: Installing to ZFS / 195 \\
                 Afterword / 201 \\
                 About the Authors / 203",
}


bibtype: book
filename: unix.bib
label: McKusick:2015:DIF
author: Marshall Kirk McKusick and George V. Neville-Neil and Robert N. M. Watson
title: The Design and Implementation of the FreeBSD Operating System
publisher: pub-AW
address: pub-AW:adr
edition: Second
pages: xxx + 886
year: 2015
LCCN: QA76.774.F74 M35 2015
bibdate: Wed Oct 12 16:31:51 MDT 2016
bibtimestamp: 2016.10.12 16:31:51 MDT
subject: FreeBSD; Free computer software; Operating systems (Computers)
acknowledgement: ack-nhfb
rawauthor: Marshall Kirk McKusick and George V. Neville-Neil and Robert N. M. Watson
rawtitle: The Design and Implementation of the {FreeBSD} Operating System
ISBN:
0-201-70245-2 (hardcover), 0-321-96897-2 (hardcover), 0-321-68005-7, 0-13-376180-0, 0-13-376183-5 OR 0201702452 (hardcover), 0321968972 (hardcover), 0321680057, 0133761800, 0133761835

ISBN13:
978-0-201-70245-3 (hardcover), 978-0-321-96897-5 (hardcover), 978-0-321-68005-1, 978-0-13-376180-1, 978-0-13-376183-2 OR 9780201702453 (hardcover), 9780321968975 (hardcover), 9780321680051, 9780133761801, 9780133761832

bibsource:
https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; z3950.loc.gov:7090/Voyager

abstract:
This book contains comprehensive, up-to-date, and authoritative technical information on the internal structure of the FreeBSD open-source operating system. Coverage includes the capabilities of the system; how to effectively and efficiently interface to the system; how to maintain, tune, and configure the operating system; and how to extend and enhance the system. The authors provide a concise overview of FreeBSD's design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the systems facilities. As a result, this book can be used as an operating systems textbook, a practical reference, or an in-depth study of a contemporary, portable, open-source operating system.

TOC:
Preface / xxi About the Authors / xxix Part I: Overview / 1 Chapter 1: History and Goals / 3 1.1 History of the UNIX System / 3 1.2 BSD and Other Systems / 7 1.3 The Transition of BSD to Open Source / 9 1.4 The FreeBSD Development Model / 14 References / 17 Chapter 2: Design Overview of FreeBSD / 21 2.1 FreeBSD Facilities and the Kernel / 21 2.2 Kernel Organization / 23 2.3 Kernel Services / 26 2.4 Process Management / 26 2.5 Security / 29 2.6 Memory Management / 36 2.7 I/O System Overview / 39 2.8 Devices / 44 2.9 The Fast Filesystem / 45 2.10 The Zettabyte Filesystem / 49 2.11 The Network Filesystem / 50 2.12 Interprocess Communication / 50 2.13 Network-Layer Protocols / 51 2.14 Transport-Layer Protocols / 52 2.15 System Startup and Shutdown / 52 Exercises / 54 References / 54 Chapter 3: Kernel Services / 57 3.1 Kernel Organization / 57 3.2 System Calls / 62 3.3 Traps and Interrupts / 64 3.4 Clock Interrupts / 65 3.5 Memory-Management Services / 69 3.6 Timing Services / 73 3.7 Resource Services / 75 3.8 Kernel Tracing Facilities / 77 Exercises / 84 References / 85 Part II: Processes / 87 Chapter 4: Process Management / 89 4.1 Introduction to Process Management / 89 4.2 Process State / 92 4.3 Context Switching / 99 4.4 Thread Scheduling / 114 4.5 Process Creation / 126 4.6 Process Termination / 128 4.7 Signals / 129 4.8 Process Groups and Sessions / 136 4.9 Process Debugging / 142 Exercises / 144 References / 146 Chapter 5: Security / 147 5.1 Operating-System Security / 148 5.2 Security Model / 149 5.3 Process Credentials / 151 5.4 Users and Groups / 154 5.5 Privilege Model / 157 5.6 Interprocess Access Control / 159 5.7 Discretionary Access Control / 161 5.8 Capsicum Capability Model / 174 5.9 Jails / 180 5.10 Mandatory Access-Control Framework / 184 5.11 Security Event Auditing / 200 5.12 Cryptographic Services / 206 5.13 GELI Full-Disk Encryption / 212 Exercises / 217 References / 217 Chapter 6: Memory Management / 221 6.1 Terminology / 221 6.2 Overview of the FreeBSD Virtual-Memory System / 227 6.3 Kernel Memory Management / 230 6.4 Per-Process Resources / 244 6.5 Shared Memory / 250 6.6 Creation of a New Process / 258 6.7 Execution of a File / 262 6.8 Process Manipulation of Its Address Space / 263 6.9 Termination of a Process / 266 6.10 The Pager Interface / 267 6.11 Paging / 276 6.12 Page Replacement / 289 6.13 Portability / 298 Exercises / 308 References / 310 Part III: I/O System / 313 Chapter 7: I/O System Overview / 315 7.1 Descriptor Management and Services / 316 7.2 Local Interprocess Communication / 333 7.3 The Virtual-Filesystem Interface / 339 7.4 Filesystem-Independent Services / 344 7.5 Stackable Filesystems / 352 Exercises / 358 References / 359 Chapter 8: Devices / 361 8.1 Device Overview / 361 8.2 I/O Mapping from User to Device / 367 8.3 Character Devices / 370 8.4 Disk Devices / 374 8.5 Network Devices / 378 8.6 Terminal Handling / 382 8.7 The GEOM Layer / 391 8.8 The CAM Layer / 399 8.9 Device Configuration / 402 8.10 Device Virtualization / 414 Exercises / 428 References / 429 Chapter 9: The Fast Filesystem / 431 9.1 Hierarchical Filesystem Management / 431 9.2 Structure of an Inode / 433 9.3 Naming / 443 9.4 Quotas / 451 9.5 File Locking / 454 9.6 Soft Updates / 459 9.7 Filesystem Snapshots / 480 9.8 Journaled Soft Updates / 487 9.9 The Local Filestore / 496 9.10 The Berkeley Fast Filesystem / 501 Exercises / 517 References / 519 Chapter 10: The Zettabyte Filesystem / 523 10.1 Introduction / 523 10.2 ZFS Organization / 527 10.3 ZFS Structure / 532 10.4 ZFS Operation / 535 10.5 ZFS Design Tradeoffs / 547 Exercises / 549 References / 549 Chapter 11: The Network Filesystem / 551 11.1 Overview / 551 11.2 Structure and Operation / 553 11.3 NFS Evolution / 567 Exercises / 586 References / 587 Part IV: Interprocess Communication / 591 Chapter 12: Interprocess Communication / 593 12.1 Interprocess-Communication Model / 593 12.2 Implementation Structure and Overview / 599 12.3 Memory Management / 601 12.4 IPC Data Structures / 606 12.5 Connection Setup / 612 12.6 Data Transfer / 615 12.7 Socket Shutdown / 620 12.8 Network-Communication Protocol Internal Structure / 621 12.9 Socket-to-Protocol Interface / 626 12.10 Protocol-to-Protocol Interface / 631 12.11 Protocol-to-Network Interface / 634 12.12 Buffering and Flow Control / 643 12.13 Network Virtualization / 644 Exercises / 646 References / 648 Chapter 13: Network-Layer Protocols / 649 13.1 Internet Protocol Version 4 / 650 13.2 Internet Control Message Protocols (ICMP) / 657 13.3 Internet Protocol Version 6 / 659 13.4 Internet Protocols Code Structure / 670 13.5 Routing / 675 13.6 Raw Sockets / 686 13.7 Security / 688 13.8 Packet-Processing Frameworks / 700 Exercises / 715 References / 717 Chapter 14: Transport-Layer Protocols / 721 14.1 Internet Ports and Associations / 721 14.2 User Datagram Protocol (UDP) / 723 14.3 Transmission Control Protocol (TCP) / 725 14.4 TCP Algorithms / 732 14.5 TCP Input Processing / 741 14.6 TCP Output Processing / 745 14.7 Stream Control Transmission Protocol (SCTP) / 761 Exercises / 768 References / 770 Part V: System Operation / 773 Chapter 15: System Startup and Shutdown / 775 15.1 Firmware and BIOSes / 776 15.2 Boot Loaders / 777 15.3 Kernel Boot / 782 15.4 User-Level Initialization / 798 15.5 System Operation / 800 Exercises / 805 References / 806 Glossary / 807 Index / 847

rawabstract:
This book contains comprehensive, up-to-date, and authoritative technical information on the internal structure of the FreeBSD open-source operating system. Coverage includes the capabilities of the system; how to effectively and efficiently interface to the system; how to maintain, tune, and configure the operating system; and how to extend and enhance the system. The authors provide a concise overview of FreeBSD's design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the systems facilities. As a result, this book can be used as an operating systems textbook, a practical reference, or an in-depth study of a contemporary, portable, open-source operating system.

rawTOC:
Preface / xxi About the Authors / xxix \\ Part I: Overview / 1 \\ Chapter 1: History and Goals / 3 \\ 1.1 History of the UNIX System / 3 \\ 1.2 BSD and Other Systems / 7 \\ 1.3 The Transition of BSD to Open Source / 9 \\ 1.4 The FreeBSD Development Model / 14 \\ References / 17 \\ Chapter 2: Design Overview of FreeBSD / 21 \\ 2.1 FreeBSD Facilities and the Kernel / 21 \\ 2.2 Kernel Organization / 23 \\ 2.3 Kernel Services / 26 \\ 2.4 Process Management / 26 \\ 2.5 Security / 29 \\ 2.6 Memory Management / 36 \\ 2.7 I/O System Overview / 39 \\ 2.8 Devices / 44 \\ 2.9 The Fast Filesystem / 45 \\ 2.10 The Zettabyte Filesystem / 49 \\ 2.11 The Network Filesystem / 50 \\ 2.12 Interprocess Communication / 50 \\ 2.13 Network-Layer Protocols / 51 \\ 2.14 Transport-Layer Protocols / 52 \\ 2.15 System Startup and Shutdown / 52 \\ Exercises / 54 \\ References / 54 \\ Chapter 3: Kernel Services / 57 \\ 3.1 Kernel Organization / 57 \\ 3.2 System Calls / 62 \\ 3.3 Traps and Interrupts / 64 \\ 3.4 Clock Interrupts / 65 \\ 3.5 Memory-Management Services / 69 \\ 3.6 Timing Services / 73 \\ 3.7 Resource Services / 75 \\ 3.8 Kernel Tracing Facilities / 77 \\ Exercises / 84 \\ References / 85 \\ Part II: Processes / 87 \\ Chapter 4: Process Management / 89 \\ 4.1 Introduction to Process Management / 89 \\ 4.2 Process State / 92 \\ 4.3 Context Switching / 99 \\ 4.4 Thread Scheduling / 114 \\ 4.5 Process Creation / 126 \\ 4.6 Process Termination / 128 \\ 4.7 Signals / 129 \\ 4.8 Process Groups and Sessions / 136 \\ 4.9 Process Debugging / 142 \\ Exercises / 144 \\ References / 146 \\ Chapter 5: Security / 147 \\ 5.1 Operating-System Security / 148 \\ 5.2 Security Model / 149 \\ 5.3 Process Credentials / 151 \\ 5.4 Users and Groups / 154 \\ 5.5 Privilege Model / 157 \\ 5.6 Interprocess Access Control / 159 \\ 5.7 Discretionary Access Control / 161 \\ 5.8 Capsicum Capability Model / 174 \\ 5.9 Jails / 180 \\ 5.10 Mandatory Access-Control Framework / 184 \\ 5.11 Security Event Auditing / 200 \\ 5.12 Cryptographic Services / 206 \\ 5.13 GELI Full-Disk Encryption / 212 \\ Exercises / 217 \\ References / 217 \\ Chapter 6: Memory Management / 221 \\ 6.1 Terminology / 221 \\ 6.2 Overview of the FreeBSD Virtual-Memory System / 227 \\ 6.3 Kernel Memory Management / 230 \\ 6.4 Per-Process Resources / 244 \\ 6.5 Shared Memory / 250 \\ 6.6 Creation of a New Process / 258 \\ 6.7 Execution of a File / 262 \\ 6.8 Process Manipulation of Its Address Space / 263 \\ 6.9 Termination of a Process / 266 \\ 6.10 The Pager Interface / 267 \\ 6.11 Paging / 276 \\ 6.12 Page Replacement / 289 \\ 6.13 Portability / 298 \\ Exercises / 308 \\ References / 310 \\ Part III: I/O System / 313 \\ Chapter 7: I/O System Overview / 315 \\ 7.1 Descriptor Management and Services / 316 \\ 7.2 Local Interprocess Communication / 333 \\ 7.3 The Virtual-Filesystem Interface / 339 \\ 7.4 Filesystem-Independent Services / 344 \\ 7.5 Stackable Filesystems / 352 \\ Exercises / 358 \\ References / 359 \\ Chapter 8: Devices / 361 \\ 8.1 Device Overview / 361 \\ 8.2 I/O Mapping from User to Device / 367 \\ 8.3 Character Devices / 370 \\ 8.4 Disk Devices / 374 \\ 8.5 Network Devices / 378 \\ 8.6 Terminal Handling / 382 \\ 8.7 The GEOM Layer / 391 \\ 8.8 The CAM Layer / 399 \\ 8.9 Device Configuration / 402 \\ 8.10 Device Virtualization / 414 \\ Exercises / 428 \\ References / 429 \\ Chapter 9: The Fast Filesystem / 431 \\ 9.1 Hierarchical Filesystem Management / 431 \\ 9.2 Structure of an Inode / 433 \\ 9.3 Naming / 443 \\ 9.4 Quotas / 451 \\ 9.5 File Locking / 454 \\ 9.6 Soft Updates / 459 \\ 9.7 Filesystem Snapshots / 480 \\ 9.8 Journaled Soft Updates / 487 \\ 9.9 The Local Filestore / 496 \\ 9.10 The Berkeley Fast Filesystem / 501 \\ Exercises / 517 \\ References / 519 \\ Chapter 10: The Zettabyte Filesystem / 523 \\ 10.1 Introduction / 523 \\ 10.2 ZFS Organization / 527 \\ 10.3 ZFS Structure / 532 \\ 10.4 ZFS Operation / 535 \\ 10.5 ZFS Design Tradeoffs / 547 \\ Exercises / 549 \\ References / 549 \\ Chapter 11: The Network Filesystem / 551 \\ 11.1 Overview / 551 \\ 11.2 Structure and Operation / 553 \\ 11.3 NFS Evolution / 567 \\ Exercises / 586 \\ References / 587 \\ Part IV: Interprocess Communication / 591 \\ Chapter 12: Interprocess Communication / 593 \\ 12.1 Interprocess-Communication Model / 593 \\ 12.2 Implementation Structure and Overview / 599 \\ 12.3 Memory Management / 601 \\ 12.4 IPC Data Structures / 606 \\ 12.5 Connection Setup / 612 \\ 12.6 Data Transfer / 615 \\ 12.7 Socket Shutdown / 620 \\ 12.8 Network-Communication Protocol Internal Structure / 621 \\ 12.9 Socket-to-Protocol Interface / 626 \\ 12.10 Protocol-to-Protocol Interface / 631 \\ 12.11 Protocol-to-Network Interface / 634 \\ 12.12 Buffering and Flow Control / 643 \\ 12.13 Network Virtualization / 644 \\ Exercises / 646 \\ References / 648 \\ Chapter 13: Network-Layer Protocols / 649 \\ 13.1 Internet Protocol Version 4 / 650 \\ 13.2 Internet Control Message Protocols (ICMP) / 657 \\ 13.3 Internet Protocol Version 6 / 659 \\ 13.4 Internet Protocols Code Structure / 670 \\ 13.5 Routing / 675 \\ 13.6 Raw Sockets / 686 \\ 13.7 Security / 688 \\ 13.8 Packet-Processing Frameworks / 700 \\ Exercises / 715 \\ References / 717 \\ Chapter 14: Transport-Layer Protocols / 721 \\ 14.1 Internet Ports and Associations / 721 \\ 14.2 User Datagram Protocol (UDP) / 723 \\ 14.3 Transmission Control Protocol (TCP) / 725 \\ 14.4 TCP Algorithms / 732 \\ 14.5 TCP Input Processing / 741 \\ 14.6 TCP Output Processing / 745 \\ 14.7 Stream Control Transmission Protocol (SCTP) / 761 \\ Exercises / 768 \\ References / 770 \\ Part V: System Operation / 773 \\ Chapter 15: System Startup and Shutdown / 775 \\ 15.1 Firmware and BIOSes / 776 \\ 15.2 Boot Loaders / 777 \\ 15.3 Kernel Boot / 782 \\ 15.4 User-Level Initialization / 798 \\ 15.5 System Operation / 800 \\ Exercises / 805 \\ References / 806 \\ Glossary / 807 \\ Index / 847

entry:
@Book{McKusick:2015:DIF,
  author =       "Marshall Kirk McKusick and George V. Neville-Neil and
                 Robert N. M. Watson",
  title =        "The Design and Implementation of the {FreeBSD}
                 Operating System",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xxx + 886",
  year =         "2015",
  ISBN =         "0-201-70245-2 (hardcover), 0-321-96897-2 (hardcover),
                 0-321-68005-7, 0-13-376180-0, 0-13-376183-5",
  ISBN-13 =      "978-0-201-70245-3 (hardcover), 978-0-321-96897-5
                 (hardcover), 978-0-321-68005-1, 978-0-13-376180-1,
                 978-0-13-376183-2",
  LCCN =         "QA76.774.F74 M35 2015",
  bibdate =      "Wed Oct 12 16:31:51 MDT 2016",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  abstract =     "This book contains comprehensive, up-to-date, and
                 authoritative technical information on the internal
                 structure of the FreeBSD open-source operating system.
                 Coverage includes the capabilities of the system; how
                 to effectively and efficiently interface to the system;
                 how to maintain, tune, and configure the operating
                 system; and how to extend and enhance the system. The
                 authors provide a concise overview of FreeBSD's design
                 and implementation. Then, while explaining key design
                 decisions, they detail the concepts, data structures,
                 and algorithms used in implementing the systems
                 facilities. As a result, this book can be used as an
                 operating systems textbook, a practical reference, or
                 an in-depth study of a contemporary, portable,
                 open-source operating system.",
  acknowledgement = ack-nhfb,
  subject =      "FreeBSD; Free computer software; Operating systems
                 (Computers)",
  tableofcontents = "Preface / xxi About the Authors / xxix \\
                 Part I: Overview / 1 \\
                 Chapter 1: History and Goals / 3 \\
                 1.1 History of the UNIX System / 3 \\
                 1.2 BSD and Other Systems / 7 \\
                 1.3 The Transition of BSD to Open Source / 9 \\
                 1.4 The FreeBSD Development Model / 14 \\
                 References / 17 \\
                 Chapter 2: Design Overview of FreeBSD / 21 \\
                 2.1 FreeBSD Facilities and the Kernel / 21 \\
                 2.2 Kernel Organization / 23 \\
                 2.3 Kernel Services / 26 \\
                 2.4 Process Management / 26 \\
                 2.5 Security / 29 \\
                 2.6 Memory Management / 36 \\
                 2.7 I/O System Overview / 39 \\
                 2.8 Devices / 44 \\
                 2.9 The Fast Filesystem / 45 \\
                 2.10 The Zettabyte Filesystem / 49 \\
                 2.11 The Network Filesystem / 50 \\
                 2.12 Interprocess Communication / 50 \\
                 2.13 Network-Layer Protocols / 51 \\
                 2.14 Transport-Layer Protocols / 52 \\
                 2.15 System Startup and Shutdown / 52 \\
                 Exercises / 54 \\
                 References / 54 \\
                 Chapter 3: Kernel Services / 57 \\
                 3.1 Kernel Organization / 57 \\
                 3.2 System Calls / 62 \\
                 3.3 Traps and Interrupts / 64 \\
                 3.4 Clock Interrupts / 65 \\
                 3.5 Memory-Management Services / 69 \\
                 3.6 Timing Services / 73 \\
                 3.7 Resource Services / 75 \\
                 3.8 Kernel Tracing Facilities / 77 \\
                 Exercises / 84 \\
                 References / 85 \\
                 Part II: Processes / 87 \\
                 Chapter 4: Process Management / 89 \\
                 4.1 Introduction to Process Management / 89 \\
                 4.2 Process State / 92 \\
                 4.3 Context Switching / 99 \\
                 4.4 Thread Scheduling / 114 \\
                 4.5 Process Creation / 126 \\
                 4.6 Process Termination / 128 \\
                 4.7 Signals / 129 \\
                 4.8 Process Groups and Sessions / 136 \\
                 4.9 Process Debugging / 142 \\
                 Exercises / 144 \\
                 References / 146 \\
                 Chapter 5: Security / 147 \\
                 5.1 Operating-System Security / 148 \\
                 5.2 Security Model / 149 \\
                 5.3 Process Credentials / 151 \\
                 5.4 Users and Groups / 154 \\
                 5.5 Privilege Model / 157 \\
                 5.6 Interprocess Access Control / 159 \\
                 5.7 Discretionary Access Control / 161 \\
                 5.8 Capsicum Capability Model / 174 \\
                 5.9 Jails / 180 \\
                 5.10 Mandatory Access-Control Framework / 184 \\
                 5.11 Security Event Auditing / 200 \\
                 5.12 Cryptographic Services / 206 \\
                 5.13 GELI Full-Disk Encryption / 212 \\
                 Exercises / 217 \\
                 References / 217 \\
                 Chapter 6: Memory Management / 221 \\
                 6.1 Terminology / 221 \\
                 6.2 Overview of the FreeBSD Virtual-Memory System / 227
                 \\
                 6.3 Kernel Memory Management / 230 \\
                 6.4 Per-Process Resources / 244 \\
                 6.5 Shared Memory / 250 \\
                 6.6 Creation of a New Process / 258 \\
                 6.7 Execution of a File / 262 \\
                 6.8 Process Manipulation of Its Address Space / 263 \\
                 6.9 Termination of a Process / 266 \\
                 6.10 The Pager Interface / 267 \\
                 6.11 Paging / 276 \\
                 6.12 Page Replacement / 289 \\
                 6.13 Portability / 298 \\
                 Exercises / 308 \\
                 References / 310 \\
                 Part III: I/O System / 313 \\
                 Chapter 7: I/O System Overview / 315 \\
                 7.1 Descriptor Management and Services / 316 \\
                 7.2 Local Interprocess Communication / 333 \\
                 7.3 The Virtual-Filesystem Interface / 339 \\
                 7.4 Filesystem-Independent Services / 344 \\
                 7.5 Stackable Filesystems / 352 \\
                 Exercises / 358 \\
                 References / 359 \\
                 Chapter 8: Devices / 361 \\
                 8.1 Device Overview / 361 \\
                 8.2 I/O Mapping from User to Device / 367 \\
                 8.3 Character Devices / 370 \\
                 8.4 Disk Devices / 374 \\
                 8.5 Network Devices / 378 \\
                 8.6 Terminal Handling / 382 \\
                 8.7 The GEOM Layer / 391 \\
                 8.8 The CAM Layer / 399 \\
                 8.9 Device Configuration / 402 \\
                 8.10 Device Virtualization / 414 \\
                 Exercises / 428 \\
                 References / 429 \\
                 Chapter 9: The Fast Filesystem / 431 \\
                 9.1 Hierarchical Filesystem Management / 431 \\
                 9.2 Structure of an Inode / 433 \\
                 9.3 Naming / 443 \\
                 9.4 Quotas / 451 \\
                 9.5 File Locking / 454 \\
                 9.6 Soft Updates / 459 \\
                 9.7 Filesystem Snapshots / 480 \\
                 9.8 Journaled Soft Updates / 487 \\
                 9.9 The Local Filestore / 496 \\
                 9.10 The Berkeley Fast Filesystem / 501 \\
                 Exercises / 517 \\
                 References / 519 \\
                 Chapter 10: The Zettabyte Filesystem / 523 \\
                 10.1 Introduction / 523 \\
                 10.2 ZFS Organization / 527 \\
                 10.3 ZFS Structure / 532 \\
                 10.4 ZFS Operation / 535 \\
                 10.5 ZFS Design Tradeoffs / 547 \\
                 Exercises / 549 \\
                 References / 549 \\
                 Chapter 11: The Network Filesystem / 551 \\
                 11.1 Overview / 551 \\
                 11.2 Structure and Operation / 553 \\
                 11.3 NFS Evolution / 567 \\
                 Exercises / 586 \\
                 References / 587 \\
                 Part IV: Interprocess Communication / 591 \\
                 Chapter 12: Interprocess Communication / 593 \\
                 12.1 Interprocess-Communication Model / 593 \\
                 12.2 Implementation Structure and Overview / 599 \\
                 12.3 Memory Management / 601 \\
                 12.4 IPC Data Structures / 606 \\
                 12.5 Connection Setup / 612 \\
                 12.6 Data Transfer / 615 \\
                 12.7 Socket Shutdown / 620 \\
                 12.8 Network-Communication Protocol Internal Structure
                 / 621 \\
                 12.9 Socket-to-Protocol Interface / 626 \\
                 12.10 Protocol-to-Protocol Interface / 631 \\
                 12.11 Protocol-to-Network Interface / 634 \\
                 12.12 Buffering and Flow Control / 643 \\
                 12.13 Network Virtualization / 644 \\
                 Exercises / 646 \\
                 References / 648 \\
                 Chapter 13: Network-Layer Protocols / 649 \\
                 13.1 Internet Protocol Version 4 / 650 \\
                 13.2 Internet Control Message Protocols (ICMP) / 657
                 \\
                 13.3 Internet Protocol Version 6 / 659 \\
                 13.4 Internet Protocols Code Structure / 670 \\
                 13.5 Routing / 675 \\
                 13.6 Raw Sockets / 686 \\
                 13.7 Security / 688 \\
                 13.8 Packet-Processing Frameworks / 700 \\
                 Exercises / 715 \\
                 References / 717 \\
                 Chapter 14: Transport-Layer Protocols / 721 \\
                 14.1 Internet Ports and Associations / 721 \\
                 14.2 User Datagram Protocol (UDP) / 723 \\
                 14.3 Transmission Control Protocol (TCP) / 725 \\
                 14.4 TCP Algorithms / 732 \\
                 14.5 TCP Input Processing / 741 \\
                 14.6 TCP Output Processing / 745 \\
                 14.7 Stream Control Transmission Protocol (SCTP) / 761
                 \\
                 Exercises / 768 \\
                 References / 770 \\
                 Part V: System Operation / 773 \\
                 Chapter 15: System Startup and Shutdown / 775 \\
                 15.1 Firmware and BIOSes / 776 \\
                 15.2 Boot Loaders / 777 \\
                 15.3 Kernel Boot / 782 \\
                 15.4 User-Level Initialization / 798 \\
                 15.5 System Operation / 800 \\
                 Exercises / 805 \\
                 References / 806 \\
                 Glossary / 807 \\
                 Index / 847",
}


bibtype: book
filename: unix.bib
label: Ray:2015:UL
author: Deborah S. Ray and Eric J. Ray
title: Unix and Linux
publisher: pub-PEACHPIT
address: pub-PEACHPIT:adr
edition: Fifth
pages: xii + 396
year: 2015
ISBN: 0-321-99754-9 (paperback) OR 0321997549 (paperback)
ISBN13: 978-0-321-99754-8 (paperback) OR 9780321997548 (paperback)
LCCN: QA76.76.O63 R3915 2015
bibdate: Thu Sep 17 05:41:40 MDT 2015
bibtimestamp: 2015.09.17 05:41:40 MDT
series: Visual quickstart guide
URL: http://proquest.safaribooksonline.com/9780133793871
remark: Previous edition: c2011.
acknowledgement: ack-nhfb
rawauthor: Deborah S. Ray and Eric J. Ray
rawtitle: {Unix} and {Linux}
abstract:
In this updated edition, authors Deborah and Eric Ray use crystal-clear instructions and friendly prose to introduce you to all of today's Unix essentials. You'll find the information you need to get started with the operating system and learn the most common Unix commands and concepts so that Unix can do the hard work for you. After mastering the basics of Unix, you'll move on to how to use directories and files, work with a shell, and create and edit files. You'll then learn how to manipulate files, configure a Unix environment, and run-and even write-scripts. Throughout the book-from logging in to being root-the authors offer essential coverage of Unix.

subject:
UNIX (Computer file); Linux; Operating systems (Computers); Linux.UNIX (Computer file); Operating systems (Computers)

TOC:
Getting started with Unix and Linux Using directories and files Working with your shell Creating and editing files Controlling ownership and permissions Manipulating files Getting information about the system Configuring your Unix or Linux environment Running scripts and programs Writing basic scripts Sending and reading email Accessing the internet Working with encoded and compressed files Using handy utilities Being root Sensational Unix tricks

rawabstract:
In this updated edition, authors Deborah and Eric Ray use crystal-clear instructions and friendly prose to introduce you to all of today's Unix essentials. You'll find the information you need to get started with the operating system and learn the most common Unix commands and concepts so that Unix can do the hard work for you. After mastering the basics of Unix, you'll move on to how to use directories and files, work with a shell, and create and edit files. You'll then learn how to manipulate files, configure a Unix environment, and run-and even write-scripts. Throughout the book-from logging in to being root-the authors offer essential coverage of Unix.

rawTOC:
Getting started with Unix and Linux \\ Using directories and files \\ Working with your shell \\ Creating and editing files \\ Controlling ownership and permissions \\ Manipulating files \\ Getting information about the system \\ Configuring your Unix or Linux environment \\ Running scripts and programs \\ Writing basic scripts \\ Sending and reading email \\ Accessing the internet \\ Working with encoded and compressed files \\ Using handy utilities \\ Being root \\ Sensational Unix tricks

entry:
@Book{Ray:2015:UL,
  author =       "Deborah S. Ray and Eric J. Ray",
  title =        "{Unix} and {Linux}",
  publisher =    pub-PEACHPIT,
  address =      pub-PEACHPIT:adr,
  edition =      "Fifth",
  pages =        "xii + 396",
  year =         "2015",
  ISBN =         "0-321-99754-9 (paperback)",
  ISBN-13 =      "978-0-321-99754-8 (paperback)",
  LCCN =         "QA76.76.O63 R3915 2015",
  bibdate =      "Thu Sep 17 05:41:40 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Visual quickstart guide",
  URL =          "http://proquest.safaribooksonline.com/9780133793871",
  abstract =     "In this updated edition, authors Deborah and Eric Ray
                 use crystal-clear instructions and friendly prose to
                 introduce you to all of today's Unix essentials. You'll
                 find the information you need to get started with the
                 operating system and learn the most common Unix
                 commands and concepts so that Unix can do the hard work
                 for you. After mastering the basics of Unix, you'll
                 move on to how to use directories and files, work with
                 a shell, and create and edit files. You'll then learn
                 how to manipulate files, configure a Unix environment,
                 and run-and even write-scripts. Throughout the
                 book-from logging in to being root-the authors offer
                 essential coverage of Unix.",
  acknowledgement = ack-nhfb,
  remark =       "Previous edition: c2011.",
  subject =      "UNIX (Computer file); Linux; Operating systems
                 (Computers); Linux.UNIX (Computer file); Operating
                 systems (Computers)",
  tableofcontents = "Getting started with Unix and Linux \\
                 Using directories and files \\
                 Working with your shell \\
                 Creating and editing files \\
                 Controlling ownership and permissions \\
                 Manipulating files \\
                 Getting information about the system \\
                 Configuring your Unix or Linux environment \\
                 Running scripts and programs \\
                 Writing basic scripts \\
                 Sending and reading email \\
                 Accessing the internet \\
                 Working with encoded and compressed files \\
                 Using handy utilities \\
                 Being root \\
                 Sensational Unix tricks",
}


bibtype: article
filename: unix.bib
label: Santana:2015:FSS
author: Ricardo Santana and Raju Rangaswami and Vasily Tarasov and Dean Hildebrand
title: A Fast and Slippery Slope for File Systems
journal: j-OPER-SYS-REV
volume: 49
number: 2
pages: 27--34
month: dec
monthnumber: 12
year: 2015
CODEN: OSRED8
DOI: https://doi.org/10.1145/2883591.2883598
ISSN: 0163-5980 (print), 1943-586X (electronic) OR 01635980 (print), 1943586X (electronic)
ISSNL: 0163-5980 OR 01635980
bibdate: Thu Jan 21 12:18:28 MST 2016
bibtimestamp: 2016.01.21 12:18:28 MST
fjournal: ACM SIGOPS Operating Systems Review
acknowledgement: ack-nhfb
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J597
rawauthor: Ricardo Santana and Raju Rangaswami and Vasily Tarasov and Dean Hildebrand
rawtitle: A Fast and Slippery Slope for File Systems
bibsource:
http://portal.acm.org/; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/opersysrev.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
There is a vast number and variety of file systems currently available, each optimizing for an ever growing number of storage devices and workloads. Users have an unprecedented, and somewhat overwhelming, number of data management options. At the same time, the fastest storage devices are only getting faster, and it is unclear on how well the existing file systems will adapt. Using emulation techniques, we evaluate five popular Linux file systems across a range of storage device latencies typical to low-end hard drives, latest high-performance persistent memory block devices, and in between. Our findings are often surprising. Depending on the workload, we find that some file systems can clearly scale with faster storage devices much better than others. Further, as storage device latency decreases, we find unexpected performance inversions across file systems. Finally, file system scalability in the higher device latency range is not representative of scalability in the lower, submillisecond, latency range. We then focus on Nilfs2 as an especially alarming example of an unexpectedly poor scalability and present detailed instructions for identifying bottlenecks in the I/O stack.

rawabstract:
There is a vast number and variety of file systems currently available, each optimizing for an ever growing number of storage devices and workloads. Users have an unprecedented, and somewhat overwhelming, number of data management options. At the same time, the fastest storage devices are only getting faster, and it is unclear on how well the existing file systems will adapt. Using emulation techniques, we evaluate five popular Linux file systems across a range of storage device latencies typical to low-end hard drives, latest high-performance persistent memory block devices, and in between. Our findings are often surprising. Depending on the workload, we find that some file systems can clearly scale with faster storage devices much better than others. Further, as storage device latency decreases, we find unexpected performance inversions across file systems. Finally, file system scalability in the higher device latency range is not representative of scalability in the lower, submillisecond, latency range. We then focus on Nilfs2 as an especially alarming example of an unexpectedly poor scalability and present detailed instructions for identifying bottlenecks in the I/O stack.

entry:
@Article{Santana:2015:FSS,
  author =       "Ricardo Santana and Raju Rangaswami and Vasily Tarasov
                 and Dean Hildebrand",
  title =        "A Fast and Slippery Slope for File Systems",
  journal =      j-OPER-SYS-REV,
  volume =       "49",
  number =       "2",
  pages =        "27--34",
  month =        dec,
  year =         "2015",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/2883591.2883598",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Thu Jan 21 12:18:28 MST 2016",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/opersysrev.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "There is a vast number and variety of file systems
                 currently available, each optimizing for an ever
                 growing number of storage devices and workloads. Users
                 have an unprecedented, and somewhat overwhelming,
                 number of data management options. At the same time,
                 the fastest storage devices are only getting faster,
                 and it is unclear on how well the existing file systems
                 will adapt. Using emulation techniques, we evaluate
                 five popular Linux file systems across a range of
                 storage device latencies typical to low-end hard
                 drives, latest high-performance persistent memory block
                 devices, and in between. Our findings are often
                 surprising. Depending on the workload, we find that
                 some file systems can clearly scale with faster storage
                 devices much better than others. Further, as storage
                 device latency decreases, we find unexpected
                 performance inversions across file systems. Finally,
                 file system scalability in the higher device latency
                 range is not representative of scalability in the
                 lower, submillisecond, latency range. We then focus on
                 Nilfs2 as an especially alarming example of an
                 unexpectedly poor scalability and present detailed
                 instructions for identifying bottlenecks in the I/O
                 stack.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGOPS Operating Systems Review",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J597",
}


bibtype: book
filename: unix.bib
label: Santos:2015:BD
author: Rui Santos and Luis Perestrelo
title: BeagleBone for dummies
publisher: pub-WILEY
address: pub-WILEY:adr
year: 2015
ISBN: 1-118-99291-1 (paperback) OR 1118992911 (paperback)
ISBN13: 978-1-118-99291-3 (paperback) OR 9781118992913 (paperback)
bibdate: Thu Feb 26 14:24:39 MST 2015
bibtimestamp: 2015.02.26 14:24:39 MST
acknowledgement: ack-nhfb
rawauthor: Rui Santos and Luis Perestrelo
rawtitle: {BeagleBone} for dummies
subject:
Linux; BeagleBone (Computer); Embedded computer systems; Operating systems (Computers); BeagleBone Black (Computer); Programming; COMPUTERS / Computer Science; COMPUTERS / Hardware / General; COMPUTERS / Machine Theory

entry:
@Book{Santos:2015:BD,
  author =       "Rui Santos and Luis Perestrelo",
  title =        "{BeagleBone} for dummies",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "????",
  year =         "2015",
  ISBN =         "1-118-99291-1 (paperback)",
  ISBN-13 =      "978-1-118-99291-3 (paperback)",
  LCCN =         "????",
  bibdate =      "Thu Feb 26 14:24:39 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Linux; BeagleBone (Computer); Embedded computer
                 systems; Operating systems (Computers); BeagleBone
                 Black (Computer); Programming; COMPUTERS / Computer
                 Science; COMPUTERS / Hardware / General; COMPUTERS /
                 Machine Theory",
}


bibtype: article
filename: unix.bib
label: Wang:2015:SDB
author: Yongge Wang and Tony Nicol
journal: j-COMPUT-SECUR
volume: 53
pages: 44--64
month: sep
monthnumber: 9
year: 2015
CODEN: CPSEDU
ISSN: 0167-4048 (print), 1872-6208 (electronic) OR 01674048 (print), 18726208 (electronic)
ISSNL: 0167-4048 OR 01674048
bibdate: Mon Sep 23 09:46:42 MDT 2019
bibtimestamp: 2019.09.23 09:46:42 MDT
URL: https://www.sciencedirect.com/science/article/pii/S0167404815000693
fjournal: Computers & Security
acknowledgement: ack-nhfb
journalURL: https://www.sciencedirect.com/science/journal/01674048
rawauthor: Yongge Wang and Tony Nicol
title:
On statistical distance based testing of pseudo random sequences and experiments with PHP and Debian OpenSSL

bibsource:
https://www.math.utah.edu/pub/tex/bib/computsecur2010.bib; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/prng.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

rawtitle:
On statistical distance based testing of pseudo random sequences and experiments with {PHP} and {Debian OpenSSL}

entry:
@Article{Wang:2015:SDB,
  author =       "Yongge Wang and Tony Nicol",
  title =        "On statistical distance based testing of pseudo random
                 sequences and experiments with {PHP} and {Debian
                 OpenSSL}",
  journal =      j-COMPUT-SECUR,
  volume =       "53",
  number =       "??",
  pages =        "44--64",
  month =        sep,
  year =         "2015",
  CODEN =        "CPSEDU",
  ISSN =         "0167-4048 (print), 1872-6208 (electronic)",
  ISSN-L =       "0167-4048",
  bibdate =      "Mon Sep 23 09:46:42 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/computsecur2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/prng.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.sciencedirect.com/science/article/pii/S0167404815000693",
  acknowledgement = ack-nhfb,
  fjournal =     "Computers \& Security",
  journal-URL =  "https://www.sciencedirect.com/science/journal/01674048",
}


bibtype: book
filename: unix.bib
label: Ward:2015:HLW
author: Brian Ward
title: How Linux works: what every superuser should know
publisher: pub-NO-STARCH
address: pub-NO-STARCH:adr
edition: Second
pages: xxii + 366
year: 2015
ISBN: 1-59327-567-6 (paperback) OR 1593275676 (paperback)
ISBN13: 978-1-59327-567-9 (paperback) OR 9781593275679 (paperback)
LCCN: QA76.76.O63 W3654 2015
bibdate: Thu Sep 17 05:55:06 MDT 2015
bibtimestamp: 2015.09.17 05:55:06 MDT
URL: http://proquest.safaribooksonline.com/9781457185519
subject: Linux; Operating systems (Computers)
acknowledgement: ack-nhfb
authordates: 1972--
rawauthor: Brian Ward
rawtitle: How {Linux} works: what every superuser should know
TOC:
Brief Contents Contents in Detail Preface Who Should Read This Book Prerequisites How to Read This Book A Hands-On Approach How This Book is Organized What's New in the Second Edition? A Note on Terminology Acknowledgements 1: The Big Picture 1.1 Levels and Layers of Abstraction in a Linux System 1.2 Hardware: Understanding Main Memory 1.3 The Kernel 1.3.1 Process Management 1.3.2 Memory Management 1.3.3 Device Drivers and Management 1.3.4 System Calls and Support 1.4 User Space 1.5 Users 1.6 Moving Forward 2: Basic Commands and Directory Hierarchy 2.1 The Bourne Shell: /bin/sh 2.2 Using the Shell 2.2.1 The Shell Window 2.2.2 cat 2.2.3 Standard Input and Standard Output 2.3 Basic Commands 2.3.1 ls 2.3.2 cp 2.3.3 mv 2.3.4 touch 2.3.5 rm 2.3.6 echo 2.4 Navigating Directories 2.4.1 cd 2.4.2 mkdir 2.4.3 rmdir 2.4.4 Shell Globbing (Wildcards) 2.5 Intermediate Commands 2.5.1 grep 2.5.2 less 2.5.3 pwd 2.5.4 diff 2.5.5 file 2.5.6 find and locate 2.5.7 head and tail 2.5.8 sort 2.6 Changing Your Password and Shell 2.7 Dot Files 2.8 Environment and Shell Variables 2.9 The Command Path 2.10 Special Characters 2.11 Command-Line Editing 2.12 Text Editors 2.13 Getting Online Help 2.14 Shell Input and Output 2.14.1 Standard Error 2.14.2 Standard Input Redirection 2.15 Understanding Error Messages 2.15.1 Anatomy of a UNIX Error Message 2.15.2 Common Errors 2.16 Listing and Manipulating Processes 2.16.1 Command Options 2.16.2 Killing Processes 2.16.3 Job Control 2.16.4 Background Processes 2.17 File Modes and Permissions 2.17.1 Modifying Permissions 2.17.2 Symbolic Links 2.17.3 Creating Symbolic Links 2.18 Archiving and Compressing Files 2.18.1 gzip 2.18.2 tar 2.18.3 Compressed Archives (.tar.gz)2.18.4 zcat 2.18.5 Other Compression Utilities 2.19 Linux Directory Hierarchy Essentials 2.19.1 Other Root Subdirectories 2.19.2 The /usr Directory 2.19.3 Kernel Location 2.20 Running Commands as the Superuser 2.20.1 sudo 2.20.2 /etc/sudoers 2.21 Looking Forward 3: Devices 3.1 Device Files 3.2 The sysfs Device Path 3.3 dd and Devices 3.4 Device Name Summary 3.4.1 Hard Disks: /dev/sd* 3.4.2 CD and DVD Drives: /dev/sr* 3.4.3 PATA Hard Disks: /dev/hd* 3.4.4 Terminals: /dev/tty*, /dev/pts/*, /dev/tty 3.4.5 Serial Ports: /dev/ttyS* 3.4.6 Parallel Ports: /dev/lp0, /dev/lp 13.4.7 Audio Devices: /dev/snd/*, /dev/dsp, /dev/audio, and More 3.4.8 Creating Device Files 3.5 udev 3.5.1 devtmpfs 3.5.2 udevd Operation and Configuration 3.5.3 udevadm 3.5.4 Monitoring Devices 3.6 In-Depth: SCSI and the Linux Kernel 3.6.1 USB Storage and SCSI 3.6.2 SCSI and ATA 3.6.3 Generic SCSI Devices 3.6.4 Multiple Access Methods for a Single Device 4: Disks and Filesystems 4.1 Partitioning Disk Devices 4.1.1 Viewing a Partition Table 4.1.2 Changing Partition Tables 4.1.3 Disk and Partition Geometry ldots 

rawTOC:
Brief Contents \\ Contents in Detail \\ Preface \\ Who Should Read This Book \\ Prerequisites \\ How to Read This Book \\ A Hands-On Approach \\ How This Book is Organized \\ What's New in the Second Edition? \\ A Note on Terminology \\ Acknowledgements \\ 1: The Big Picture \\ 1.1 Levels and Layers of Abstraction in a Linux System \\ 1.2 Hardware: Understanding Main Memory \\ 1.3 The Kernel \\ 1.3.1 Process Management \\ 1.3.2 Memory Management \\ 1.3.3 Device Drivers and Management \\ 1.3.4 System Calls and Support \\ 1.4 User Space \\ 1.5 Users \\ 1.6 Moving Forward \\ 2: Basic Commands and Directory Hierarchy \\ 2.1 The Bourne Shell: /bin/sh \\ 2.2 Using the Shell \\ 2.2.1 The Shell Window \\ 2.2.2 cat \\ 2.2.3 Standard Input and Standard Output \\ 2.3 Basic Commands \\ 2.3.1 ls \\ 2.3.2 cp \\ 2.3.3 mv \\ 2.3.4 touch \\ 2.3.5 rm \\ 2.3.6 echo \\ 2.4 Navigating Directories \\ 2.4.1 cd \\ 2.4.2 mkdir \\ 2.4.3 rmdir \\ 2.4.4 Shell Globbing (Wildcards) \\ 2.5 Intermediate Commands \\ 2.5.1 grep \\ 2.5.2 less \\ 2.5.3 pwd \\ 2.5.4 diff \\ 2.5.5 file \\ 2.5.6 find and locate \\ 2.5.7 head and tail \\ 2.5.8 sort \\ 2.6 Changing Your Password and Shell \\ 2.7 Dot Files \\ 2.8 Environment and Shell Variables \\ 2.9 The Command Path \\ 2.10 Special Characters \\ 2.11 Command-Line Editing \\ 2.12 Text Editors \\ 2.13 Getting Online Help \\ 2.14 Shell Input and Output \\ 2.14.1 Standard Error \\ 2.14.2 Standard Input Redirection \\ 2.15 Understanding Error Messages \\ 2.15.1 Anatomy of a UNIX Error Message \\ 2.15.2 Common Errors \\ 2.16 Listing and Manipulating Processes \\ 2.16.1 Command Options \\ 2.16.2 Killing Processes \\ 2.16.3 Job Control \\ 2.16.4 Background Processes \\ 2.17 File Modes and Permissions \\ 2.17.1 Modifying Permissions \\ 2.17.2 Symbolic Links \\ 2.17.3 Creating Symbolic Links \\ 2.18 Archiving and Compressing Files \\ 2.18.1 gzip \\ 2.18.2 tar \\ 2.18.3 Compressed Archives (.tar.gz)2.18.4 zcat \\ 2.18.5 Other Compression Utilities \\ 2.19 Linux Directory Hierarchy Essentials \\ 2.19.1 Other Root Subdirectories \\ 2.19.2 The /usr Directory \\ 2.19.3 Kernel Location \\ 2.20 Running Commands as the Superuser \\ 2.20.1 sudo \\ 2.20.2 /etc/sudoers \\ 2.21 Looking Forward \\ 3: Devices \\ 3.1 Device Files \\ 3.2 The sysfs Device Path \\ 3.3 dd and Devices \\ 3.4 Device Name Summary \\ 3.4.1 Hard Disks: /dev/sd* \\ 3.4.2 CD and DVD Drives: /dev/sr* \\ 3.4.3 PATA Hard Disks: /dev/hd* \\ 3.4.4 Terminals: /dev/tty*, /dev/pts/*, /dev/tty \\ 3.4.5 Serial Ports: /dev/ttyS* \\ 3.4.6 Parallel Ports: /dev/lp0, /dev/lp \\ 13.4.7 Audio Devices: /dev/snd/*, /dev/dsp, /dev/audio, and More \\ 3.4.8 Creating Device Files \\ 3.5 udev \\ 3.5.1 devtmpfs \\ 3.5.2 udevd Operation and Configuration \\ 3.5.3 udevadm \\ 3.5.4 Monitoring Devices \\ 3.6 In-Depth: SCSI and the Linux Kernel \\ 3.6.1 USB Storage and SCSI \\ 3.6.2 SCSI and ATA \\ 3.6.3 Generic SCSI Devices \\ 3.6.4 Multiple Access Methods for a Single Device \\ 4: Disks and Filesystems \\ 4.1 Partitioning Disk Devices \\ 4.1.1 Viewing a Partition Table \\ 4.1.2 Changing Partition Tables \\ 4.1.3 Disk and Partition Geometry \\ \ldots{}

entry:
@Book{Ward:2015:HLW,
  author =       "Brian Ward",
  title =        "How {Linux} works: what every superuser should know",
  publisher =    pub-NO-STARCH,
  address =      pub-NO-STARCH:adr,
  edition =      "Second",
  pages =        "xxii + 366",
  year =         "2015",
  ISBN =         "1-59327-567-6 (paperback)",
  ISBN-13 =      "978-1-59327-567-9 (paperback)",
  LCCN =         "QA76.76.O63 W3654 2015",
  bibdate =      "Thu Sep 17 05:55:06 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://proquest.safaribooksonline.com/9781457185519",
  acknowledgement = ack-nhfb,
  author-dates = "1972--",
  subject =      "Linux; Operating systems (Computers)",
  tableofcontents = "Brief Contents \\
                 Contents in Detail \\
                 Preface \\
                 Who Should Read This Book \\
                 Prerequisites \\
                 How to Read This Book \\
                 A Hands-On Approach \\
                 How This Book is Organized \\
                 What's New in the Second Edition? \\
                 A Note on Terminology \\
                 Acknowledgements \\
                 1: The Big Picture \\
                 1.1 Levels and Layers of Abstraction in a Linux System
                 \\
                 1.2 Hardware: Understanding Main Memory \\
                 1.3 The Kernel \\
                 1.3.1 Process Management \\
                 1.3.2 Memory Management \\
                 1.3.3 Device Drivers and Management \\
                 1.3.4 System Calls and Support \\
                 1.4 User Space \\
                 1.5 Users \\
                 1.6 Moving Forward \\
                 2: Basic Commands and Directory Hierarchy \\
                 2.1 The Bourne Shell: /bin/sh \\
                 2.2 Using the Shell \\
                 2.2.1 The Shell Window \\
                 2.2.2 cat \\
                 2.2.3 Standard Input and Standard Output \\
                 2.3 Basic Commands \\
                 2.3.1 ls \\
                 2.3.2 cp \\
                 2.3.3 mv \\
                 2.3.4 touch \\
                 2.3.5 rm \\
                 2.3.6 echo \\
                 2.4 Navigating Directories \\
                 2.4.1 cd \\
                 2.4.2 mkdir \\
                 2.4.3 rmdir \\
                 2.4.4 Shell Globbing (Wildcards) \\
                 2.5 Intermediate Commands \\
                 2.5.1 grep \\
                 2.5.2 less \\
                 2.5.3 pwd \\
                 2.5.4 diff \\
                 2.5.5 file \\
                 2.5.6 find and locate \\
                 2.5.7 head and tail \\
                 2.5.8 sort \\
                 2.6 Changing Your Password and Shell \\
                 2.7 Dot Files \\
                 2.8 Environment and Shell Variables \\
                 2.9 The Command Path \\
                 2.10 Special Characters \\
                 2.11 Command-Line Editing \\
                 2.12 Text Editors \\
                 2.13 Getting Online Help \\
                 2.14 Shell Input and Output \\
                 2.14.1 Standard Error \\
                 2.14.2 Standard Input Redirection \\
                 2.15 Understanding Error Messages \\
                 2.15.1 Anatomy of a UNIX Error Message \\
                 2.15.2 Common Errors \\
                 2.16 Listing and Manipulating Processes \\
                 2.16.1 Command Options \\
                 2.16.2 Killing Processes \\
                 2.16.3 Job Control \\
                 2.16.4 Background Processes \\
                 2.17 File Modes and Permissions \\
                 2.17.1 Modifying Permissions \\
                 2.17.2 Symbolic Links \\
                 2.17.3 Creating Symbolic Links \\
                 2.18 Archiving and Compressing Files \\
                 2.18.1 gzip \\
                 2.18.2 tar \\
                 2.18.3 Compressed Archives (.tar.gz)2.18.4 zcat \\
                 2.18.5 Other Compression Utilities \\
                 2.19 Linux Directory Hierarchy Essentials \\
                 2.19.1 Other Root Subdirectories \\
                 2.19.2 The /usr Directory \\
                 2.19.3 Kernel Location \\
                 2.20 Running Commands as the Superuser \\
                 2.20.1 sudo \\
                 2.20.2 /etc/sudoers \\
                 2.21 Looking Forward \\
                 3: Devices \\
                 3.1 Device Files \\
                 3.2 The sysfs Device Path \\
                 3.3 dd and Devices \\
                 3.4 Device Name Summary \\
                 3.4.1 Hard Disks: /dev/sd* \\
                 3.4.2 CD and DVD Drives: /dev/sr* \\
                 3.4.3 PATA Hard Disks: /dev/hd* \\
                 3.4.4 Terminals: /dev/tty*, /dev/pts/*, /dev/tty \\
                 3.4.5 Serial Ports: /dev/ttyS* \\
                 3.4.6 Parallel Ports: /dev/lp0, /dev/lp \\
                 13.4.7 Audio Devices: /dev/snd/*, /dev/dsp, /dev/audio,
                 and More \\
                 3.4.8 Creating Device Files \\
                 3.5 udev \\
                 3.5.1 devtmpfs \\
                 3.5.2 udevd Operation and Configuration \\
                 3.5.3 udevadm \\
                 3.5.4 Monitoring Devices \\
                 3.6 In-Depth: SCSI and the Linux Kernel \\
                 3.6.1 USB Storage and SCSI \\
                 3.6.2 SCSI and ATA \\
                 3.6.3 Generic SCSI Devices \\
                 3.6.4 Multiple Access Methods for a Single Device \\
                 4: Disks and Filesystems \\
                 4.1 Partitioning Disk Devices \\
                 4.1.1 Viewing a Partition Table \\
                 4.1.2 Changing Partition Tables \\
                 4.1.3 Disk and Partition Geometry \\
                 \ldots{}",
}


bibtype: book
filename: unix.bib
label: Yoder:2015:BCS
author: Mark A. Yoder and Jason Kridner
title: BeagleBone Cookbook: Software and Hardware Problems and Solutions
publisher: pub-ORA
address: pub-ORA:adr
year: 2015
ISBN: 1-4919-0539-5 OR 1491905395
ISBN13: 978-1-4919-0539-5 OR 9781491905395
bibdate: Thu Feb 26 14:40:33 MST 2015
bibtimestamp: 2015.02.26 14:40:33 MST
acknowledgement: ack-nhfb
rawauthor: Mark A. Yoder and Jason Kridner
rawtitle: {BeagleBone} Cookbook: Software and Hardware Problems and Solutions
entry:
@Book{Yoder:2015:BCS,
  author =       "Mark A. Yoder and Jason Kridner",
  title =        "{BeagleBone} Cookbook: Software and Hardware Problems
                 and Solutions",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "????",
  year =         "2015",
  ISBN =         "1-4919-0539-5",
  ISBN-13 =      "978-1-4919-0539-5",
  LCCN =         "????",
  bibdate =      "Thu Feb 26 14:40:33 MST 2015",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: Anonymous:2016:BRA
author: Anonymous
journal: j-NETWORK-SECURITY
volume: 2016
number: 5
pages: 4--4
month: may
monthnumber: 5
year: 2016
CODEN: NTSCF5
DOI: https://doi.org/10.1016/S1353-4858(16)30044-7
ISSN: 1353-4858 (print), 1872-9371 (electronic) OR 13534858 (print), 18729371 (electronic)
ISSNL: 1353-4858 OR 13534858
bibdate: Mon Dec 4 17:01:32 MST 2017
bibtimestamp: 2017.12.04 17:01:32 MST
URL: http://www.sciencedirect.com/science/article/pii/S1353485816300447
fjournal: Network Security
acknowledgement: ack-nhfb
journalURL: https://www.sciencedirect.com/journal/network-security
rawauthor: Anonymous
title:
Book Review: booktitle Automated Security Analysis of Android and iOS Applications with Mobile Security Framework, by Henry Dalziel and Ajin Abraham. Syngress. ISBN 978-0-12-805105-4

bibsource:
https://www.math.utah.edu/pub/tex/bib/network-security.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

rawtitle:
Book Review: {{\booktitle{Automated Security Analysis of Android and iOS Applications with Mobile Security Framework}}, by Henry Dalziel and Ajin Abraham. Syngress. ISBN 978-0-12-805105-4}

entry:
@Article{Anonymous:2016:BRA,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{Automated Security Analysis
                 of Android and iOS Applications with Mobile Security
                 Framework}}, by Henry Dalziel and Ajin Abraham.
                 Syngress. ISBN 978-0-12-805105-4}",
  journal =      j-NETWORK-SECURITY,
  volume =       "2016",
  number =       "5",
  pages =        "4--4",
  month =        may,
  year =         "2016",
  CODEN =        "NTSCF5",
  DOI =          "https://doi.org/10.1016/S1353-4858(16)30044-7",
  ISSN =         "1353-4858 (print), 1872-9371 (electronic)",
  ISSN-L =       "1353-4858",
  bibdate =      "Mon Dec 4 17:01:32 MST 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/network-security.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1353485816300447",
  acknowledgement = ack-nhfb,
  fjournal =     "Network Security",
  journal-URL =  "https://www.sciencedirect.com/journal/network-security",
}


bibtype: article
filename: unix.bib
label: Anonymous:2016:BRI
author: Anonymous
journal: j-NETWORK-SECURITY
volume: 2016
number: 2
pages: 4--4
month: feb
monthnumber: 2
year: 2016
CODEN: NTSCF5
DOI: https://doi.org/10.1016/S1353-4858(16)30015-0
ISSN: 1353-4858 (print), 1872-9371 (electronic) OR 13534858 (print), 18729371 (electronic)
ISSNL: 1353-4858 OR 13534858
bibdate: Mon Dec 4 17:01:29 MST 2017
bibtimestamp: 2017.12.04 17:01:29 MST
URL: http://www.sciencedirect.com/science/article/pii/S1353485816300150
fjournal: Network Security
acknowledgement: ack-nhfb
journalURL: https://www.sciencedirect.com/journal/network-security
rawauthor: Anonymous
title:
Book Review: booktitle iOS Application Security, by David Thiel. No Starch Press. ISBN 978-1-59327-601-0

bibsource:
https://www.math.utah.edu/pub/tex/bib/network-security.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

rawtitle:
Book Review: {{\booktitle{iOS Application Security}}, by David Thiel. No Starch Press. ISBN 978-1-59327-601-0}

entry:
@Article{Anonymous:2016:BRI,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{iOS Application Security}},
                 by David Thiel. No Starch Press. ISBN
                 978-1-59327-601-0}",
  journal =      j-NETWORK-SECURITY,
  volume =       "2016",
  number =       "2",
  pages =        "4--4",
  month =        feb,
  year =         "2016",
  CODEN =        "NTSCF5",
  DOI =          "https://doi.org/10.1016/S1353-4858(16)30015-0",
  ISSN =         "1353-4858 (print), 1872-9371 (electronic)",
  ISSN-L =       "1353-4858",
  bibdate =      "Mon Dec 4 17:01:29 MST 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/network-security.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1353485816300150",
  acknowledgement = ack-nhfb,
  fjournal =     "Network Security",
  journal-URL =  "https://www.sciencedirect.com/journal/network-security",
}


bibtype: article
filename: unix.bib
label: Atlidakis:2016:PBO
author: Vaggelis Atlidakis and Jeremy Andrus and Roxana Geambasu and Dimitris Mitropoulos and Jason Nieh
title: POSIX Has Become Outdated
journal: j-LOGIN
volume: 41
number: 3
pages: 6--12
month: Fall
year: 2016
CODEN: LOGNEM
ISSN: 1044-6397 (print), 2169-9364 (electronic) OR 10446397 (print), 21699364 (electronic)
ISSNL: 1044-6397 OR 10446397
bibdate: Fri Feb 16 08:07:58 2018
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.02.16 08:07:58 ???
URL: http://www.usenix.org/system/files/login/articles/login_fall16_02_atlidakis.pdf
fjournal: ;login: the USENIX Association newsletter
acknowledgement: ack-nhfb
rawauthor: Vaggelis Atlidakis and Jeremy Andrus and Roxana Geambasu and Dimitris Mitropoulos and Jason Nieh
rawtitle: {POSIX} Has Become Outdated
entry:
@Article{Atlidakis:2016:PBO,
  author =       "Vaggelis Atlidakis and Jeremy Andrus and Roxana
                 Geambasu and Dimitris Mitropoulos and Jason Nieh",
  title =        "{POSIX} Has Become Outdated",
  journal =      j-LOGIN,
  volume =       "41",
  number =       "3",
  pages =        "6--12",
  month =        "Fall",
  year =         "2016",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397 (print), 2169-9364 (electronic)",
  ISSN-L =       "1044-6397",
  bibdate =      "Fri Feb 16 08:07:58 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.usenix.org/system/files/login/articles/login_fall16_02_atlidakis.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}


bibtype: misc
filename: unix.bib
label: Beekmans:2016:LS
author: Gerard Beekmans
title: Linux from scratch
pages: 6--12
year: 2016
bibdate: Fri Jan 15 15:01:42 2016
bibsource: https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2016.01.15 15:01:42 ???
URL: http://www.linuxfromscratch.org//lfs/faq.html
acknowledgement: ack-nhfb
howpublished: Web site.
rawauthor: Gerard Beekmans
rawtitle: {Linux} from scratch
entry:
@Misc{Beekmans:2016:LS,
  author =       "Gerard Beekmans",
  title =        "{Linux} from scratch",
  howpublished = "Web site.",
  year =         "2016",
  bibdate =      "Fri Jan 15 15:01:42 2016",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.linuxfromscratch.org//lfs/faq.html",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: unix.bib
label: Chalup:2016:PSN
author: Strata R. Chalup and Christina J. Hogan and Tom Limoncelli
publisher: pub-AW
address: pub-AW:adr
edition: Third
pages: li + 1168
year: 2016
LCCN: TK5105.5 .L53 2017
bibdate: Wed Mar 1 06:15:57 MST 2023
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2023.03.01 06:15:57 MST
subject: COMPUTERS / Operating Systems / UNIX
acknowledgement: ack-nhfb
rawauthor: Strata R. Chalup and Christina J. Hogan and Tom Limoncelli
title:
The Practice of System and Network Administration: Volume 1: DevOps and Other Best Practices for Enterprise IT

ISBN:
0-13-341507-4 (e-book), 0-13-341508-2, 0-13-341510-4 (e-book), 0-321-91916-5 (paperback) OR 0133415074 (ebook), 0133415082, 0133415104 (ebook), 0321919165 (paperback)

ISBN13:
978-0-13-341507-0 (e-book), 978-0-13-341508-7, 978-0-13-341510-0 (e-book), 978-0-321-91916-8 (paperback) OR 9780133415070 (ebook), 9780133415087, 9780133415100 (ebook), 9780321919168 (paperback)

abstract:
With 28 new chapters, the third edition of The Practice of System and Network Administration innovates yet again! Revised with thousands of updates and clarifications based on reader feedback, this new edition also incorporates DevOps strategies even for non-DevOps environments. Whether you use Linux, Unix, or Windows, this new edition describes the essential practices previously handed down only from mentor to protege. This wonderfully lucid, often funny cornucopia of information introduces beginners to advanced frameworks valuable for their entire career, yet is structured to help even experts through difficult projects. Other books tell you what commands to type. This book teaches you the cross-platform strategies that are timeless! DevOps techniques: Apply DevOps principles to enterprise IT infrastructure, even in environments without developers Game-changing strategies: New ways to deliver results faster with less stress Fleet management: A comprehensive guide to managing your fleet of desktops, laptops, servers and mobile devices Service management: How to design, launch, upgrade and migrate services Measurable improvement: Assess your operational effectiveness; a forty-page, pain-free assessment system you can start using today to raise the quality of all services Design guides: Best practices for networks, data centers, email, storage, monitoring, backups and more Management skills: Organization design, communication, negotiation, ethics, hiring and firing, and more Have you ever had any of these problems? Have you been surprised to discover your backup tapes are blank? Ever spent a year launching a new service only to be told the users hate it? Do you have more incoming support requests than you can handle? Do you spend more time fixing problems than building the next awesome thing? Have you suffered from a botched migration of thousands of users to a new service? Does your company rely on a computer that, if it died, can't be rebuilt? Is your network a fragile mess that breaks any time you try to improve it? Is there a periodic ``hell month'' that happens twice a year? Twelve times a year? Do you find out about problems when your users call you to complain? Does your corporate ``Change Review Board'' terrify you? Does each division of your company have their own broken way of doing things? Do you fear that automation will replace you, or break more than it fixes? Are you underpaid and overworked? No vague ``management speak'' or empty ldots 

TOC:
Game-changing strategies Workstation fleet management Servers Services Infrastructure Helpdesks and support Change processes Service recommendations Management practices Being more awesome Appendices

rawabstract:
With 28 new chapters, the third edition of The Practice of System and Network Administration innovates yet again! Revised with thousands of updates and clarifications based on reader feedback, this new edition also incorporates DevOps strategies even for non-DevOps environments. Whether you use Linux, Unix, or Windows, this new edition describes the essential practices previously handed down only from mentor to prot{\'e}g{\'e}. This wonderfully lucid, often funny cornucopia of information introduces beginners to advanced frameworks valuable for their entire career, yet is structured to help even experts through difficult projects. Other books tell you what commands to type. This book teaches you the cross-platform strategies that are timeless! DevOps techniques: Apply DevOps principles to enterprise IT infrastructure, even in environments without developers Game-changing strategies: New ways to deliver results faster with less stress Fleet management: A comprehensive guide to managing your fleet of desktops, laptops, servers and mobile devices Service management: How to design, launch, upgrade and migrate services Measurable improvement: Assess your operational effectiveness; a forty-page, pain-free assessment system you can start using today to raise the quality of all services Design guides: Best practices for networks, data centers, email, storage, monitoring, backups and more Management skills: Organization design, communication, negotiation, ethics, hiring and firing, and more Have you ever had any of these problems? Have you been surprised to discover your backup tapes are blank? Ever spent a year launching a new service only to be told the users hate it? Do you have more incoming support requests than you can handle? Do you spend more time fixing problems than building the next awesome thing? Have you suffered from a botched migration of thousands of users to a new service? Does your company rely on a computer that, if it died, can't be rebuilt? Is your network a fragile mess that breaks any time you try to improve it? Is there a periodic ``hell month'' that happens twice a year? Twelve times a year? Do you find out about problems when your users call you to complain? Does your corporate ``Change Review Board'' terrify you? Does each division of your company have their own broken way of doing things? Do you fear that automation will replace you, or break more than it fixes? Are you underpaid and overworked? No vague ``management speak'' or empty \ldots{}

rawtitle:
The Practice of System and Network Administration: Volume 1: {DevOps} and Other Best Practices for Enterprise {IT}

rawTOC:
Game-changing strategies \\ Workstation fleet management \\ Servers \\ Services \\ Infrastructure \\ Helpdesks and support \\ Change processes \\ Service recommendations \\ Management practices \\ Being more awesome \\ Appendices

entry:
@Book{Chalup:2016:PSN,
  author =       "Strata R. Chalup and Christina J. Hogan and Tom
                 Limoncelli",
  title =        "The Practice of System and Network Administration:
                 Volume 1: {DevOps} and Other Best Practices for
                 Enterprise {IT}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "li + 1168",
  year =         "2016",
  ISBN =         "0-13-341507-4 (e-book), 0-13-341508-2, 0-13-341510-4
                 (e-book), 0-321-91916-5 (paperback)",
  ISBN-13 =      "978-0-13-341507-0 (e-book), 978-0-13-341508-7,
                 978-0-13-341510-0 (e-book), 978-0-321-91916-8
                 (paperback)",
  LCCN =         "TK5105.5 .L53 2017",
  bibdate =      "Wed Mar 1 06:15:57 MST 2023",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "With 28 new chapters, the third edition of The
                 Practice of System and Network Administration innovates
                 yet again! Revised with thousands of updates and
                 clarifications based on reader feedback, this new
                 edition also incorporates DevOps strategies even for
                 non-DevOps environments. Whether you use Linux, Unix,
                 or Windows, this new edition describes the essential
                 practices previously handed down only from mentor to
                 prot{\'e}g{\'e}. This wonderfully lucid, often funny
                 cornucopia of information introduces beginners to
                 advanced frameworks valuable for their entire career,
                 yet is structured to help even experts through
                 difficult projects. Other books tell you what commands
                 to type. This book teaches you the cross-platform
                 strategies that are timeless! DevOps techniques: Apply
                 DevOps principles to enterprise IT infrastructure, even
                 in environments without developers Game-changing
                 strategies: New ways to deliver results faster with
                 less stress Fleet management: A comprehensive guide to
                 managing your fleet of desktops, laptops, servers and
                 mobile devices Service management: How to design,
                 launch, upgrade and migrate services Measurable
                 improvement: Assess your operational effectiveness; a
                 forty-page, pain-free assessment system you can start
                 using today to raise the quality of all services Design
                 guides: Best practices for networks, data centers,
                 email, storage, monitoring, backups and more Management
                 skills: Organization design, communication,
                 negotiation, ethics, hiring and firing, and more Have
                 you ever had any of these problems? Have you been
                 surprised to discover your backup tapes are blank? Ever
                 spent a year launching a new service only to be told
                 the users hate it? Do you have more incoming support
                 requests than you can handle? Do you spend more time
                 fixing problems than building the next awesome thing?
                 Have you suffered from a botched migration of thousands
                 of users to a new service? Does your company rely on a
                 computer that, if it died, can't be rebuilt? Is your
                 network a fragile mess that breaks any time you try to
                 improve it? Is there a periodic ``hell month'' that
                 happens twice a year? Twelve times a year? Do you find
                 out about problems when your users call you to
                 complain? Does your corporate ``Change Review Board''
                 terrify you? Does each division of your company have
                 their own broken way of doing things? Do you fear that
                 automation will replace you, or break more than it
                 fixes? Are you underpaid and overworked? No vague
                 ``management speak'' or empty \ldots{}",
  acknowledgement = ack-nhfb,
  subject =      "COMPUTERS / Operating Systems / UNIX",
  tableofcontents = "Game-changing strategies \\
                 Workstation fleet management \\
                 Servers \\
                 Services \\
                 Infrastructure \\
                 Helpdesks and support \\
                 Change processes \\
                 Service recommendations \\
                 Management practices \\
                 Being more awesome \\
                 Appendices",
}


bibtype: book
filename: unix.bib
label: Donovan:2016:GPL
author: Alan A. A. Donovan and Brian W. Kernighan
title: The Go Programming Language
publisher: pub-AW
address: pub-AW:adr
pages: xvii + 380
year: 2016
ISBN: 0-13-419044-0 (paperback) OR 0134190440 (paperback)
ISBN13: 978-0-13-419044-0 (paperback) OR 9780134190440 (paperback)
LCCN: QA76.73.G63 D66 2016
bibdate: Fri Oct 11 12:07:52 MDT 2019
bibtimestamp: 2019.10.11 12:07:52 MDT
series: Addison-Wesley professional computing series
acknowledgement: ack-nhfb
authordates: 1976--
rawauthor: Alan A. A. Donovan and Brian W. Kernighan
rawtitle: The {Go} Programming Language
URL:
https://www.pearson.com/us/higher-education/program/Donovan-Go-Programming-Language-The/PGM234922.html

abstract:
Go may be our generation's most important new programming language. It is exceptionally expressive, highly efficient in both compilation and execution, and enables the development of extremely reliable and robust programs. It shares the same spirit programmers once found in C: it helps serious professional programmers achieve maximum effect with minimum means. Now, Go shares something else with C, too. Brian Kernighan, who wrote the world's most respected and useful C primer for working programmers, has just done the same for Go. Together with Google Go insider Alan Donovan, Kernighan explains what Go does and doesn't borrow from C; the great ideas it borrows from other modern languages; and how it avoids features that lead to unnecessary complexity and unreliable code. Throughout, their short, carefully-crafted code examples demonstrate today's most effective Go idioms, so you can start using Go effectively right from the beginning, and quickly take advantage of its full power. All code has been extensively reviewed by Go's creators at Google for both completeness and accuracy.

subject:
Go (Computer program language); Open source software; Programming; G (Lenguaje de programacion para computadora); Programacion de computadoras

TOC:
Preface / xi 1: Tutorial / 1 1.1 Hello, World / 1 1.2 Command-Line Arguments / 4 1.3 Finding Duplicate Lines / 8 1.4 Animated GIFs / 13 1.5 Fetching a URL / 15 1.6 Fetching URLs Concurrently / 17 1.7 A Web Server / 19 1.8 Loose Ends / 23 2: Program Structure / 27 2.1 Names / 27 2.2 Declarations / 28 2.3 Variables / 30 2.4 Assignments / 36 2.5 Type Declarations / 39 2.6 Packages and Files / 41 2.7 Scope / 45 3: Basic Data Types / 51 3.1 Integers / 51 3.2 Floating-Point Numbers / 56 3.3 Complex Numbers / 61 3.4 Booleans / 63 3.5 Strings / 64 3.6 Constants / 75 4: Composite Types / 81 4.1 Arrays / 81 4.2 Slices / 84 4.3 Maps / 93 4.4 Structs / 99 4.5 JSON / 107 4.6 Text and HTML Templates / 113 5: Functions / 119 5.1 Function Declarations / 119 5.2 Recursion / 121 5.3 Multiple Return Values / 124 5.4 Errors / 127 5.5 Function Values / 132 5.6 Anonymous Functions / 135 5.7 Variadic Functions / 142 5.8 Deferred Function Calls / 143 5.9 Panic / 148 5.10 Recover / 151 6:. Methods / 155 6.1 Method Declarations / 155 6.2 Methods with a Pointer Receiver / 158 6.3 Composing Types by Struct Embedding / 161 6.4 Method Values and Expressions / 164 6.5 Example: Bit Vector Type / 165 6.6 Encapsulation / 168 7: Interfaces / 171 7.1 Interfaces as Contracts / 171 7.2 Interface Types / 174 7.3 Interface Satisfaction / 175 7.4 Parsing Flags with flag.Value / 179 7.5 Interface Values / 181 7.6 Sorting with sort.Interface / 186 7.7 The http.Handler Interface / 191 7.8 The error Interface / 196 7.9 Example: Expression Evaluator / 197 7.10 Type Assertions / 205 7.11 Discriminating Errors with Type Assertions / 206 7.12 Querying Behaviors with Interface Type Assertions / 208 7.13 Type Switches / 210 7.14 Example: Token-Based XML Decoding / 213 7.15 A Few Words of Advice / 216 8: Goroutines and Channels / 217 8.1 Goroutines / 217 8.2 Example: Concurrent Clock Server / 219 8.3 Example: Concu rent Echo Server / 222 8.4 Channels / 225 8.5 Looping in Parallel / 234 8.6 Example: Concurrent Web Crawler / 239 8.7 Multiplexing with select / 244 8.8 Example: Concurrent Directory Traversal / 247 8.9 Cancellation / 251 8.10 Example: Chat Server / 253 9: Concurrency with Shared Variables / 257 9.1 Race Conditions / 257 9.2 Mutual Exclusion: sync.Mutex / 262 9.3 Read/Write Mutexes: sync.RWMutex / 266 9.4 Memory Synchronization / 267 9.5 Lazy Initialization: sync.Once / 268 9.6 The Race Detector / 271 9.7 Example: Concurrent Non-Blocking Cache / 272 9.8 Goroutines and Threads / 280 10: Packages and the Go Tool / 283 10.1 Introduction / 283 10.2 Import Paths / 284 10.3 The Package Declaration / 285 10.4 Import Declarations / 285 10.5 Blank Imports / 286 10.6 Packages and Naming / 289 10.7 The Go Tool / 290 11: Testing / 301 11.1 The go test Tool / 302 11.2 Test Functions / 302 11.3 Coverage / 318 11.4 Benchmark Functions / 321 11.5 Profiling / 323 11.6 Example Functions / 326 12: Reflection / 329 12.1 Why Reflection? / 329 12.2 reflect.Type and reflect.Value / 330 12.3 Display, a Recursive Value Printer / 333 12.4 Example: Encoding S-Expressions / 338 12.5 Setting Variables with reflect.Value / 341 12.6 Example: Decoding S-Expressions / 344 12.7 Accessing Struct Field Tags / 348 12.8 Displaying the Methods of a Type / 351 12.9 A Word of Caution / 352 13: Low-Level Programming / 353 13.1 unsafe.Sizeof, Alignof, and Offsetof / 354 13.2 unsafe.Pointer / 356 13.3 Example: Deep Equivalence / 358 13.4 Calling C Code with cgo / 361 13.5 Another Word of Caution / 366 Index / 367

rawabstract:
Go may be our generation's most important new programming language. It is exceptionally expressive, highly efficient in both compilation and execution, and enables the development of extremely reliable and robust programs. It shares the same spirit programmers once found in C: it helps serious professional programmers achieve maximum effect with minimum means. Now, Go shares something else with C, too. Brian Kernighan, who wrote the world's most respected and useful C primer for working programmers, has just done the same for Go. Together with Google Go insider Alan Donovan, Kernighan explains what Go does and doesn't borrow from C; the great ideas it borrows from other modern languages; and how it avoids features that lead to unnecessary complexity and unreliable code. Throughout, their short, carefully-crafted code examples demonstrate today's most effective Go idioms, so you can start using Go effectively right from the beginning, and quickly take advantage of its full power. All code has been extensively reviewed by Go's creators at Google for both completeness and accuracy.

shortTOC:
1: Tutorial 2: Program structure 3: Basic data types 4: Composite types 5: Functions 6: Methods 7: Interfaces 8: Goroutines and channels 9: Concurrency with shared variables 10: Packages and the Go tool 11: Testing 12: Reflection 13: Low-level programming

rawshortTOC:
1: Tutorial \\ 2: Program structure \\ 3: Basic data types \\ 4: Composite types \\ 5: Functions \\ 6: Methods \\ 7: Interfaces \\ 8: Goroutines and channels \\ 9: Concurrency with shared variables \\ 10: Packages and the Go tool \\ 11: Testing \\ 12: Reflection \\ 13: Low-level programming

rawTOC:
Preface / xi \\ 1: Tutorial / 1 \\ 1.1 Hello, World / 1 \\ 1.2 Command-Line Arguments / 4 \\ 1.3 Finding Duplicate Lines / 8 \\ 1.4 Animated GIFs / 13 \\ 1.5 Fetching a URL / 15 \\ 1.6 Fetching URLs Concurrently / 17 \\ 1.7 A Web Server / 19 \\ 1.8 Loose Ends / 23 \\ 2: Program Structure / 27 \\ 2.1 Names / 27 \\ 2.2 Declarations / 28 \\ 2.3 Variables / 30 \\ 2.4 Assignments / 36 \\ 2.5 Type Declarations / 39 \\ 2.6 Packages and Files / 41 \\ 2.7 Scope / 45 \\ 3: Basic Data Types / 51 \\ 3.1 Integers / 51 \\ 3.2 Floating-Point Numbers / 56 \\ 3.3 Complex Numbers / 61 \\ 3.4 Booleans / 63 \\ 3.5 Strings / 64 \\ 3.6 Constants / 75 \\ 4: Composite Types / 81 \\ 4.1 Arrays / 81 \\ 4.2 Slices / 84 \\ 4.3 Maps / 93 \\ 4.4 Structs / 99 \\ 4.5 JSON / 107 \\ 4.6 Text and HTML Templates / 113 \\ 5: Functions / 119 \\ 5.1 Function Declarations / 119 \\ 5.2 Recursion / 121 \\ 5.3 Multiple Return Values / 124 \\ 5.4 Errors / 127 \\ 5.5 Function Values / 132 \\ 5.6 Anonymous Functions / 135 \\ 5.7 Variadic Functions / 142 \\ 5.8 Deferred Function Calls / 143 \\ 5.9 Panic / 148 \\ 5.10 Recover / 151 \\ 6:. Methods / 155 \\ 6.1 Method Declarations / 155 \\ 6.2 Methods with a Pointer Receiver / 158 \\ 6.3 Composing Types by Struct Embedding / 161 \\ 6.4 Method Values and Expressions / 164 \\ 6.5 Example: Bit Vector Type / 165 \\ 6.6 Encapsulation / 168 \\ 7: Interfaces / 171 \\ 7.1 Interfaces as Contracts / 171 \\ 7.2 Interface Types / 174 \\ 7.3 Interface Satisfaction / 175 \\ 7.4 Parsing Flags with flag.Value / 179 \\ 7.5 Interface Values / 181 \\ 7.6 Sorting with sort.Interface / 186 \\ 7.7 The http.Handler Interface / 191 \\ 7.8 The error Interface / 196 \\ 7.9 Example: Expression Evaluator / 197 \\ 7.10 Type Assertions / 205 \\ 7.11 Discriminating Errors with Type Assertions / 206 \\ 7.12 Querying Behaviors with Interface Type Assertions / 208 \\ 7.13 Type Switches / 210 \\ 7.14 Example: Token-Based XML Decoding / 213 \\ 7.15 A Few Words of Advice / 216 \\ 8: Goroutines and Channels / 217 \\ 8.1 Goroutines / 217 \\ 8.2 Example: Concurrent Clock Server / 219 \\ 8.3 Example: Concu rent Echo Server / 222 \\ 8.4 Channels / 225 \\ 8.5 Looping in Parallel / 234 \\ 8.6 Example: Concurrent Web Crawler / 239 \\ 8.7 Multiplexing with select / 244 \\ 8.8 Example: Concurrent Directory Traversal / 247 \\ 8.9 Cancellation / 251 \\ 8.10 Example: Chat Server / 253 \\ 9: Concurrency with Shared Variables / 257 \\ 9.1 Race Conditions / 257 \\ 9.2 Mutual Exclusion: sync.Mutex / 262 \\ 9.3 Read/Write Mutexes: sync.RWMutex / 266 \\ 9.4 Memory Synchronization / 267 \\ 9.5 Lazy Initialization: sync.Once / 268 \\ 9.6 The Race Detector / 271 \\ 9.7 Example: Concurrent Non-Blocking Cache / 272 \\ 9.8 Goroutines and Threads / 280 \\ 10: Packages and the Go Tool / 283 \\ 10.1 Introduction / 283 \\ 10.2 Import Paths / 284 \\ 10.3 The Package Declaration / 285 \\ 10.4 Import Declarations / 285 \\ 10.5 Blank Imports / 286 \\ 10.6 Packages and Naming / 289 \\ 10.7 The Go Tool / 290 \\ 11: Testing / 301 \\ 11.1 The go test Tool / 302 \\ 11.2 Test Functions / 302 \\ 11.3 Coverage / 318 \\ 11.4 Benchmark Functions / 321 \\ 11.5 Profiling / 323 \\ 11.6 Example Functions / 326 \\ 12: Reflection / 329 \\ 12.1 Why Reflection? / 329 \\ 12.2 reflect.Type and reflect.Value / 330 \\ 12.3 Display, a Recursive Value Printer / 333 \\ 12.4 Example: Encoding S-Expressions / 338 \\ 12.5 Setting Variables with reflect.Value / 341 \\ 12.6 Example: Decoding S-Expressions / 344 \\ 12.7 Accessing Struct Field Tags / 348 \\ 12.8 Displaying the Methods of a Type / 351 \\ 12.9 A Word of Caution / 352 \\ 13: Low-Level Programming / 353 \\ 13.1 unsafe.Sizeof, Alignof, and Offsetof / 354 \\ 13.2 unsafe.Pointer / 356 \\ 13.3 Example: Deep Equivalence / 358 \\ 13.4 Calling C Code with cgo / 361 \\ 13.5 Another Word of Caution / 366 \\ Index / 367

entry:
@Book{Donovan:2016:GPL,
  author =       "Alan A. A. Donovan and Brian W. Kernighan",
  title =        "The {Go} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvii + 380",
  year =         "2016",
  ISBN =         "0-13-419044-0 (paperback)",
  ISBN-13 =      "978-0-13-419044-0 (paperback)",
  LCCN =         "QA76.73.G63 D66 2016",
  bibdate =      "Fri Oct 11 12:07:52 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Addison-Wesley professional computing series",
  URL =          "https://www.pearson.com/us/higher-education/program/Donovan-Go-Programming-Language-The/PGM234922.html",
  abstract =     "Go may be our generation's most important new
                 programming language. It is exceptionally expressive,
                 highly efficient in both compilation and execution, and
                 enables the development of extremely reliable and
                 robust programs. It shares the same spirit programmers
                 once found in C: it helps serious professional
                 programmers achieve maximum effect with minimum means.
                 Now, Go shares something else with C, too. Brian
                 Kernighan, who wrote the world's most respected and
                 useful C primer for working programmers, has just done
                 the same for Go. Together with Google Go insider Alan
                 Donovan, Kernighan explains what Go does and doesn't
                 borrow from C; the great ideas it borrows from other
                 modern languages; and how it avoids features that lead
                 to unnecessary complexity and unreliable code.
                 Throughout, their short, carefully-crafted code
                 examples demonstrate today's most effective Go idioms,
                 so you can start using Go effectively right from the
                 beginning, and quickly take advantage of its full
                 power. All code has been extensively reviewed by Go's
                 creators at Google for both completeness and
                 accuracy.",
  acknowledgement = ack-nhfb,
  author-dates = "1976--",
  shorttableofcontents = "1: Tutorial \\
                 2: Program structure \\
                 3: Basic data types \\
                 4: Composite types \\
                 5: Functions \\
                 6: Methods \\
                 7: Interfaces \\
                 8: Goroutines and channels \\
                 9: Concurrency with shared variables \\
                 10: Packages and the Go tool \\
                 11: Testing \\
                 12: Reflection \\
                 13: Low-level programming",
  subject =      "Go (Computer program language); Open source software;
                 Programming; G (Lenguaje de programaci\'on para
                 computadora); Programaci\'on de computadoras",
  tableofcontents = "Preface / xi \\
                 1: Tutorial / 1 \\
                 1.1 Hello, World / 1 \\
                 1.2 Command-Line Arguments / 4 \\
                 1.3 Finding Duplicate Lines / 8 \\
                 1.4 Animated GIFs / 13 \\
                 1.5 Fetching a URL / 15 \\
                 1.6 Fetching URLs Concurrently / 17 \\
                 1.7 A Web Server / 19 \\
                 1.8 Loose Ends / 23 \\
                 2: Program Structure / 27 \\
                 2.1 Names / 27 \\
                 2.2 Declarations / 28 \\
                 2.3 Variables / 30 \\
                 2.4 Assignments / 36 \\
                 2.5 Type Declarations / 39 \\
                 2.6 Packages and Files / 41 \\
                 2.7 Scope / 45 \\
                 3: Basic Data Types / 51 \\
                 3.1 Integers / 51 \\
                 3.2 Floating-Point Numbers / 56 \\
                 3.3 Complex Numbers / 61 \\
                 3.4 Booleans / 63 \\
                 3.5 Strings / 64 \\
                 3.6 Constants / 75 \\
                 4: Composite Types / 81 \\
                 4.1 Arrays / 81 \\
                 4.2 Slices / 84 \\
                 4.3 Maps / 93 \\
                 4.4 Structs / 99 \\
                 4.5 JSON / 107 \\
                 4.6 Text and HTML Templates / 113 \\
                 5: Functions / 119 \\
                 5.1 Function Declarations / 119 \\
                 5.2 Recursion / 121 \\
                 5.3 Multiple Return Values / 124 \\
                 5.4 Errors / 127 \\
                 5.5 Function Values / 132 \\
                 5.6 Anonymous Functions / 135 \\
                 5.7 Variadic Functions / 142 \\
                 5.8 Deferred Function Calls / 143 \\
                 5.9 Panic / 148 \\
                 5.10 Recover / 151 \\
                 6:. Methods / 155 \\
                 6.1 Method Declarations / 155 \\
                 6.2 Methods with a Pointer Receiver / 158 \\
                 6.3 Composing Types by Struct Embedding / 161 \\
                 6.4 Method Values and Expressions / 164 \\
                 6.5 Example: Bit Vector Type / 165 \\
                 6.6 Encapsulation / 168 \\
                 7: Interfaces / 171 \\
                 7.1 Interfaces as Contracts / 171 \\
                 7.2 Interface Types / 174 \\
                 7.3 Interface Satisfaction / 175 \\
                 7.4 Parsing Flags with flag.Value / 179 \\
                 7.5 Interface Values / 181 \\
                 7.6 Sorting with sort.Interface / 186 \\
                 7.7 The http.Handler Interface / 191 \\
                 7.8 The error Interface / 196 \\
                 7.9 Example: Expression Evaluator / 197 \\
                 7.10 Type Assertions / 205 \\
                 7.11 Discriminating Errors with Type Assertions / 206
                 \\
                 7.12 Querying Behaviors with Interface Type Assertions
                 / 208 \\
                 7.13 Type Switches / 210 \\
                 7.14 Example: Token-Based XML Decoding / 213 \\
                 7.15 A Few Words of Advice / 216 \\
                 8: Goroutines and Channels / 217 \\
                 8.1 Goroutines / 217 \\
                 8.2 Example: Concurrent Clock Server / 219 \\
                 8.3 Example: Concu rent Echo Server / 222 \\
                 8.4 Channels / 225 \\
                 8.5 Looping in Parallel / 234 \\
                 8.6 Example: Concurrent Web Crawler / 239 \\
                 8.7 Multiplexing with select / 244 \\
                 8.8 Example: Concurrent Directory Traversal / 247 \\
                 8.9 Cancellation / 251 \\
                 8.10 Example: Chat Server / 253 \\
                 9: Concurrency with Shared Variables / 257 \\
                 9.1 Race Conditions / 257 \\
                 9.2 Mutual Exclusion: sync.Mutex / 262 \\
                 9.3 Read/Write Mutexes: sync.RWMutex / 266 \\
                 9.4 Memory Synchronization / 267 \\
                 9.5 Lazy Initialization: sync.Once / 268 \\
                 9.6 The Race Detector / 271 \\
                 9.7 Example: Concurrent Non-Blocking Cache / 272 \\
                 9.8 Goroutines and Threads / 280 \\
                 10: Packages and the Go Tool / 283 \\
                 10.1 Introduction / 283 \\
                 10.2 Import Paths / 284 \\
                 10.3 The Package Declaration / 285 \\
                 10.4 Import Declarations / 285 \\
                 10.5 Blank Imports / 286 \\
                 10.6 Packages and Naming / 289 \\
                 10.7 The Go Tool / 290 \\
                 11: Testing / 301 \\
                 11.1 The go test Tool / 302 \\
                 11.2 Test Functions / 302 \\
                 11.3 Coverage / 318 \\
                 11.4 Benchmark Functions / 321 \\
                 11.5 Profiling / 323 \\
                 11.6 Example Functions / 326 \\
                 12: Reflection / 329 \\
                 12.1 Why Reflection? / 329 \\
                 12.2 reflect.Type and reflect.Value / 330 \\
                 12.3 Display, a Recursive Value Printer / 333 \\
                 12.4 Example: Encoding S-Expressions / 338 \\
                 12.5 Setting Variables with reflect.Value / 341 \\
                 12.6 Example: Decoding S-Expressions / 344 \\
                 12.7 Accessing Struct Field Tags / 348 \\
                 12.8 Displaying the Methods of a Type / 351 \\
                 12.9 A Word of Caution / 352 \\
                 13: Low-Level Programming / 353 \\
                 13.1 unsafe.Sizeof, Alignof, and Offsetof / 354 \\
                 13.2 unsafe.Pointer / 356 \\
                 13.3 Example: Deep Equivalence / 358 \\
                 13.4 Calling C Code with cgo / 361 \\
                 13.5 Another Word of Caution / 366 \\
                 Index / 367",
}


bibtype: article
filename: unix.bib
label: Guanciale:2016:PSM
author: Roberto Guanciale and Hamed Nemati and Mads Dam and Christoph Baumann
title: Provably secure memory isolation for Linux on ARM
journal: j-J-COMP-SECUR
volume: 24
number: 6
pages: 793--837
year: 2016
CODEN: JCSIET
DOI: https://doi.org/10.3233/JCS-160558
ISSN: 0926-227X (print), 1875-8924 (electronic) OR 0926227X (print), 18758924 (electronic)
ISSNL: 0926-227X OR 0926227X
bibdate: Mon Feb 27 15:51:12 MST 2017
bibtimestamp: 2017.02.27 15:51:12 MST
fjournal: Journal of Computer Security
acknowledgement: ack-nhfb
journalURL: http://content.iospress.com/journals/journal-of-computer-security
rawauthor: Roberto Guanciale and Hamed Nemati and Mads Dam and Christoph Baumann
rawtitle: Provably secure memory isolation for {Linux} on {ARM}
bibsource:
https://www.math.utah.edu/pub/tex/bib/jcompsecur.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib

entry:
@Article{Guanciale:2016:PSM,
  author =       "Roberto Guanciale and Hamed Nemati and Mads Dam and
                 Christoph Baumann",
  title =        "Provably secure memory isolation for {Linux} on
                 {ARM}",
  journal =      j-J-COMP-SECUR,
  volume =       "24",
  number =       "6",
  pages =        "793--837",
  month =        "????",
  year =         "2016",
  CODEN =        "JCSIET",
  DOI =          "https://doi.org/10.3233/JCS-160558",
  ISSN =         "0926-227X (print), 1875-8924 (electronic)",
  ISSN-L =       "0926-227X",
  bibdate =      "Mon Feb 27 15:51:12 MST 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/jcompsecur.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Computer Security",
  journal-URL =  "http://content.iospress.com/journals/journal-of-computer-security",
}


bibtype: book
filename: unix.bib
label: Jude:2016:FMA
author: Allan Jude and Michael W. Lucas
title: FreeBSD Mastery: Advanced ZFS
publisher: Tilted Windmill Press
pages: xx + 222
year: 2016
ISBN: 0-692-68868-4 (paperback) OR 0692688684 (paperback)
ISBN13: 978-0-692-68868-7 (paperback) OR 9780692688687 (paperback)
bibdate: Wed Oct 19 07:05:27 2016
bibtimestamp: 2016.10.19 07:05:27 ???
acknowledgement: ack-nhfb
rawauthor: Allan Jude and Michael W. Lucas
rawtitle: {FreeBSD} Mastery: Advanced {ZFS}
bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

TOC:
0: Introduction / 1 1: Boot Environments / 13 2: Delegation and jails / 27 3: Sharing Datasets / 45 4: Replication / 53 5: ZFS Volumes / 87 6: Advanced Hardware / 95 7: Caches / 121 8: Performance / 143 9: Tuning / 173 10: ZFS Potpourri / 187 Afterword / 211 Sponsors / 213 About the Authors / 215

rawTOC:
0: Introduction / 1 \\ 1: Boot Environments / 13 \\ 2: Delegation and jails / 27 \\ 3: Sharing Datasets / 45 \\ 4: Replication / 53 \\ 5: ZFS Volumes / 87 \\ 6: Advanced Hardware / 95 \\ 7: Caches / 121 \\ 8: Performance / 143 \\ 9: Tuning / 173 \\ 10: ZFS Potpourri / 187\\ Afterword / 211 \\ Sponsors / 213 \\ About the Authors / 215

entry:
@Book{Jude:2016:FMA,
  author =       "Allan Jude and Michael W. Lucas",
  title =        "{FreeBSD} Mastery: Advanced {ZFS}",
  publisher =    "Tilted Windmill Press",
  address =      "????",
  pages =        "xx + 222",
  year =         "2016",
  ISBN =         "0-692-68868-4 (paperback)",
  ISBN-13 =      "978-0-692-68868-7 (paperback)",
  LCCN =         "????",
  bibdate =      "Wed Oct 19 07:05:27 2016",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  tableofcontents = "0: Introduction / 1 \\
                 1: Boot Environments / 13 \\
                 2: Delegation and jails / 27 \\
                 3: Sharing Datasets / 45 \\
                 4: Replication / 53 \\
                 5: ZFS Volumes / 87 \\
                 6: Advanced Hardware / 95 \\
                 7: Caches / 121 \\
                 8: Performance / 143 \\
                 9: Tuning / 173 \\
                 10: ZFS Potpourri / 187\\
                 Afterword / 211 \\
                 Sponsors / 213 \\
                 About the Authors / 215",
}


bibtype: book
filename: unix.bib
label: Kalsi:2016:PLS
author: Tajinder Kalsi
title: Practical Linux Security Cookbook
publisher: pub-PACKT
address: pub-PACKT:adr
pages: xx + 222
year: 2016
ISBN: 1-78528-642-0 (paperback), 1-78528-530-0 (e-book) OR 1785286420 (paperback), 1785285300 (ebook)
LCCN: T55.4-60.8
bibdate: Sat Sep 15 17:05:00 MDT 2018
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.09.15 17:05:00 MDT
URL: http://proquest.safaribooksonline.com/9781785286421
acknowledgement: ack-nhfb
rawauthor: Tajinder Kalsi
rawtitle: Practical {Linux} Security Cookbook
ISBN13:
978-1-78528-642-1 (paperback), 978-1-78528-530-1 (e-book) OR 9781785286421 (paperback), 9781785285301 (ebook)

abstract:
Secure your Linux machines and keep them secured with the help of exciting recipes. This book provides code-intensive discussions with detailed recipes that help you understand better and learn faster. More than 50 hands-on recipes to create and administer a secure Linux system locally as well as on a network Enhance file system security and local and remote user authentication by using various security tools and different versions of Linux for different tasks. Who This Book Is For. Practical Linux Security Cookbook is intended for all those Linux users who already have knowledge of Linux File systems and administration. You should be familiar with basic Linux commands. Understanding Information security and its risks to a Linux system is also helpful in understanding the recipes more easily. However, even if you are unfamiliar with Information security, you will be able to easily follow and understand the recipes discussed. Since Linux Security Cookbook follows a practical approach, following the steps is very easy. What You Will Learn. Learn about various vulnerabilities and exploits in relation to Linux systems Configure and build a secure kernel and test it Learn about file permissions and security and how to securely modify files Explore various ways to authenticate local users while monitoring their activities. Authenticate users remotely and securely copy files on remote systems Review various network security methods including firewalls using iptables and TCP Wrapper Explore various security tools including Port Sentry, Squid Proxy, Shorewall, and many more Understand Bash vulnerability/security and patch management. In Detail. With the growing popularity of Linux, more and more administrators have started moving to the system to create networks or servers for any task. This also makes Linux the first choice for any attacker now. Due to the lack of information about security-related attacks, administrators now face issues in dealing with these attackers as quickly as possible. Learning about the different types of Linux security will help create a more secure Linux system. Whether you are new to Linux administration or experienced, this book will provide you with the skills to make systems more secure. With lots of step-by-step recipes, the book starts by introducing you to various threats to Linux systems. You then get to walk through customizing the Linux kernel and securing local files. Next you will move on to manage user authentication locally and remotely and also mitigate network attacks. Finally, you will learn to patch bash vulnerability and monitor system logs for security. With several screenshots in each example, the book will supply a great learning experience and help you create more secure Linux systems. Style and approach. An easy-to-follow cookbook with step-by-step practical recipes covering the various Linux security administration tasks. Each recipe has screenshots, wherever needed, to make understanding more easy.

subject:
Linux; Linux.; Computer security; Operating systems (Computers); Computer security.; Operating systems (Computers)

TOC:
Preface 1: Linux Security Problems Introduction The security policy of Linux Configuring password protection Configuring server security Security controls Conducting integrity checks of the installation medium by using checksum Using the LUKS disk encryption Making use of sudoers configuring sudo access Scanning hosts with Nmap Gaining a root on a vulnerable Linux system 2: Configuring a Secure and Optimized Kernel Introduction Requirements for building and using a kernel Creating a USB boot media Retrieving a kernel source Configuring and building a kernel Installing and booting from a kernel Testing and debugging a kernel Configuring a console for debugging using Netconsole Debugging a kernel on boot 3: Local Filesystem Security Viewing files and directory details using the ls command Changing file permissions using the chmod command Implementing access control list (ACL) File handling using the mv command (moving and renaming) Install and configure a basic LDAP server on Ubuntu 4: Local Authentication in Linux User authentication and logging Limiting the login capabilities of users Monitoring user activity using acct Login authentication using a USB device and PAM Defining user authorization controls 5: Remote Authentication Remote server/host access using SSH Disabling or enabling SSH root login Restricting remote access with key-based login into SSH Copying files remotely Setting up a Kerberos server with Ubuntu 6: Network Security Managing the TCP/IP network Using Iptables to configure a firewall Blocking spoofed addresses Blocking incoming traffic Configuring and using the TCP Wrapper 7: Security Tools Linux sXID Portsentry Using Squid proxy OpenSSL Server Tripwire Shorewall 8: Linux Security Distros Kali Linux pfSense DEFT Digital Evidence and Forensic Toolkit NST Network Security Toolkit Helix 9: Patching a Bash Vulnerability Understanding the bash vulnerability through Shellshock Shellshock's security issues The patch management system Applying patches on the Linux systems 10: Security Monitoring and Logging Viewing and managing log files using Logcheck Monitoring a network using Nmap Using glances for system monitoring Monitoring Logs using MultiTail Using system tools Whowatch Using system tools stat Using system tools lsof Using system tools strace Using Lynis Index

rawabstract:
Secure your Linux machines and keep them secured with the help of exciting recipes. This book provides code-intensive discussions with detailed recipes that help you understand better and learn faster. More than 50 hands-on recipes to create and administer a secure Linux system locally as well as on a network Enhance file system security and local and remote user authentication by using various security tools and different versions of Linux for different tasks. Who This Book Is For. Practical Linux Security Cookbook is intended for all those Linux users who already have knowledge of Linux File systems and administration. You should be familiar with basic Linux commands. Understanding Information security and its risks to a Linux system is also helpful in understanding the recipes more easily. However, even if you are unfamiliar with Information security, you will be able to easily follow and understand the recipes discussed. Since Linux Security Cookbook follows a practical approach, following the steps is very easy. What You Will Learn. Learn about various vulnerabilities and exploits in relation to Linux systems Configure and build a secure kernel and test it Learn about file permissions and security and how to securely modify files Explore various ways to authenticate local users while monitoring their activities. Authenticate users remotely and securely copy files on remote systems Review various network security methods including firewalls using iptables and TCP Wrapper Explore various security tools including Port Sentry, Squid Proxy, Shorewall, and many more Understand Bash vulnerability/security and patch management. In Detail. With the growing popularity of Linux, more and more administrators have started moving to the system to create networks or servers for any task. This also makes Linux the first choice for any attacker now. Due to the lack of information about security-related attacks, administrators now face issues in dealing with these attackers as quickly as possible. Learning about the different types of Linux security will help create a more secure Linux system. Whether you are new to Linux administration or experienced, this book will provide you with the skills to make systems more secure. With lots of step-by-step recipes, the book starts by introducing you to various threats to Linux systems. You then get to walk through customizing the Linux kernel and securing local files. Next you will move on to manage user authentication locally and remotely and also mitigate network attacks. Finally, you will learn to patch bash vulnerability and monitor system logs for security. With several screenshots in each example, the book will supply a great learning experience and help you create more secure Linux systems. Style and approach. An easy-to-follow cookbook with step-by-step practical recipes covering the various Linux security administration tasks. Each recipe has screenshots, wherever needed, to make understanding more easy.

rawTOC:
Preface \\ 1: Linux Security Problems \\ Introduction \\ The security policy of Linux \\ Configuring password protection \\ Configuring server security \\ Security controls \\ Conducting integrity checks of the installation medium by using checksum \\ Using the LUKS disk encryption \\ Making use of sudoers \\ configuring sudo access \\ Scanning hosts with Nmap \\ Gaining a root on a vulnerable Linux system \\ 2: Configuring a Secure and Optimized Kernel \\ Introduction \\ Requirements for building and using a kernel \\ Creating a USB boot media \\ Retrieving a kernel source \\ Configuring and building a kernel \\ Installing and booting from a kernel \\ Testing and debugging a kernel \\ Configuring a console for debugging using Netconsole \\ Debugging a kernel on boot \\ 3: Local Filesystem Security \\ Viewing files and directory details using the ls command \\ Changing file permissions using the chmod command \\ Implementing access control list (ACL) \\ File handling using the mv command (moving and renaming) \\ Install and configure a basic LDAP server on Ubuntu \\ 4: Local Authentication in Linux \\ User authentication and logging \\ Limiting the login capabilities of users \\ Monitoring user activity using acct \\ Login authentication using a USB device and PAM \\ Defining user authorization controls \\ 5: Remote Authentication \\ Remote server/host access using SSH \\ Disabling or enabling SSH root login \\ Restricting remote access with key-based login into SSH \\ Copying files remotely \\ Setting up a Kerberos server with Ubuntu \\ 6: Network Security \\ Managing the TCP/IP network \\ Using Iptables to configure a firewall \\ Blocking spoofed addresses \\ Blocking incoming traffic \\ Configuring and using the TCP Wrapper \\ 7: Security Tools \\ Linux sXID \\ Portsentry \\ Using Squid proxy \\ OpenSSL Server \\ Tripwire \\ Shorewall \\ 8: Linux Security Distros \\ Kali Linux \\ pfSense \\ DEFT \\ Digital Evidence and Forensic Toolkit \\ NST \\ Network Security Toolkit \\ Helix \\ 9: Patching a Bash Vulnerability \\ Understanding the bash vulnerability through Shellshock \\ Shellshock's security issues \\ The patch management system \\ Applying patches on the Linux systems \\ 10: Security Monitoring and Logging \\ Viewing and managing log files using Logcheck \\ Monitoring a network using Nmap \\ Using glances for system monitoring \\ Monitoring Logs using MultiTail \\ Using system tools \\ Whowatch \\ Using system tools \\ stat \\ Using system tools \\ lsof \\ Using system tools \\ strace \\ Using Lynis \\ Index

entry:
@Book{Kalsi:2016:PLS,
  author =       "Tajinder Kalsi",
  title =        "Practical {Linux} Security Cookbook",
  publisher =    pub-PACKT,
  address =      pub-PACKT:adr,
  year =         "2016",
  ISBN =         "1-78528-642-0 (paperback), 1-78528-530-0 (e-book)",
  ISBN-13 =      "978-1-78528-642-1 (paperback), 978-1-78528-530-1
                 (e-book)",
  LCCN =         "T55.4-60.8",
  bibdate =      "Sat Sep 15 17:05:00 MDT 2018",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://proquest.safaribooksonline.com/9781785286421",
  abstract =     "Secure your Linux machines and keep them secured with
                 the help of exciting recipes. This book provides
                 code-intensive discussions with detailed recipes that
                 help you understand better and learn faster. More than
                 50 hands-on recipes to create and administer a secure
                 Linux system locally as well as on a network Enhance
                 file system security and local and remote user
                 authentication by using various security tools and
                 different versions of Linux for different tasks. Who
                 This Book Is For. Practical Linux Security Cookbook is
                 intended for all those Linux users who already have
                 knowledge of Linux File systems and administration. You
                 should be familiar with basic Linux commands.
                 Understanding Information security and its risks to a
                 Linux system is also helpful in understanding the
                 recipes more easily. However, even if you are
                 unfamiliar with Information security, you will be able
                 to easily follow and understand the recipes discussed.
                 Since Linux Security Cookbook follows a practical
                 approach, following the steps is very easy. What You
                 Will Learn. Learn about various vulnerabilities and
                 exploits in relation to Linux systems Configure and
                 build a secure kernel and test it Learn about file
                 permissions and security and how to securely modify
                 files Explore various ways to authenticate local users
                 while monitoring their activities. Authenticate users
                 remotely and securely copy files on remote systems
                 Review various network security methods including
                 firewalls using iptables and TCP Wrapper Explore
                 various security tools including Port Sentry, Squid
                 Proxy, Shorewall, and many more Understand Bash
                 vulnerability/security and patch management. In Detail.
                 With the growing popularity of Linux, more and more
                 administrators have started moving to the system to
                 create networks or servers for any task. This also
                 makes Linux the first choice for any attacker now. Due
                 to the lack of information about security-related
                 attacks, administrators now face issues in dealing with
                 these attackers as quickly as possible. Learning about
                 the different types of Linux security will help create
                 a more secure Linux system. Whether you are new to
                 Linux administration or experienced, this book will
                 provide you with the skills to make systems more
                 secure. With lots of step-by-step recipes, the book
                 starts by introducing you to various threats to Linux
                 systems. You then get to walk through customizing the
                 Linux kernel and securing local files. Next you will
                 move on to manage user authentication locally and
                 remotely and also mitigate network attacks. Finally,
                 you will learn to patch bash vulnerability and monitor
                 system logs for security. With several screenshots in
                 each example, the book will supply a great learning
                 experience and help you create more secure Linux
                 systems. Style and approach. An easy-to-follow cookbook
                 with step-by-step practical recipes covering the
                 various Linux security administration tasks. Each
                 recipe has screenshots, wherever needed, to make
                 understanding more easy.",
  acknowledgement = ack-nhfb,
  subject =      "Linux; Linux.; Computer security; Operating systems
                 (Computers); Computer security.; Operating systems
                 (Computers)",
  tableofcontents = "Preface \\
                 1: Linux Security Problems \\
                 Introduction \\
                 The security policy of Linux \\
                 Configuring password protection \\
                 Configuring server security \\
                 Security controls \\
                 Conducting integrity checks of the installation medium
                 by using checksum \\
                 Using the LUKS disk encryption \\
                 Making use of sudoers \\
                 configuring sudo access \\
                 Scanning hosts with Nmap \\
                 Gaining a root on a vulnerable Linux system \\
                 2: Configuring a Secure and Optimized Kernel \\
                 Introduction \\
                 Requirements for building and using a kernel \\
                 Creating a USB boot media \\
                 Retrieving a kernel source \\
                 Configuring and building a kernel \\
                 Installing and booting from a kernel \\
                 Testing and debugging a kernel \\
                 Configuring a console for debugging using Netconsole
                 \\
                 Debugging a kernel on boot \\
                 3: Local Filesystem Security \\
                 Viewing files and directory details using the ls
                 command \\
                 Changing file permissions using the chmod command \\
                 Implementing access control list (ACL) \\
                 File handling using the mv command (moving and
                 renaming) \\
                 Install and configure a basic LDAP server on Ubuntu \\
                 4: Local Authentication in Linux \\
                 User authentication and logging \\
                 Limiting the login capabilities of users \\
                 Monitoring user activity using acct \\
                 Login authentication using a USB device and PAM \\
                 Defining user authorization controls \\
                 5: Remote Authentication \\
                 Remote server/host access using SSH \\
                 Disabling or enabling SSH root login \\
                 Restricting remote access with key-based login into SSH
                 \\
                 Copying files remotely \\
                 Setting up a Kerberos server with Ubuntu \\
                 6: Network Security \\
                 Managing the TCP/IP network \\
                 Using Iptables to configure a firewall \\
                 Blocking spoofed addresses \\
                 Blocking incoming traffic \\
                 Configuring and using the TCP Wrapper \\
                 7: Security Tools \\
                 Linux sXID \\
                 Portsentry \\
                 Using Squid proxy \\
                 OpenSSL Server \\
                 Tripwire \\
                 Shorewall \\
                 8: Linux Security Distros \\
                 Kali Linux \\
                 pfSense \\
                 DEFT \\
                 Digital Evidence and Forensic Toolkit \\
                 NST \\
                 Network Security Toolkit \\
                 Helix \\
                 9: Patching a Bash Vulnerability \\
                 Understanding the bash vulnerability through Shellshock
                 \\
                 Shellshock's security issues \\
                 The patch management system \\
                 Applying patches on the Linux systems \\
                 10: Security Monitoring and Logging \\
                 Viewing and managing log files using Logcheck \\
                 Monitoring a network using Nmap \\
                 Using glances for system monitoring \\
                 Monitoring Logs using MultiTail \\
                 Using system tools \\
                 Whowatch \\
                 Using system tools \\
                 stat \\
                 Using system tools \\
                 lsof \\
                 Using system tools \\
                 strace \\
                 Using Lynis \\
                 Index",
}


bibtype: book
filename: unix.bib
label: Lucas:2016:PM
author: Michael Lucas
title: PAM mastery
publisher: Tilted Windmill Press
pages: 182
year: 2016
ISBN: 1-5376-5770-4 OR 1537657704
ISBN13: 978-1-5376-5770-7 OR 9781537657707
bibdate: Sat Dec 10 08:47:45 MST 2016
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2016.12.10 08:47:45 MST
subject: LINUX; Authentifikation; FreeBSD; PAM (Pluggable Authentication Module)
acknowledgement: ack-nhfb
authordates: 1967--
rawauthor: Michael Lucas
rawtitle: {PAM} mastery
entry:
@Book{Lucas:2016:PM,
  author =       "Michael Lucas",
  title =        "{PAM} mastery",
  publisher =    "Tilted Windmill Press",
  address =      "????",
  pages =        "182",
  year =         "2016",
  ISBN =         "1-5376-5770-4",
  ISBN-13 =      "978-1-5376-5770-7",
  LCCN =         "????",
  bibdate =      "Sat Dec 10 08:47:45 MST 2016",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  author-dates = "1967--",
  subject =      "LINUX; Authentifikation; FreeBSD; PAM (Pluggable
                 Authentication Module)",
}


bibtype: article
filename: unix.bib
label: McKusick:2016:BHB
author: Marshall Kirk McKusick
title: A Brief History of the BSD Fast Filesystem
journal: The FreeBSD Journal
volume: 3
number: 2
pages: 12--23
month: mar
monthnumber: 3
year: 2016
ISBN: 0-615-88479-2 OR 0615884792
ISBN13: 978-0-615-88479-0 OR 9780615884790
bibdate: Mon Feb 24 16:49:43 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.24 16:49:43 ???
URL: http://issue.freebsdfoundation.org/publication/?m=33057&i=297010&p=14
acknowledgement: ack-nhfb
journalURL: https://www.freebsdfoundation.org/journal/
rawauthor: Marshall Kirk McKusick
rawtitle: A Brief History of the {BSD Fast Filesystem}
entry:
@Article{McKusick:2016:BHB,
  author =       "Marshall Kirk McKusick",
  title =        "A Brief History of the {BSD Fast Filesystem}",
  journal =      "The FreeBSD Journal",
  volume =       "3",
  number =       "2",
  pages =        "12--23",
  month =        mar # "\slash " # apr,
  year =         "2016",
  ISBN =         "0-615-88479-2",
  ISBN-13 =      "978-0-615-88479-0",
  bibdate =      "Mon Feb 24 16:49:43 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://issue.freebsdfoundation.org/publication/?m=33057&i=297010&p=14",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://www.freebsdfoundation.org/journal/",
}


bibtype: book
filename: unix.bib
label: Miller:2016:ECO
author: Lawrence C. Miller
title: Enterprise Computing with Oracle Solaris for Dummies
publisher: pub-WILEY
address: pub-WILEY:adr
year: 2016
bibdate: Fri Oct 21 19:12:46 2016
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2016.10.21 19:12:46 ???
acknowledgement: ack-nhfb
rawauthor: Lawrence C. Miller
rawtitle: Enterprise Computing with {Oracle Solaris} for Dummies
entry:
@Book{Miller:2016:ECO,
  author =       "Lawrence C. Miller",
  title =        "Enterprise Computing with {Oracle Solaris} for
                 Dummies",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "????",
  year =         "2016",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Fri Oct 21 19:12:46 2016",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: unix.bib
label: Zientara:2016:MP
author: David Zientara
title: Mastering pfSense
publisher: pub-PACKT
address: pub-PACKT:adr
year: 2016
ISBN: 1-78646-336-9 (e-book), 1-78646-343-1 OR 1786463369 (ebook), 1786463431
ISBN13: 978-1-78646-336-4, 978-1-78646-343-2 OR 9781786463364, 9781786463432
LCCN: T55.4-60.8
bibdate: Sat Sep 15 17:05:00 MDT 2018
bibsource: fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.09.15 17:05:00 MDT
URL: http://proquest.safaribooksonline.com/9781786463432
subject: Firewalls (Computer security); Open source software
acknowledgement: ack-nhfb
rawauthor: David Zientara
rawtitle: Mastering {pfSense}
abstract:
Master the art of managing, securing, and monitoring your network using the powerful pfSense 2.3. About This Book. You can always do more to secure your software so extend and customize your pfSense firewall. Build a high availability security system that's fault tolerant and capable of blocking any threats Put the principles of better security into practice unlock a more stable and reliable firewall. Who This Book Is For. SysAdmins and security pros get more from the world's leading firewall with this book. You can always do more to secure your software, so start here. What You Will Learn Configure pfSense services such as DHCP, Dynamic DNS, captive portal, DNS, NTP and SNMP Set up a managed switch to work with VLANs Use pfSense to allow, block and deny traffic Make use of the traffic shaper to lower and raise the priority of certain types of traffic Set up and connect to a VPN tunnel with pfSense Incorporate redundancy and high availability by utilizing load balancing and the Common Address Redundancy Protocol (CARP) Explore diagnostic tools in pfSense to solve network problems. In Detail pfSense has the same reliability and stability as even the most popular commercial firewall offerings on the market but, like the very best open-source software, it doesn't limit you. You're in control you can exploit and customize pfSense around your security needs. If you're familiar with pfSense you probably knew that already. This book builds on any knowledge you may already have, and provides you with a clear route to expand your skills and pfSense's capabilities. You'll learn how to customize and configure pfSense to construct a firewall that can protect you from any potential security threats. Find out how to set up a VPN, and build a high-availability system that provides redundancy and fault tolerance essential when security and software performance are so interdependent. With further guidance on how to use a diverse range of third-party packages all of which will help you unlock more from pfSense, this book covers everything you need --- and more to get a high-quality, reliable firewall up and running for a fraction of the cost. Style and approach Practical and actionable, tackle some advanced functionalities of pfSense with minimum fuss. We know you don't just want an instruction manual you want to put the principles of better security into practice. That's exactly why we produced this book.

TOC:
Preface Chapter 1: pfSense Essentials pfSense project overview Possible deployment scenarios Hardware requirements and sizing guidelines Minimum specifications Hardware sizing guidelines Using a laptop Introduction to VLANs and DNS Introduction to VLANs Introduction to DNS The best practices for installation and configuration Troubleshooting installation pfSense configuration Configuration from the console Configuration from the web GUI Configuring additional interfaces General setup options Advanced setup options Upgrading, backing up, and restoring pfSense Backing up and restoring pfSense Restoring a configuration with Pre-Flight Install Summary Chapter 2: Advanced pfSense Configuration DHCP DHCP configuration at the console DHCP configuration in the web GUI DHCPv6 configuration in the web GUI DHCP relay and DHCPv6 relay DHCP and DHCPv6 leases DNS DNS Resolver DNS Forwarder DDNS DDNS updating RFC 2136 updating Troubleshooting DDNS Captive portal Implementing captive portal Troubleshooting captive portal NTP NTP configuration NTP troubleshooting SNMP Configuring SNMP Troubleshooting SNMP Summary Chapter 3: Working with VLANs Basic VLAN concepts An example network Hardware, configuration, and security considerations VLAN configuration at the console VLAN configuration in the web GUI VLAN configuration at the switch VLAN configuration example one TL-SG108E VLAN configuration example two Cisco switches Static VLAN creation Dynamic Trunking Protocol VLAN Trunking Protocol Troubleshooting VLANs General troubleshooting tips Verifying switch configuration Verifying pfSense configuration Troubleshooting example Summary Chapter 4: pfSense as a Firewall An example network Firewall fundamentals Firewall best practices Best practices for ingress filtering Best practices for egress filtering Creating and editing firewall rules Floating rules An example rule Scheduling An example schedule NAT/port forwarding Inbound NAT (port forwarding) 1:1 NAT Outbound NAT Network Prefix Translation An example NAT rule Aliases An example alias Virtual IPs An example VIP Troubleshooting Summary Chapter 5: Traffic Shaping An example network Traffic shaping essentials Queuing policies Configuring traffic shaping in pfSense The Multiple LAN/WAN Configuration wizard The Dedicated Links wizard Advanced traffic shaping configuration Changes to queues Limiters Layer 7 traffic shaping Changes to rules Traffic shaping examples Example #1 adding limiters Example #2 prioritizing Skype Example #3 penalizing P2P traffic Troubleshooting traffic shaping Summary Chapter 6: Virtual Private Networks VPN fundamentals IPsec L2TP OpenVPN Choosing a VPN protocol Configuring a VPN tunnel IPsec configuration IPsec peer/server configuration

rawabstract:
Master the art of managing, securing, and monitoring your network using the powerful pfSense 2.3. About This Book. You can always do more to secure your software so extend and customize your pfSense firewall. Build a high availability security system that's fault tolerant and capable of blocking any threats Put the principles of better security into practice unlock a more stable and reliable firewall. Who This Book Is For. SysAdmins and security pros get more from the world's leading firewall with this book. You can always do more to secure your software, so start here. What You Will Learn Configure pfSense services such as DHCP, Dynamic DNS, captive portal, DNS, NTP and SNMP Set up a managed switch to work with VLANs Use pfSense to allow, block and deny traffic Make use of the traffic shaper to lower and raise the priority of certain types of traffic Set up and connect to a VPN tunnel with pfSense Incorporate redundancy and high availability by utilizing load balancing and the Common Address Redundancy Protocol (CARP) Explore diagnostic tools in pfSense to solve network problems. In Detail pfSense has the same reliability and stability as even the most popular commercial firewall offerings on the market but, like the very best open-source software, it doesn't limit you. You're in control you can exploit and customize pfSense around your security needs. If you're familiar with pfSense you probably knew that already. This book builds on any knowledge you may already have, and provides you with a clear route to expand your skills and pfSense's capabilities. You'll learn how to customize and configure pfSense to construct a firewall that can protect you from any potential security threats. Find out how to set up a VPN, and build a high-availability system that provides redundancy and fault tolerance essential when security and software performance are so interdependent. With further guidance on how to use a diverse range of third-party packages all of which will help you unlock more from pfSense, this book covers everything you need --- and more to get a high-quality, reliable firewall up and running for a fraction of the cost. Style and approach Practical and actionable, tackle some advanced functionalities of pfSense with minimum fuss. We know you don't just want an instruction manual you want to put the principles of better security into practice. That's exactly why we produced this book.

rawTOC:
Preface \\ Chapter 1: pfSense Essentials \\ pfSense project overview \\ Possible deployment scenarios \\ Hardware requirements and sizing guidelines \\ Minimum specifications \\ Hardware sizing guidelines \\ Using a laptop \\ Introduction to VLANs and DNS \\ Introduction to VLANs \\ Introduction to DNS \\ The best practices for installation and configuration \\ Troubleshooting installation \\ pfSense configuration \\ Configuration from the console \\ Configuration from the web GUI \\ Configuring additional interfaces \\ General setup options \\ Advanced setup options \\ Upgrading, backing up, and restoring pfSense \\ Backing up and restoring pfSense \\ Restoring a configuration with Pre-Flight Install \\ Summary \\ Chapter 2: Advanced pfSense Configuration \\ DHCP \\ DHCP configuration at the console \\ DHCP configuration in the web GUI \\ DHCPv6 configuration in the web GUI \\ DHCP relay and DHCPv6 relay \\ DHCP and DHCPv6 leases \\ DNS \\ DNS Resolver \\ DNS Forwarder \\ DDNS \\ DDNS updating \\ RFC 2136 updating \\ Troubleshooting DDNS \\ Captive portal \\ Implementing captive portal \\ Troubleshooting captive portal \\ NTP \\ NTP configuration \\ NTP troubleshooting SNMP \\ Configuring SNMP \\ Troubleshooting SNMP \\ Summary \\ Chapter 3: Working with VLANs \\ Basic VLAN concepts \\ An example network \\ Hardware, configuration, and security considerations \\ VLAN configuration at the console \\ VLAN configuration in the web GUI \\ VLAN configuration at the switch \\ VLAN configuration example one \\ TL-SG108E \\ VLAN configuration example two \\ Cisco switches \\ Static VLAN creation \\ Dynamic Trunking Protocol \\ VLAN Trunking Protocol \\ Troubleshooting VLANs \\ General troubleshooting tips \\ Verifying switch configuration \\ Verifying pfSense configuration \\ Troubleshooting example \\ Summary \\ Chapter 4: pfSense as a Firewall \\ An example network \\ Firewall fundamentals \\ Firewall best practices \\ Best practices for ingress filtering \\ Best practices for egress filtering \\ Creating and editing firewall rules \\ Floating rules \\ An example rule \\ Scheduling \\ An example schedule \\ NAT/port forwarding \\ Inbound NAT (port forwarding) \\ 1:1 NAT \\ Outbound NAT \\ Network Prefix Translation \\ An example NAT rule \\ Aliases \\ An example alias \\ Virtual IPs \\ An example VIP \\ Troubleshooting \\ Summary \\ Chapter 5: Traffic Shaping \\ An example network \\ Traffic shaping essentials \\ Queuing policies \\ Configuring traffic shaping in pfSense \\ The Multiple LAN/WAN Configuration wizard \\ The Dedicated Links wizard \\ Advanced traffic shaping configuration \\ Changes to queues \\ Limiters \\ Layer 7 traffic shaping \\ Changes to rules \\ Traffic shaping examples \\ Example \#1 \\ adding limiters \\ Example \#2 \\ prioritizing Skype \\ Example \#3 \\ penalizing P2P traffic \\ Troubleshooting traffic shaping \\ Summary \\ Chapter 6: Virtual Private Networks \\ VPN fundamentals \\ IPsec \\ L2TP \\ OpenVPN \\ Choosing a VPN protocol \\ Configuring a VPN tunnel \\ IPsec configuration \\ IPsec peer/server configuration

entry:
@Book{Zientara:2016:MP,
  author =       "David Zientara",
  title =        "Mastering {pfSense}",
  publisher =    pub-PACKT,
  address =      pub-PACKT:adr,
  year =         "2016",
  ISBN =         "1-78646-336-9 (e-book), 1-78646-343-1",
  ISBN-13 =      "978-1-78646-336-4, 978-1-78646-343-2",
  LCCN =         "T55.4-60.8",
  bibdate =      "Sat Sep 15 17:05:00 MDT 2018",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://proquest.safaribooksonline.com/9781786463432",
  abstract =     "Master the art of managing, securing, and monitoring
                 your network using the powerful pfSense 2.3. About This
                 Book. You can always do more to secure your software so
                 extend and customize your pfSense firewall. Build a
                 high availability security system that's fault tolerant
                 and capable of blocking any threats Put the principles
                 of better security into practice unlock a more stable
                 and reliable firewall. Who This Book Is For. SysAdmins
                 and security pros get more from the world's leading
                 firewall with this book. You can always do more to
                 secure your software, so start here. What You Will
                 Learn Configure pfSense services such as DHCP, Dynamic
                 DNS, captive portal, DNS, NTP and SNMP Set up a managed
                 switch to work with VLANs Use pfSense to allow, block
                 and deny traffic Make use of the traffic shaper to
                 lower and raise the priority of certain types of
                 traffic Set up and connect to a VPN tunnel with pfSense
                 Incorporate redundancy and high availability by
                 utilizing load balancing and the Common Address
                 Redundancy Protocol (CARP) Explore diagnostic tools in
                 pfSense to solve network problems. In Detail pfSense
                 has the same reliability and stability as even the most
                 popular commercial firewall offerings on the market
                 but, like the very best open-source software, it
                 doesn't limit you. You're in control you can exploit
                 and customize pfSense around your security needs. If
                 you're familiar with pfSense you probably knew that
                 already. This book builds on any knowledge you may
                 already have, and provides you with a clear route to
                 expand your skills and pfSense's capabilities. You'll
                 learn how to customize and configure pfSense to
                 construct a firewall that can protect you from any
                 potential security threats. Find out how to set up a
                 VPN, and build a high-availability system that provides
                 redundancy and fault tolerance essential when security
                 and software performance are so interdependent. With
                 further guidance on how to use a diverse range of
                 third-party packages all of which will help you unlock
                 more from pfSense, this book covers everything you need
                 --- and more to get a high-quality, reliable firewall
                 up and running for a fraction of the cost. Style and
                 approach Practical and actionable, tackle some advanced
                 functionalities of pfSense with minimum fuss. We know
                 you don't just want an instruction manual you want to
                 put the principles of better security into practice.
                 That's exactly why we produced this book.",
  acknowledgement = ack-nhfb,
  subject =      "Firewalls (Computer security); Open source software",
  tableofcontents = "Preface \\
                 Chapter 1: pfSense Essentials \\
                 pfSense project overview \\
                 Possible deployment scenarios \\
                 Hardware requirements and sizing guidelines \\
                 Minimum specifications \\
                 Hardware sizing guidelines \\
                 Using a laptop \\
                 Introduction to VLANs and DNS \\
                 Introduction to VLANs \\
                 Introduction to DNS \\
                 The best practices for installation and configuration
                 \\
                 Troubleshooting installation \\
                 pfSense configuration \\
                 Configuration from the console \\
                 Configuration from the web GUI \\
                 Configuring additional interfaces \\
                 General setup options \\
                 Advanced setup options \\
                 Upgrading, backing up, and restoring pfSense \\
                 Backing up and restoring pfSense \\
                 Restoring a configuration with Pre-Flight Install \\
                 Summary \\
                 Chapter 2: Advanced pfSense Configuration \\
                 DHCP \\
                 DHCP configuration at the console \\
                 DHCP configuration in the web GUI \\
                 DHCPv6 configuration in the web GUI \\
                 DHCP relay and DHCPv6 relay \\
                 DHCP and DHCPv6 leases \\
                 DNS \\
                 DNS Resolver \\
                 DNS Forwarder \\
                 DDNS \\
                 DDNS updating \\
                 RFC 2136 updating \\
                 Troubleshooting DDNS \\
                 Captive portal \\
                 Implementing captive portal \\
                 Troubleshooting captive portal \\
                 NTP \\
                 NTP configuration \\
                 NTP troubleshooting SNMP \\
                 Configuring SNMP \\
                 Troubleshooting SNMP \\
                 Summary \\
                 Chapter 3: Working with VLANs \\
                 Basic VLAN concepts \\
                 An example network \\
                 Hardware, configuration, and security considerations
                 \\
                 VLAN configuration at the console \\
                 VLAN configuration in the web GUI \\
                 VLAN configuration at the switch \\
                 VLAN configuration example one \\
                 TL-SG108E \\
                 VLAN configuration example two \\
                 Cisco switches \\
                 Static VLAN creation \\
                 Dynamic Trunking Protocol \\
                 VLAN Trunking Protocol \\
                 Troubleshooting VLANs \\
                 General troubleshooting tips \\
                 Verifying switch configuration \\
                 Verifying pfSense configuration \\
                 Troubleshooting example \\
                 Summary \\
                 Chapter 4: pfSense as a Firewall \\
                 An example network \\
                 Firewall fundamentals \\
                 Firewall best practices \\
                 Best practices for ingress filtering \\
                 Best practices for egress filtering \\
                 Creating and editing firewall rules \\
                 Floating rules \\
                 An example rule \\
                 Scheduling \\
                 An example schedule \\
                 NAT/port forwarding \\
                 Inbound NAT (port forwarding) \\
                 1:1 NAT \\
                 Outbound NAT \\
                 Network Prefix Translation \\
                 An example NAT rule \\
                 Aliases \\
                 An example alias \\
                 Virtual IPs \\
                 An example VIP \\
                 Troubleshooting \\
                 Summary \\
                 Chapter 5: Traffic Shaping \\
                 An example network \\
                 Traffic shaping essentials \\
                 Queuing policies \\
                 Configuring traffic shaping in pfSense \\
                 The Multiple LAN/WAN Configuration wizard \\
                 The Dedicated Links wizard \\
                 Advanced traffic shaping configuration \\
                 Changes to queues \\
                 Limiters \\
                 Layer 7 traffic shaping \\
                 Changes to rules \\
                 Traffic shaping examples \\
                 Example \#1 \\
                 adding limiters \\
                 Example \#2 \\
                 prioritizing Skype \\
                 Example \#3 \\
                 penalizing P2P traffic \\
                 Troubleshooting traffic shaping \\
                 Summary \\
                 Chapter 6: Virtual Private Networks \\
                 VPN fundamentals \\
                 IPsec \\
                 L2TP \\
                 OpenVPN \\
                 Choosing a VPN protocol \\
                 Configuring a VPN tunnel \\
                 IPsec configuration \\
                 IPsec peer/server configuration",
}


bibtype: article
filename: unix.bib
label: Anderson:2017:CUS
author: Jonathan Anderson
journal: The FreeBSD Journal
volume: 4
number: 5
pages: 16--25
month: sep
monthnumber: 9
year: 2017
ISBN: 0-615-88479-2 OR 0615884792
ISBN13: 978-0-615-88479-0 OR 9780615884790
bibdate: Mon Feb 24 16:50:32 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.24 16:50:32 ???
URL: http://issue.freebsdfoundation.org/publication/?m=33057&i=447089&p=18
acknowledgement: ack-nhfb
journalURL: https://www.freebsdfoundation.org/journal/
rawauthor: Jonathan Anderson
title:
A Comparison of Unix Sandboxing Techniques: Why sandboxing is different from historic approaches to Unix security, how we got where we are, and how Capsicum compares with Linux's tt seccomp(2) and OpenBSD's tt pledge(2)

rawtitle:
A Comparison of {Unix} Sandboxing Techniques: Why sandboxing is different from historic approaches to {Unix} security, how we got where we are, and how {Capsicum} compares with {Linux}'s {\tt seccomp(2)} and {OpenBSD}'s {\tt pledge(2)}

entry:
@Article{Anderson:2017:CUS,
  author =       "Jonathan Anderson",
  title =        "A Comparison of {Unix} Sandboxing Techniques: Why
                 sandboxing is different from historic approaches to
                 {Unix} security, how we got where we are, and how
                 {Capsicum} compares with {Linux}'s {\tt seccomp(2)} and
                 {OpenBSD}'s {\tt pledge(2)}",
  journal =      "The FreeBSD Journal",
  volume =       "4",
  number =       "5",
  pages =        "16--25",
  month =        sep # "\slash " # oct,
  year =         "2017",
  ISBN =         "0-615-88479-2",
  ISBN-13 =      "978-0-615-88479-0",
  bibdate =      "Mon Feb 24 16:50:32 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://issue.freebsdfoundation.org/publication/?m=33057&i=447089&p=18",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://www.freebsdfoundation.org/journal/",
}


bibtype: techreport
filename: unix.bib
label: Cole:2017:UVF
author: Clement T. Cole
title: UNIX: A View from the Field as We Played the Game
type: Report
institution: Intel Corporation
pages: 17
day: 19
month: oct
monthnumber: 10
year: 2017
bibdate: Wed Jun 26 17:03:12 2024
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2024.06.26 17:03:12 ???
URL: https://pages.cs.wisc.edu/~bart/736/papers/COLE-final20180110_v1.pdf
keywords: disruptive innovation; history of UNIX; open system; operating systems; UNIX; USENIX
acknowledgement: ack-nhfb
rawauthor: Clement T. Cole
rawtitle: {UNIX}: A View from the Field as We Played the Game
abstract:
UNIX is a classic example of a ``Christensen Disruptive Technology.'' It was a cost-effective solution, produced at the right time, built by researchers at AT&T for themselves, and was not originally considered seriously by its competition. The UNIX Operating System had simple goals. It ran on modest hardware, and was freely shared as a result of AT&T legal requirements. As a result, a new computing customer developed, a different one than was being targeted by the large firms of the day. UNIX was targeted at the academically-inclined; it was economically accessible, and since its Intellectual Property (IP) was published in the open literature and implementation was available to the academic community fundamentally without restriction, the IP was thus ``free'' and able to be examined / discussed / manipulated / abused by the target users. While its creators wrote UNIX for themselves, because they freely shared it with the wider community, that sharing fed on the economics in a virtuous circle as this community developed into a truly global one. I will trace a little of the history of a small newsletter to today's USENIX Association and some of its wider social impact.

rawabstract:
UNIX is a classic example of a ``Christensen Disruptive Technology.'' It was a cost-effective solution, produced at the right time, built by researchers at AT\&T for themselves, and was not originally considered seriously by its competition. The UNIX Operating System had simple goals. It ran on modest hardware, and was freely shared as a result of AT\&T legal requirements. As a result, a new computing customer developed, a different one than was being targeted by the large firms of the day. UNIX was targeted at the academically-inclined; it was economically accessible, and since its Intellectual Property (IP) was published in the open literature and implementation was available to the academic community fundamentally without restriction, the IP was thus ``free'' and able to be examined / discussed / manipulated / abused by the target users. While its creators wrote UNIX for themselves, because they freely shared it with the wider community, that sharing fed on the economics in a virtuous circle as this community developed into a truly global one. I will trace a little of the history of a small newsletter to today's USENIX Association and some of its wider social impact.

entry:
@TechReport{Cole:2017:UVF,
  author =       "Clement T. Cole",
  title =        "{UNIX}: A View from the Field as We Played the Game",
  type =         "Report",
  institution =  "Intel Corporation",
  address =      "????",
  pages =        "17",
  day =          "19",
  month =        oct,
  year =         "2017",
  bibdate =      "Wed Jun 26 17:03:12 2024",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://pages.cs.wisc.edu/~bart/736/papers/COLE-final20180110_v1.pdf",
  abstract =     "UNIX is a classic example of a ``Christensen
                 Disruptive Technology.'' It was a cost-effective
                 solution, produced at the right time, built by
                 researchers at AT\&T for themselves, and was not
                 originally considered seriously by its competition. The
                 UNIX Operating System had simple goals. It ran on
                 modest hardware, and was freely shared as a result of
                 AT\&T legal requirements. As a result, a new computing
                 customer developed, a different one than was being
                 targeted by the large firms of the day. UNIX was
                 targeted at the academically-inclined; it was
                 economically accessible, and since its Intellectual
                 Property (IP) was published in the open literature and
                 implementation was available to the academic community
                 fundamentally without restriction, the IP was thus
                 ``free'' and able to be examined / discussed /
                 manipulated / abused by the target users. While its
                 creators wrote UNIX for themselves, because they freely
                 shared it with the wider community, that sharing fed on
                 the economics in a virtuous circle as this community
                 developed into a truly global one. I will trace a
                 little of the history of a small newsletter to today's
                 USENIX Association and some of its wider social
                 impact.",
  acknowledgement = ack-nhfb,
  keywords =     "disruptive innovation; history of UNIX; open system;
                 operating systems; UNIX; USENIX",
}


bibtype: techreport
filename: unix.bib
label: Collyer:2017:PTT
author: Geoff Collyer
title: A Partial Tour Through the UNIX Shell
type: Report
institution: Department of Statistics, University of Toronto
address: Toronto, ON M5S 1A1, Canada
pages: 11
day: 20
month: jul
monthnumber: 7
year: 2017
bibdate: Mon Feb 10 10:06:15 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.10 10:06:15 ???
URL: http://www.collyer.net/who/geoff/sh.tour.pdf
acknowledgement: ack-nhfb
rawauthor: Geoff Collyer
rawtitle: A Partial Tour Through the {UNIX} Shell
abstract:
We have recently completed protracted surgery on the UNIX command interpreter or ``shell'' [Bourne1978a] to make it use the standard UNIX memory allocator (malloc (3) and relatives) for its internal memory management instead of the original scheme (catching its own memory faults, using the sbrk (2) system call to grow its memory allocation and restarting faulting instructions). We also fixed some bugs, lint (1) complaints and suboptimal performance. This paper describes the lessons learned about the internal workings of the shell. Much of this information is oral folklore or is simply not generally known, and requires a determined effort to learn, yet is essential to correct understanding and maintenance of the shell.

rawabstract:
We have recently completed protracted surgery on the UNIX command interpreter or ``shell'' [Bourne1978a] to make it use the standard UNIX memory allocator (malloc (3) and relatives) for its internal memory management instead of the original scheme (catching its own memory faults, using the sbrk (2) system call to grow its memory allocation and restarting faulting instructions). We also fixed some bugs, lint (1) complaints and suboptimal performance. This paper describes the lessons learned about the internal workings of the shell. Much of this information is oral folklore or is simply not generally known, and requires a determined effort to learn, yet is essential to correct understanding and maintenance of the shell.

entry:
@TechReport{Collyer:2017:PTT,
  author =       "Geoff Collyer",
  title =        "A Partial Tour Through the {UNIX} Shell",
  type =         "Report",
  institution =  "Department of Statistics, University of Toronto",
  address =      "Toronto, ON M5S 1A1, Canada",
  pages =        "11",
  day =          "20",
  month =        jul,
  year =         "2017",
  bibdate =      "Mon Feb 10 10:06:15 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.collyer.net/who/geoff/sh.tour.pdf",
  abstract =     "We have recently completed protracted surgery on the
                 UNIX command interpreter or ``shell'' [Bourne1978a] to
                 make it use the standard UNIX memory allocator (malloc
                 (3) and relatives) for its internal memory management
                 instead of the original scheme (catching its own memory
                 faults, using the sbrk (2) system call to grow its
                 memory allocation and restarting faulting
                 instructions). We also fixed some bugs, lint (1)
                 complaints and suboptimal performance. This paper
                 describes the lessons learned about the internal
                 workings of the shell. Much of this information is oral
                 folklore or is simply not generally known, and requires
                 a determined effort to learn, yet is essential to
                 correct understanding and maintenance of the shell.",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: Courtes:2017:CSG
author: Ludovic Courtes
title: Code staging in GNU Guix
journal: j-SIGPLAN
volume: 52
number: 12
pages: 41--48
month: dec
monthnumber: 12
year: 2017
CODEN: SINODQ
DOI: https://doi.org/10.1145/3170492.3136045
ISSN: 0362-1340 (print), 1523-2867 (print), 1558-1160 OR 03621340 (print), 15232867 (print), 15581160
ISSNL: 0362-1340 OR 03621340
bibdate: Fri Dec 1 18:56:14 MST 2017
bibtimestamp: 2017.12.01 18:56:14 MST
fjournal: ACM SIGPLAN Notices
remark: GPCE '17 conference proceedings.
acknowledgement: ack-nhfb
journalURL: https://dl.acm.org/loi/sigplan
rawauthor: Ludovic Court{\`e}s
rawtitle: Code staging in {GNU Guix}
bibsource:
https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
GNU Guix is a ``functional'' package manager that borrows from earlier work on Nix by Dolstra et al.. Guix implements high-level abstractions such as packages and operating system services as domain-specific languages (DSL) embedded in Scheme, and it also implements build actions and operating system orchestration in Scheme. This leads to a multi-tier programming environment where embedded code snippets are staged for eventual execution. In this paper we present G-expressions or ``gexps''. We explain our journey from traditional Lisp S-expressions to G-expressions, which augment the former with contextual information, and we discuss the implementation of gexps. We report on our experience using gexps in a variety of operating system use cases --- from package build processes to system services. Gexps provide a novel way to cover many aspects of OS configuration in a single, multi-tier language while facilitating code reuse and code sharing.

rawabstract:
GNU Guix is a ``functional'' package manager that borrows from earlier work on Nix by Dolstra et al.. Guix implements high-level abstractions such as packages and operating system services as domain-specific languages (DSL) embedded in Scheme, and it also implements build actions and operating system orchestration in Scheme. This leads to a multi-tier programming environment where embedded code snippets are staged for eventual execution. In this paper we present G-expressions or ``gexps''. We explain our journey from traditional Lisp S-expressions to G-expressions, which augment the former with contextual information, and we discuss the implementation of gexps. We report on our experience using gexps in a variety of operating system use cases --- from package build processes to system services. Gexps provide a novel way to cover many aspects of OS configuration in a single, multi-tier language while facilitating code reuse and code sharing.

entry:
@Article{Courtes:2017:CSG,
  author =       "Ludovic Court{\`e}s",
  title =        "Code staging in {GNU Guix}",
  journal =      j-SIGPLAN,
  volume =       "52",
  number =       "12",
  pages =        "41--48",
  month =        dec,
  year =         "2017",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/3170492.3136045",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Dec 1 18:56:14 MST 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "GNU Guix is a ``functional'' package manager that
                 borrows from earlier work on Nix by Dolstra et al..
                 Guix implements high-level abstractions such as
                 packages and operating system services as
                 domain-specific languages (DSL) embedded in Scheme, and
                 it also implements build actions and operating system
                 orchestration in Scheme. This leads to a multi-tier
                 programming environment where embedded code snippets
                 are staged for eventual execution. In this paper we
                 present G-expressions or ``gexps''. We explain our
                 journey from traditional Lisp S-expressions to
                 G-expressions, which augment the former with contextual
                 information, and we discuss the implementation of
                 gexps. We report on our experience using gexps in a
                 variety of operating system use cases --- from package
                 build processes to system services. Gexps provide a
                 novel way to cover many aspects of OS configuration in
                 a single, multi-tier language while facilitating code
                 reuse and code sharing.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  remark =       "GPCE '17 conference proceedings.",
}


bibtype: article
filename: unix.bib
label: DOrazio:2017:MAM
author: Christian J. D'Orazio and Rongxing Lu and Kim-Kwang Raymond Choo and Athanasios V. Vasilakos
title: A Markov adversary model to detect vulnerable iOS devices and vulnerabilities in iOS apps
journal: j-APPL-MATH-COMP
volume: 293
pages: 523--544
day: 15
month: jan
monthnumber: 1
year: 2017
CODEN: AMHCBQ
ISSN: 0096-3003 (print), 1873-5649 (electronic) OR 00963003 (print), 18735649 (electronic)
ISSNL: 0096-3003 OR 00963003
bibdate: Fri Sep 30 06:36:11 MDT 2016
bibtimestamp: 2016.09.30 06:36:11 MDT
URL: http://www.sciencedirect.com/science/article/pii/S0096300316305549
fjournal: Applied Mathematics and Computation
acknowledgement: ack-nhfb
journalURL: http://www.sciencedirect.com/science/journal/00963003/
rawauthor: Christian J. D'Orazio and Rongxing Lu and Kim-Kwang Raymond Choo and Athanasios V. Vasilakos
rawtitle: A {Markov} adversary model to detect vulnerable {iOS} devices and vulnerabilities in {iOS} apps
bibsource:
https://www.math.utah.edu/pub/tex/bib/applmathcomput2015.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

entry:
@Article{DOrazio:2017:MAM,
  author =       "Christian J. D'Orazio and Rongxing Lu and Kim-Kwang
                 Raymond Choo and Athanasios V. Vasilakos",
  title =        "A {Markov} adversary model to detect vulnerable {iOS}
                 devices and vulnerabilities in {iOS} apps",
  journal =      j-APPL-MATH-COMP,
  volume =       "293",
  number =       "??",
  pages =        "523--544",
  day =          "15",
  month =        jan,
  year =         "2017",
  CODEN =        "AMHCBQ",
  ISSN =         "0096-3003 (print), 1873-5649 (electronic)",
  ISSN-L =       "0096-3003",
  bibdate =      "Fri Sep 30 06:36:11 MDT 2016",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/applmathcomput2015.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0096300316305549",
  acknowledgement = ack-nhfb,
  fjournal =     "Applied Mathematics and Computation",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00963003/",
}


bibtype: article
filename: unix.bib
label: DOrazio:2017:TCS
author: Christian J. D'Orazio and Kim-Kwang Raymond Choo
title: A technique to circumvent SSL / TLS validations on iOS devices
journal: j-FUT-GEN-COMP-SYS
volume: 74
pages: 366--374
month: sep
monthnumber: 9
year: 2017
CODEN: FGSEVI
ISSN: 0167-739X (print), 1872-7115 (electronic) OR 0167739X (print), 18727115 (electronic)
ISSNL: 0167-739X OR 0167739X
bibdate: Mon Jul 24 19:02:17 MDT 2017
bibtimestamp: 2017.07.24 19:02:17 MDT
URL: http://www.sciencedirect.com/science/article/pii/S0167739X16302801
fjournal: Future Generation Computer Systems
acknowledgement: ack-nhfb
journalURL: http://www.sciencedirect.com/science/journal/0167739X
rawauthor: Christian J. D'Orazio and Kim-Kwang Raymond Choo
rawtitle: A technique to circumvent {SSL\slash TLS} validations on {iOS} devices
bibsource:
https://www.math.utah.edu/pub/tex/bib/futgencompsys.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

entry:
@Article{DOrazio:2017:TCS,
  author =       "Christian J. D'Orazio and Kim-Kwang Raymond Choo",
  title =        "A technique to circumvent {SSL\slash TLS} validations
                 on {iOS} devices",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "74",
  number =       "??",
  pages =        "366--374",
  month =        sep,
  year =         "2017",
  CODEN =        "FGSEVI",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Mon Jul 24 19:02:17 MDT 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/futgencompsys.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167739X16302801",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}


bibtype: article
filename: unix.bib
label: Jourdan:2017:SPC
author: Jacques-Henri Jourdan and Francois Pottier
title: A Simple, Possibly Correct LR Parser for C11
journal: j-TOPLAS
volume: 39
number: 4
pages: 14:1--14:??
month: sep
monthnumber: 9
year: 2017
CODEN: ATPSDT
DOI: https://doi.org/10.1145/3064848
ISSN: 0164-0925 (print), 1558-4593 (electronic) OR 01640925 (print), 15584593 (electronic)
ISSNL: 0164-0925 OR 01640925
bibdate: Tue Sep 19 06:38:32 MDT 2017
bibtimestamp: 2017.09.19 06:38:32 MDT
fjournal: ACM Transactions on Programming Languages and Systems
acknowledgement: ack-nhfb
articleno: 14
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J783
rawauthor: Jacques-Henri Jourdan and Fran{\c{c}}ois Pottier
rawtitle: A Simple, Possibly Correct {LR} Parser for {C11}
bibsource:
http://www.acm.org/pubs/contents/journals/toplas/; https://www.math.utah.edu/pub/tex/bib/toplas.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
The syntax of the C programming language is described in the C11 standard by an ambiguous context-free grammar, accompanied with English prose that describes the concept of ``scope'' and indicates how certain ambiguous code fragments should be interpreted. Based on these elements, the problem of implementing a compliant C11 parser is not entirely trivial. We review the main sources of difficulty and describe a relatively simple solution to the problem. Our solution employs the well-known technique of combining an LALR(1) parser with a ``lexical feedback'' mechanism. It draws on folklore knowledge and adds several original aspects, including a twist on lexical feedback that allows a smooth interaction with lookahead; a simplified and powerful treatment of scopes; and a few amendments in the grammar. Although not formally verified, our parser avoids several pitfalls that other implementations have fallen prey to. We believe that its simplicity, its mostly declarative nature, and its high similarity with the C11 grammar are strong informal arguments in favor of its correctness. Our parser is accompanied with a small suite of ``tricky'' C11 programs. We hope that it may serve as a reference or a starting point in the implementation of compilers and analysis tools.

rawabstract:
The syntax of the C programming language is described in the C11 standard by an ambiguous context-free grammar, accompanied with English prose that describes the concept of ``scope'' and indicates how certain ambiguous code fragments should be interpreted. Based on these elements, the problem of implementing a compliant C11 parser is not entirely trivial. We review the main sources of difficulty and describe a relatively simple solution to the problem. Our solution employs the well-known technique of combining an LALR(1) parser with a ``lexical feedback'' mechanism. It draws on folklore knowledge and adds several original aspects, including a twist on lexical feedback that allows a smooth interaction with lookahead; a simplified and powerful treatment of scopes; and a few amendments in the grammar. Although not formally verified, our parser avoids several pitfalls that other implementations have fallen prey to. We believe that its simplicity, its mostly declarative nature, and its high similarity with the C11 grammar are strong informal arguments in favor of its correctness. Our parser is accompanied with a small suite of ``tricky'' C11 programs. We hope that it may serve as a reference or a starting point in the implementation of compilers and analysis tools.

entry:
@Article{Jourdan:2017:SPC,
  author =       "Jacques-Henri Jourdan and Fran{\c{c}}ois Pottier",
  title =        "A Simple, Possibly Correct {LR} Parser for {C11}",
  journal =      j-TOPLAS,
  volume =       "39",
  number =       "4",
  pages =        "14:1--14:??",
  month =        sep,
  year =         "2017",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/3064848",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Sep 19 06:38:32 MDT 2017",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 https://www.math.utah.edu/pub/tex/bib/toplas.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "The syntax of the C programming language is described
                 in the C11 standard by an ambiguous context-free
                 grammar, accompanied with English prose that describes
                 the concept of ``scope'' and indicates how certain
                 ambiguous code fragments should be interpreted. Based
                 on these elements, the problem of implementing a
                 compliant C11 parser is not entirely trivial. We review
                 the main sources of difficulty and describe a
                 relatively simple solution to the problem. Our solution
                 employs the well-known technique of combining an
                 LALR(1) parser with a ``lexical feedback'' mechanism.
                 It draws on folklore knowledge and adds several
                 original aspects, including a twist on lexical feedback
                 that allows a smooth interaction with lookahead; a
                 simplified and powerful treatment of scopes; and a few
                 amendments in the grammar. Although not formally
                 verified, our parser avoids several pitfalls that other
                 implementations have fallen prey to. We believe that
                 its simplicity, its mostly declarative nature, and its
                 high similarity with the C11 grammar are strong
                 informal arguments in favor of its correctness. Our
                 parser is accompanied with a small suite of ``tricky''
                 C11 programs. We hope that it may serve as a reference
                 or a starting point in the implementation of compilers
                 and analysis tools.",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}


bibtype: article
filename: unix.bib
label: Jude:2017:FVL
author: Allan Jude
title: FreeBSD vs. Linux: ZFS
journal: The FreeBSD Journal
volume: 4
number: 5
pages: 8--11
month: sep
monthnumber: 9
year: 2017
ISBN: 0-615-88479-2 OR 0615884792
ISBN13: 978-0-615-88479-0 OR 9780615884790
bibdate: Mon Feb 24 16:50:32 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.24 16:50:32 ???
URL: http://issue.freebsdfoundation.org/publication/?m=33057&i=447089&p=10
acknowledgement: ack-nhfb
journalURL: https://www.freebsdfoundation.org/journal/
rawauthor: Allan Jude
rawtitle: {FreeBSD} vs. {Linux}: {ZFS}
entry:
@Article{Jude:2017:FVL,
  author =       "Allan Jude",
  title =        "{FreeBSD} vs. {Linux}: {ZFS}",
  journal =      "The FreeBSD Journal",
  volume =       "4",
  number =       "5",
  pages =        "8--11",
  month =        sep # "\slash " # oct,
  year =         "2017",
  ISBN =         "0-615-88479-2",
  ISBN-13 =      "978-0-615-88479-0",
  bibdate =      "Mon Feb 24 16:50:32 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://issue.freebsdfoundation.org/publication/?m=33057&i=447089&p=10",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://www.freebsdfoundation.org/journal/",
}


bibtype: article
filename: unix.bib
label: McKusick:2017:EFG
author: Marshall Kirk McKusick and Benno Rice
title: The Evolution of FreeBSD Governance
journal: The FreeBSD Journal
volume: 4
number: 5
pages: 12--23
month: sep
monthnumber: 9
year: 2017
ISBN: 0-615-88479-2 OR 0615884792
ISBN13: 978-0-615-88479-0 OR 9780615884790
bibdate: Mon Feb 24 16:50:32 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.24 16:50:32 ???
URL: http://issue.freebsdfoundation.org/publication/?m=33057&i=447089&p=28
acknowledgement: ack-nhfb
journalURL: https://www.freebsdfoundation.org/journal/
rawauthor: Marshall Kirk McKusick and Benno Rice
rawtitle: The Evolution of {FreeBSD} Governance
entry:
@Article{McKusick:2017:EFG,
  author =       "Marshall Kirk McKusick and Benno Rice",
  title =        "The Evolution of {FreeBSD} Governance",
  journal =      "The FreeBSD Journal",
  volume =       "4",
  number =       "5",
  pages =        "12--23",
  month =        sep # "\slash " # oct,
  year =         "2017",
  ISBN =         "0-615-88479-2",
  ISBN-13 =      "978-0-615-88479-0",
  bibdate =      "Mon Feb 24 16:50:32 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://issue.freebsdfoundation.org/publication/?m=33057&i=447089&p=28",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://www.freebsdfoundation.org/journal/",
}


bibtype: article
filename: unix.bib
label: Pogue:2017:TID
author: David Pogue
title: TechnoFiles: The iOS 11 To-Do List
journal: j-SCI-AMER
volume: 316
number: 6
pages: 26--26
month: jun
monthnumber: 6
year: 2017
CODEN: SCAMAC
DOI: https://doi.org/10.1038/scientificamerican0617-26
ISSN: 0036-8733 (print), 1946-7087 (electronic) OR 00368733 (print), 19467087 (electronic)
ISSNL: 0036-8733 OR 00368733
bibdate: Mon Jul 24 19:13:12 MDT 2017
bibtimestamp: 2017.07.24 19:13:12 MDT
fjournal: Scientific American
acknowledgement: ack-nhfb
journalURL: http://www.nature.com/scientificamerican
rawauthor: David Pogue
rawtitle: {TechnoFiles}: The {iOS 11} To-Do List
bibsource:
https://www.math.utah.edu/pub/tex/bib/sciam2010.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib; http://www.nature.com/scientificamerican

URL:
http://www.nature.com/scientificamerican/journal/v316/n6/full/scientificamerican0617-26.html; http://www.nature.com/scientificamerican/journal/v316/n6/pdf/scientificamerican0617-26.pdf

entry:
@Article{Pogue:2017:TID,
  author =       "David Pogue",
  title =        "{TechnoFiles}: The {iOS 11} To-Do List",
  journal =      j-SCI-AMER,
  volume =       "316",
  number =       "6",
  pages =        "26--26",
  month =        jun,
  year =         "2017",
  CODEN =        "SCAMAC",
  DOI =          "https://doi.org/10.1038/scientificamerican0617-26",
  ISSN =         "0036-8733 (print), 1946-7087 (electronic)",
  ISSN-L =       "0036-8733",
  bibdate =      "Mon Jul 24 19:13:12 MDT 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/sciam2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 http://www.nature.com/scientificamerican",
  URL =          "http://www.nature.com/scientificamerican/journal/v316/n6/full/scientificamerican0617-26.html;
                 http://www.nature.com/scientificamerican/journal/v316/n6/pdf/scientificamerican0617-26.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Scientific American",
  journal-URL =  "http://www.nature.com/scientificamerican",
}


bibtype: misc
filename: unix.bib
label: Sauer:2017:LSV
author: Charles H. Sauer
title: Let's start at the very beginning ldots 801, ROMP, RT/PC, AIX versions
pages: 26--26
month: mar
monthnumber: 3
year: 2017
bibdate: Thu Mar 09 13:56:50 2017
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2017.03.09 13:56:50 ???
remark: An informal history of IBM AIX.
acknowledgement: ack-nhfb
howpublished: Web site.
rawauthor: Charles H. Sauer
rawtitle: Let's start at the very beginning \ldots{} 801, {ROMP}, {RT/PC}, {AIX} versions
URL:
https://notes.technologists.com/notes/2017/03/08/lets-start-at-the-very-beginning-801-romp-rtpc-aix-versions/

entry:
@Misc{Sauer:2017:LSV,
  author =       "Charles H. Sauer",
  title =        "Let's start at the very beginning \ldots{} 801,
                 {ROMP}, {RT/PC}, {AIX} versions",
  howpublished = "Web site.",
  month =        mar,
  year =         "2017",
  bibdate =      "Thu Mar 09 13:56:50 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://notes.technologists.com/notes/2017/03/08/lets-start-at-the-very-beginning-801-romp-rtpc-aix-versions/",
  acknowledgement = ack-nhfb,
  remark =       "An informal history of IBM AIX.",
}


bibtype: article
filename: unix.bib
label: Spinellis:2017:RUH
author: Diomidis Spinellis
title: A repository of Unix history and evolution
journal: j-EMPIR-SOFTWARE-ENG
volume: 22
number: 3
pages: 1372--1404
month: jun
monthnumber: 6
year: 2017
CODEN: ESENFW
DOI: https://doi.org/10.1007/s10664-016-9445-5
ISSN: 1382-3256 (print), 1573-7616 (electronic) OR 13823256 (print), 15737616 (electronic)
ISSNL: 1382-3256 OR 13823256
bibdate: Sat Jun 24 11:12:31 MDT 2017
bibtimestamp: 2017.06.24 11:12:31 MDT
fjournal: Empirical Software Engineering
acknowledgement: ack-nhfb
ajournal: Empir. Software Eng.
journalURL: http://link.springer.com/journal/10664
onlinedate: 11 August 2016
rawauthor: Diomidis Spinellis
rawtitle: A repository of {Unix} history and evolution
bibsource:
https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

URL:
http://link.springer.com/article/10.1007/s10664-016-9445-5; http://www.spinellis.gr/pubs/jrnl/2016-EMPSE-unix-history/html/unix-history.html; http://www.spinellis.gr/pubs/jrnl/2016-EMPSE-unix-history/html/unix-history.pdf

entry:
@Article{Spinellis:2017:RUH,
  author =       "Diomidis Spinellis",
  title =        "A repository of {Unix} history and evolution",
  journal =      j-EMPIR-SOFTWARE-ENG,
  volume =       "22",
  number =       "3",
  pages =        "1372--1404",
  month =        jun,
  year =         "2017",
  CODEN =        "ESENFW",
  DOI =          "https://doi.org/10.1007/s10664-016-9445-5",
  ISSN =         "1382-3256 (print), 1573-7616 (electronic)",
  ISSN-L =       "1382-3256",
  bibdate =      "Sat Jun 24 11:12:31 MDT 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://link.springer.com/article/10.1007/s10664-016-9445-5;
                 http://www.spinellis.gr/pubs/jrnl/2016-EMPSE-unix-history/html/unix-history.html;
                 http://www.spinellis.gr/pubs/jrnl/2016-EMPSE-unix-history/html/unix-history.pdf",
  acknowledgement = ack-nhfb,
  ajournal =     "Empir. Software Eng.",
  fjournal =     "Empirical Software Engineering",
  journal-URL =  "http://link.springer.com/journal/10664",
  onlinedate =   "11 August 2016",
}


bibtype: techreport
filename: unix.bib
label: Toomey:2017:UBD
author: Warren Toomey
title: Unix: Building a Development Environment from Scratch
type: Report
institution: The Unix Heritage Society & TAFE Queensland
pages: 17
day: 22
month: jun
monthnumber: 6
year: 2017
bibdate: Tue Feb 13 15:25:48 2018
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.02.13 15:25:48 ???
URL: http://minnie.tuhs.org/Y5/wkt_hapop_paper.pdf
acknowledgement: ack-nhfb
rawauthor: Warren Toomey
rawtitle: {Unix}: Building a Development Environment from Scratch
abstract:
In April 1969, as part of AT&T's withdrawal from the Multics project, the researchers involved had their ``pleasant'' development environment taken from them. Bereft of their ``toy'', the ex-Multics researchers began to cast about for a replacement. Having found nothing suitable, Ken Thompson chose to write one from scratch. By the middle of 1969, he had created a self-hosting operating system on a discarded PDP-7 minicomputer. This was Unix, an operating system whose legacy remains with us today. This paper looks at the creation of Unix after AT&T's departure from the Multics project, the features and innovations in the PDP-7 version of Unix, and the work done in 2016 to restore a working version of PDP-7 Unix from the available source code.

rawabstract:
In April 1969, as part of AT\&T's withdrawal from the Multics project, the researchers involved had their ``pleasant'' development environment taken from them. Bereft of their ``toy'', the ex-Multics researchers began to cast about for a replacement. Having found nothing suitable, Ken Thompson chose to write one from scratch. By the middle of 1969, he had created a self-hosting operating system on a discarded PDP-7 minicomputer. This was Unix, an operating system whose legacy remains with us today. This paper looks at the creation of Unix after AT\&T's departure from the Multics project, the features and innovations in the PDP-7 version of Unix, and the work done in 2016 to restore a working version of PDP-7 Unix from the available source code.

entry:
@TechReport{Toomey:2017:UBD,
  author =       "Warren Toomey",
  title =        "{Unix}: Building a Development Environment from
                 Scratch",
  type =         "Report",
  institution =  "The Unix Heritage Society \& TAFE Queensland",
  address =      "????",
  pages =        "17",
  day =          "22",
  month =        jun,
  year =         "2017",
  bibdate =      "Tue Feb 13 15:25:48 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://minnie.tuhs.org/Y5/wkt_hapop_paper.pdf",
  abstract =     "In April 1969, as part of AT\&T's withdrawal from the
                 Multics project, the researchers involved had their
                 ``pleasant'' development environment taken from them.
                 Bereft of their ``toy'', the ex-Multics researchers
                 began to cast about for a replacement. Having found
                 nothing suitable, Ken Thompson chose to write one from
                 scratch. By the middle of 1969, he had created a
                 self-hosting operating system on a discarded PDP-7
                 minicomputer. This was Unix, an operating system whose
                 legacy remains with us today. This paper looks at the
                 creation of Unix after AT\&T's departure from the
                 Multics project, the features and innovations in the
                 PDP-7 version of Unix, and the work done in 2016 to
                 restore a working version of PDP-7 Unix from the
                 available source code.",
  acknowledgement = ack-nhfb,
}


bibtype: incollection
filename: unix.bib
label: Bagnara:2018:MCC
author: Roberto Bagnara and Abramo Bagnara and Patricia M. Hill
booktitle: Static Analysis
publisher: pub-SV
address: pub-SV:adr
pages: 5--23
year: 2018
DOI: https://doi.org/10.1007/978-3-319-99725-4_2
ISBN: 3-319-99725-4 OR 3319997254
ISBN13: 978-3-319-99725-4 OR 9783319997254
bibdate: Tue Sep 4 07:33:06 2018
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.09.04 07:33:06 ???
keywords: C language portability; C language static analysis; C language subset
remark: MISRA was originally an acronym for Motor Industry Software Reliability Association.
acknowledgement: ack-nhfb
rawauthor: Roberto Bagnara and Abramo Bagnara and Patricia M. Hill
rawbooktitle: Static Analysis
title:
The MISRA C Coding Standard and its Role in the Development and Analysis of Safety- and Security-Critical Embedded Software

rawtitle:
The {MISRA C} Coding Standard and its Role in the Development and Analysis of Safety- and Security-Critical Embedded Software

entry:
@InCollection{Bagnara:2018:MCC,
  author =       "Roberto Bagnara and Abramo Bagnara and Patricia M.
                 Hill",
  booktitle =    "Static Analysis",
  title =        "The {MISRA C} Coding Standard and its Role in the
                 Development and Analysis of Safety- and
                 Security-Critical Embedded Software",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "5--23",
  year =         "2018",
  DOI =          "https://doi.org/10.1007/978-3-319-99725-4_2",
  ISBN =         "3-319-99725-4",
  ISBN-13 =      "978-3-319-99725-4",
  LCCN =         "????",
  bibdate =      "Tue Sep 4 07:33:06 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  keywords =     "C language portability; C language static analysis; C
                 language subset",
  remark =       "MISRA was originally an acronym for Motor Industry
                 Software Reliability Association.",
}


bibtype: misc
filename: unix.bib
label: Bellovin:2018:UAE
author: Steven M. Bellovin
title: Usenet, Authentication, and Engineering (or: Early Design Decisions for Usenet)
pages: 5--23
day: 23
month: feb
monthnumber: 2
year: 2018
bibdate: Thu Mar 01 07:29:49 2018
bibtimestamp: 2018.03.01 07:29:49 ???
URL: https://www.cs.columbia.edu/~smb/blog/2018-02/2018-02-23.html
acknowledgement: ack-nhfb
howpublished: Web article.
rawauthor: Steven M. Bellovin
rawtitle: {Usenet}, Authentication, and Engineering (or: Early Design Decisions for {Usenet})
bibsource:
https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

entry:
@Misc{Bellovin:2018:UAE,
  author =       "Steven M. Bellovin",
  title =        "{Usenet}, Authentication, and Engineering (or: Early
                 Design Decisions for {Usenet})",
  howpublished = "Web article.",
  day =          "23",
  month =        feb,
  year =         "2018",
  bibdate =      "Thu Mar 01 07:29:49 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.cs.columbia.edu/~smb/blog/2018-02/2018-02-23.html",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: DOrazio:2018:CIS
author: Christian J. D'Orazio and Kim-Kwang Raymond Choo
journal: j-FUT-GEN-COMP-SYS
volume: 79 (part 1)
pages: 247--261
year: 2018
CODEN: FGSEVI
DOI: https://doi.org/10.1016/j.future.2016.11.010
ISSN: 0167-739X (print), 1872-7115 (electronic) OR 0167739X (print), 18727115 (electronic)
ISSNL: 0167-739X OR 0167739X
bibdate: Fri Nov 24 15:16:17 2017
bibtimestamp: 2017.11.24 15:16:17 ???
URL: https://www.sciencedirect.com/science/article/pii/S0167739X16305647
fjournal: Future Generation Computer Systems
acknowledgement: ack-nhfb
journalURL: http://www.sciencedirect.com/science/journal/0167739X
rawauthor: Christian J. D'Orazio and Kim-Kwang Raymond Choo
title:
Circumventing iOS security mechanisms for APT forensic investigations: A security taxonomy for cloud apps

bibsource:
https://www.math.utah.edu/pub/tex/bib/futgencompsys.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

keywords:
Advanced persistent threat investigations; iOS cloud apps; iOS cloud forensics; iOS security taxonomy

rawtitle:
Circumventing {iOS} security mechanisms for {APT} forensic investigations: A security taxonomy for cloud apps

entry:
@Article{DOrazio:2018:CIS,
  author =       "Christian J. D'Orazio and Kim-Kwang Raymond Choo",
  title =        "Circumventing {iOS} security mechanisms for {APT}
                 forensic investigations: A security taxonomy for cloud
                 apps",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "79 (part 1)",
  number =       "??",
  pages =        "247--261",
  year =         "2018",
  CODEN =        "FGSEVI",
  DOI =          "https://doi.org/10.1016/j.future.2016.11.010",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Fri Nov 24 15:16:17 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/futgencompsys.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.sciencedirect.com/science/article/pii/S0167739X16305647",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
  keywords =     "Advanced persistent threat investigations; iOS cloud
                 apps; iOS cloud forensics; iOS security taxonomy",
}


bibtype: inbook
filename: unix.bib
label: Farfour:2018:SUG
author: Mohammed Farfour and Wang Jung Yoon
booktitle: Oil and Gas Exploration
title: Seismic UNIX and GNU Octave for VSP Data Processing and Interpretation
publisher: pub-WILEY
address: pub-WILEY:adr
pages: 73--92
year: 2018
DOI: https://doi.org/10.1002/9781119227519.ch5
ISBN: 1-119-22751-8 OR 1119227518
ISBN13: 978-1-119-22751-9 OR 9781119227519
bibdate: Tue Jan 30 09:50:34 2018
bibtimestamp: 2018.01.30 09:50:34 ???
acknowledgement: ack-nhfb
rawauthor: Mohammed Farfour and Wang Jung Yoon
rawbooktitle: Oil and Gas Exploration
rawtitle: Seismic {UNIX} and {GNU Octave} for {VSP} Data Processing and Interpretation
bibsource:
https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/matlab.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

keywords:
band pass frequency filtering, borehole seismic method, commercial software, GNU octave, median filtering, programming language, seismic data processing, Seismic Unix, UNIX Stream Editor, vertical seismic profiling data processing

entry:
@InBook{Farfour:2018:SUG,
  author =       "Mohammed Farfour and Wang Jung Yoon",
  booktitle =    "Oil and Gas Exploration",
  title =        "Seismic {UNIX} and {GNU Octave} for {VSP} Data
                 Processing and Interpretation",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "73--92",
  year =         "2018",
  DOI =          "https://doi.org/10.1002/9781119227519.ch5",
  ISBN =         "1-119-22751-8",
  ISBN-13 =      "978-1-119-22751-9",
  bibdate =      "Tue Jan 30 09:50:34 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://www.math.utah.edu/pub/tex/bib/matlab.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  keywords =     "band pass frequency filtering, borehole seismic
                 method, commercial software, GNU octave, median
                 filtering, programming language, seismic data
                 processing, Seismic Unix, UNIX Stream Editor, vertical
                 seismic profiling data processing",
}


bibtype: article
filename: unix.bib
label: Gebai:2018:SAK
author: Mohamad Gebai and Michel R. Dagenais
title: Survey and Analysis of Kernel and Userspace Tracers on Linux: Design, Implementation, and Overhead
journal: j-COMP-SURV
volume: 51
number: 2
pages: 26:1--26:??
month: jun
monthnumber: 6
year: 2018
CODEN: CMSVAN
DOI: https://doi.org/10.1145/3158644
ISSN: 0360-0300 (print), 1557-7341 (electronic) OR 03600300 (print), 15577341 (electronic)
ISSNL: 0360-0300 OR 03600300
bibdate: Sat Aug 31 09:04:35 MDT 2019
bibtimestamp: 2019.08.31 09:04:35 MDT
fjournal: ACM Computing Surveys
acknowledgement: ack-nhfb
articleno: 26
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J204
rawauthor: Mohamad Gebai and Michel R. Dagenais
bibsource:
https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
As applications and operating systems are becoming more complex, the last decade has seen the rise of many tracing tools all across the software stack. This article presents a hands-on comparison of modern tracers on Linux systems, both in user space and kernel space. The authors implement microbenchmarks that not only quantify the overhead of different tracers, but also sample fine-grained metrics that unveil insights into the tracers' internals and show the cause of each tracer's overhead. Internal design choices and implementation particularities are discussed, which helps us to understand the challenges of developing tracers. Furthermore, this analysis aims to help users choose and configure their tracers based on their specific requirements to reduce their overhead and get the most of out of them.

rawabstract:
As applications and operating systems are becoming more complex, the last decade has seen the rise of many tracing tools all across the software stack. This article presents a hands-on comparison of modern tracers on Linux systems, both in user space and kernel space. The authors implement microbenchmarks that not only quantify the overhead of different tracers, but also sample fine-grained metrics that unveil insights into the tracers' internals and show the cause of each tracer's overhead. Internal design choices and implementation particularities are discussed, which helps us to understand the challenges of developing tracers. Furthermore, this analysis aims to help users choose and configure their tracers based on their specific requirements to reduce their overhead and get the most of out of them.

rawtitle:
Survey and Analysis of Kernel and Userspace Tracers on {Linux}: Design, Implementation, and Overhead

entry:
@Article{Gebai:2018:SAK,
  author =       "Mohamad Gebai and Michel R. Dagenais",
  title =        "Survey and Analysis of Kernel and Userspace Tracers on
                 {Linux}: Design, Implementation, and Overhead",
  journal =      j-COMP-SURV,
  volume =       "51",
  number =       "2",
  pages =        "26:1--26:??",
  month =        jun,
  year =         "2018",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/3158644",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Sat Aug 31 09:04:35 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/compsurv.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "As applications and operating systems are becoming
                 more complex, the last decade has seen the rise of many
                 tracing tools all across the software stack. This
                 article presents a hands-on comparison of modern
                 tracers on Linux systems, both in user space and kernel
                 space. The authors implement microbenchmarks that not
                 only quantify the overhead of different tracers, but
                 also sample fine-grained metrics that unveil insights
                 into the tracers' internals and show the cause of each
                 tracer's overhead. Internal design choices and
                 implementation particularities are discussed, which
                 helps us to understand the challenges of developing
                 tracers. Furthermore, this analysis aims to help users
                 choose and configure their tracers based on their
                 specific requirements to reduce their overhead and get
                 the most of out of them.",
  acknowledgement = ack-nhfb,
  articleno =    "26",
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
}


bibtype: article
filename: unix.bib
label: Hu:2018:SCS
author: Hanyang Hu and Cor-Paul Bezemer and Ahmed E. Hassan
journal: j-EMPIR-SOFTWARE-ENG
volume: 23
number: 6
pages: 3442--3475
month: dec
monthnumber: 12
year: 2018
CODEN: ESENFW
DOI: https://doi.org/10.1007/s10664-018-9604-y
ISSN: 1382-3256 (print), 1573-7616 (electronic) OR 13823256 (print), 15737616 (electronic)
ISSNL: 1382-3256 OR 13823256
bibdate: Fri Oct 11 07:46:30 MDT 2019
bibtimestamp: 2019.10.11 07:46:30 MDT
URL: http://link.springer.com/article/10.1007/s10664-018-9604-y
fjournal: Empirical Software Engineering
acknowledgement: ack-nhfb
journalURL: http://link.springer.com/journal/10664
rawauthor: Hanyang Hu and Cor-Paul Bezemer and Ahmed E. Hassan
title:
Studying the consistency of star ratings and the complaints in $1$ & $2$-star user reviews for top free cross-platform Android and iOS apps

bibsource:
https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

rawtitle:
Studying the consistency of star ratings and the complaints in $1$ \& $2$-star user reviews for top free cross-platform {Android} and {iOS} apps

entry:
@Article{Hu:2018:SCS,
  author =       "Hanyang Hu and Cor-Paul Bezemer and Ahmed E. Hassan",
  title =        "Studying the consistency of star ratings and the
                 complaints in $1$ \& $2$-star user reviews for top free
                 cross-platform {Android} and {iOS} apps",
  journal =      j-EMPIR-SOFTWARE-ENG,
  volume =       "23",
  number =       "6",
  pages =        "3442--3475",
  month =        dec,
  year =         "2018",
  CODEN =        "ESENFW",
  DOI =          "https://doi.org/10.1007/s10664-018-9604-y",
  ISSN =         "1382-3256 (print), 1573-7616 (electronic)",
  ISSN-L =       "1382-3256",
  bibdate =      "Fri Oct 11 07:46:30 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://link.springer.com/article/10.1007/s10664-018-9604-y",
  acknowledgement = ack-nhfb,
  fjournal =     "Empirical Software Engineering",
  journal-URL =  "http://link.springer.com/journal/10664",
}


bibtype: article
filename: unix.bib
label: Leightley:2018:PIO
author: Daniel Leightley and Jo-Anne Puddephatt and Laura Goodwin and Roberto Rona and Nicola T. Fear
journal: j-J-OPEN-RES-SOFT
volume: 6
number: 1
pages: 13--??
day: 23
month: mar
monthnumber: 3
year: 2018
DOI: https://doi.org/10.5334/jors.207
ISSN: 2049-9647 OR 20499647
ISSNL: 2049-9647 OR 20499647
bibdate: Sat Sep 8 10:03:51 MDT 2018
bibsource: https://www.math.utah.edu/pub/tex/bib/jors.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.09.08 10:03:51 MDT
URL: https://openresearchsoftware.metajnl.com/articles/10.5334/jors.207/
fjournal: Journal of Open Research Software
acknowledgement: ack-nhfb
journalURL: https://openresearchsoftware.metajnl.com/issue/archive/
rawauthor: Daniel Leightley and Jo-Anne Puddephatt and Laura Goodwin and Roberto Rona and Nicola T. Fear
title:
pkg InDEx: Open Source iOS and Android Software for Self-Reporting and Monitoring of Alcohol Consumption

rawtitle:
\pkg{InDEx}: Open Source {iOS} and {Android} Software for Self-Reporting and Monitoring of Alcohol Consumption

entry:
@Article{Leightley:2018:PIO,
  author =       "Daniel Leightley and Jo-Anne Puddephatt and Laura
                 Goodwin and Roberto Rona and Nicola T. Fear",
  title =        "\pkg{InDEx}: Open Source {iOS} and {Android} Software
                 for Self-Reporting and Monitoring of Alcohol
                 Consumption",
  journal =      j-J-OPEN-RES-SOFT,
  volume =       "6",
  number =       "1",
  pages =        "13--??",
  day =          "23",
  month =        mar,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.5334/jors.207",
  ISSN =         "2049-9647",
  ISSN-L =       "2049-9647",
  bibdate =      "Sat Sep 8 10:03:51 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/jors.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.207/",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Open Research Software",
  journal-URL =  "https://openresearchsoftware.metajnl.com/issue/archive/",
}


bibtype: misc
filename: unix.bib
label: Levenez:2018:UH
author: Eric Levenez
title: Unix History
pages: 13--??
day: 11
month: aug
monthnumber: 8
year: 2018
bibdate: Mon May 27 09:10:31 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.05.27 09:10:31 ???
URL: https://www.levenez.com/unix/
acknowledgement: ack-nhfb
howpublished: Web site
rawauthor: {\'E}ric L{\'e}v{\'e}nez
rawtitle: {Unix} History
remark:
This extensive Web site contains a timeline of Unix derivatives, links to sites on Unix history and lawsuits, and Unix developer home pages. The parent Web site also contains links to sites on the history of programming languages, and on the history of Microsoft Windows.

entry:
@Misc{Levenez:2018:UH,
  author =       "{\'E}ric L{\'e}v{\'e}nez",
  title =        "{Unix} History",
  howpublished = "Web site",
  day =          "11",
  month =        aug,
  year =         "2018",
  bibdate =      "Mon May 27 09:10:31 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.levenez.com/unix/",
  acknowledgement = ack-nhfb,
  remark =       "This extensive Web site contains a timeline of Unix
                 derivatives, links to sites on Unix history and
                 lawsuits, and Unix developer home pages. The parent Web
                 site also contains links to sites on the history of
                 programming languages, and on the history of Microsoft
                 Windows.",
}


bibtype: book
filename: unix.bib
label: Lucas:2018:AF
author: Michael W. Lucas
title: Absolute FreeBSD
publisher: pub-ORA-MEDIA
address: pub-ORA-MEDIA:adr
edition: Third
pages: 13--??
year: 2018
ISBN: 1-59327-892-6 OR 1593278926
ISBN13: 978-1-59327-892-2 OR 9781593278922
bibdate: Mon Nov 27 17:51:20 MST 2017
bibtimestamp: 2017.11.27 17:51:20 MST
acknowledgement: ack-nhfb
rawauthor: Michael W. Lucas
rawtitle: Absolute {FreeBSD}
bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/ora.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

entry:
@Book{Lucas:2018:AF,
  author =       "Michael W. Lucas",
  title =        "Absolute {FreeBSD}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  edition =      "Third",
  year =         "2018",
  ISBN =         "1-59327-892-6",
  ISBN-13 =      "978-1-59327-892-2",
  LCCN =         "????",
  bibdate =      "Mon Nov 27 17:51:20 MST 2017",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/ora.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: unix.bib
label: Lucas:2018:SMO
author: Michael W. Lucas
title: SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys
volume: 12
publisher: Tilted Windmill Press
edition: Second
pages: 242
year: 2018
bibdate: Fri Feb 16 11:58:08 2018
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.02.16 11:58:08 ???
series: IT Mastery
acknowledgement: ack-nhfb
rawauthor: Michael W. Lucas
rawtitle: {SSH} Mastery: {OpenSSH}, {PuTTY}, Tunnels and Keys
ISBN:
1-64235-022-2 (hardcover), 1-64235-002-8 (paperback) OR 1642350222 (hardcover), 1642350028 (paperback)

ISBN13:
978-1-64235-022-7 (hardcover), 978-1-64235-002-9 (paperback) OR 9781642350227 (hardcover), 9781642350029 (paperback)

entry:
@Book{Lucas:2018:SMO,
  author =       "Michael W. Lucas",
  title =        "{SSH} Mastery: {OpenSSH}, {PuTTY}, Tunnels and Keys",
  volume =       "12",
  publisher =    "Tilted Windmill Press",
  address =      "????",
  edition =      "Second",
  pages =        "242",
  year =         "2018",
  ISBN =         "1-64235-022-2 (hardcover), 1-64235-002-8 (paperback)",
  ISBN-13 =      "978-1-64235-022-7 (hardcover), 978-1-64235-002-9
                 (paperback)",
  LCCN =         "????",
  bibdate =      "Fri Feb 16 11:58:08 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  series =       "IT Mastery",
  acknowledgement = ack-nhfb,
}


bibtype: misc
filename: unix.bib
label: Lyon:2018:RUIa
author: Tom Lyon
title: The Roots of UNIX for the IBM Mainframe (part 1)
pages: 242
day: 12
month: may
monthnumber: 5
year: 2018
bibdate: Tue Dec 20 07:15:02 2022
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2022.12.20 07:15:02 ???
URL: https://akapugs.blog/2018/05/12/370unixpart1/
acknowledgement: ack-nhfb
howpublished: Web site
rawauthor: Tom Lyon
rawtitle: The Roots of {UNIX} for the {IBM} Mainframe (part 1)
entry:
@Misc{Lyon:2018:RUIa,
  author =       "Tom Lyon",
  title =        "The Roots of {UNIX} for the {IBM} Mainframe (part 1)",
  howpublished = "Web site",
  day =          "12",
  month =        may,
  year =         "2018",
  bibdate =      "Tue Dec 20 07:15:02 2022",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://akapugs.blog/2018/05/12/370unixpart1/",
  acknowledgement = ack-nhfb,
}


bibtype: misc
filename: unix.bib
label: Lyon:2018:RUIb
author: Tom Lyon
title: The Roots of UNIX for the IBM Mainframe (part 2)
pages: 242
day: 12
month: may
monthnumber: 5
year: 2018
bibdate: Tue Dec 20 07:15:02 2022
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2022.12.20 07:15:02 ???
URL: https://akapugs.blog/2018/05/12/370unixpart2/
acknowledgement: ack-nhfb
howpublished: Web site
rawauthor: Tom Lyon
rawtitle: The Roots of {UNIX} for the {IBM} Mainframe (part 2)
entry:
@Misc{Lyon:2018:RUIb,
  author =       "Tom Lyon",
  title =        "The Roots of {UNIX} for the {IBM} Mainframe (part 2)",
  howpublished = "Web site",
  day =          "12",
  month =        may,
  year =         "2018",
  bibdate =      "Tue Dec 20 07:15:02 2022",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://akapugs.blog/2018/05/12/370unixpart2/",
  acknowledgement = ack-nhfb,
}


bibtype: misc
filename: unix.bib
label: Lyon:2018:RUIc
author: Tom Lyon
title: The Roots of UNIX for the IBM Mainframe (part 3)
pages: 242
day: 12
month: may
monthnumber: 5
year: 2018
bibdate: Tue Dec 20 07:15:02 2022
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2022.12.20 07:15:02 ???
URL: https://akapugs.blog/2018/05/12/370unixpart3/
acknowledgement: ack-nhfb
howpublished: Web site
rawauthor: Tom Lyon
rawtitle: The Roots of {UNIX} for the {IBM} Mainframe (part 3)
entry:
@Misc{Lyon:2018:RUIc,
  author =       "Tom Lyon",
  title =        "The Roots of {UNIX} for the {IBM} Mainframe (part 3)",
  howpublished = "Web site",
  day =          "12",
  month =        may,
  year =         "2018",
  bibdate =      "Tue Dec 20 07:15:02 2022",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://akapugs.blog/2018/05/12/370unixpart3/",
  acknowledgement = ack-nhfb,
}


bibtype: manual
filename: unix.bib
label: Meyer:2018:UUL
author: Jan Max Meyer
title: UniCC: A universal LALR(1) Parser Generator User Manual
organization: Phorward Software Technologies
address: Castroper Str. 65, 44357 Dortmund, Germany
pages: 242
year: 2018
bibdate: Tue Jul 09 09:11:39 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.07.09 09:11:39 ???
URL: https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://phorward.info/products/unicc/unicc.pdf
acknowledgement: ack-nhfb
rawauthor: Jan Max Meyer
rawtitle: {UniCC}: A universal {LALR(1)} Parser Generator User Manual
remark:
Since 2016 and version 1.1, UniCC, the parser generator, its build tools and its supported target language templates are released and distributed under the terms and conditions of the 3-clause BSD license.

entry:
@Manual{Meyer:2018:UUL,
  author =       "Jan Max Meyer",
  title =        "{UniCC}: A universal {LALR(1)} Parser Generator User
                 Manual",
  organization = "Phorward Software Technologies",
  address =      "Castroper Str. 65, 44357 Dortmund, Germany",
  year =         "2018",
  bibdate =      "Tue Jul 09 09:11:39 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://phorward.info/products/unicc/unicc.pdf",
  acknowledgement = ack-nhfb,
  remark =       "Since 2016 and version 1.1, UniCC, the parser
                 generator, its build tools and its supported target
                 language templates are released and distributed under
                 the terms and conditions of the 3-clause BSD license.",
}


bibtype: article
filename: unix.bib
label: Papadimitriou:2018:MVF
author: Stergios Papadimitriou and Lefteris Moussiades
title: Mac OS versus FreeBSD: A Comparative Evaluation
journal: j-COMPUTER
volume: 51
number: 2
pages: 44--53
month: feb
monthnumber: 2
year: 2018
CODEN: CPTRB4
DOI: https://doi.org/10.1109/MC.2018.1451648
ISSN: 0018-9162 (print), 1558-0814 (electronic) OR 00189162 (print), 15580814 (electronic)
ISSNL: 0018-9162 OR 00189162
bibdate: Thu Mar 1 07:59:42 MST 2018
bibtimestamp: 2018.03.01 07:59:42 MST
URL: https://www.computer.org/csdl/mags/co/2018/02/mco2018020044-abs.html
acknowledgement: ack-nhfb
journalURL: http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2
rawauthor: Stergios Papadimitriou and Lefteris Moussiades
rawtitle: {Mac OS} versus {FreeBSD}: A Comparative Evaluation
bibsource:
https://www.math.utah.edu/pub/tex/bib/computer2010.bib; https://www.math.utah.edu/pub/tex/bib/mach.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
FreeBSD (an open source Unix-like OS) and Apple's Mac OS use similar BSD functionality but take different approaches. FreeBSD implements a traditional compact monolithic Unix kernel, whereas Mac OS builds the BSD Unix functionality on top of the Mach microkernel. The authors provide an in-depth technical investigation of both approaches.

rawabstract:
FreeBSD (an open source Unix-like OS) and Apple's Mac OS use similar BSD functionality but take different approaches. FreeBSD implements a traditional compact monolithic Unix kernel, whereas Mac OS builds the BSD Unix functionality on top of the Mach microkernel. The authors provide an in-depth technical investigation of both approaches.

entry:
@Article{Papadimitriou:2018:MVF,
  author =       "Stergios Papadimitriou and Lefteris Moussiades",
  title =        "{Mac OS} versus {FreeBSD}: A Comparative Evaluation",
  journal =      j-COMPUTER,
  volume =       "51",
  number =       "2",
  pages =        "44--53",
  month =        feb,
  year =         "2018",
  CODEN =        "CPTRB4",
  DOI =          "https://doi.org/10.1109/MC.2018.1451648",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Thu Mar 1 07:59:42 MST 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/computer2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/mach.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.computer.org/csdl/mags/co/2018/02/mco2018020044-abs.html",
  abstract =     "FreeBSD (an open source Unix-like OS) and Apple's Mac
                 OS use similar BSD functionality but take different
                 approaches. FreeBSD implements a traditional compact
                 monolithic Unix kernel, whereas Mac OS builds the BSD
                 Unix functionality on top of the Mach microkernel. The
                 authors provide an in-depth technical investigation of
                 both approaches.",
  acknowledgement = ack-nhfb,
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}


bibtype: misc
filename: unix.bib
label: Thompson:2018:TRE
author: Ken Thompson and Dennis M. Ritchie and Diomidis Spinellis
title: The Third Research Edition Unix Programmer's Manual
pages: 44--53
year: 2018
bibdate: Fri Feb 16 10:32:04 2018
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.02.16 10:32:04 ???
note: The site contains links to online manuals for the first through seventh editions.
URL: https://github.com/dspinellis/unix-v3man
acknowledgement: ack-nhfb
authordates: Dennis M. Ritchie (9 September 1941--12 October 2011)
howpublished: Web site
rawauthor: Ken Thompson and Dennis M. Ritchie and Diomidis Spinellis
rawnote: The site contains links to online manuals for the first through seventh editions.
rawtitle: The {Third Research Edition Unix} Programmer's Manual
entry:
@Misc{Thompson:2018:TRE,
  author =       "Ken Thompson and Dennis M. Ritchie and Diomidis
                 Spinellis",
  title =        "The {Third Research Edition Unix} Programmer's
                 Manual",
  howpublished = "Web site",
  year =         "2018",
  bibdate =      "Fri Feb 16 10:32:04 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  note =         "The site contains links to online manuals for the
                 first through seventh editions.",
  URL =          "https://github.com/dspinellis/unix-v3man",
  acknowledgement = ack-nhfb,
  author-dates = "Dennis M. Ritchie (9 September 1941--12 October
                 2011)",
}


bibtype: misc
filename: unix.bib
label: Anonymous:2019:CCP
author: Anonymous
title: Comparison of C/POSIX standard library implementations for Linux
pages: 44--53
year: 2019
bibdate: Thu Nov 14 10:11:56 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.11.14 10:11:56 ???
URL: http://www.etalabs.net/compare_libcs.html
remark: Comparison of features in musl, uClibc, dietlibc, and glibc.
acknowledgement: ack-nhfb
howpublished: Web site.
rawauthor: Anonymous
rawtitle: Comparison of {C/POSIX} standard library implementations for {Linux}
entry:
@Misc{Anonymous:2019:CCP,
  author =       "Anonymous",
  title =        "Comparison of {C/POSIX} standard library
                 implementations for {Linux}",
  howpublished = "Web site.",
  year =         "2019",
  bibdate =      "Thu Nov 14 10:11:56 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.etalabs.net/compare_libcs.html",
  acknowledgement = ack-nhfb,
  remark =       "Comparison of features in musl, uClibc, dietlibc, and
                 glibc.",
}


bibtype: misc
filename: unix.bib
label: Anonymous:2019:CYU
author: Anonymous
title: Celebrating 50 years of UNIX: 1969--2019
pages: 44--53
year: 2019
bibdate: Fri Dec 07 09:22:51 2018
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2018.12.07 09:22:51 ???
note: Offers shell access for historical versions of UNIX.
URL: https://unix50.org/
acknowledgement: ack-nhfb
howpublished: Web site
rawauthor: Anonymous
rawnote: Offers shell access for historical versions of UNIX.
rawtitle: Celebrating 50 years of {UNIX}: 1969--2019
entry:
@Misc{Anonymous:2019:CYU,
  author =       "Anonymous",
  title =        "Celebrating 50 years of {UNIX}: 1969--2019",
  howpublished = "Web site",
  year =         "2019",
  bibdate =      "Fri Dec 07 09:22:51 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  note =         "Offers shell access for historical versions of UNIX.",
  URL =          "https://unix50.org/",
  acknowledgement = ack-nhfb,
}


bibtype: misc
filename: unix.bib
label: Anonymous:2019:NIH
author: Anonymous
pages: 44--53
day: 8
month: jan
monthnumber: 1
year: 2019
bibdate: Tue Jan 08 18:39:53 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.01.08 18:39:53 ???
URL: https://www.engadget.com/2019/01/08/national-inventors-hall-of-fame-class-of-2019/
keywords: Dennis Ritchie; Ken Thompson
acknowledgement: ack-nhfb
howpublished: Web site.
rawauthor: Anonymous
title:
National Inventors Hall of Fame honors creators of Unix, power drills and more: Say hello to the class of 2019.

abstract:
Dennis Ritchie (Posthumous) and Ken Thompson: UNIX Operating System. Thompson and Ritchie's creation of the UNIX operating system and the C programming language were pivotal developments in the progress of computer science. Today, 50 years after its beginnings, UNIX and UNIX-like systems continue to run machinery from supercomputers to smartphones. The UNIX operating system remains the basis of much of the world's computing infrastructure, and [the] C language --- written to simplify the development of UNIX --- is one of the most widely used languages today.

rawabstract:
Dennis Ritchie (Posthumous) and Ken Thompson: UNIX Operating System. Thompson and Ritchie's creation of the UNIX operating system and the C programming language were pivotal developments in the progress of computer science. Today, 50 years after its beginnings, UNIX and UNIX-like systems continue to run machinery from supercomputers to smartphones. The UNIX operating system remains the basis of much of the world's computing infrastructure, and [the] C language --- written to simplify the development of UNIX --- is one of the most widely used languages today.

rawtitle:
{National Inventors Hall of Fame} honors creators of {Unix}, power drills and more: Say hello to the class of 2019.

entry:
@Misc{Anonymous:2019:NIH,
  author =       "Anonymous",
  title =        "{National Inventors Hall of Fame} honors creators of
                 {Unix}, power drills and more: Say hello to the class
                 of 2019.",
  howpublished = "Web site.",
  day =          "8",
  month =        jan,
  year =         "2019",
  bibdate =      "Tue Jan 08 18:39:53 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.engadget.com/2019/01/08/national-inventors-hall-of-fame-class-of-2019/",
  abstract =     "Dennis Ritchie (Posthumous) and Ken Thompson: UNIX
                 Operating System. Thompson and Ritchie's creation of
                 the UNIX operating system and the C programming
                 language were pivotal developments in the progress of
                 computer science. Today, 50 years after its beginnings,
                 UNIX and UNIX-like systems continue to run machinery
                 from supercomputers to smartphones. The UNIX operating
                 system remains the basis of much of the world's
                 computing infrastructure, and [the] C language ---
                 written to simplify the development of UNIX --- is one
                 of the most widely used languages today.",
  acknowledgement = ack-nhfb,
  keywords =     "Dennis Ritchie; Ken Thompson",
}


bibtype: misc
filename: unix.bib
label: Anonymous:2019:UOU
author: Anonymous
title: Unix50 --- The Origin of Unix --- panel session
pages: 44--53
day: 22
month: oct
monthnumber: 10
year: 2019
bibdate: Tue Oct 22 15:02:22 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.10.22 15:02:22 ???
URL: https://www.youtube.com/watch?v=dUt3L3fLFt4
acknowledgement: ack-nhfb
howpublished: Conference video (38m52s).
rawauthor: Anonymous
rawtitle: {Unix50} --- The Origin of {Unix} --- panel session
remark:
Markus (????) (host); panel: Brian Kernighan (moderator), Doug McIlroy, Jon Bentley, Steven Johnson, Peter Weinberger. Doug McIlroy begins with a promotion of the TUHS mailing list. Jon Bentley promotes Brian Kernighan's new Unix memoir cite Kernighan:2019:UHM.

entry:
@Misc{Anonymous:2019:UOU,
  author =       "Anonymous",
  title =        "{Unix50} --- The Origin of {Unix} --- panel session",
  howpublished = "Conference video (38m52s).",
  day =          "22",
  month =        oct,
  year =         "2019",
  bibdate =      "Tue Oct 22 15:02:22 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.youtube.com/watch?v=dUt3L3fLFt4",
  acknowledgement = ack-nhfb,
  remark =       "Markus (????) (host); panel: Brian Kernighan
                 (moderator), Doug McIlroy, Jon Bentley, Steven Johnson,
                 Peter Weinberger. Doug McIlroy begins with a promotion
                 of the TUHS mailing list. Jon Bentley promotes Brian
                 Kernighan's new Unix memoir
                 \cite{Kernighan:2019:UHM}.",
}


bibtype: misc
filename: unix.bib
label: Anonymous:2019:UUT
author: Anonymous
title: Unix50 --- Unix Today and Tomorrow: Future of Compute & Platforms: The Kernel
pages: 44--53
day: 22
month: oct
monthnumber: 10
year: 2019
bibdate: Tue Oct 22 15:02:22 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.10.22 15:02:22 ???
URL: https://www.youtube.com/watch?v=dUt3L3fLFt4
remark: Markus (????) (host); presenters: Timothy Roscoe, Marina ????
acknowledgement: ack-nhfb
howpublished: Conference video (58m13s).
rawauthor: Anonymous
rawtitle: {Unix50} --- {Unix} Today and Tomorrow: Future of Compute \& Platforms: The Kernel
entry:
@Misc{Anonymous:2019:UUT,
  author =       "Anonymous",
  title =        "{Unix50} --- {Unix} Today and Tomorrow: Future of
                 Compute \& Platforms: The Kernel",
  howpublished = "Conference video (58m13s).",
  day =          "22",
  month =        oct,
  year =         "2019",
  bibdate =      "Tue Oct 22 15:02:22 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.youtube.com/watch?v=dUt3L3fLFt4",
  acknowledgement = ack-nhfb,
  remark =       "Markus (????) (host); presenters: Timothy Roscoe,
                 Marina ????",
}


bibtype: inproceedings
filename: unix.bib
label: Baumann:2019:FR
author: Andrew Baumann and Jonathan Appavoo and Orran Krieger and Timothy Roscoe
booktitle: Proceedings of the 17th Workshop on Hot Topics in Operating Systems, May 2019
title: A tt fork() in the road
publisher: pub-ACM
address: pub-ACM:adr
pages: 1--9
year: 2019
bibdate: Thu Apr 11 07:42:30 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.04.11 07:42:30 ???
URL: https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf
acknowledgement: ack-nhfb
rawauthor: Andrew Baumann and Jonathan Appavoo and Orran Krieger and Timothy Roscoe
rawbooktitle: Proceedings of the {17th Workshop on Hot Topics in Operating Systems, May 2019}
rawtitle: A {\tt fork()} in the road
abstract:
The received wisdom suggests that Unix's unusual combination of tt fork() and tt exec() for process creation was an inspired design. In this paper, we argue that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability. We catalog the ways in which fork is a terrible abstraction for the modern programmer to use, describe how it compromises OS implementations, and propose alternatives. As the designers and implementors of operating systems,we should acknowledge that fork's continued existence as a first-class OS primitive holds back systems research, and deprecate it. As educators, we should teach fork as a historical artifact, and not the first process creation mechanism students encounter.

rawabstract:
The received wisdom suggests that Unix's unusual combination of {\tt fork()} and {\tt exec()} for process creation was an inspired design. In this paper, we argue that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability. We catalog the ways in which fork is a terrible abstraction for the modern programmer to use, describe how it compromises OS implementations, and propose alternatives. As the designers and implementors of operating systems,we should acknowledge that fork's continued existence as a first-class OS primitive holds back systems research, and deprecate it. As educators, we should teach fork as a historical artifact, and not the first process creation mechanism students encounter.

entry:
@InProceedings{Baumann:2019:FR,
  author =       "Andrew Baumann and Jonathan Appavoo and Orran Krieger
                 and Timothy Roscoe",
  editor =       "????",
  booktitle =    "Proceedings of the {17th Workshop on Hot Topics in
                 Operating Systems, May 2019}",
  title =        "A {\tt fork()} in the road",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "1--9",
  year =         "2019",
  bibdate =      "Thu Apr 11 07:42:30 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.microsoft.com/en-us/research/uploads/prod/2019/04/fork-hotos19.pdf",
  abstract =     "The received wisdom suggests that Unix's unusual
                 combination of {\tt fork()} and {\tt exec()} for
                 process creation was an inspired design. In this paper,
                 we argue that fork was a clever hack for machines and
                 programs of the 1970s that has long outlived its
                 usefulness and is now a liability. We catalog the ways
                 in which fork is a terrible abstraction for the modern
                 programmer to use, describe how it compromises OS
                 implementations, and propose alternatives. As the
                 designers and implementors of operating systems,we
                 should acknowledge that fork's continued existence as a
                 first-class OS primitive holds back systems research,
                 and deprecate it. As educators, we should teach fork as
                 a historical artifact, and not the first process
                 creation mechanism students encounter.",
  acknowledgement = ack-nhfb,
}


bibtype: misc
filename: unix.bib
label: Brock:2019:EUC
author: David C. Brock
title: The Earliest Unix Code: An Anniversary Source Code Release
pages: 1--9
day: 17
month: oct
monthnumber: 10
year: 2019
bibdate: Thu Oct 17 15:40:24 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.10.17 15:40:24 ???
acknowledgement: ack-nhfb
howpublished: Computer History Museum Web site
rawauthor: David C. Brock
rawtitle: The Earliest {Unix} Code: An Anniversary Source Code Release
URL:
http://bit.ly/31pWcvM; https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/

abstract:
What is it that runs the servers that hold our online world, be it the web or the cloud? What enables the mobile apps that are at the center of increasingly on-demand lives in the developed world and of mobile banking and messaging in the developing world? The answer is the operating system Unix and its many descendants: Linux, Android, BSD Unix, MacOS, iOS --- the list goes on and on. Want to glimpse the Unix in your Mac? Open a Terminal window and enter tt man roff to view the Unix manual entry for an early text formatting program that lives within your operating system.

remark:
The Web site contains links to some of the early Unix code recovered from the late Dennis Ritchie's notebooks.

rawabstract:
What is it that runs the servers that hold our online world, be it the web or the cloud? What enables the mobile apps that are at the center of increasingly on-demand lives in the developed world and of mobile banking and messaging in the developing world? The answer is the operating system Unix and its many descendants: Linux, Android, BSD Unix, MacOS, iOS --- the list goes on and on. Want to glimpse the Unix in your Mac? Open a Terminal window and enter {\tt man roff} to view the Unix manual entry for an early text formatting program that lives within your operating system.

entry:
@Misc{Brock:2019:EUC,
  author =       "David C. Brock",
  title =        "The Earliest {Unix} Code: An Anniversary Source Code
                 Release",
  howpublished = "Computer History Museum Web site",
  day =          "17",
  month =        oct,
  year =         "2019",
  bibdate =      "Thu Oct 17 15:40:24 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://bit.ly/31pWcvM;
                 https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/",
  abstract =     "What is it that runs the servers that hold our online
                 world, be it the web or the cloud? What enables the
                 mobile apps that are at the center of increasingly
                 on-demand lives in the developed world and of mobile
                 banking and messaging in the developing world? The
                 answer is the operating system Unix and its many
                 descendants: Linux, Android, BSD Unix, MacOS, iOS ---
                 the list goes on and on. Want to glimpse the Unix in
                 your Mac? Open a Terminal window and enter {\tt man
                 roff} to view the Unix manual entry for an early text
                 formatting program that lives within your operating
                 system.",
  acknowledgement = ack-nhfb,
  remark =       "The Web site contains links to some of the early Unix
                 code recovered from the late Dennis Ritchie's
                 notebooks.",
}


bibtype: article
filename: unix.bib
label: Frazelle:2019:OSF
author: Jesse Frazelle
title: Open source firmware
journal: j-CACM
volume: 62
number: 10
pages: 34--38
month: oct
monthnumber: 10
year: 2019
CODEN: CACMA2
DOI: https://doi.org/10.1145/3343042
ISSN: 0001-0782 (print), 1557-7317 (electronic) OR 00010782 (print), 15577317 (electronic)
ISSNL: 0001-0782 OR 00010782
bibdate: Wed Sep 25 15:32:16 MDT 2019
bibtimestamp: 2019.09.25 15:32:16 MDT
URL: https://cacm.acm.org/magazines/2019/10/239673/fulltext
abstract: Step into the world behind the kernel.
fjournal: Communications of the ACM
acknowledgement: ack-nhfb
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J79
rawabstract: Step into the world behind the kernel.
rawauthor: Jesse Frazelle
rawtitle: Open source firmware
bibsource:
https://www.math.utah.edu/pub/tex/bib/cacm2010.bib; https://www.math.utah.edu/pub/tex/bib/gnu.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/minix.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

keywords:
Boot Guard; coreboot; EFI; Grub (Grand Unified Bootloader); Gummiboot; Heads; LinuxBoot; u-boot; UEFI; Windows Boot Manager

remark:
From page 36, column 2: ``ldots in the case of Intel (x86), Ring -3 is the Intel Management Engine. It can turn on nodes and reimage disks invisibly. It has a kernel that runs Minix, as well as a web server and entire networking stack. Because of this, Minix is the world's most widely used operating system.''

entry:
@Article{Frazelle:2019:OSF,
  author =       "Jesse Frazelle",
  title =        "Open source firmware",
  journal =      j-CACM,
  volume =       "62",
  number =       "10",
  pages =        "34--38",
  month =        oct,
  year =         "2019",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/3343042",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Sep 25 15:32:16 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/cacm2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/minix.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://cacm.acm.org/magazines/2019/10/239673/fulltext",
  abstract =     "Step into the world behind the kernel.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
  keywords =     "Boot Guard; coreboot; EFI; Grub (Grand Unified
                 Bootloader); Gummiboot; Heads; LinuxBoot; u-boot; UEFI;
                 Windows Boot Manager",
  remark =       "From page 36, column 2: ``\ldots{} in the case of
                 Intel (x86), Ring -3 is the Intel Management Engine. It
                 can turn on nodes and reimage disks invisibly. It has a
                 kernel that runs Minix, as well as a web server and
                 entire networking stack. Because of this, Minix is the
                 world's most widely used operating system.''",
}


bibtype: book
filename: unix.bib
label: Gregg:2019:BPT
author: Brendan Gregg
title: BPF Performance Tools: Linux System and Application Observability
publisher: Addison-Wesley Professional
pages: 34--38
year: 2019
ISBN: 0-13-655482-2, 0-13-658887-5 OR 0136554822, 0136588875
ISBN13: 978-0-13-655482-0, 978-0-13-658887-0 OR 9780136554820, 9780136588870
bibdate: Thu Sep 10 18:30:23 MDT 2020
bibtimestamp: 2020.09.10 18:30:23 MDT
note: Foreword by Alexei Starovoitov, creator of the new BPF.
acknowledgement: ack-nhfb
rawauthor: Brendan Gregg
rawnote: Foreword by Alexei Starovoitov, creator of the new BPF.
rawtitle: {BPF} Performance Tools: {Linux} System and Application Observability
abstract:
BPF and related observability tools give software professionals unprecedented visibility into software, helping them analyze operating system and application performance, troubleshoot code, and strengthen security. booktitle BPF Performance Tools: Linux System and Application Observability is the industry's most comprehensive guide to using these tools for observability. Brendan Gregg, author of the industry's definitive guide to system performance, introduces powerful new methods and tools for doing analysis that leads to more robust, reliable, and safer code. This authoritative guide: Explores a wide spectrum of software and hardware targets Thoroughly covers open source BPF tools from the Linux Foundation iovisor project's bcc and bpftrace repositories Summarizes performance engineering and kernel internals you need to understand Provides and discusses 150+ bpftrace tools, including 80 written specifically for this book: tools you can run as-is, without programming --- or customize and develop further, using diverse interfaces and the bpftrace front-end. You'll learn how to use BPF (eBPF) tracing tools to analyze CPUs, memory, disks, file systems, networking, languages, applications, containers, hypervisors, security, and the Linux kernel. You'll move from basic to advanced tools and techniques, producing new metrics, stack traces, custom latency histograms, and more. It's like having a superpower: with Gregg's guidance and tools, you can analyze virtually everything that impacts system performance, so you can improve virtually any Linux operating system or application.

rawabstract:
BPF and related observability tools give software professionals unprecedented visibility into software, helping them analyze operating system and application performance, troubleshoot code, and strengthen security. \booktitle{BPF Performance Tools: Linux System and Application Observability} is the industry's most comprehensive guide to using these tools for observability. Brendan Gregg, author of the industry's definitive guide to system performance, introduces powerful new methods and tools for doing analysis that leads to more robust, reliable, and safer code. This authoritative guide: Explores a wide spectrum of software and hardware targets Thoroughly covers open source BPF tools from the Linux Foundation iovisor project's bcc and bpftrace repositories Summarizes performance engineering and kernel internals you need to understand Provides and discusses 150+ bpftrace tools, including 80 written specifically for this book: tools you can run as-is, without programming --- or customize and develop further, using diverse interfaces and the bpftrace front-end. You'll learn how to use BPF (eBPF) tracing tools to analyze CPUs, memory, disks, file systems, networking, languages, applications, containers, hypervisors, security, and the Linux kernel. You'll move from basic to advanced tools and techniques, producing new metrics, stack traces, custom latency histograms, and more. It's like having a superpower: with Gregg's guidance and tools, you can analyze virtually everything that impacts system performance, so you can improve virtually any Linux operating system or application.

entry:
@Book{Gregg:2019:BPT,
  author =       "Brendan Gregg",
  title =        "{BPF} Performance Tools: {Linux} System and
                 Application Observability",
  publisher =    "Addison-Wesley Professional",
  address =      "????",
  year =         "2019",
  ISBN =         "0-13-655482-2, 0-13-658887-5",
  ISBN-13 =      "978-0-13-655482-0, 978-0-13-658887-0",
  LCCN =         "????",
  bibdate =      "Thu Sep 10 18:30:23 MDT 2020",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  note =         "Foreword by Alexei Starovoitov, creator of the new
                 BPF.",
  abstract =     "BPF and related observability tools give software
                 professionals unprecedented visibility into software,
                 helping them analyze operating system and application
                 performance, troubleshoot code, and strengthen
                 security. \booktitle{BPF Performance Tools: Linux
                 System and Application Observability} is the industry's
                 most comprehensive guide to using these tools for
                 observability. Brendan Gregg, author of the industry's
                 definitive guide to system performance, introduces
                 powerful new methods and tools for doing analysis that
                 leads to more robust, reliable, and safer code. This
                 authoritative guide: Explores a wide spectrum of
                 software and hardware targets Thoroughly covers open
                 source BPF tools from the Linux Foundation iovisor
                 project's bcc and bpftrace repositories Summarizes
                 performance engineering and kernel internals you need
                 to understand Provides and discusses 150+ bpftrace
                 tools, including 80 written specifically for this book:
                 tools you can run as-is, without programming --- or
                 customize and develop further, using diverse interfaces
                 and the bpftrace front-end. You'll learn how to use BPF
                 (eBPF) tracing tools to analyze CPUs, memory, disks,
                 file systems, networking, languages, applications,
                 containers, hypervisors, security, and the Linux
                 kernel. You'll move from basic to advanced tools and
                 techniques, producing new metrics, stack traces, custom
                 latency histograms, and more. It's like having a
                 superpower: with Gregg's guidance and tools, you can
                 analyze virtually everything that impacts system
                 performance, so you can improve virtually any Linux
                 operating system or application.",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: unix.bib
label: Guerrieri:2019:HSP
author: Alex Guerrieri
publisher: pub-PACKT
address: pub-PACKT:adr
pages: xii + 437
year: 2019
ISBN: 1-78980-336-5 (e-book), 1-78980-407-8 OR 1789803365 (ebook), 1789804078
ISBN13: 978-1-78980-336-5 (e-book), 978-1-78980-407-2 OR 9781789803365 (ebook), 9781789804072
LCCN: QA76.73.G63
bibdate: Thu Apr 22 07:34:05 MDT 2021
bibtimestamp: 2021.04.22 07:34:05 MDT
URL: http://proquest.safaribooksonline.com/?fpi=9781789804072
acknowledgement: ack-nhfb
rawauthor: Alex Guerrieri
title:
Hands-on system programming with Go: build modern and concurrent applications for Unix and Linux systems using Golang

bibsource:
fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/go.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
Go is the new systems programming language for Linux and Unix systems. After a brief introduction of Unix-based OS and of system programming, we'll dive into Go standard packages, focusing on how easily they allow to interact will all the functionality of the OS. By the end of this book, you will be comfortable with systems programming using Go.

subject:
Go (Computer program language); Application software; Development; Development.; Go (Computer program language)

TOC:
Preface Section 1: An Introduction to System Programming and Go 1: An Introduction to System Programming Technical requirements Beginning with system programming Software for software Languages and system evolution System programming and software engineering Application programming interfaces Types of APIs Operating systems Libraries and frameworks Remote APIs Web APIs Understanding the protection ring Architectural differences Kernel space and user space Diving into system calls Services provided Process control File management Device management Information maintenance Communication The difference between operating systems Understanding the POSIX standard POSIX standards and features POSIX. 1 core services POSIX. 1b and POSIX. 1c real-time and thread extensions POSIX. 2 shell and utilities OS adherence Linux and macOS Windows Summary Questions 2: Unix OS Components Technical requirements Memory management Techniques of management Virtual memory Understanding files and filesystems Operating systems and filesystems Linux macOS Windows Files and hard and soft links Unix filesystem Root and inodes Directory structure Navigation and interaction Mounting and unmounting Processes Process properties Process life cycle Foreground and background Killing a job Users, groups, and permissions Users and groups Owner, group, and others Read, write, and execute Changing permission Process communications Exit codes Signals Pipes Sockets Summary Questions 3: An Overview of Go Technical requirements Language features History of Go Strengths and weaknesses Namespace Imports and exporting symbols Type system Basic types Composite types Custom-defined types Variables and functions Handling variables Declaration Operations Casting Scope Constants Functions and methods Values and pointers Understanding flow control Condition Looping Exploring built-in functions Defer, panic, and recover Concurrency model Understanding channels and goroutines Understanding memory management Stack and heap The history of GC in Go Building and compiling programs Install Build Run Summary Questions Section 2: Advanced File I/O Operations 4: Working with the Filesystem Technical requirements Handling paths Working directory Getting and setting the working directory Path manipulation Reading from files Reader interface The file structure Using buffers Peeking content Closer and seeker Writing to file Writer interface Buffers and format Efficient writing File modes Other operations Create Truncate Delete Move Copy Stats Changing properties Third-party packages Virtual filesystems Filesystem events Summary Questions 5: Handling Streams 6: Building pseudo-terminals 7: Handling processes and daemons 8: Exit codes, signals, and pipes 9: Network programming 10:Data encoding using Go 11: Dealing with channels and Goroutines 12: Synchronization with sync and atomic 13: Coordination using context 14: Implementing concurrency patterns 15: Using reflection 16: Using CGO

rawabstract:
Go is the new systems programming language for Linux and Unix systems. After a brief introduction of Unix-based OS and of system programming, we'll dive into Go standard packages, focusing on how easily they allow to interact will all the functionality of the OS. By the end of this book, you will be comfortable with systems programming using Go.

rawtitle:
Hands-on system programming with {Go}: build modern and concurrent applications for {Unix} and {Linux} systems using {Golang}

rawTOC:
Preface \\ Section 1: An Introduction to System Programming and Go \\ 1: An Introduction to System Programming \\ Technical requirements \\ Beginning with system programming \\ Software for software \\ Languages and system evolution \\ System programming and software engineering \\ Application programming interfaces \\ Types of APIs \\ Operating systems \\ Libraries and frameworks \\ Remote APIs \\ Web APIs \\ Understanding the protection ring \\ Architectural differences \\ Kernel space and user space \\ Diving into system calls \\ Services provided \\ Process control \\ File management \\ Device management \\ Information maintenance \\ Communication \\ The difference between operating systems \\ Understanding the POSIX standard \\ POSIX standards and features \\ POSIX. 1 \\ core services \\ POSIX. 1b and POSIX. 1c \\ real-time and thread extensions \\ POSIX. 2 \\ shell and utilities \\ OS adherence \\ Linux and macOS \\ Windows \\ Summary \\ Questions \\ 2: Unix OS Components \\ Technical requirements \\ Memory management \\ Techniques of management \\ Virtual memory \\ Understanding files and filesystems \\ Operating systems and filesystems \\ Linux \\ macOS \\ Windows \\ Files and hard and soft links \\ Unix filesystem \\ Root and inodes \\ Directory structure \\ Navigation and interaction \\ Mounting and unmounting \\ Processes \\ Process properties \\ Process life cycle \\ Foreground and background \\ Killing a job \\ Users, groups, and permissions \\ Users and groups \\ Owner, group, and others \\ Read, write, and execute \\ Changing permission \\ Process communications \\ Exit codes \\ Signals \\ Pipes \\ Sockets \\ Summary \\ Questions \\ 3: An Overview of Go \\ Technical requirements \\ Language features \\ History of Go \\ Strengths and weaknesses \\ Namespace \\ Imports and exporting symbols \\ Type system \\ Basic types \\ Composite types \\ Custom-defined types \\ Variables and functions \\ Handling variables \\ Declaration \\ Operations \\ Casting \\ Scope \\ Constants \\ Functions and methods \\ Values and pointers \\ Understanding flow control \\ Condition \\ Looping \\ Exploring built-in functions \\ Defer, panic, and recover \\ Concurrency model \\ Understanding channels and goroutines \\ Understanding memory management \\ Stack and heap \\ The history of GC in Go \\ Building and compiling programs \\ Install \\ Build \\ Run \\ Summary \\ Questions \\ Section 2: Advanced File I/O Operations \\ 4: Working with the Filesystem \\ Technical requirements \\ Handling paths \\ Working directory \\ Getting and setting the working directory \\ Path manipulation \\ Reading from files \\ Reader interface \\ The file structure \\ Using buffers \\ Peeking content \\ Closer and seeker \\ Writing to file \\ Writer interface \\ Buffers and format \\ Efficient writing \\ File modes \\ Other operations \\ Create \\ Truncate \\ Delete \\ Move \\ Copy \\ Stats \\ Changing properties \\ Third-party packages \\ Virtual filesystems \\ Filesystem events \\ Summary \\ Questions \\ 5: Handling Streams \\ 6: Building pseudo-terminals \\ 7: Handling processes and daemons \\ 8: Exit codes, signals, and pipes \\ 9: Network programming \\ 10:Data encoding using Go \\ 11: Dealing with channels and Goroutines \\ 12: Synchronization with sync and atomic \\ 13: Coordination using context \\ 14: Implementing concurrency patterns \\ 15: Using reflection \\ 16: Using CGO

entry:
@Book{Guerrieri:2019:HSP,
  author =       "Alex Guerrieri",
  title =        "Hands-on system programming with {Go}: build modern
                 and concurrent applications for {Unix} and {Linux}
                 systems using {Golang}",
  publisher =    pub-PACKT,
  address =      pub-PACKT:adr,
  pages =        "xii + 437",
  year =         "2019",
  ISBN =         "1-78980-336-5 (e-book), 1-78980-407-8",
  ISBN-13 =      "978-1-78980-336-5 (e-book), 978-1-78980-407-2",
  LCCN =         "QA76.73.G63",
  bibdate =      "Thu Apr 22 07:34:05 MDT 2021",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/go.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://proquest.safaribooksonline.com/?fpi=9781789804072",
  abstract =     "Go is the new systems programming language for Linux
                 and Unix systems. After a brief introduction of
                 Unix-based OS and of system programming, we'll dive
                 into Go standard packages, focusing on how easily they
                 allow to interact will all the functionality of the OS.
                 By the end of this book, you will be comfortable with
                 systems programming using Go.",
  acknowledgement = ack-nhfb,
  subject =      "Go (Computer program language); Application software;
                 Development; Development.; Go (Computer program
                 language)",
  tableofcontents = "Preface \\
                 Section 1: An Introduction to System Programming and Go
                 \\
                 1: An Introduction to System Programming \\
                 Technical requirements \\
                 Beginning with system programming \\
                 Software for software \\
                 Languages and system evolution \\
                 System programming and software engineering \\
                 Application programming interfaces \\
                 Types of APIs \\
                 Operating systems \\
                 Libraries and frameworks \\
                 Remote APIs \\
                 Web APIs \\
                 Understanding the protection ring \\
                 Architectural differences \\
                 Kernel space and user space \\
                 Diving into system calls \\
                 Services provided \\
                 Process control \\
                 File management \\
                 Device management \\
                 Information maintenance \\
                 Communication \\
                 The difference between operating systems \\
                 Understanding the POSIX standard \\
                 POSIX standards and features \\
                 POSIX. 1 \\
                 core services \\
                 POSIX. 1b and POSIX. 1c \\
                 real-time and thread extensions \\
                 POSIX. 2 \\
                 shell and utilities \\
                 OS adherence \\
                 Linux and macOS \\
                 Windows \\
                 Summary \\
                 Questions \\
                 2: Unix OS Components \\
                 Technical requirements \\
                 Memory management \\
                 Techniques of management \\
                 Virtual memory \\
                 Understanding files and filesystems \\
                 Operating systems and filesystems \\
                 Linux \\
                 macOS \\
                 Windows \\
                 Files and hard and soft links \\
                 Unix filesystem \\
                 Root and inodes \\
                 Directory structure \\
                 Navigation and interaction \\
                 Mounting and unmounting \\
                 Processes \\
                 Process properties \\
                 Process life cycle \\
                 Foreground and background \\
                 Killing a job \\
                 Users, groups, and permissions \\
                 Users and groups \\
                 Owner, group, and others \\
                 Read, write, and execute \\
                 Changing permission \\
                 Process communications \\
                 Exit codes \\
                 Signals \\
                 Pipes \\
                 Sockets \\
                 Summary \\
                 Questions \\
                 3: An Overview of Go \\
                 Technical requirements \\
                 Language features \\
                 History of Go \\
                 Strengths and weaknesses \\
                 Namespace \\
                 Imports and exporting symbols \\
                 Type system \\
                 Basic types \\
                 Composite types \\
                 Custom-defined types \\
                 Variables and functions \\
                 Handling variables \\
                 Declaration \\
                 Operations \\
                 Casting \\
                 Scope \\
                 Constants \\
                 Functions and methods \\
                 Values and pointers \\
                 Understanding flow control \\
                 Condition \\
                 Looping \\
                 Exploring built-in functions \\
                 Defer, panic, and recover \\
                 Concurrency model \\
                 Understanding channels and goroutines \\
                 Understanding memory management \\
                 Stack and heap \\
                 The history of GC in Go \\
                 Building and compiling programs \\
                 Install \\
                 Build \\
                 Run \\
                 Summary \\
                 Questions \\
                 Section 2: Advanced File I/O Operations \\
                 4: Working with the Filesystem \\
                 Technical requirements \\
                 Handling paths \\
                 Working directory \\
                 Getting and setting the working directory \\
                 Path manipulation \\
                 Reading from files \\
                 Reader interface \\
                 The file structure \\
                 Using buffers \\
                 Peeking content \\
                 Closer and seeker \\
                 Writing to file \\
                 Writer interface \\
                 Buffers and format \\
                 Efficient writing \\
                 File modes \\
                 Other operations \\
                 Create \\
                 Truncate \\
                 Delete \\
                 Move \\
                 Copy \\
                 Stats \\
                 Changing properties \\
                 Third-party packages \\
                 Virtual filesystems \\
                 Filesystem events \\
                 Summary \\
                 Questions \\
                 5: Handling Streams \\
                 6: Building pseudo-terminals \\
                 7: Handling processes and daemons \\
                 8: Exit codes, signals, and pipes \\
                 9: Network programming \\
                 10:Data encoding using Go \\
                 11: Dealing with channels and Goroutines \\
                 12: Synchronization with sync and atomic \\
                 13: Coordination using context \\
                 14: Implementing concurrency patterns \\
                 15: Using reflection \\
                 16: Using CGO",
}


bibtype: article
filename: unix.bib
label: Hu:2019:SCS
author: Hanyang Hu and Shaowei Wang and Cor-Paul Bezemer and Ahmed E. Hassan
title: Studying the consistency of star ratings and reviews of popular free hybrid Android and iOS apps
journal: j-EMPIR-SOFTWARE-ENG
volume: 24
number: 1
pages: 7--32
month: feb
monthnumber: 2
year: 2019
CODEN: ESENFW
DOI: https://doi.org/10.1007/s10664-018-9617-6
ISSN: 1382-3256 (print), 1573-7616 (electronic) OR 13823256 (print), 15737616 (electronic)
ISSNL: 1382-3256 OR 13823256
bibdate: Fri Oct 11 07:46:31 MDT 2019
bibtimestamp: 2019.10.11 07:46:31 MDT
URL: http://link.springer.com/article/10.1007/s10664-018-9617-6
fjournal: Empirical Software Engineering
acknowledgement: ack-nhfb
journalURL: http://link.springer.com/journal/10664
rawauthor: Hanyang Hu and Shaowei Wang and Cor-Paul Bezemer and Ahmed E. Hassan
bibsource:
https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

rawtitle:
Studying the consistency of star ratings and reviews of popular free hybrid {Android} and {iOS} apps

entry:
@Article{Hu:2019:SCS,
  author =       "Hanyang Hu and Shaowei Wang and Cor-Paul Bezemer and
                 Ahmed E. Hassan",
  title =        "Studying the consistency of star ratings and reviews
                 of popular free hybrid {Android} and {iOS} apps",
  journal =      j-EMPIR-SOFTWARE-ENG,
  volume =       "24",
  number =       "1",
  pages =        "7--32",
  month =        feb,
  year =         "2019",
  CODEN =        "ESENFW",
  DOI =          "https://doi.org/10.1007/s10664-018-9617-6",
  ISSN =         "1382-3256 (print), 1573-7616 (electronic)",
  ISSN-L =       "1382-3256",
  bibdate =      "Fri Oct 11 07:46:31 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://link.springer.com/article/10.1007/s10664-018-9617-6",
  acknowledgement = ack-nhfb,
  fjournal =     "Empirical Software Engineering",
  journal-URL =  "http://link.springer.com/journal/10664",
}


bibtype: inproceedings
filename: unix.bib
label: Ince:2019:BOS
author: M. Numan Ince and Joseph Ledet and Melih Gunay
editor: IEEE
booktitle: 2019 1st International Informatics and Software Engineering Conference (UBMYK)
title: Building An Open Source Linux Computing System On RISC-V
publisher: pub-IEEE
address: pub-IEEE:adr
pages: 1--4
year: 2019
DOI: https://doi.org/10.1109/UBMYK48245.2019.8965559
bibdate: Sat Dec 16 15:51:40 2023
bibtimestamp: 2023.12.16 15:51:40 ???
acknowledgement: ack-nhfb
rawauthor: M. Numan Ince and Joseph Ledet and Melih Gunay
rawbooktitle: {2019 1st International Informatics and Software Engineering Conference (UBMYK)}
raweditor: {IEEE}
rawtitle: Building An Open Source {Linux} Computing System On {RISC-V}
bibsource:
https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/risc-v.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

entry:
@InProceedings{Ince:2019:BOS,
  author =       "M. Numan Ince and Joseph Ledet and Melih Gunay",
  editor =       "{IEEE}",
  booktitle =    "{2019 1st International Informatics and Software
                 Engineering Conference (UBMYK)}",
  title =        "Building An Open Source {Linux} Computing System On
                 {RISC-V}",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "1--4",
  year =         "2019",
  DOI =          "https://doi.org/10.1109/UBMYK48245.2019.8965559",
  bibdate =      "Sat Dec 16 15:51:40 2023",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/risc-v.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
}


bibtype: misc
filename: unix.bib
label: Jensen:2019:UHP
author: Richard Jensen
pages: 1--4
day: 29
month: aug
monthnumber: 8
year: 2019
bibdate: Thu Aug 29 16:28:44 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.08.29 16:28:44 ???
acknowledgement: ack-nhfb
howpublished: Web site
rawauthor: Richard Jensen
title:
Unix at 50: How the OS that powered smartphones started from failure. Today, Unix powers iOS and Android --- its legend begins with a gator and a trio of researchers

URL:
https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/

abstract:
Maybe its pervasiveness has long obscured its origins. But Unix, the operating system that in one derivative or another powers nearly all smartphones sold worldwide, was born 50 years ago from the failure of an ambitious project that involved titans like Bell Labs, GE, and MIT. Largely the brainchild of a few programmers at Bell Labs, the unlikely story of Unix begins with a meeting on the top floor of an otherwise unremarkable annex at the sprawling Bell Labs complex in Murray Hill, New Jersey.

rawabstract:
Maybe its pervasiveness has long obscured its origins. But Unix, the operating system that in one derivative or another powers nearly all smartphones sold worldwide, was born 50 years ago from the failure of an ambitious project that involved titans like Bell Labs, GE, and MIT. Largely the brainchild of a few programmers at Bell Labs, the unlikely story of Unix begins with a meeting on the top floor of an otherwise unremarkable annex at the sprawling Bell Labs complex in Murray Hill, New Jersey.

rawtitle:
{Unix} at 50: How the {OS} that powered smartphones started from failure. {Today}, {Unix} powers {iOS} and {Android} --- its legend begins with a gator and a trio of researchers

entry:
@Misc{Jensen:2019:UHP,
  author =       "Richard Jensen",
  title =        "{Unix} at 50: How the {OS} that powered smartphones
                 started from failure. {Today}, {Unix} powers {iOS} and
                 {Android} --- its legend begins with a gator and a trio
                 of researchers",
  howpublished = "Web site",
  day =          "29",
  month =        aug,
  year =         "2019",
  bibdate =      "Thu Aug 29 16:28:44 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/",
  abstract =     "Maybe its pervasiveness has long obscured its origins.
                 But Unix, the operating system that in one derivative
                 or another powers nearly all smartphones sold
                 worldwide, was born 50 years ago from the failure of an
                 ambitious project that involved titans like Bell Labs,
                 GE, and MIT. Largely the brainchild of a few
                 programmers at Bell Labs, the unlikely story of Unix
                 begins with a meeting on the top floor of an otherwise
                 unremarkable annex at the sprawling Bell Labs complex
                 in Murray Hill, New Jersey.",
  acknowledgement = ack-nhfb,
}


bibtype: book
filename: unix.bib
label: Josuttis:2019:CCG
author: Nicolai M. Josuttis
title: C++17: The Complete Guide
pages: xxiii + 420 (est.)
year: 2019
ISBN: 3-96730-017-X OR 396730017X
ISBN13: 978-3-96730-017-8 OR 9783967300178
bibdate: Tue Feb 11 06:53:46 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.11 06:53:46 ???
acknowledgement: ack-nhfb
rawauthor: Nicolai M. Josuttis
rawtitle: {C++17}: The Complete Guide
entry:
@Book{Josuttis:2019:CCG,
  author =       "Nicolai M. Josuttis",
  title =        "{C++17}: The Complete Guide",
  publisher =    "????",
  address =      "????",
  pages =        "xxiii + 420 (est.)",
  year =         "2019",
  ISBN =         "3-96730-017-X",
  ISBN-13 =      "978-3-96730-017-8",
  LCCN =         "????",
  bibdate =      "Tue Feb 11 06:53:46 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: Jude:2019:IKM
author: Allan Jude and Marshall Kirk McKusick and Benedict Reuschling
title: An Interview with Kirk McKusick
journal: The FreeBSD Journal
volume: 6
number: 6
pages: 40--50
month: nov
monthnumber: 11
year: 2019
ISBN: 0-615-88479-2 OR 0615884792
ISBN13: 978-0-615-88479-0 OR 9780615884790
bibdate: Mon Feb 24 16:48:04 2020
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2020.02.24 16:48:04 ???
URL: http://issue.freebsdfoundation.org/publication/?m=33057&i=217640&p=32
acknowledgement: ack-nhfb
journalURL: https://www.freebsdfoundation.org/journal/
rawauthor: Allan Jude and Marshall Kirk McKusick and Benedict Reuschling
rawtitle: An Interview with {Kirk McKusick}
entry:
@Article{Jude:2019:IKM,
  author =       "Allan Jude and Marshall Kirk McKusick and Benedict
                 Reuschling",
  title =        "An Interview with {Kirk McKusick}",
  journal =      "The FreeBSD Journal",
  volume =       "6",
  number =       "6",
  pages =        "40--50",
  month =        nov # "\slash " # dec,
  year =         "2019",
  ISBN =         "0-615-88479-2",
  ISBN-13 =      "978-0-615-88479-0",
  bibdate =      "Mon Feb 24 16:48:04 2020",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://issue.freebsdfoundation.org/publication/?m=33057&i=217640&p=32",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://www.freebsdfoundation.org/journal/",
}


bibtype: book
filename: unix.bib
label: Kernighan:2019:UHM
author: Brian W. Kernighan
title: UNIX: A History and a Memoir
publisher: Kindle Direct Publishing
pages: xiii + 183
year: 2019
ISBN: 1-69597-855-2 OR 1695978552
ISBN13: 978-1-69597-855-3 OR 9781695978553
bibdate: Mon Oct 21 15:12:52 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/master.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.10.21 15:12:52 ???
acknowledgement: ack-nhfb
rawauthor: Brian W. Kernighan
rawtitle: {UNIX}: A History and a Memoir
TOC:
Preface / ix 1: Bell Labs / 1 1.1 Physical sciences at Bell Labs / 5 1.2 Communications and computer science / 7 1.3 BWK at BTL / 8 1.4 Office space / 11 1.5 137 $to $ 127 $to $ 1127 $to $ 11276 / 19 2: Proto-Unix (1969) / 27 2.1 A bit of technical background / 27 2.2 CTSS and Multics / 30 2.3 The origin of Unix / 32 2.4 What's in a name? / 34 2.5 Biography: Ken Thompson / 35 3: First Edition (1971) / 41 3.1 Unix for patent applications / 42 3.2 The Unix room / 45 3.3 The Unix Programmer's Manual / 49 3.4 A few words about memory / 52 3.5 Biography: Dennis Ritchie / 55 4: Sixth Edition (1975) / 61 4.1 File systems / 62 4.2 Systems calls / 63 4.3 Shell / 65 4.4 Pipes / 67 4.5 Grep / 70 4.6 Regular expressions / 73 4.7 The C programming language / 76 4.8 Software Tools and Ratfor / 80 4.9 Biography: Doug McIlroy / 82 5: Seventh Edition (1976--1979) / 87 5.1 Bourne shell / 88 5.2 Yacc, Lex, Make / 90 5.3 Document preparation / 98 5.4 Sed and Awk / 113 5.5 Other languages / 117 5.6 Other contributions / 121 6: Beyond Research / 131 6.1 Programmer's Workbook / 131 6.2 University licenses / 134 6.3 User groups and Usenix / 136 6.4 John Lions' Commentary / 137 6.5 Portability / 140 7: Commercialization / 143 7.1 Divestiture / 143 7.2 UNIX^TM / 146 7.4 Public relations / 147 8: Descendants / 153 8.1 Berkeley Software Distribution / 153 8.2 Unix wars / 156 8.3 Minix and Linux / 158 8.4 Plan 9 / 160 8.5 Diaspora / 163 9: Legacy / 165 9.1 Technical / 166 9.2 Organization / 170 9.3 Recognition / 175 9.4 Could history repeat? / 177 Sources / 181

rawTOC:
Preface / ix \\ 1: Bell Labs / 1 \\ 1.1 Physical sciences at Bell Labs / 5 \\ 1.2 Communications and computer science / 7 \\ 1.3 BWK at BTL / 8 \\ 1.4 Office space / 11 \\ 1.5 137 $\to$ 127 $\to$ 1127 $\to$ 11276 / 19 \\ \\ 2: Proto-Unix (1969) / 27 \\ 2.1 A bit of technical background / 27 \\ 2.2 CTSS and Multics / 30 \\ 2.3 The origin of Unix / 32 \\ 2.4 What's in a name? / 34 \\ 2.5 Biography: Ken Thompson / 35 \\ \\ 3: First Edition (1971) / 41 \\ 3.1 Unix for patent applications / 42 \\ 3.2 The Unix room / 45 \\ 3.3 The Unix Programmer's Manual / 49 \\ 3.4 A few words about memory / 52 \\ 3.5 Biography: Dennis Ritchie / 55 \\ \\ 4: Sixth Edition (1975) / 61 \\ 4.1 File systems / 62 \\ 4.2 Systems calls / 63 \\ 4.3 Shell / 65 \\ 4.4 Pipes / 67 \\ 4.5 Grep / 70 \\ 4.6 Regular expressions / 73 \\ 4.7 The C programming language / 76 \\ 4.8 Software Tools and Ratfor / 80 \\ 4.9 Biography: Doug McIlroy / 82 \\ \\ 5: Seventh Edition (1976--1979) / 87 \\ 5.1 Bourne shell / 88 \\ 5.2 Yacc, Lex, Make / 90 \\ 5.3 Document preparation / 98 \\ 5.4 Sed and Awk / 113 \\ 5.5 Other languages / 117 \\ 5.6 Other contributions / 121 \\ \\ 6: Beyond Research / 131 \\ 6.1 Programmer's Workbook / 131 \\ 6.2 University licenses / 134 \\ 6.3 User groups and Usenix / 136 \\ 6.4 John Lions' Commentary / 137 \\ 6.5 Portability / 140 \\ \\ 7: Commercialization / 143 \\ 7.1 Divestiture / 143 \\ 7.2 UNIX^{\TM} / 146 \\ 7.4 Public relations / 147 \\ \\ 8: Descendants / 153 \\ 8.1 Berkeley Software Distribution / 153 \\ 8.2 Unix wars / 156 \\ 8.3 Minix and Linux / 158 \\ 8.4 Plan 9 / 160 \\ 8.5 Diaspora / 163 \\ \\ 9: Legacy / 165 \\ 9.1 Technical / 166 \\ 9.2 Organization / 170 \\ 9.3 Recognition / 175 \\ 9.4 Could history repeat? / 177 \\ \\ Sources / 181

entry:
@Book{Kernighan:2019:UHM,
  author =       "Brian W. Kernighan",
  title =        "{UNIX}: A History and a Memoir",
  publisher =    "Kindle Direct Publishing",
  address =      "????",
  pages =        "xiii + 183",
  year =         "2019",
  ISBN =         "1-69597-855-2",
  ISBN-13 =      "978-1-69597-855-3",
  LCCN =         "????",
  bibdate =      "Mon Oct 21 15:12:52 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  tableofcontents = "Preface / ix \\
                 1: Bell Labs / 1 \\
                 1.1 Physical sciences at Bell Labs / 5 \\
                 1.2 Communications and computer science / 7 \\
                 1.3 BWK at BTL / 8 \\
                 1.4 Office space / 11 \\
                 1.5 137 $\to$ 127 $\to$ 1127 $\to$ 11276 / 19 \\
                 \\
                 2: Proto-Unix (1969) / 27 \\
                 2.1 A bit of technical background / 27 \\
                 2.2 CTSS and Multics / 30 \\
                 2.3 The origin of Unix / 32 \\
                 2.4 What's in a name? / 34 \\
                 2.5 Biography: Ken Thompson / 35 \\
                 \\
                 3: First Edition (1971) / 41 \\
                 3.1 Unix for patent applications / 42 \\
                 3.2 The Unix room / 45 \\
                 3.3 The Unix Programmer's Manual / 49 \\
                 3.4 A few words about memory / 52 \\
                 3.5 Biography: Dennis Ritchie / 55 \\
                 \\
                 4: Sixth Edition (1975) / 61 \\
                 4.1 File systems / 62 \\
                 4.2 Systems calls / 63 \\
                 4.3 Shell / 65 \\
                 4.4 Pipes / 67 \\
                 4.5 Grep / 70 \\
                 4.6 Regular expressions / 73 \\
                 4.7 The C programming language / 76 \\
                 4.8 Software Tools and Ratfor / 80 \\
                 4.9 Biography: Doug McIlroy / 82 \\
                 \\
                 5: Seventh Edition (1976--1979) / 87 \\
                 5.1 Bourne shell / 88 \\
                 5.2 Yacc, Lex, Make / 90 \\
                 5.3 Document preparation / 98 \\
                 5.4 Sed and Awk / 113 \\
                 5.5 Other languages / 117 \\
                 5.6 Other contributions / 121 \\
                 \\
                 6: Beyond Research / 131 \\
                 6.1 Programmer's Workbook / 131 \\
                 6.2 University licenses / 134 \\
                 6.3 User groups and Usenix / 136 \\
                 6.4 John Lions' Commentary / 137 \\
                 6.5 Portability / 140 \\
                 \\
                 7: Commercialization / 143 \\
                 7.1 Divestiture / 143 \\
                 7.2 UNIX^{\TM} / 146 \\
                 7.4 Public relations / 147 \\
                 \\
                 8: Descendants / 153 \\
                 8.1 Berkeley Software Distribution / 153 \\
                 8.2 Unix wars / 156 \\
                 8.3 Minix and Linux / 158 \\
                 8.4 Plan 9 / 160 \\
                 8.5 Diaspora / 163 \\
                 \\
                 9: Legacy / 165 \\
                 9.1 Technical / 166 \\
                 9.2 Organization / 170 \\
                 9.3 Recognition / 175 \\
                 9.4 Could history repeat? / 177 \\
                 \\
                 Sources / 181",
}


bibtype: article
filename: unix.bib
label: Li:2019:RIC
title: Revisiting the impact of common libraries for Android-related investigations
journal: j-J-SYST-SOFTW
volume: 154
pages: 157--175
month: aug
monthnumber: 8
year: 2019
CODEN: JSSODM
DOI: https://doi.org/10.1016/j.jss.2019.04.065
ISSN: 0164-1212 (print), 1873-1228 (electronic) OR 01641212 (print), 18731228 (electronic)
ISSNL: 0164-1212 OR 01641212
bibdate: Mon May 27 07:11:52 MDT 2019
bibtimestamp: 2019.05.27 07:11:52 MDT
URL: http://www.sciencedirect.com/science/article/pii/S0164121219301001
fjournal: Journal of Systems and Software
acknowledgement: ack-nhfb
journalURL: http://www.sciencedirect.com/science/journal/01641212
rawtitle: Revisiting the impact of common libraries for {Android}-related investigations
author:
Li Li and Timothee Riom and Tegawende F. Bissyande and Haoyu Wang and Jacques Klein and Le Traon Yves

bibsource:
https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

rawauthor:
Li Li and Timoth{\'e}e Riom and Tegawend{\'e} F. Bissyand{\'e} and Haoyu Wang and Jacques Klein and Le Traon Yves

entry:
@Article{Li:2019:RIC,
  author =       "Li Li and Timoth{\'e}e Riom and Tegawend{\'e} F.
                 Bissyand{\'e} and Haoyu Wang and Jacques Klein and Le
                 Traon Yves",
  title =        "Revisiting the impact of common libraries for
                 {Android}-related investigations",
  journal =      j-J-SYST-SOFTW,
  volume =       "154",
  number =       "??",
  pages =        "157--175",
  month =        aug,
  year =         "2019",
  CODEN =        "JSSODM",
  DOI =          "https://doi.org/10.1016/j.jss.2019.04.065",
  ISSN =         "0164-1212 (print), 1873-1228 (electronic)",
  ISSN-L =       "0164-1212",
  bibdate =      "Mon May 27 07:11:52 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/jsystsoftw.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0164121219301001",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Systems and Software",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01641212",
}


bibtype: book
filename: unix.bib
label: Lucas:2019:FMJ
author: Michael W. Lucas
title: FreeBSD Mastery: Jails
publisher: Tilted Windmill Press
year: 2019
ISBN: 1-64235-023-0 OR 1642350230
ISBN13: 978-1-64235-023-4 OR 9781642350234
bibdate: Mon May 27 15:39:00 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.05.27 15:39:00 ???
acknowledgement: ack-nhfb
rawauthor: Michael W. Lucas
rawtitle: {FreeBSD} Mastery: Jails
remark:
No library catalog entries yet on 27 May 2019 (or even on 13 September 2019) to fill in missing fields.

entry:
@Book{Lucas:2019:FMJ,
  author =       "Michael W. Lucas",
  title =        "{FreeBSD} Mastery: Jails",
  publisher =    "Tilted Windmill Press",
  address =      "????",
  pages =        "????",
  year =         "2019",
  ISBN =         "1-64235-023-0",
  ISBN-13 =      "978-1-64235-023-4",
  LCCN =         "????",
  bibdate =      "Mon May 27 15:39:00 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  remark =       "No library catalog entries yet on 27 May 2019 (or even
                 on 13 September 2019) to fill in missing fields.",
}


bibtype: article
filename: unix.bib
label: Reghenzani:2019:RTL
author: Federico Reghenzani and Giuseppe Massari and William Fornaciari
title: The Real-Time Linux Kernel: a Survey on PREEMPT_RT
journal: j-COMP-SURV
volume: 52
number: 1
pages: 18:1--18:??
month: feb
monthnumber: 2
year: 2019
CODEN: CMSVAN
DOI: https://doi.org/10.1145/3297714
ISSN: 0360-0300 (print), 1557-7341 (electronic) OR 03600300 (print), 15577341 (electronic)
ISSNL: 0360-0300 OR 03600300
bibdate: Sat Aug 31 09:04:37 MDT 2019
bibtimestamp: 2019.08.31 09:04:37 MDT
URL: https://dl.acm.org/ft_gateway.cfm?id=3297714
fjournal: ACM Computing Surveys
acknowledgement: ack-nhfb
articleno: 18
journalURL: http://portal.acm.org/browse_dl.cfm?idx=J204
rawauthor: Federico Reghenzani and Giuseppe Massari and William Fornaciari
rawtitle: The Real-Time {Linux} Kernel: a Survey on {PREEMPT\_RT}
bibsource:
https://www.math.utah.edu/pub/tex/bib/compsurv.bib; https://www.math.utah.edu/pub/tex/bib/linux.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

abstract:
The increasing functional and nonfunctional requirements of real-time applications, the advent of mixed criticality computing, and the necessity of reducing costs are leading to an increase in the interest for employing COTS hardware in real-time domains. In this scenario, the Linux kernel is emerging as a valuable solution on the software side, thanks to the rich support for hardware devices and peripherals, along with a well-established programming environment. However, Linux has been developed as a general-purpose operating system, followed by several approaches to introduce actual real-time capabilities in the kernel. Among these, the PREEMPT_RT patch, developed by the kernel maintainers, has the goal to increase the predictability and reduce the latencies of the kernel directly modifying the existent kernel code. This article aims at providing a survey of the state-of-the-art approaches for building real-time Linux-based systems, with a focus on PREEMPT_RT, its evolution, and the challenges that should be addressed in order to move PREEMPT_RT one step ahead. Finally, we present some applications and use cases that have already benefited from the introduction of this patch.

rawabstract:
The increasing functional and nonfunctional requirements of real-time applications, the advent of mixed criticality computing, and the necessity of reducing costs are leading to an increase in the interest for employing COTS hardware in real-time domains. In this scenario, the Linux kernel is emerging as a valuable solution on the software side, thanks to the rich support for hardware devices and peripherals, along with a well-established programming environment. However, Linux has been developed as a general-purpose operating system, followed by several approaches to introduce actual real-time capabilities in the kernel. Among these, the PREEMPT_RT patch, developed by the kernel maintainers, has the goal to increase the predictability and reduce the latencies of the kernel directly modifying the existent kernel code. This article aims at providing a survey of the state-of-the-art approaches for building real-time Linux-based systems, with a focus on PREEMPT_RT, its evolution, and the challenges that should be addressed in order to move PREEMPT_RT one step ahead. Finally, we present some applications and use cases that have already benefited from the introduction of this patch.

entry:
@Article{Reghenzani:2019:RTL,
  author =       "Federico Reghenzani and Giuseppe Massari and William
                 Fornaciari",
  title =        "The Real-Time {Linux} Kernel: a Survey on
                 {PREEMPT\_RT}",
  journal =      j-COMP-SURV,
  volume =       "52",
  number =       "1",
  pages =        "18:1--18:??",
  month =        feb,
  year =         "2019",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/3297714",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Sat Aug 31 09:04:37 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/compsurv.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://dl.acm.org/ft_gateway.cfm?id=3297714",
  abstract =     "The increasing functional and nonfunctional
                 requirements of real-time applications, the advent of
                 mixed criticality computing, and the necessity of
                 reducing costs are leading to an increase in the
                 interest for employing COTS hardware in real-time
                 domains. In this scenario, the Linux kernel is emerging
                 as a valuable solution on the software side, thanks to
                 the rich support for hardware devices and peripherals,
                 along with a well-established programming environment.
                 However, Linux has been developed as a general-purpose
                 operating system, followed by several approaches to
                 introduce actual real-time capabilities in the kernel.
                 Among these, the PREEMPT_RT patch, developed by the
                 kernel maintainers, has the goal to increase the
                 predictability and reduce the latencies of the kernel
                 directly modifying the existent kernel code. This
                 article aims at providing a survey of the
                 state-of-the-art approaches for building real-time
                 Linux-based systems, with a focus on PREEMPT_RT, its
                 evolution, and the challenges that should be addressed
                 in order to move PREEMPT_RT one step ahead. Finally, we
                 present some applications and use cases that have
                 already benefited from the introduction of this
                 patch.",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
}


bibtype: misc
filename: unix.bib
label: Thornton:2019:EOU
author: Adam Thornton
title: Exploring old Unixes
pages: 18:1--18:??
day: 2
month: jun
monthnumber: 6
year: 2019
bibdate: Tue Jun 11 09:12:21 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.06.11 09:12:21 ???
URL: https://athornton.dreamwidth.org/14340.html
acknowledgement: ack-nhfb
howpublished: Web site.
rawauthor: Adam Thornton
rawtitle: Exploring old {Unixes}
remark:
This document contains an interesting chronological comparison of the Unix implementations of the 1960s to early 1990s.

entry:
@Misc{Thornton:2019:EOU,
  author =       "Adam Thornton",
  title =        "Exploring old {Unixes}",
  howpublished = "Web site.",
  day =          "2",
  month =        jun,
  year =         "2019",
  bibdate =      "Tue Jun 11 09:12:21 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://athornton.dreamwidth.org/14340.html",
  acknowledgement = ack-nhfb,
  remark =       "This document contains an interesting chronological
                 comparison of the Unix implementations of the 1960s to
                 early 1990s.",
}


bibtype: misc
filename: unix.bib
label: Thornton:2019:UHH
author: Adam Thornton
title: booktitle The UNIX-HATERS Handbook, a review
pages: 18:1--18:??
day: 16
month: may
monthnumber: 5
year: 2019
bibdate: Tue Jun 11 09:13:51 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.06.11 09:13:51 ???
URL: https://athornton.dreamwidth.org/14272.html
acknowledgement: ack-nhfb
howpublished: Web site.
rawauthor: Adam Thornton
rawtitle: {{\booktitle{The UNIX-HATERS Handbook}}}, a review
entry:
@Misc{Thornton:2019:UHH,
  author =       "Adam Thornton",
  title =        "{{\booktitle{The UNIX-HATERS Handbook}}}, a review",
  howpublished = "Web site.",
  day =          "16",
  month =        may,
  year =         "2019",
  bibdate =      "Tue Jun 11 09:13:51 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://athornton.dreamwidth.org/14272.html",
  acknowledgement = ack-nhfb,
}


bibtype: article
filename: unix.bib
label: Wang:2019:FEO
author: Pei Wang and Dinghao Wu and Zhaofeng Chen and Tao Wei
title: Field experience with obfuscating million-user iOS apps in large enterprise mobile development
journal: j-SPE
volume: 49
number: 2
pages: 252--273
month: feb
monthnumber: 2
year: 2019
CODEN: SPEXBL
DOI: https://doi.org/10.1002/spe.2648
ISSN: 0038-0644 (print), 1097-024X (electronic) OR 00380644 (print), 1097024X (electronic)
ISSNL: 0038-0644 OR 00380644
bibdate: Mon Mar 25 14:15:52 MDT 2019
bibsource: https://www.math.utah.edu/pub/tex/bib/spe.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib
bibtimestamp: 2019.03.25 14:15:52 MDT
fjournal: Software --- Practice and Experience
remark: Special issue on Software Engineering in Practice.
acknowledgement: ack-nhfb
ajournal: Softw. Pract. Exp.
journalURL: http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X
onlinedate: 08 November 2018
rawauthor: Pei Wang and Dinghao Wu and Zhaofeng Chen and Tao Wei
rawtitle: Field experience with obfuscating million-user {iOS} apps in large enterprise mobile development
entry:
@Article{Wang:2019:FEO,
  author =       "Pei Wang and Dinghao Wu and Zhaofeng Chen and Tao
                 Wei",
  title =        "Field experience with obfuscating million-user {iOS}
                 apps in large enterprise mobile development",
  journal =      j-SPE,
  volume =       "49",
  number =       "2",
  pages =        "252--273",
  month =        feb,
  year =         "2019",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.2648",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Mon Mar 25 14:15:52 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/spe.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "08 November 2018",
  remark =       "Special issue on Software Engineering in Practice.",
}


bibtype: article
filename: unix.bib
label: Xu:2019:ACP
author: Yang Xu and Guojun Wang and Ju Ren and Yaoxue Zhang
title: An adaptive and configurable protection framework against Android privilege escalation threats
journal: j-FUT-GEN-COMP-SYS
volume: 92
pages: 210--224
month: mar
monthnumber: 3
year: 2019
CODEN: FGSEVI
DOI: https://doi.org/10.1016/j.future.2018.09.042
ISSN: 0167-739X (print), 1872-7115 (electronic) OR 0167739X (print), 18727115 (electronic)
ISSNL: 0167-739X OR 0167739X
bibdate: Tue Feb 5 08:15:51 MST 2019
bibtimestamp: 2019.02.05 08:15:51 MST
URL: https://www.sciencedirect.com/science/article/pii/S0167739X18307775
fjournal: Future Generation Computer Systems
acknowledgement: ack-nhfb
journalURL: http://www.sciencedirect.com/science/journal/0167739X
rawauthor: Yang Xu and Guojun Wang and Ju Ren and Yaoxue Zhang
rawtitle: An adaptive and configurable protection framework against {Android} privilege escalation threats
bibsource:
https://www.math.utah.edu/pub/tex/bib/futgencompsys.bib; https://www.math.utah.edu/pub/tex/bib/unix.bib

entry:
@Article{Xu:2019:ACP,
  author =       "Yang Xu and Guojun Wang and Ju Ren and Yaoxue Zhang",
  title =        "An adaptive and configurable protection framework
                 against {Android} privilege escalation threats",
  journal =      j-FUT-GEN-COMP-SYS,
  volume =       "92",
  number =       "??",
  pages =        "210--224",
  month =        mar,
  year =         "2019",
  CODEN =        "FGSEVI",
  DOI =          "https://doi.org/10.1016/j.future.2018.09.042",
  ISSN =         "0167-739X (print), 1872-7115 (electronic)",
  ISSN-L =       "0167-739X",
  bibdate =      "Tue Feb 5 08:15:51 MST 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/futgencompsys.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://www.sciencedirect.com/science/article/pii/S0167739X18307775",
  acknowledgement = ack-nhfb,
  fjournal =     "Future Generation Computer Systems",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0167739X",
}


