Teaching Assistant (CS 350)
Undergraduate, University of Waterloo, 2021
Role
Teaching Assistant
Course
Terms(s)
- Fall (Sep. - Dec.) 2021
Language(s)
C
Topics
- Historical overview of operating system development
- Operating system architectures
- Multi-Programming
- Processes and threads, system calls, context switching
- Managing processor time
- Types of scheduling, scheduling algorithms
- Concurrency Principles of concurrency
- Mutual exclusion and semaphores
- Deadlock detection and prevention
- Memory Management
- Simple memory management techniques: partitioning, dynamic loading, simple segmentation
- Virtual addressing and address translation
- Virtual memory management: segmentation, paging, caching strategies
- Load control, swapping, and thrashing
- Device Management
- Physical structure and properties of devices, device control and interaction, blocking, buffering, disk scheduling, DMA
- File Systems
- File naming, types and logical organization
- Space allocation and management
- File system interfaces
- Implementation strategies
- Case studies
- Interprocess Communication (5 hours)
- Terminology and issues, message passing functionality, pipes, sockets, signals, shared memory, and other communication mechanisms
Duties
- Moderated online discussions on Piazza and answered questions
