Copyright © Antonio D'Angelo, Univ. of Udine

Operating Systems Lectures

Summary


(Tentative) Class Schedule

Week

Date

Topic

Slides

1

15 Novembre

Hardware & Firmware Organization; Process Unit; RISC Machine: PowerPC, SPARC, MIPS, Alpha, Cell; CISC Machine: Pentium3, AMD, Athlon; Process Architecture: Motorola, Intel, Silicon Graphics, IBM XT; Control models; Event-driven Architecture; ARM Architecture: processors, ARMv7, Cortex A8 & A9, data size & instruction sets, processor modes, register sets & program status register

Introduction

2

16 Novembre

Operating System Services; User Operating System Interface; System Calls; Types of System Calls; System Programs; Operating System Structure; Virtual Machines; System Boot

Operating System Structure

3

22 Novembre

Process Concept; Process Scheduling; Operations on Processes; Scheduling; Examples of process Creation: newp, pshare, mshare

Processes

4

23 Novembre

Information Sharing and Modularity; Cooperating Process; Models of Communication; Direct and Indirect Communication; Examples of IPC Systems using shared memory and explicit message passing; Communication in Client-Server Systems: Sockets, Remote Procedure Calls, Remote Method Invocation

Interprocess Communication

5

29 Novembre

Overview; Multithreading Models; Thread Libraries; Threading Issues; Thread programming Examples: creation and syncronization

Threads I

6

30 Novembre

Overview; Multicore Programming; Thread Libraries: example; Operating System Examples: Windows XP, Linux

Threads II

Threads and Processes Examples

S.O. Test 1

7

13 Dicembre

Basic Concepts; Scheduling Criteria; Scheduling Algorithms: First come first served, Shorted job first version 1 and version 2; Thread Scheduling; Multiple-Processor Scheduling; Operating Systems Examples: Solaris, Windows XP, Linux

CPU Scheduling

8

14 Dicembre

Background; the Critical-Section Problem; Peterson’s Solution; Synchronization Hardware; Semaphores; Classic Problems of Synchronization; Monitors; Dining Philosopher Problem

Process Syncronization

Sleeping Barber Problem; CPU Management and Scheduling; Fibonacci's Series

S.O. Test 2

9

20 Dicembre

Synchronization Examples: Solaris, Windows XP, Linux, Pthreads; Atomic Transactions; The Deadlock Problem; System Model; Deadlock Characterization; Methods for Handling Deadlocks; Deadlock Prevention; Deadlock Avoidance

Synchronization and Deadlock

10

21 Dicembre

Deadlock Detection; Banker's Algorithm; Recovery from Deadlock; Main Memory Background; Swapping; Contiguous Memory Allocation; Paging

Deadlock and Memory Management

Cigarette Smokers Problem; Scheduling and Synchronization; Comparison of Scheduling Algorithms

S.O. Test 3

10 Gennaio

Solution of the Sleeping Barber Problem; CPU Management and Scheduling on comparison; Fibonacci's Series solution

S.O. Test 2 Solution

11 Gennaio

Solution of the Cigarette Smokers Problem; Scheduling and Synchronization: solved questions; Algorithms to be compared

S.O. Test 3 Solution

Money Transfer; Scheduling and Memory; Paging: address translation

S.O. Test 4

11

17 Gennaio

Paging revising; Structure of the Page Table; Segmentation; Example: The Intel Pentium; Virtual Memory Background; Demand Paging; Copy-on-Write; Page Replacement

Main and Virtual Memory

12

18 Gennaio

Page Replacement revised; Allocation of Frames; Thrashing; Memory-Mapped Files; Allocating Kernel Memory; Other Considerations; Operating-System Examples

Virtual Memory