Download CS703 Details

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CS703
Advance Operating Systems
Course Outline:
Topic
Lecture Resource
Course Objectives, Introduction, Issues involved
in the Design of Operating Systems
1
Tanenbaum (2001)
Major Components, Structure and Internal
Architecture of an OS, Monolithic VS Microkernel
2
Tanenbaum (2001)
Linking and Loading Anatomy of a Process;
Static, Dynamic and Shared libraries
3
Bryant and O’ Hallaron
(2002)
Processes: Definition, Address Space; Context
Switching, Process Management Models
4
Bryant and O’ Hallaron
(2002)
Process Management Models, State Machines,
PCB, System Calls for Process Management
5
Tanenbaum (2001)
fork() Examples, Zombies, Wait and Waitpid
System Calls, Concurrency, Threads
6
Tanenbaum (2001)
Threads: Design Space, Address Space, User and
7
Kernel Level Threads
Tanenbaum (2001)
POSIX Threads: Interface, e.g clone() System
Call, Process / Threads States, FSM in Linux
8
Linux man pages
Shared Variables, Concurrency and
Synchronization, Critical Sections
9
Tanenbaum (2001),
Stallings (2004)
Concurrency Examples, Locks, Implementing
Locks, Semaphores
10
Tanenbaum (2001),
Stallings (2004)
Producer Consumer Problem, Semaphores,
Condition Variables and Monitors
11
Tanenbaum (2001),
Stallings (2004)
Readers / Writers Problem, Thread Safety and
Reentrant Functions, Solving Thread Un-safety
12
Tanenbaum (2001),
Stallings (2004)
Deadlocks: Definition, Required Conditions,
Examples, Detection, Avoidance, Prevention
13
Tanenbaum (2001),
Stallings (2004)
Thread Usage Paradigms, Paper by Hauser et al.,
14
Pros and Cons of Different Paradigms
Research paper by Hauser
et al.
Design Alternatives for Concurrent Servers,
CPU Scheduling
15
Tanenbaum (2001),
Stallings (2004)
Scheduling: Round Robin, Priority Scheduling,
STCF
16
Tanenbaum (2001),
Stallings (2004)
Multilevel Queue, Scheduling in: Unix, Linux;
Multiprocessor Systems
17
Stallings (2004)
Assignment and Scheduling of Processes /
Threads to Processors, Real-time Systems
18
Stallings (2004)
Real-time Operating Systems
19
Stallings (2004)
Goals of a good Allocator, Memory
Fragmentation, Implementation Issues of
Memory Allocator
20
Tanenbaum (2001)
Explicit Free Lists Base Allocator, Segregated
Free Lists, Exploiting Allocation Patterns
21
Tanenbaum (2001)
Overview of 1 - 21 Lectures
22
Goals of OS Memory Management,
Multiprogramming, Virtual Addresses, Fixed &
Variable Part
23
Tanenbaum (2001),
Stallings (2004)
Paging, Address Translation, Page Tables &
Page Table Entries, Multi-level Address
Translation
24
Tanenbaum (2001),
Stallings (2004)
Segmentation, Combined Segmentation &
Paging, Efficient Translation and Caching
25
Tanenbaum (2001),
Stallings (2004)
Set Associative & Fully Associative Cache,
Demand Paging, Page Replacement Algorithms
26
Tanenbaum (2001),
Stallings (2004)
Page Replacement, Thrashing, Working Set
Model, Page Fault Frequency, Copy on Write
27
Tanenbaum (2001),
Stallings (2004)
Page Fault Frequency, Sharing, Copy on Write,
Mapped Files, P6 Memory System
28
Tanenbaum (2001),
Stallings (2004)
File Systems: Basic Operations, File Access
Methods, Directories, Protection
29
Tanenbaum (2001),
Stallings (2004)
Indexed Allocation, i-node format, File Buffer
Cache, Caching Writes, Read Ahead
30
Tanenbaum (2001),
Stallings (2004)
Consistency Problem, Atomic Disk Operations
31
Tanenbaum (2001),
Stallings (2004)
Files Systems: Deleting a File, Bogus Reference
Count, Creating a new File
32
Tanenbaum (2001),
Stallings (2004)
File Systems: Physical Disk Structure, Disk
Scheduling, BSD 4.4 FFS
33
Tanenbaum (2001),
Stallings (2004)
File Systems: Log Structured File Systems
34
Tanenbaum (2001),
Stallings (2004)
I/O Subsystem: Goals, Layers, Direct VS
Memory Mapped, Interrupt Driven, Polled;
DMA
35
Tanenbaum (2001),
Stallings (2004)
Device Independent I/O Software Layer,
Buffered & Un-buffered I/O, Block & Character
Devices
36
Tanenbaum (2001),
Stallings (2004)
Interrupt Handlers, Interrupts & Exceptions,
Linux Interrupt Handling, Top, Bottom Halfs
37
Tanenbaum (2001),
Stallings (2004)
Loadable Kernel Modules & Device Drivers,
Linux Module: Management, Conflict
Resolution
38
Tanenbaum (2001),
Stallings (2004)
Security Issues, Policy VS Mechanism, Design
Principles for Security
39
Tanenbaum (2001)
User Authentication, Password Based
Authentication, Unix Password Scheme
40
Tanenbaum (2001)
ACL VS Capabilities, Delegation VS
Revocation, Operations on Capabilities, Roles
41
Tanenbaum (2001)
Trojan Horses, Login Spoofing Attacks, Logic
Bombs, Trap Doors, Buffer & Stack Overflow
42
Tanenbaum (2001)
Types of Buffer Overflow Attacks, StackGuard
& PointGurad, Libsafe
43
Tanenbaum (2001)
Java Security, Unix File Security, Setuid
Programs, Windows Security, SE Linux
44
Stallings (2004)
OS Research Directions, Reliability of
Commodity OSes, Mobile Phone Risks and
Security
45
Books:
1. Modern Operating Systems, Tanenbaum (2001), Andrew S. Tanenbaum, 2nd
Edition, Prentice Hall
2. Operating Systems Internals and Design Principles, Stallings (2004), William
Stallings, 5th edition, Prentice Hall
3. Operating Systems, Nutt (2003), Gary Nutt, 3rd edition, Addison Wesley
4. Computer Systems: A programmer’s perspective, Bryant and O'Hallaron (2002),
Randal E. Bryant and David R. O'Hallaron, 1st Edition, Prentice Hall
Related documents