سیستم عامل ۱ – ۹۹۲

زمان‌بندی و مباحث درس و فیلم‌ها و برگه‌های درس در پرونده گوگل زیر آمده:

  • فیلم‌های درس اینجا قرار داده می‌شود.

پروژه درس:

پروژه درس از روی پروژه BLITZ آمده که حل تمرین‌ها زحمت کشیده و آن را به روز کرده‌اند. نسخه گیت‌هاب آن و صفحه‌ای برای معرفی آن طراحی شده است.

نمره‌دهی

نمره‌دهی درس را در برگه‌های جلسه اول از پرونده گوگل دریافت کنید.

منبع اصلی مطالب درس

طرح و برگه‌ها و زمان‌بندی درس بر اساس درس دیگری توسط آقای Jonathan Walpole طراحی شده که زمان‌بندی و برگه‌های درس ایشان برای سال ۲۰۱۲ در ادامه آمده است:

4-2-12Course Overview and Introduction to Operating Systems
Course outline. Overview of course project and expectations. Introduction to hardware support for operating systems: privileged mode execution, saving and restoring CPU state, traps and interrupts, timers, memory protection. Operating system techniques for protecting user and hardware resources. Overview of the key operating system abstractions and the use of system calls to manipulate them.

Slides: [ .pptx .pdf ]
Reading: Chapters 1 and 2
Start Project 1 – Introduction to BLITZ (due 4-9-12)
4-4-12The Process Concept
Complete the overview of the key operating system abstractions and the use of system calls to manipulate them. Program execution, the process concept, process-related state, the process table, saving and restoring process state, the role of the scheduler.

Slides: [ .ppt .pdf ]
Reading: Chapter 3
4-9-12Threads and Concurrency
Threads, process context switch vs thread switch, true concurrency vs pseudo concurrency, operating systems as concurrent programs, concurrency through multi-threading, concurrency through interrupt handling, concurrent access to shared memory, race conditions, mutual exclusion, synchronization primitives based on atomic instructions.

Slides: [ .ppt .pdf ]
Reading: Chapter 4
Project 1 due at start of class.
Start Project 2: Threads & Synchronization (due 4-23-12)
4-11-12Synchronization Primitives
Atomic instructions, locks, spinlocks, mutex semaphores, counting semaphores, and their use in solutions to Producer Consumer synchronization.

Slides: [ .ppt .pdf ]
Reading: Chapter 6
4-16-12Classic Synchronization Problems
Classic synchronization problems: Producer Consumer, Dining Philosophers, Readers and Writers, Sleeping Barber.

Slides: [ .ppt .pdf ]
Reading: Chapter 6
4-18-12Monitors and Message Passing
Monitors, condition variables, message passing, and their use in solutions to classic synchronization problems: Producer Consumer, Dining Philosophers, Readers and Writers, Sleeping Barber.

Slides: [ .ppt .pdf ]
Reading: Chapter 6
4-23-12Deadlock
Deadlock, livelock, deadlock detection, avoidance, and prevention.

Slides: [ .ppt .pdf ]
Reading: Chapter 6
Project 2 due at start of class.
Start Project 3: Synchronization Problems (due 5-9-12)
4-25-12Scheduling
Separation of policy from mechanism, scheduling mechanisms, preemptive vs non-preemptive scheduling, example scheduling policies, FIFO, round-robin, shortest job first, priority scheduling, Unix-style feedback scheduling, proportional share scheduling, lottery scheduling.

Slides: [ .ppt .pdf ]
Reading: Chapter 5
4-30-12Memory Management
Memory addresses and binding, static and dynamic addresses translation, address translation using base and limit registers, memory management algorithms using linked lists and bitmaps, external and internal fragmentation, paged virtual memory.

Slides: [ .ppt .pdf ]
Reading: Chapter 7
5-2-12Midterm Exam
In class, closed-book exam based on material covered so far.
5-7-12Virtual Memory 1
Physical address spaces, virtual address spaces, page table design, single-level and multi-level page tables, hardware support for dynamic address translation using a TLB, hardware and software managed TLB refill.

Slides: [ .ppt .pdf ]
Reading: Chapter 8
5-9-12Virtual Memory 2
Inverted page tables, the memory hierarchy, TLB miss faults, segmentation faults, protection faults, page faults, hardware support for memory protection, segmentation.

Slides: [ .ppt .pdf ]
Reading: Chapter 8
Project 3 due at start of class.
Start Project 4: Kernel Resource Managers (due 5-23-12)
5-14-12Virtual Memory 3
Implementation issues, page sharing, copy-on-write, page fault handling, segmentation, segmentation with paging.

Slides: [ .ppt .pdf ]
Reading: Chapter 8
5-16-12Paging Algorithms
Demand paging, swapping, placement and replacement algorithms, memory hierarchy revisited, overview of cache architecture, performance modeling for memory management systems.

Slides: [ .ppt .pdf ]
Reading: Chapter 8
5-21-12Input/Output
Devices, memory mapped devices, DMA, device drivers, interrupt handling, scheduled vs non-scheduled I/O processing, block vs character devices.

Slides: [ .ppt .pdf ]
Reading: Chapter 12
5-23-12Secondary Storage Management
Disks, sectors, tracks, blocks, disk head scheduling algorithms, the file abstraction, directories, links.

Slides: [ .ppt .pdf ]
Reading: Chapter 11
Project 4 due at start of class.
Start Project 5: User Level Processes (due 6-6-12)
5-30-12File Systems 1
File system architecture, file system data structures and system calls.

Slides: [ .ppt .pdf ]
Reading: Chapters 9 and 10
6-4-12File Systems 2
File system architecture and design criteria.

Slides: [ .ppt .pdf ]
Reading: Chapter 10
6-6-12Security
Protection domains and mechanisms, access control lists, capabilities, user authentication, encryption, common internal and external attacks.

Slides: [ .ppt .pdf ]
Reading: Chapters 13 and 14

Project 5 due at start of class.
6-11-12Final Exam

برخی منابع جالب