Lesson n. 1: Operating systems overview - part I
Operating Systems (O.S.) Overview - Part I
O.S. Functions
The Evolution of O.S.: Uniprogrammed Batch System (Monitor)
The Evolution of O.S.: Multiprogrammed Batch System
The Evolution of O.S Time-Sharing System
The concept of overhead
|
|
Maurelio Boari
|
Lesson n. 2: Operating systems overview - part I I
Operating Systems (O.S.) Overview - Part II
O.S. Classification: Batch, Interactive, Embedded, PC, PDA Systems
O.S. Classification: Real Time System
Transactions
O.S. Classification: Distributed System
|
|
Maurelio Boari
|
Lesson n. 3: Basic hardware elementes
Basic Hardware Elements - Interrupt Mechanism
Interruption Processing
O.S. Components
System Calls
User mode and Supervisor (kernel) mode
|
|
Maurelio Boari
|
Lesson n. 4: Process management - part I
Process Management - Parte I
Process Definition
Process States
Process Description
States of a Unix Process
|
|
Maurelio Boari
|
Lesson n. 5: Process management - part II
Process Management - Part II
Context Switch
Scheduling
Operations on processes - Process Creation
Operations on processes - Process Termination
Short Term Scheduling (Unix solution)
|
|
Maurelio Boari
|
Lesson n. 6: Process management - part III
Process Management - Parte III
Threads
User-level and Kernel-level Threads
Process Interaction - mutual exclusion, communication and synchronization
Process Interaction Models
|
|
Maurelio Boari
|
Lesson n. 7: Syncronization mechanisms - part I
Synchronization Mechanisms - Part I: Mutual Exclusion problem
Mutual exclusion with TSL (Test and Set Lock)
Mutual exclusion with Semaphors
|
|
Maurelio Boari
|
Lesson n. 8: Syncronization mechanisms - part II
Synchronization Mechanisms - Part II: Producer-Consumer with Semaphors
Message Passing Model
Synchronization in message passing model
Kernel of a Process System
|
|
Maurelio Boari
|
Lesson n. 9: Deadlock
Deadlock - Arguments
Principles of deadlock
Conditions for deadlock
Deadlock Prevention
Deadlock Dynamic Prevention - Banker's algorithm
Deadlock Detection
|
|
Maurelio Boari
|
Lesson n. 10: Pthreads and java - part I
Pthreads and Java - Part I
Threads Definition
Example of a thread creation using pthread
Threads Synchronization
|
|
Maurelio Boari
|
Lesson n. 11: Pthreads and java - part II
Pthreads and Java - Part II
Pthreads synchronization - produce-consumer example
Pthreads synchronization - produce-consumer example with mutex
Pthreads synchronization - semaphors
Java Thread Definition
|
|
Maurelio Boari
|
Lesson n. 12: Pthreads and java - part III
Pthreads and Java - Part III: Java thread synchronization
Pthreads and Java - Object Lock Mechanism
Pthreads and Java - Wait-notify Mechanism
Example using wait and notify primitives
|
|
Maurelio Boari
|
Lesson n. 13: Introduction to memory management
Introduction to Memory Management - Topics
Resource Allocation Techniques
Similarities between CPU and Memory Management
Differences between CPU and Memory Management
|
|
Paolo Ancilotti
|
Lesson n. 14: Virtual memory
Virtual Memory - Topics
Virtual Memory Definition
Address Relocation
Virtual Memory Organization
|
|
Paolo Ancilotti
|
Lesson n. 15: Classification of memory management techniques
Classification of Memory Management Techniques - Topics
Classification criteria: Virtual Memory Organization
Classification criteria: Memory Allocation
Classification Criteria: Virtual Memory Dimension
Memory Management Techniques (summary of classification criteria)
Memory Partitioning
|
|
Paolo Ancilotti
|
Lesson n. 16: Segmentation
Segmentation - Topics
Placement Algorithms
Multiple Partitions
Simple Segmentation
Simple Segmentation: segmented virtual space
|
|
Paolo Ancilotti
|
Lesson n. 17: Segmentation on demand
Demand Segmentation - Topics
Simple Segmentation: TLB (Translation Lookaside Buffer)
Simple Segmentation: Protection and Sharing
Simple Segmentation: Pros and Cons
Demand Segmentation
|
|
Paolo Ancilotti
|
Lesson n. 18: Paging
Paging - Topics
Simple Paging
Address Translation Mechanism
|
|
Paolo Ancilotti
|
Lesson n. 19: Demand paging
Demand Paging - Topics
Demand Paging
Address Translation Mechanism
Replacement Algorithms
|
|
Paolo Ancilotti
|
Lesson n. 20: Segmentation with paging
Segmentation with Paging - Topics
Replacement Algorithms (cont.)
Trashing and Working Set in Demand Paging
Two-level Paging
Segmentation with Paging
|
|
Paolo Ancilotti
|
Lesson n. 21: I/o subsystem: introduction
I/O Subsystem: Introduction - Topics
Goals of the I/O subsystem
I/O Hardware, I/O Devices and Error Handling
I/O Buffering and I/O Scheduling
I/O subsystem Architecture
|
|
Paolo Ancilotti
|
Lesson n. 22: I/o subsystem: device drivers
I/O subsystem: Device Drivers - Topics
Principles of I/O Hardware
Principles of I/O Hardware: Interrupt-driven I/O
Device Drivers
|
|
Paolo Ancilotti
|
Lesson n. 23: I/o subsystem: conclusions
I/O Subsystem: Conclusions - Topics
Direct Memory Access(DMA)
Logical Structure of the I/O Function
Disk Scheduling: Disk Structure
Disk Scheduling: Scheduling Algorithms
|
|
Paolo Ancilotti
|
Lesson n. 24: File system: introduction
File System: Introduction - Topics
Disk Scheduling: SCAN and LOOK algorithms
The Concept of File
File Operations
File Structure and Access Methods
|
|
Paolo Ancilotti
|
Lesson n. 25: File system: implementation
File System Implementation - Topics
File System Organization: Virtual Disk and Directory Implementation
File System Organization: Directory Structure and Operations
File System Organization: File Access
Allocation method
|
|
Paolo Ancilotti
|