November 21, 2020 | research, bibliography

Some of these bibliographies I’ve been reading for my research and some I find it interesting to keep around my library.

Operating Systems #

Introductory #

Modern Operating Systems #

  author          = {Tanenbaum, Andrew S. and Bos, Herbert},
  title           = {Modern Operating Systems},
  year            = 2014,
  isbn            = {013359162X},
  publisher       = {Prentice Hall Press},
  address         = {USA},
  edition         = {4th},
  abstract        = { Modern Operating Systems, Fourth Edition, is intended for
                  introductory courses in Operating Systems in Computer Science,
                  Computer Engineering, and Electrical Engineering programs. It
                  also serves as a useful reference for OS professionals The
                  widely anticipated revision of this worldwide best-seller
                  incorporates the latest developments in operating systems (OS)
                  technologies. The Fourth Edition includes up-to-date materials
                  on relevantOS. Tanenbaum also provides information on current
                  research based on his experience as an operating systems
                  researcher. Modern Operating Systems, Third Editionwas the
                  recipient of the 2010 McGuffey Longevity Award. The McGuffey
                  Longevity Award recognizes textbooks whose excellence has been
                  demonstrated over time.
                  Teaching and Learning Experience This program will provide a
                  better teaching and learning experiencefor you and your
                  students. It will help: Provide Practical Detail on the Big
                  Picture Concepts: A clear and entertaining writing style
                  outlines the concepts every OS designer needs to master. Keep
                  Your Course Current: This edition includes information on the
                  latest OS technologies and developments Enhance Learning with
                  Student and Instructor Resources: Students will gain hands-on
                  experience using the simulation exercises and lab experiments.

Operating Systems: Internals and Design Principle #

  author          = {Stallings, William},
  title           = {Operating Systems: Internals and Design Principles, 9/e},
  year            = 2018,
  isbn            = 9352866711,
  publisher       = {Pearson IT Certification},
  address         = {Indianapolis, Indiana, USA},
  edition         = {9th},
  abstract        = {Please Read Notes: Brand New, International Softcover
                  Edition, Printed in black and white pages, minor self wear on
                  the cover or pages, Sale restriction may be printed on the
                  book, but Book name, contents, and author are exactly same as
                  Hardcover Edition. Fast delivery through DHL/FedEx express.}

Operating Systems Design and Implementation (3rd Edition) #

  author          = {Tanenbaum, Andrew S and Woodhull, Albert S},
  title           = {Operating Systems Design and Implementation (3rd Edition)},
  year            = 2005,
  isbn            = 0131429388,
  publisher       = {Prentice-Hall, Inc.},
  address         = {USA}


Operating Systems for Low-End Devices in the Internet of Things: A Survey #

  author          = {O. {Hahm} and E. {Baccelli} and H. {Petersen} and N.
  journal         = {IEEE Internet of Things Journal},
  title           = {Operating Systems for Low-End Devices in the Internet of
                  Things: A Survey},
  year            = 2016,
  volume          = 3,
  number          = 5,
  pages           = {720-734},
  abstract        = {The Internet of Things (IoT) is projected to soon
                  interconnect tens of billions of new devices, in large part
                  also connected to the Internet. IoT devices include both
                  high-end devices which can use traditional go-to operating
                  systems (OSs) such as Linux, and low-end devices which cannot,
                  due to stringent resource constraints, e.g., very limited
                  memory, computational power, and power supply. However,
                  large-scale IoT software development, deployment, and
                  maintenance requires an appropriate OS to build upon. In this
                  paper, we thus analyze in detail the specific requirements
                  that an OS should satisfy to run on low-end IoT devices, and
                  we survey applicable OSs, focusing on candidates that could
                  become an equivalent of Linux for such devices, i.e., a
                  one-size-fits-most, open source OS for low-end IoT devices.},
  keywords        = {Internet of Things;mobile computing;operating systems
                  (computers);software maintenance;software maintenance;software
                  deployment;software development;IoT;Internet of Things;low-end
                  device;OS;operating system;Random access
                  memory;Hardware;Internet of things;Operating
                  systems;Standards;Embedded software;Internet of Things
                  (IoT);low-power electronics;operating system (OS)},
  doi             = {10.1109/JIOT.2015.2505901},
  ISSN            = {2327-4662},
  month           = {Oct},

Synchronization #

Little book of semaphores #

  title           = {The little book of semaphores},
  author          = {Downey, Allen},
  volume          = 2,
  number          = 2,
  year            = 2008,
  publisher       = {Green Tea Press},
  url             = "",

Computer Architecture #

Fault tolerance #

Fault Tolerant Computer Architecture (Synthesis Lectures on Computer Architecture) #

  author          = {Sorin, Daniel J.},
  title           = {Fault Tolerant Computer Architecture},
  year            = 2009,
  isbn            = 1598299530,
  publisher       = {Morgan and Claypool Publishers},
  abstract        = {For many years, most computer architects have pursued one
                  primary goal: performance. Architects have translated the
                  ever-increasing abundance of ever-faster transistors provided
                  by Moore's law into remarkable increases in performance.
                  Recently, however, the bounty provided by Moore's law has been
                  accompanied by several challenges that have arisen as devices
                  have become smaller, including a decrease in dependability due
                  to physical faults. In this book, we focus on the
                  dependability challenge and the fault tolerance solutions that
                  architects are developing to overcome it. The two main
                  purposes of this book are to explore the key ideas in
                  fault-tolerant computer architecture and to present the
                  current state-of-the-art - over approximately the past 10
                  years - in academia and industry. Table of Contents:
                  Introduction / Error Detection / Error Recovery / Diagnosis /
                  Self-Repair / The Future}

Single event effects in aerospace #

  author          = {Petersen, Edward},
  address         = {Piscataway, N.J.?},
  booktitle       = {Single event effects in aerospace},
  isbn            = 9780470767498,
  publisher       = {IEEE Press},
  keywords        = {Astrionics -- Protection},
  language        = {eng},
  lccn            = 2011002191,
  title           = {Single event effects in aerospace / Edward Petersen.},

Overview of single event effects #

  title           = {Overview of single event effects},
  author          = {Buchner, S},
  booktitle       = {Proc. 11th Int. School Effects Radiation Embedded Syst.
                  Space Appl.(SERESSA)},
  pages           = {62--69},
  year            = 2015

Draft - Single Event Effects Specification #

  title           = {Draft - Single Event Effects Specification},
  author          = {{The Radiation Effects and Analysis Group (REAG)}},
  shortauthor     = {REAG},
  organization    = {{National Aeronautics and Space Administration (NASA)}},
  year            = 2017,
  url             = "",
  note            = {last accessed on 24/01/2021},

Single event effects mitigation techniques report #

  title           = {Single event effects mitigation techniques report},
  author          = {Mutuel, LH},
  journal         = {Federal Aviation Administration, William J. Hughes
                  Technical Center, Aviation Research Division, Atlantic City
                  International Airport, Final report DOT/FAA/TC-15/62},
  year            = 2016

Circuit Level Design Methods to Mitigate Soft Errors #

  author          = {R. {Reis} and C. {Meinhardt} and A. L. {Zimpeck} and L. H.
                  {Brendler} and L. {Moraes}},
  booktitle       = {2020 IEEE Latin-American Test Symposium (LATS)},
  title           = {Circuit Level Design Methods to Mitigate Soft Errors},
  year            = 2020,
  pages           = {1-3},
  doi             = {10.1109/LATS49555.2020.9093683}

SWIFT: software implemented fault tolerance #

  author          = {G. A. {Reis} and J. {Chang} and N. {Vachharajani} and R.
                  {Rangan} and D. I. {August}},
  booktitle       = {International Symposium on Code Generation and
  title           = {SWIFT: software implemented fault tolerance},
  year            = 2005,
  pages           = {243-254},
  doi             = {10.1109/CGO.2005.34}

Applying Compiler-Automated Software Fault Tolerance to Multiple Processor Platforms #

  title           = {Applying Compiler-Automated Software Fault Tolerance to
                  Multiple Processor Platforms},
  author          = {James, Benjamin and Quinn, Heather and Wirthlin, Michael
                  and Goeders, Jeffrey},
  journal         = {IEEE Transactions on Nuclear Science},
  volume          = 67,
  number          = 1,
  pages           = {321--327},
  year            = 2019,
  publisher       = {IEEE}

CDFEDT: Comparison of Data Flow Error Detection Techniques in Embedded Systems: An Empirical Study #

  author          = {Thati, Venu Babu and Vankeirsbilck, Jens and Penneman,
                  Niels and Pissoort, Davy and Boydens, Jeroen},
  title           = {CDFEDT: Comparison of Data Flow Error Detection Techniques
                  in Embedded Systems: An Empirical Study},
  year            = 2018,
  isbn            = 9781450364485,
  publisher       = {Association for Computing Machinery},
  address         = {New York, NY, USA},
  url             = {},
  doi             = {10.1145/3230833.3230854},
  abstract        = {Embedded systems used in harsh environments are susceptible
                  to bit-flips, which can cause data flow errors. In order to
                  increase the reliability of embedded systems, numerous data
                  flow error detection techniques have already been developed.
                  It is, however, difficult to identify the best technique to
                  apply, due to differences in the way they are evaluated in
                  current literature.This paper presents an empirical
                  comparative study of seven existing techniques. We measured
                  fault coverage, execution time overhead, and code size
                  overhead. We conclude that soft error detection using software
                  redundancy (SEDSR) and error detection by duplicated
                  instructions (EDDI) have a better trade-off between fault
                  coverage and overheads than software-implemented fault
                  tolerance (SWIFT), critical block duplication (CBD), and
                  overhead reduction (VAR3+). Error detection by diverse data
                  and duplicated instructions (ED4I or EDDDDI) and software
                  approach (SA) had better fault coverage at the expense of
                  execution time and code size usage.},
  booktitle       = {Proceedings of the 13th International Conference on
                  Availability, Reliability and Security},
  articleno       = 23,
  numpages        = 9,
  keywords        = {Fault tolerance, Fault coverage, Bit-flips, Data flow error
                  detection, Comparison},
  location        = {Hamburg, Germany},
  series          = {ARES 2018}

Introductory #

Structured Computer Organization (5th Edition) #

  author          = {Tanenbaum, Andrew S.},
  title           = {Structured Computer Organization (5th Edition)},
  year            = 2005,
  isbn            = 0131485210,
  publisher       = {Prentice-Hall, Inc.},
  address         = {USA}

Computer Organization and Design, Fifth Edition: The Hardware/Software Interface #

  author          = {Patterson, David A. and Hennessy, John L.},
  title           = {Computer Organization and Design, Fifth Edition: The
                  Hardware/Software Interface},
  year            = 2013,
  isbn            = 0124077269,
  publisher       = {Morgan Kaufmann Publishers Inc.},
  address         = {San Francisco, CA, USA},
  edition         = {5th},
  abstract        = {The 5th edition of Computer Organization and Design moves
                  forward into the post-PC era with new examples, exercises, and
                  material highlighting the emergence of mobile computing and
                  the cloud. This generational change is emphasized and explored
                  with updated content featuring tablet computers, cloud
                  infrastructure, and the ARM (mobile computing devices) and x86
                  (cloud computing) architectures. Because an understanding of
                  modern hardware is essential to achieving good performance and
                  energy efficiency, this edition adds a new concrete example,
                  "Going Faster," used throughout the text to demonstrate
                  extremely effective optimization techniques. Also new to this
                  edition is discussion of the "Eight Great Ideas" of computer
                  architecture. As with previous editions, a MIPS processor is
                  the core used to present the fundamentals of hardware
                  technologies, assembly language, computer arithmetic,
                  pipelining, memory hierarchies and I/O. Instructors looking
                  for4th Edition teaching materials should e-mail
         Includes new examples, exercises, and
                  material highlighting the emergence of mobile computing and
                  the Cloud. Covers parallelism in depth with examples and
                  content highlighting parallel hardware and software topics
                  Features the Intel Core i7, ARM Cortex-A8 and NVIDIA Fermi GPU
                  as real-world examples throughout the book Adds a new concrete
                  example, "Going Faster," to demonstrate how understanding
                  hardware can inspire software optimizations that improve
                  performance by 200 times. Discusses and highlights the "Eight
                  Great Ideas" of computer architecture: Performance via
                  Parallelism; Performance via Pipelining; Performance via
                  Prediction; Design for Moore's Law; Hierarchy of Memories;
                  Abstraction to Simplify Design; Make the Common Case Fast; and
                  Dependability via Redundancy. Includes a full set of updated
                  and improved exercises.}

Computer Organization and Architecture: Designing for Performance #

  author          = {Stallings, William},
  title           = {Computer Organization and Architecture: Designing for
  year            = 2009,
  isbn            = 9780136073734,
  publisher       = {Prentice Hall Press},
  address         = {USA},
  edition         = {8th},
  abstract        = {KEY BENEFIT: Learn the fundamentals of processor and
                  computer design from the newest edition of this award winning
                  text. KEY TOPICS: Introduction; Computer Evolution and
                  Performance; A Top-Level View of Computer Function and
                  Interconnection; Cache Memory; Internal Memory Technology;
                  External Memory; I/O; Operating System Support; Computer
                  Arithmetic; Instruction Sets: Characteristics and Functions;
                  Instruction Sets: Addressing Modes and Formats; CPU Structure
                  and Function; RISCs; Instruction-Level Parallelism and
                  Superscalar Processors; Control Unit Operation;
                  Microprogrammed Control; Parallel Processing; Multicore
                  Architecture. Online Chapters: Number Systems; Digital Logic;
                  Assembly Language, Assemblers, and Compilers; The IA-64
                  Architecture. MARKET: Ideal for professionals in computer
                  science, computer engineering, and electrical engineering.}


The RISC-V Instruction Set Manual Volume II: Privileged Architecture Version v.20190608 #

    Author = {Waterman, Andrew and Lee, Yunsup and Avizienis, Rimas and Patterson, David A. and Asanović, Krste},
    Title = {The RISC-V Instruction Set Manual Volume II: Privileged Architecture Ratified Version 1.11},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2019},
    Month = {Jun},
    URL = {},
    Number = {v.20190608}

The Case for RISC-V in Space #

  author          = "Di Mascio, Stefano and Menicucci, Alessandra and Furano,
                  Gianluca and Monteleone, Claudio and Ottavi, Marco",
  editor          = "Saponara, Sergio and De Gloria, Alessandro",
  title           = "The Case for RISC-V in Space",
  booktitle       = "Applications in Electronics Pervading Industry, Environment
                  and Society",
  year            = 2019,
  publisher       = "Springer International Publishing",
  address         = "Cham",
  pages           = "319--325",
  abstract        = "This paper presentsDi Mascio, Stefano preliminary position
                  on theMenicucci, Alessandra use of the novel, free and open
                  RISC-V Instruction Set Architecture (ISA) for on-boardFurano,
                  Gianluca electronics in space. The modular nature of this ISA,
                  the availability of a rich software ecosystem, a rapidly
                  growing communityMonteleone, Claudio and a pool of open-source
                  IP cores will allow Space Industry to spin-in developments
                  from terrestrial fields (in terms of security, artificial
                  intelligence, support forOttavi, Marco operating systems,
                  hardware acceleration etc.) while focusing its efforts mainly
                  on aspects related to the specific needs of on-board
                  electronics for space applications (e.g. fault tolerance,
                  observability, error signaling, etc.). This will improve reuse
                  and avoid the necessity of developments from scratch when not
                  strategically needed, eventually increasing productivity and
                  reducing costs. The use of an open, non proprietary ISA will
                  allow ad-hoc design of microarchitecture-level soft error
                  countermeasures that can greatly increase the robustness of
                  Application Specific Standard Products (ASSP) and FPGA
  isbn            = "978-3-030-11973-7"

The RISC-V Reader: An Open Architecture Atlas #

  author          = {Patterson, David and Waterman, Andrew},
  title           = {The RISC-V Reader: An Open Architecture Atlas},
  year            = 2017,
  isbn            = 0999249118,
  publisher       = {Strawberry Canyon},
  edition         = {1st},
  abstract        = {The RISC-V Reader is a concise introduction and reference
                  for embedded systems programmers, students, and the curious to
                  a modern, popular, open architecture. RISC-V spans from the
                  cheapest 32-bit embedded microcontroller to the fastest 64-bit
                  cloud computer. The text shows how RISC-V followed the good
                  ideas of past architectures while avoiding their mistake.
                  Highlights include: Introduces the RISC-V instruction set in
                  only 100 pages, including 75 figures An Instruction Translator
                  Guide to help translate assembly language programs from ARM-32
                  and x86-32 instruction sets to RISC-V 2-page RISC-V Reference
                  Card that summarizes all instructions 50-page Instruction
                  Glossary that defines every instruction in detail 75
                  spotlights of good architecture design using margin icons 50
                  sidebars with interesting commentary and RISC-V history 25
                  quotes to pass along wisdom of noted scientists and engineers
                  Ten chapters introduce each component of the modular RISC-V
                  instruction set--often contrasting code compiled from C to
                  RISC-V versus the older ARM, Intel, and MIPS
                  architectures--but readers can start programming after Chapter
                  2. Praise for The RISC-V Reader: This timely book concisely
                  describes the simple, free and open RISC-V ISA that is
                  experiencing rapid uptake in many different computing sectors.
                  Krste Asanovic, University of California, Berkeley, one of the
                  four architects of RISC-V I like RISC-V and this book as they
                  are elegantbrief, to the point, and complete. C. Gordon Bell,
                  a computer architecture pioneer This handy little book
                  effortlessly summarizes all the essential elements of the
                  RISC-V Instruction Set Architecture, a perfect reference guide
                  for students and practitioners alike. Professor Randy Katz,
                  University of California, Berkeley, one of the inventors of
                  RAID storage systems This clearly-written book offers a good
                  introduction to RISC-V, augmented with insightful comments on
                  its evolutionary history and comparisons with other familiar
                  architectures. John Mashey, one of the designers of the MIPS
                  architecture This book tells what RISC-V can do and why its
                  designers chose to endow it with those abilities. Ivan
                  Sutherland, the father of computer graphics RISC-V will change
                  the world, and this book will help you become part of that
                  change. Professor Michael B. Taylor, University of Washington
                  This book will be an invaluable reference for anyone working
                  with the RISC-V ISA. Megan Wachs, PhD, SiFive Engineer}

The RISC-V Instruction Set Manual (2014) #

  author          = {Andrew Waterman and Yunsup Lee and David A. Patterson and
                  Krste Asanovic and Volume I User-level Isa and Andrew Waterman
                  and Yunsup Lee and David Patterson},
  title           = {The RISC-V Instruction Set Manual},
  year            = 2014

Computer Organization and Design RISC-V Edition: The Hardware Software Interface #

  author          = {Patterson, David A. and Hennessy, John L.},
  title           = {Computer Organization and Design RISC-V Edition: The
                  Hardware Software Interface},
  year            = 2017,
  isbn            = 0128122757,
  publisher       = {Morgan Kaufmann Publishers Inc.},
  address         = {San Francisco, CA, USA},
  edition         = {1st},
  abstract        = {The new RISC-V Edition of Computer Organization and Design
                  features the RISC-V open source instruction set architecture,
                  the first open source architecture designed to be used in
                  modern computing environments such as cloud computing, mobile
                  devices, and other embedded systems. With the post-PC era now
                  upon us, Computer Organization and Design moves forward to
                  explore this generational change with examples, exercises, and
                  material highlighting the emergence of mobile computing and
                  the Cloud. Updated content featuring tablet computers, Cloud
                  infrastructure, and the x86 (cloud computing) and ARM (mobile
                  computing devices) architectures is included. An online
                  companion Web site provides advanced content for further
                  study, appendices, glossary, references, and recommended
                  reading. Features RISC-V, the first such architecture designed
                  to be used in modern computing environments, such as cloud
                  computing, mobile devices, and other embedded systems Includes
                  relevant examples, exercises, and material highlighting the
                  emergence of mobile computing and the cloud}

Software Engineering #

Embedded systems #

Modeling C-based embedded system using UML design #

  author          = { {Guoping Wang}},
  booktitle       = {2009 International Conference on Mechatronics and
  title           = {Modeling C-based embedded system using UML design},
  year            = 2009,
  pages           = {2973-2977},
  abstract        = {Unified Modeling Language (UML) 2.0 is emerging in the area
                  of modeling the design of embedded system. The most common
                  implementation for the embedded-system models has been C++. On
                  one hand, the most common programming language for embedded
                  system overall by far is the functional language C. On the
                  other hand, the UML is used almost exclusively for
                  object-oriented systems development. This paper present an
                  approach of applying UML in the functionally-oriented embedded
                  systems design. This approach is illustrated using a stopwatch
                  design example.},
  keywords        = {C++ language;embedded systems;functional languages;Unified
                  Modeling Language;modeling C-based embedded system;UML
                  design;Unified Modeling Language;UML 2.0;C++;programming
                  language;functional language C;object-oriented systems
                  development;functionally-oriented embedded systems
                  design;stopwatch design;Embedded system;Unified modeling
                  language;Object oriented modeling;Computer languages;Embedded
                  computing;Real time systems;Costs;Energy
                  consumption;Mechatronics;Design automation;UML
                  modeling;embedded system
  doi             = {10.1109/ICMA.2009.5246023},
  ISSN            = {2152-744X},
  month           = {Aug},

Fault tolerant #

Basic concepts and taxonomy of dependable and secure computing #

  author          = {A. {Avizienis} and J. -. {Laprie} and B. {Randell} and C.
  journal         = {IEEE Transactions on Dependable and Secure Computing},
  title           = {Basic concepts and taxonomy of dependable and secure
  year            = 2004,
  volume          = 1,
  number          = 1,
  pages           = {11-33},
  abstract        = {This paper gives the main definitions relating to
                  dependability, a generic concept including a special case of
                  such attributes as reliability, availability, safety,
                  integrity, maintainability, etc. Security brings in concerns
                  for confidentiality, in addition to availability and
                  integrity. Basic definitions are given first. They are then
                  commented upon, and supplemented by additional definitions,
                  which address the threats to dependability and security
                  (faults, errors, failures), their attributes, and the means
                  for their achievement (fault prevention, fault tolerance,
                  fault removal, fault forecasting). The aim is to explicate a
                  set of general concepts, of relevance across a wide range of
                  situations and, therefore, helping communication and
                  cooperation among a number of scientific and technical
                  communities, including ones that are concentrating on
                  particular types of system, of system failures, or of causes
                  of system failures.},
  keywords        = {fault tolerant computing;data privacy;security of
                  data;system recovery;software reliability;taxonomy;dependable
                  computing;secure computing;system reliability;system
                  availability;system safety;system integrity;system
                  maintainability;fault prevention;fault tolerance;fault
                  removal;fault forecasting;system security;system
                  failures;system vulnerabilities;system
                  tolerance;Safety;Maintenance;Communication system
                  security;Uncertainty;Standardization;Books;Index Terms-
                  tolerance;fault removal;fault forecasting.},
  doi             = {10.1109/TDSC.2004.2},
  ISSN            = {1941-0018},
  month           = {Jan},

System structure for Software Fault Tolerance #

  author          = {Randell, Brian},
  journal         = {IEEE Transactions on Software Engineering},
  title           = {System structure for software fault tolerance},
  year            = 1975,
  volume          = {SE-1},
  number          = 2,
  pages           = {220-232},
  abstract        = {Presents and discusses the rationale behind a method for
                  structuring complex computing systems by the use of what is
                  termed `recovery blocks,' `conversations,' and `fault-tolerant
                  interfaces.' The aim is to facilitate the provision of
                  dependable error detection and recovery facilities which can
                  cope with errors caused by residual design inadequacies,
                  particularly in the system software, rather than merely the
                  occasional malfunctioning of hardware components.},
  doi             = {10.1109/TSE.1975.6312842},
  ISSN            = {1939-3520},
  month           = {June},

Mathematics #

Binary #

Bit Twiddling Hacks #

  title           = { Bit Twiddling Hacks },
  url             = {},
  journal         = {Bit Twiddling Hacks},
  author          = {Sean Eron Anderson}

Binary number representation #

  title           = {Unsigned Binary Integer},
  url             =
  journal         = {Binary Number Representations}

What are bitwise shift (bit-shift) operators and how do they work? #

  title           = {What are bitwise shift (bit-shift) operators and how do
                  they work?},
  url             = {},
  journal         = {What are bitwise shift (bit-shift) operators and how do
                  they work},
  publisher       = {Stackoverflow},
  author          = {Derek Park},
  year            = 2008,
  month           = {Sep}