Modules | Area | Type | Hours | Teacher(s) | |
SISTEMI OPERATIVI | ING-INF/05 | LEZIONI | 90 |
|
Al termine del corso, lo studente:
By the end of the course:
Al termine del corso, lo studente:
By the end of the course:
Lo studente verrà stimolato ad usare un linguaggio tecnico non ambiguo nel definire un problema, e ad esercitare un motivato spirito critico nel descrivere e analizzare le soluzioni.
Students will be encouraged to use an unambiguous technical language to define a problem, as well as to exercise a motivated critical approach in describing and analyzing solutions.
Durante l'esame orale, lo studente dovrà rispondere seguendo uno schema "problema-soluzione-analisi", curando precisione e appropriatezza del linguaggio.
During the oral examination, the student will have to answer following a "problem-solution-analysis" scheme, taking care of the accuracy and appropriateness of the language.
Conoscenze di base di programmazione e sull’architettura di un calcolatore.
Basic knowledge of programming and computer architecture.
Lezioni frontali, con ausilio di lavagna e slide. Esercitazioni in laboratorio con presenza di docente di supporto; si possono usare sia i PC delle aule informatiche, che i PC personali, se disponibili.
Lectures, with the aid of blackboard and slide. Laboratory exercises with the presence of a support teacher; students can use both PCs in computer lab and personal PCs, if available.
Concetti introduttivi. Principali funzioni di un sistema operativo. Cenni storici sull’evoluzione dei sistemi operativi. Richiami di architetture dei sistemi di elaborazione. Struttura dei sistemi operativi.
Gestione dei processi. Definizione di processo. Stati di un processo. Descrittore di un processo. Code di processi. Cambio di contesto. Creazione e terminazione dei processi. Interazione tra i processi. Richiami sul nucleo di un sistema a processi. Classificazione degli algoritmi di short-term scheduling e metriche per la loro valutazione (FCFS, SJF, SRTF, RR). Schedulazione di sistemi hard real-time (RM, EDF). Thread.
Sincronizzazione dei processi. Tipi di interazione tra processi. Problema della mutua esclusione. Problemi di sincronizzazione: Produttori-Consumatori, Lettori-Scrittori, 5 Filosofi. Semafori. Monitor. Primitive send e receive. Soluzione ai problemi di mutua esclusione, sincronizzazione e comunicazione tra processi. Blocco critico: condizioni, prevenzione statica e dinamica, rilevamento e recupero.
Gestione della memoria. Introduzione alla gestione della memoria. Memoria virtuale. Tecniche di gestione della memoria: segmentazione, paginazione, rimpiazzamento.
Gestione delle periferiche (I/O). Organizzazione logica del sottosistema di I/O. Gestore di un dispositivo. Device driver. Gestione e organizzazione dei dischi.
Il file system. Organizzazione del file system. La struttura logica del file system. Accesso al file system. Organizzazione e allocazione fisica.
Protezione e sicurezza. Modelli, politiche e meccanismi di protezione. Domini di protezione. Il modello matrice degli accessi. Realizzazione della matrice degli accessi. Sistema di sicurezza multilivello. Controllo degli accessi basato sui ruoli. Autenticazione degli utenti.
Esercitazioni in laboratorio su sistema operativo Linux. Comandi, shell, editor. Processi: gestione e interazione. Librerie per programmazione multi-thread. File system. Strumenti di sviluppo.
Introductory concepts. Main functions of an operating system. Historical notes on the evolution of operating systems. Recalls of architectures of processing systems. Structure of operating systems.
Process management. Process definition. States of a process. Descriptor of a process. Process queues. Context-switch. Creation and termination of processes. Interaction between processes. Recalls on the kernel of a process system. Classification of short-term scheduling and metrics algorithms for their evaluation (FCFS, SJF, SRTF, RR). Scheduling of hard real-time systems (RM, EDF). Thread.
Process synchronization. Types of process interaction. Mutual exclusion. Synchronization problems: Producers-Consumers, Readers-Writers, 5 Philosophers. Semaphores. Monitor. Send and Receive primitives. Solution to problems of mutual exclusion, synchronization and communication. Deadlock: conditions, prevention, avoidance, detection and recovery.
Memory management. Introduction to memory management. Virtual memory. Memory management techniques: segmentation, pagination, replacement techniques.
I/O Subsystem. Logical organization of the I/O subsystem. Device driver. Disk management and organization.
The file system. File system organization. The logical structure of the file system. Access to the file system. Organization and physical allocation.
Protection and security. Models, policies and protection mechanisms. Domains of protection. The Access Control Matrix model. Access Control List and Capability List. Multilevel security system. Role-based access control. User authentication.
Laboratory exercises on Linux operating system. Commands, shell, editor. Processes: management and interaction. Libraries for multi-thread programming. File system. Development tools.
Introduction: need for and types of OSs; their characteristics and desirable features; brief history of OS.
Process management and synchronisation: notion of a process; virtual processor; the process control block; operations on a process; scheduling policies; synchronisation primitives; producer-consumer problems; mention of various communication mechanisms; deadlocks, Banker's algorithm.
Memory management: need for memory management; virtual memory concept; paged and non-paged allocation (and replacement) policies/strategies; mention of thrashing.
Device management: need for device management: interrupts; buffering, spooling; structure of a device driver; algorithms for I/O requests and handlers.
File system management: importance of file system; file structure and organisation; file devices and file descriptors.
Protection: motivation for security; mention of protection mechanisms; access control lists and capabilities; file protection schemes.
Laboratory: Linux OS.
Libro di testo:
P. Ancilotti, M. Boari, A .Ciampolini, G.Lipari, Sistemi Operativi, 2ed, Mc Graw-Hill.
Textbook:
P. Ancilotti, M. Boari, A .Ciampolini, G.Lipari, Sistemi Operativi, 2ed, Mc Graw-Hill.
L'esame è composto da una prova orale.
La prova orale è suddivisa in due parti: inizialmente, ai candidati viene richiesto di rispondere, generalmente in forma scritta in un tempo compreso fra 30 e 45 minuti, ad alcuni quesiti riguardanti le esercitazioni di laboratorio. L'esame prosegue con un colloquio, della durata media di 20 minuti, tra il candidato, il docente titolare e un suo collaboratore.
Il calendario degli appelli è stabilito dalla Scuola di Ingegneria.
E' necessario iscriversi sul sito: esami.unipi.it
The final assessment consists of an oral test.
The oral test is divided into two parts: initially, candidates are asked to respond, usually in written form in a time ranging 30 to 45 minutes, to some questions regarding laboratory exercises. The exam continues with an interview, lasting 20 minutes on average, between the candidate, the professor and a collaborators.
The examination agenda is coordinated and published by the School of Engineering.
It is mandatory to register at the site: esami.unipi.it