1.
Sandeep Kumar 2. Nivedita Shrivastava 3. Md Ragib Hasan 4. Suneel Padala |
Date |
Lecture |
Topics |
Link to the Video |
8/2/2021 |
Introduction to Operating Systems [Chapter 1] |
1. Introduction to operating systems 2. Basic functions 3. Links to advanced study |
YouTube link |
10/2/2021 |
Operating Systems Services [Chapter 2] |
1. OS services 2. System calls 3. Linking and loading |
YouTube link |
15/2/2021 |
Processes [Chapter 3] |
1. Process creation and termination 2. Ready queue and wait queue 3. fork() and exec() |
YouTube link |
1. Message queues 2. Pipes, RPC, and sockets |
YouTube link |
||
19/2/2021 |
Threads [Chapter 4] |
1. Notion of threads 2. Creation and management 3. Java, PThreads, OpenMP, Intel TBB 4. Signals 5. Kernel threads |
YouTube link |
24/2/2021 |
Scheduling [Chapter 5, Part I] |
1. Scheduling 2. Shortest job first, FCS 3. Multicore systems 4. Real time scheduling |
YouTube link |
[Chapter 5, Part II] |
1. Linux, Windows and Solaris schedulers 2. Algorithmic considerations 3. Proof that SJF is optimal |
YouTube
link |
|
5/3/2021 |
Synchronization [Chapter 6] |
1. Locks: Peterson's Algorithm 2. Locks using atomic operations 3. Semaphores 4. Monitors and conditional variables |
YouTube
link |
6/3/21 |
Examples of Synchronization [Chapter 7] |
1. Bounded buffer problem 2. Readers-writers lock 3. Dining philosophers problem 4. Examples of Windows, Linux, and Java |
YouTube
link |
11/3/21 |
Deadlocks [Chapter 8] |
1. Four necessary conditions for a deadlock 2. Hold and wait edges 3. Deadlock prevention and avoidance 4. The Banker's algorithm 5. Deadlock recovery |
YouTube
link |
25/3/21 |
Main memory [Chapter 9, Part I] |
1. Page tables 2. TLBs 3. Inverted page tables and hash-based page tables |
YouTube
link |
30/3/21 |
Main memory [Chapter 9, Part II] |
1. Sun Sparc and Intel architectures 2. Page swapping |
YouTube
link |
30/3/21 |
Virtual memory [Chapter 10, Part I] |
1. Demand paging
2. Copy on write
3. Page replacement algorithms |
YouTube
link |
3/4/21 |
Virtual memory [Chapter 10, Part II] |
1. Thrashing 2. Buddy and slab allocators 3. Page table and TLB optimizations |
YouTube
link |
3/4/21 |
Storage Structures [Chapter 11] |
1. Design of hard disks 2. Flash drives 3. The boot process 4. RAID systems |
YouTube
link |
10/4/21 |
I/O Systems [Chapter 12] |
1. Memory-mapped and I/O-mapped addressing 2. DMA 3. Polling and interrupts 4. Kernel's I/O subsystem |
YouTube
link |
14/4/21 |
File-System Interface [Chapter 13] |
1. Concept of files
2. Sequential and random access
3. Directory structure and mount points |
YouTube
link |
15/4/21 |
File-System Implementation [Chapter 14] |
1. File System Layers 2. FAT tables and inodes 3. Free space management 4. Consistency and recovery |
YouTube
link |
18/4/21 |
File-System Internals [Chapter 15] |
1. Mounting local and distributed file
systems 2. Virtual file system (VFS) 3. Network file system (NFS) |
YouTube
link |
24/4/21 |
Security [Chapter 16, Part I] |
1. Buffer overflow attacks 2. Program threats 3. Symmetric and asymmetric encryption |
YouTube link |
24/4/21 |
Security [Chapter 16, Part II] |
1. Digital signatures and authentication 2. Network security 3. Example: Windows 10 |
YouTube link |
1/5/21 |
Protection [Chapter 17] |
1. Access matrix 2. Access control lists and capability lists 3. Lock and key based security 4. Language based protection |
YouTube link |