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