CONCEPTS OF OPERATING SYSTEMS PPT
Schedule & Syllabus |
Course Overview and Entrance Exam In class written exam to ensure that all students embarking on this course have adequate knowledge of Operating Systems concepts at the undergraduate level. If you do not have adequate knowledge you will be advised to defer taking this class until after you have completed CS333. Reading:
|
Threads and Concurrency Review of answers to the entrance exam. Review of the thread concept; concurrency and the need for synchronization; complexity of concurrent programming. Reading:
Useful Links:
|
Event-Based Systems Steps toward automatic detection of race conditions, the case against thread-based programming; the reactive programming model; event-based programming. Reading:
|
Duality of Threads and Events The performance and load management implications of thread-based vs event-based programming; the duality of event-based systems and thread-based systems; the case against event-based programming. Reading:
|
Integrated Task and Stack Management Relationship between task management and stack management; Managing state across blocking I/O calls; Cooperative task management with automatic stack management; Integration of legacy code that uses both manual stack management and automatic stack management; Reading:
|
Scheduler Activations and RPC Kernel support for user-level cooperative threading on shared memory multiprocessors. Design and implementation issues for remote procedure calls (RPC). Reading:
|
RPC Implementation on Shared Memory Multiprocessors Optimization of RCP for cross-address-space local communication. How to implement RPC efficiently on a shared memory multiprocessor among user-level threads in different address spaces. Reading:
|
System Structuring Using Layers The advantages and disadvantages of layering as a kernel structuring approach. Reading:
|
Micro-Kernels Modular operating systems; implementing operating system server modules as user level processes that interact via IPC; micro-kernel based OS architectures and abstractions. Reading:
|
In Class Midterm Exam |
Improving Micro-Kernel Performance Strategies for improving IPC performance in micro-kernel operating systems that utilize hardware-based protection; analysis of potential performance improvements and their impact on higher level performance at the OS and application level. Reading:
|
Software-Based Protection for Improving Micro-Kernel Performance Alternatives to hardware-based protection for structuring operating systems; implementing protection at the assembly language level; supporting operating system extensibility and safety using high-level language support. Virtual machines; supporting multiple operating systems simultaneously on a single hardware platform; running one operating system on top of another. Reducing the software engineering effort of developing operating systems for new hardware architectures. (select two of the following three papers) Reading:
|
Virtualization Virtual machines; supporting multiple operating systems simultaneously on a single hardware platform; running one operating system on top of another. Reducing the software engineering effort of developing operating systems for new hardware architectures. True or pure virualization. Para virtualization; optimizing performance of virtualization system; hypervisor call interface. Reading:
|
Exo-Kernels Exo-kernel concept; minimal operating system functionality; separation of mechanism and policy; techniques for implementing application specific handlers; dynamic specialization of packet filters. Reading:
|
Synchronization and Scalability on Multiprocessors A discussion of various forms of lock-based synchronization used in OS kernels. A case study of the locking primitives used in the Linux kernel. Implementation strategies for spin locks, with emphasis on contention issues and design strategies that improve performance and scalability. Reading:
|
Transactional Memory A discussion of transactional memory and an attempt to use it in the Linux kernel.
|
Memory Consistency Models Memory consistency models of modern CPUs, sequential consistency, weak consistency models, memory barriers, and implications for performance and scalability.
|
Scalability Issues on Multiprocessors Design of operating systems for high scalability on multiprocessor systems: locality issues, object distribution and replication, scalable locking and interaction with memory management. Multi-kernel design strategies.
Submit position papers by email to walpole@cs.pdx.edu before class. |
Local Research on Scalable Concurrent Programming Relativistic Programming. Reading:
· Discussion slides: [.ppt] |
|
No comments:
Post a Comment