Part 1: Systems Methodology

  • Introduction to system software
  • Systems methodology
  • Mathematical background
  • Ad hoc systems
  • Common systems in software design
  • System software implementation using virtual machines
  • Problem solving methodology
  • Using computers to solve problems
  • Part 2: Using Systems Methodology for Hardware Structuring

  • Hardware system
  • Computer architecture classification
  • Functional behavior of memory components
  • Functional behavior of processor components
  • System software overview
  • Part 3: Execution Support Environment

  • Problem solving methodology: review
  • The Process: representation and manipulation
  • Memory management system
  • I/O device management system
  • Example I/O programming
  • Interrupt system
  • Computation activity and its interruption
  • Interrupt system specification
  • Functional behavior of interrupt components
  • Actual implementations of interrupt system
  • Modern interrupt systems
  • System operator: the first operating system
  • Batch Operating System, BOS
  • Enforcing system-user communication in BOS
  • Problem of protection in a BOS
  • Timing program execution
  • System's efficiency under BOS
  • A model of multiprogramming system
  • Convenience and evolution of BOS
  • From BOS to interactive and time sharing systems
  • Real time systems
  • Multiprocessing systems
  • Part 4: Programming Support Environment

  • Architecture of a programming support environment
  • Machine language specification
  • Java Virtual Machine, JVM
  • Assembly language specification
  • Oolong: The assembly language of JVM
  • Oolong: method development
  • Oolong: classes and objects
  • Oolong: control flow instructions
  • Oolong exceptions
  • Assembler design and implementation
  • The two pass assembler
  • High level languages and their compilers
  • Program loading for execution: direct loaders
  • Program loading for execution: sequential loaders
  • Loading JVM programs