|
|
Essential
slides
|
0. Organization
& table of contents |
|
|
|
Part I - Operating Systems
|
|
1. Introduction to operating systems |
- Features (and non-features) of operating system
- Common grounds for operating systems
- Historical perspectives
- Types of current operating systems
- Design principles for system software (monoliths & µkernels)
- Examples of languages considered for system level programming:
- Java
- Ada95
- POSIX interfaces
- C/C++
|
|
|
2. Hardware basics |
- General computer architecture
- CPU
- Registers
- Traps/Interrupts & protected modes
- Memory
- General memory layout
- Caching
- I/O systems
- I/O controllers
- I/O buses
- Elementary device programming
- Some examples of µprocessors
- Small scale µcontroller (68HC05)
- Full scale integrated processor (MCP565)
|
|
|
3. Processes |
- Processes and threads
- Architectures
- Definitions
- Process states and models
- Shared memory based synchronization
- Flags
- Condition variables
- Semaphores
- Conditional critical regions
- Monitors
- Protected objects.
- Issues
- Guard evaluation times
- Nested monitor calls
- Simultaneous reading
- Queue management.
- Synchronization and object orientation
- Blocking operations and re-queuing.
- Message based synchronization
- Synchronization models
- Addressing modes
- Message structures
- Selective accepts, selective calls
- Indeterminism in message based synchronization
- Deadlocks
- Deadlock situations and requirements
- Deadlock detection & recovery
- Resource allocation graphs
- Bankers algorithm
- Deadlock avoidance
- Deadlock prevention
- Eliminate one of the pre-conditions for deadlocks
- Scheduling
- Basic performance based scheduling
- Ci is not known:
- First-come-first-served (FCFS)
- Round robin (RR)
- Feedback-scheduling
- Ci is known:
- Shortest job first (SJF)
- Highest response ration first (HRRF)
- Shortest remaining time first (SRTF)
- Basic predictable scheduling
- Fixed Priority Scheduling (FPS)
with rate monotonic priority order (RMPO)
- Earliest Deadline First (EDF)
- Real-world extensions
- Aperiodic, sporadic, soft real-time tasks
- Synchronized talks (priority inheritance, priority ceiling protocols)
|
|
|
4. Memory |
- Requirements & hardware structures
- MMU features & requirements
- Partitioning, segmentation, paging & virtual memory
- Simple segmentation
- Simple paging
- Multi-level paging
- Combined segmentation & paging
- Translation look aside buffers
- Hashed tables, Inverted page tables
- Virtual memory management algorithms
- Fetching
- Placement
- Replacement
- Resident set management
- Cleaning
- Load control
|
|
|
Part II - Networks
|
|
1. Introduction to networks |
|
|
|
2. ISO layers |
|
|
|
3. Network standards
(lower layers) |
- Ethernet: 10Base2, 100BaseT, Gbit
- Switching, VLAN, Wireless Ethernet
|
|
|
4. Protocols |
- IP
- SNAP
- Routing
- TCP
- SMTP
- HTTP
- UDP
- DNS
- SNMP
- RPC
- NFS
|
|
|