Cacciagrano Diletta Romana

Teaching Module: OPERATING SYSTEMS

____________________________________

Course of study

COMPUTER SCIENCE [L-INF]  

Method of training

Lesson.

Time

42 h

Kind of the activity

Characterizing training activity.

SSD

INF/01

ETCS

6

Learning outcomes

Knowledge of the main theoretical and projectual  features of the operating systems. Knowledge of the main elaboration resources abstractions, associated policies and mechanisms for their management. Ability in applying the above knowledge and in using know-how to complete tasks and solve more general problems. Prowess in looking at the computer as a concurrent components and shared resources set. Ability to use acquired knowledge, skills and personal methodological abilities in work or study situations.

Prerequisites

Fundamentals Programming Concepts, Data Structures and Algorithms, Computer Architecture, English language.

Contents

The course is intended as a general introduction to the techniques used to implement a real operating systems and related kinds of systems software. A fundamental component of designing an operating system is in selecting the proper set of resource abstractions, associated policies and mechanisms for their management. In this course, various resource types and their common abstractions are studied. For example, abstractions for memory, computations context, CPU, files. Then mechanisms (algorithms) for manipulating, partitioning and scheduling the resources for both internal use and for allocating to clients are taken into account.


CONTENTS:

  • Introduction: what operating systems do, mainframe, desktop, multiprocessor, distributed, real-time, embedded.

  • Operating-system structures: operating-system services, system calls, virtual machines, operating-system design and implementation.

  • Processes: process concept, synchronization, the critical-section problem (Peterson’s Solution, Test-and-Set, Semaphores), scheduling algorithms, methods for handling deadlocks.  

  • Memory management:  swapping, contiguous memory allocation (fixed and variable partitions), non-contiguous memory allocation (paging and segmentation).

  • Virtual memory: page table, page replacement algorithms, Belady’s anomaly.

  • File-system interface: file and a directory concepts, access methods, protection, commands.

  • File-system implementation: file-system structure and implementation, directory implementation, allocation methods, free-space management, performance, consistence.

Learning assessment method

Active lectures. Write examination.

Literature

  • A.Silbershatz, P. Galvin. Sistemi Operativi (7 ed.). Addison Wesley.

  • Andrew S. Tanenbaum. Modern Operating Systems. Prentice Hall.

Handouts

Slides.