Sistemi Operativi COTRONEO NATELLA - CINQUE FRANCESCO VERGONA INGEGNERIA INFORMATICA N46
|
|
- Dorotea Forti
- 7 anni fa
- Visualizzazioni
Transcript
1 2015 Sistemi Operativi COTRONEO NATELLA - CINQUE FRANCESCO VERGONA INGEGNERIA INFORMATICA N46
2 SOMMARIO 1 INTRODUZIONE SISTEMA OPERATIVO SINGLE USER SYSTEM BATCH SYSTEM SISTEMI BATCH MULTIPROGRAMMATI SISTEMI TIME-SHARING SISTEMI REAL-TIME SISTEMI OPERATIVI PER PERSONAL COMPUTER SISTEMI TRANSAZIONALI SISTEMI A MICROKERNEL RICHIAMI DI ARCHITETTURE DI SISTEMI DI ELABORAZIONE STRUTTURA DI UN SISTEMA DI ELABORAZIONE Il processore La memoria IL MECCANISMO DELLE INTERRUZIONI TECNICHE DI COMUNICAZIONE DI I/O I/O Programmato I/O Interrupt Driven Direct Memory Access (DMA) STRUTTURA DEI SISTEMI OPERATIVI MODELLI PRINCIPALI DI SISTEMI OPERATIVI Sistemi monolitici Sistemi modulari IL KERNEL LE SYSTEM CALL LE FASI DI UN SISTEMA OPERATIVO Avviamento Interruzione Eccezioni System calls 17 2 GESTIONE DEI PROCESSI STATI DI UN PROCESSO MODELLO A DUE STATI MODELLO A TRE STATI MODELLO A 5 STATI PROCESSI SWAPPED DESCRITTORI DI PROCESSO CODE DI PROCESSI CAMBIO DI CONTESTO CREAZIONE E TERMINAZIONE DEI PROCESSI 21 3 SCHEDULING E ALGORITMI 22 1
3 3.1 PARAMETRI PARAMETRI USER-ORIENTED PARAMETRI SYSTEM-ORIENTED ALCUNI CONCETTI FONDAMENTALI ALGORITMI DI SCHEDULING ALGORITMO FIRST-COME-FIRST-SERVED (FCFS) ALGORITMO SHORTEST-JOB-FIRST (SHORTEST PROCESS NEXT) ALGORITMO SHORTEST-REMAINING-TIME-FIRST (SRTF) ALGORITMO ROUND-ROBIN SCHEDULING A BASE PRIORITARIA SCHEDULING A CODE MULTIPLE SCHEDULING DI SISTEMI REAL-TIME RATE MONOTONIC EARLIEST DEADLINE FIRST (EDF) 30 4 I THREADS USER-LEVEL THREADS KERNEL-LEVEL THREADS CENNI SULLE ARCHITETTURE MULTIPROCESSORE 32 5 INTRODUZIONE ALLA PROGRAMMAZIONE CONCORRENTE TIPI DI INTERAZIONE TRA PROCESSI MODELLI DI INTERAZIONE Modello ad ambiente globale Modello ad ambiente locale I PROBLEMI DELLA COMPETIZIONE Il problema della mutua esclusione Il deadlock Starvation I PROBLEMI DELLA COMUNICAZIONE Produttore-Consumatore I SEMAFORI SOLUZIONE ALLA MUTUA ESCLUSIONE SOLUZIONE AL PROBLEMA DELLA COMUNICAZIONE Produttore Consumatore Lettori-Scrittori I MONITOR SINCRONIZZAZIONE NEL MODELLO AD AMBIENTE LOCALE: SEND E RECEIVE SINCRONIZZAZIONE TRA PROCESSI COMUNICANTI INDIRIZZAMENTO IL DEADLOCK LE RISORSE CARATTERIZZAZIONE DEI DEADLOCK GESTIONE DEI DEADLOCK Prevenzione statica Prevenzione dinamica 48 2
4 Deadlock detection 49 6 GESTIONE DELLA MEMORIA ASPETTI CARATTERIZZANTI LA GESTIONE DELLA MEMORIA RILOCAZIONE STATICA E DINAMICA MEMORY MANAGEMENT UNIT ALLOCAZIONE DELLA MEMORIA VIRTUALE ALLOCAZIONE DELLA MEMORIA FISICA DIMENSIONAMENTO DELLA MEMORIA VIRTUALE TECNICHE DI GESTIONE DELLA MEMORIA LA PAGINAZIONE Protezione della memoria Struttura della tabella delle pagine LA SEGMENTAZIONE MEMORIA VIRTUALE PAGINAZIONE SU RICHIESTA Sostituzione delle pagine GESTIONE DELLA MEMORIA IN LINUX CARATTERISTICHE GENERALI SPAZIO DEGLI INDIRIZZI VIRTUALE BUDDY SYSTEM PAGE FRAME RECLAIMING (PFRA) STATI DI UNA PAGINA Refill delle pagine inattive GESTIONE DELLA MEMORIA IN WINDOWS 62 7 GESTIONE DELLE PERIFERICHE CLASSIFICAZIONE DEI DISPOSITIVI I/O ORGANIZZAZIONE DEL SOTTOSISTEMA I/O LIVELLO INDIPENDENTE DAI DISPOSITIVI Il buffering LIVELLO DIPENDENTE DAI DISPOSITIVI: DEVICE DRIVERS I/O SU DISCO Struttura fisica di un disco Parametri prestazionali Scheduling su disco RAID (Redundant Array of Independent Disks) GESTIONE DELL I/O IN UNIX 71 8 IL FILE SYSTEM STRUTTURA LOGICA DI UN FILE SYSTEM IL FILE DIRECTORY ACCESSO AD UN FILE SYSTEM METODI DI ACCESSO AL FILE 74 3
5 8.3 ORGANIZZAZIONE FISICA TECNICHE DI ALLOCAZIONE DEI FILE Allocazione contigua Allocazione a lista concatenata Allocazione indicizzata IL FILE SYSTEM NTFS DI WINDOWS UNITÀ DI STORAGE NTFS MASTER FILE TABLE SYSTEM FILES 76 9 PROTEZIONE E SICUREZZA NEI SISTEMI OPERATIVI MECCANISMI DI PROTEZIONE DOMINI DI PROTEZIONE MODELLO MATRICE DEGLI ACCESSI Lista del controllo degli accessi (ACL) Lista della capability SISTEMA DI SICUREZZA CONTROLLO DEGLI ACCESSI BASATO SU POLITICA MAC CONTROLLO DEGLI ACCESSI BASATO SUI RUOLI (RBAC) BASI DI CALCOLO FIDATE AUTENTICAZIONE DEGLI UTENTI Autenticazione tramite parole chiave I SISTEMI OPERATIVI UNIX E LINUX ARCHITETTURA DEL SISTEMA OPERATIVO UNIX I PROCESSI Gli stati di un processo Immagine di un processo UNIX System call per la gestione dei processi Lo scheduling in UNIX GESTIONE DELLA MEMORIA IL FILE SYSTEM Virtual File System (VFS) Il file system ext Il file system ext Il file system ext GESTIONE DEI THREADS IN LINUX SCHEDULING DEI TASK La funzione schedule() Scheduler O(1) Load balancing in sistemi multiprocessore CFS Scheduler 91 4
6 1 INTRODUZIONE Un sistema operativo ha la funzione di gestire le risorse di calcolo. La conoscenza della struttura interna di un sistema operativo è indispensabile per la programmazione di sistema e permette di scrivere programmi più efficienti. Inoltre, permette di avere una visione d insieme di hardware e software. La programmazione concorrente nasce con i sistemi operativi, e la si può apprendere in questo contesto. Questo è un tipo di programmazione non sequenziale, non basata quindi su un unico flusso di esecuzione, ma su più flussi che vengono eseguiti contemporaneamente. Questa è infatti gestita dai sistemi operativi, che per inciso, non sono formati da un unico flusso di esecuzione, ma da più flussi che eseguono diversi calcoli contemporaneamente. 1.1 SISTEMA OPERATIVO Un sistema operativo è un insieme di programmi che operano sull hardware con l obiettivo di: Semplificare lo sviluppo dei programmi. Realizzare politiche di gestione delle risorse hardware. Un sistema operativo comprende inoltre un metodo per interfacciarsi con l utente. Ogni sistema operativo definisce una macchina virtuale, quindi delle astrazioni che semplificano lo sviluppo delle applicazioni Single User System Sono sistemi primitivi, privi di un vero sistema operativo, che consisteva in poche linee di codice che eseguiva poco lavoro. Tutto era demandato alle competenze dell utente utilizzatore. Il sistema operativo era infatti ridotto a librerie di uso comune, con delle funzioni prescritte. In più era dotato di un loader, che non faceva altro che prendere il programma e lanciarlo in esecuzione, preparando adeguatamente la CPU. Questo era un metodo poco efficiente, in quanto utilizzabile solo da un utente per volta, per lo più molto esperto Batch System Sono sistemi nei quali i programmi degli utenti venivano raggruppati in lotti e poi eseguiti sequenzialmente. Il sistema era comunque molto lento, ma si ridussero le tempistiche tra un esecuzione e l altra. A differenza dei sistemi precedenti, i sistemi batch hanno i programmi di sistema su memoria di massa, quindi dall accesso veloce. Inoltre l utente programmatore fornisce il proprio programma sorgente ad un operatore che agiva direttamente sulla macchina, inserendovi non più una scheda alla volta, ma un lotto di schede che veniva eseguito sequenzialmente. Nei sistemi batch viene infatti definito un nuovo programma di sistema, il monitor, anch esso residente in memoria, il quale si limita a leggere le schede e per ogni scheda di controllo ne interpreta il contenuto caricando in memoria il programma di sistema richiesto. 5
7 L intervento dell utente viene quindi richiesto nuovamente soltanto nel momento in cui è finito il batch di schede da leggere. Questo sistema quindi comporta: Incremento dell efficienza d uso delle risorse, ottenuto limitando l intervento manuale. Allontanamento dell utente dalla macchina: dovuto alla presenza dell operatore. Ciò ha conseguenze negative sulla fase di debugging. Tempi di attesa casuali: l utente attende un tempo casuale, indipendente dalla complessità del programma presentato. Il tempo di attesa dipende esclusivamente dalla posizione della scheda all interno del batch Sistemi batch multiprogrammati I primi sistemi batch avevano comunque efficienza molto bassa, a causa della notevole differenza tra la velocità della CPU e quella dei dispositivi periferici (come lettore di schede e stampante). I primi miglioramenti si ottengono al momento dell introduzione di memoria di massa ad accesso casuale, e di DMA. In questi sistemi venne introdotta anche la tecnica dello spooling, che consiste nel caricare tutti i job di un batch su disco, in maniera tale che durante la loro esecuzione la CPU interagisse soltanto con il disco. Mentre la CPU esegue i job di un batch, contemporaneamente vengono caricati su disco i programmi di un nuovo batch (tramite DMA). Grazie allo spooling, è stato possibile per la prima volta introdurre un meccanismo di scheduling, ovvero scegliere di volta in volta, seguendo una certa regola, quale job eseguire prima tra quelli presenti nel pool di job (disco). Altro drastico miglioramento si è ottenuto con l introduzione della multiprogrammazione, una tecnica che permette di alternare l esecuzione dei programmi, iniziando l esecuzione di un nuovo programma nel momento in cui quello che stava eseguendo precedentemente si interrompe in attesa dell intervento di dispositivi di I/O. Questo sistema è stato reso possibile grazie all introduzione del sistema di gestione delle interruzioni. Figura 1 Il passaggio tra le varie esecuzioni di diversi programmi è gestito dal sistema operativo. Un sistema multiprogrammato comporta un overhead relativo all utilizzo della CPU, a causa di quello che viene detto cambio di contesto. Il cambio di contesto consiste nel salvare in memoria lo stato della CPU (i suoi registri) nel momento in cui questa passa dall esecuzione di un programma ad un altro. Inoltre, nel momento in cui riprenderà l esecuzione del programma precedentemente interrotto, la CPU dovrà ripristinare i propri registri andando a recuperare dalla memoria i valori ad essi relativi. 6
8 1.1.4 Sistemi time-sharing I sistemi batch hanno iniziato a mostrare il fianco quando hanno iniziato a nascere i programmi interattivi, ovvero quei programmi che richiedono un interazione continua e tempestiva con l utente. Ciò ovviamente non risulta possibile con i sistemi batch, in quanto prevedono che il contatto tra sistema e utente sia indiretto, avvenendo tramite l operatore. I sistemi time-sharing sono sistemi interattivi, aventi contatto diretto con l utente, che permettono quindi di restituire risultati in tempi brevi. Anche questi sono basati sulla multiprogrammazione, infatti più utenti possono essere collegati contemporaneamente al sistema, che deve essere quindi in grado di gestire l esecuzione concorrente di programmi lanciati da diversi utenti. In questo tipo di sistemi vengono assegnati ad ogni programma una porzione di tempo (timeslice), dopo il quale, sia che il programma sia terminato, sia che abbia ancora delle istruzione da eseguire, il controllo della CPU passa su un altro programma tramite un cambio di contesto. In questo modo è impossibile che un programma possa monopolizzare la CPU. Per far ciò, esiste il timer interrupt, che decide in che modo gestire la CPU nella condivisione tra i vari programmi. Figura 2 Ogni volta che il timer scatta, il sistema operativo avvicenda i programmi nell uso della CPU. In questo modo dà l illusione che i programmi si stiano eseguendo contemporaneamente. Il numero di programmi caricabili contemporaneamente è ovviamente limitato, infatti ogni sistema ha un grado di multiprogrammazione. I sistemi time sharing hanno permesso la nascita del personal computing e i sistemi real time, sistemi caratterizzati da un tempo di risposta prestabilito Sistemi real-time Un sistema in tempo reale è un sistema dedicato a controllare il corretto funzionamento di un sistema fisico, del quale bisogna mantenere sotto controllo le grandezze fisiche che lo caratterizzano. Per questo motivo si effettuano di continuo delle letture delle grandezze fisiche, e, una volta fatte, il sistema esegue un programma (task) che stabilisce se questo valore rientra nell ambito dei valori corretti o meno. Anche i sistemi real-time fanno grande uso della multiprogrammazione, in quanto vi è un elevato numero di task da eseguire e gestire (si esegue almeno un task per ciascuna delle grandezze da controllare). 7
9 Durante i tempi di attesa di un task il sistema può eseguire gli altri task che sono in pronti per essere eseguiti. A differenza degli altri sistemi fin qui introdotti, i sistemi real-time non mirano a massimizzare l efficienza d uso delle risorse (come i sistemi batch) o di minimizzare i tempi di risposta (come i sistemi time sharing), ma vogliono garantire che tutti i task completino le proprie esecuzioni entro le rispettive deadline, ovvero un intervallo temporale imposto dall applicazione. Nei sistemi real time, ogni task è associato ad una priorità, che può essere: Statica: se definita una volta per tutte. Dinamica: se calcolata dinamicamente in base alle caratteristiche dei singoli task. I sistemi a tempo reale possono classificarsi in diversi modi: Sistemi hard real-time: o Sistemi in cui la violazione di una deadline può compromettere il funzionamento del sistema controllato, con conseguenze anche catastrofiche. Sistemi soft real-time o Sistemi in cui la violazione di una deadline non compromette il funzionamento del sistema controllato, ma ne riduce prestazioni. Sistemi embedded o Sistemi dedicati a singole applicazioni. In essi non vi è grande differenza tra software applicativo e sistema operativo, in quanto tutto il software è dedicato ad una singola applicazione ed inserito in un singolo chip o scheda Sistemi operativi per Personal Computer Con il diminuire dei costi di realizzazione dei componenti elettronici e dei microprocessori, iniziano a diffondersi a macchia d olio quelli che vengono detti Personal Computer. Come dice la parola, l uso del PC è personale, riservato cioè ad una sola persona alla volta. Per questo motivo i primi sistemi operativi per PC erano molto semplici, progettati senza ricorrere alla tecnica della multiprogrammazione. I PC nascono con l intento di consentire all utente di gestire le proprie informazioni e di facilitare la realizzazione di nuove applicazioni, fornendo un interfaccia di programmazione che faciliti l accesso ai dispositivi di I/O. Successivamente, anche per i sistemi operativi per PC è stata utilizzata la tecnica della multiprogrammazione, dando la possibilità agli utenti di lanciare più applicazioni contemporaneamente. La differenza principale tra i sistemi operativi prima introdotti e questo, è che in questo caso il criterio con cui la CPU viene commutata da un programma all altro è stabilito dall utente tramite la sua interfaccia di input Sistemi transazionali Si tratta di sistemi interattivi destinati ad eseguire transazioni, ovvero sequenze di operazioni elementari che richiedono ciascuna l esecuzione di un programma o di una sua parte. In un sistema transazionale, l utente principalmente interroga e aggiorna un database. La particolarità dei sistemi transazionali è che tutti gli utenti operano sullo stesso database e richiedono l esecuzione delle stesse operazioni elementari, fornendo i propri dati di accesso. 8
10 1.1.8 Sistemi a microkernel Sono caratterizzati dalla presenza di un kernel molto piccolo, che implementa solo i meccanismi essenziali. Riducendo i componenti privilegiati, il sistema è più affidabile e sicuro, perché i processi che possono accedere alla CPU sono pochi. 1.2 RICHIAMI DI ARCHITETTURE DI SISTEMI DI ELABORAZIONE Struttura di un sistema di elaborazione Figura 3 Per meglio comprendere i principi di funzionamento di un sistema operativo è necessaria una buona conoscenza della struttura fisica di un sistema. Un moderno calcolatore, come mostrato in figura (Figura 3), è composto da: Unità centrale di elaborazione (CPU) Memoria centrale (RAM) Dispositivi di I/O Questi componenti sono interconnessi tra loro dal bus di sistema, su cui viaggiano le informazioni (dati e indirizzi). La dimensione del bus corrisponde al numero di bit che possono essere letti o scritti in un ciclo di clock del bus, ed è una caratteristica di tale importanza da essere utilizzata per classificare i processori (8 bit, 16 bit, 32 bit, 64 bit) Il processore Il processore è il componente principale di ogni calcolatore. Suo compito è infatti quello di eseguire le istruzioni di un programma contenuto in memoria, in maniera sequenziale. L aspetto che maggiormente caratterizza un processore è costituito dall insieme di registri interni (ai quali è possibile accedere molto più velocemente rispetto alle locazioni di memoria centrale). I registri interni si distinguono in: Registri generali o programmabili: Direttamente visibili ed utilizzabili dal programmatore Registri di stato e di controllo: Non direttamente accessibili dal programmatore, tengono conto dello stato della CPU. 9
Sistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
DettagliElenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7.
Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7. Modulo 1 - Architettura del calcolatore Unità 1 - Architettura e funzionamento dei sistemi di elaborazione Lezione 1 - Macchina
DettagliCenni di sistemi operativi
Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Cenni di sistemi operativi Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
DettagliIL SISTEMA OPERATIVO
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE La gestione delle periferiche
DettagliIl sistema operativo
Il sistema operativo Vito Perrone Corso di Informatica A per Gestionali Indice Architettura Gestione dei processi Gestione della memoria centrale Driver Gestione dei file 2 1 Il sistema operativo E uno
DettagliCLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
DettagliElementi di Informatica A. A. 2016/2017
Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Cos'è un Sistema Operativo?
DettagliSistemi Operativi. La gestione delle risorse
Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi
DettagliSistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15
Sistemi in tempo reale: applicazioni alla robotica Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi operativi Hardware Firmware Kernel Driver Applicazioni Interfacce Sistemi in tempo reale:
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 4 Giovedì 20-10-2016 Struttura e organizzazione software dei sistemi
DettagliIntroduzione ai sistemi operativi
Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi Introduzione ai sistemi operativi Contatti Docente: Alberto Pretto Ricevimento pretto@dis.uniroma1.it Appuntamento
DettagliI SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
DettagliMODULO 1: INTRODUZIONE
I SISTEMI OPERATIVI MODULO 1: INTRODUZIONE prof. ing. Damiano Magni ITI E. Breda Sesto S. G. - gennaio 2005 1.1 Introduzione Che cos è un Sistema Operativo? Sistemi batch semplici Sistemi batch multiprogrammati
DettagliPARTE 1 CONCETTI INTRODUTTIVI 2
PARTE 1 CONCETTI INTRODUTTIVI 2 1.1 CHE COSA È UN S.O. 2 1.2 EVOLUZIONE STORICA DEI S.O. 2 1.2.1 SINGLE USER SYSTEMS 2 1.2.2 SISTEMI BATCH 2 1.2.3 SISTEMI TIME SHARING 3 1.2.4 SISTEMI REAL TIME 3 1.3 SISTEMI
DettagliSistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi
Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello
DettagliAnno Scolastico 2018/2019 SETTE ANTONIO LOSITO ANTONIO TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TEL.
Anno Scolastico 2018/2019 PROGRAMMA DIDATTICO CONSUNTIVO CLASSE 4EI Docenti SETTE ANTONIO LOSITO ANTONIO Disciplina TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TEL. Unità di lavoro 1: Moduli
DettagliIl Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
DettagliIl sistema operativo
Il sistema operativo Il sistema operativo E uno strato software che opera direttamente sull hardware Isola gli utenti dai dettagli dell hardware Mono-utente o multi-utente E organizzato a strati: Architettura
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliIl Sistema Operativo Ripasso
ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Concetti di base Sistema Operativo Risorse Funzioni e Struttura Bootstrap, Kernel, Shell Gestione dei Processi Processo e PCB Algoritmi
DettagliArchitettura dei Sistemi Informatici
Sistemi di Calcolo Architettura dei Sistemi Informatici Sistemi informatici PC, terminali e reti Architettura insieme delle componenti del sistema, descrizione delle loro funzionalità e della loro interazione
DettagliAppunti del corso di Sistemi Operativi. Proff. Cotroneo. Assistenti: Natella, De Simone. a.a 2017/2018 NOTE GENERALI
NOTE GENERALI Il seguente testo copre tutta la teoria del corso di Sistemi Operativi svolto dal prof. Cotroneo. N.B. Questi appunti non vanno considerati come alternativi ai libri consigliati dal professore
DettagliProgramma e Modalità d Esame
Programma e Modalità d Esame Come programma di esame si assumono tutti gli argomenti trattati dai docenti del corso nelle videolezioni. Tali argomenti sono riepilogati di seguito: I. Concetti base dei
DettagliI sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas
I sistemi operativi (prima parte) Le esigenze dell informatica moderna Computer facili da usare Gestione di grandi archivi di dati Esecuzione di più programmi sulla stessa macchina Collegamento in rete
Dettagli2. Cenni di sistemi operativi
2. Cenni di sistemi operativi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides dal corso «Sistemi Operativi» dei prof. Gherardi/Scandurra dell Università degli studi di Bergamo
DettagliIntroduzione all Informatica. Alfredo Cuzzocrea. Sistema Operativo
Alfredo Cuzzocrea FIRMWARE: IL BIOS BIOS = Basic Input-Output System gestisce direttamente le risorse hardware e offre delle funzionalità standard di accesso risiede su un chip di memoria permenente ROM,
DettagliIl linguaggi di programmazione sono lo strumento per tradurre algoritmi in programmi. Ma come viene gestita l esecuzione di un programma?
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 6 I SISTEMI OPERATIVI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliIntroduzione ai thread
Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 8 Martedì 8-11-2016 1 Algoritmi di scheduling basati sulle priorità Assegnano
DettagliCorso di Informatica
Corso di Informatica Modulo T2 1-Concetti fondamentali 1 Prerequisiti Hardware e software Uso pratico elementare di un sistema operativo Software di base e software applicativo 2 1 Introduzione Iniziamo
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 4 Giovedì 12-10-2017 Struttura e organizzazione software dei sistemi
DettagliProf. G. Ascia. Sistema Operativo
Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo
DettagliI Processi. Il Concetto di Processo
I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite
DettagliSISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.
SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a
Dettagliinteroperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,
DettagliA.A sull insegnamento Architettura degli Elaboratori e Sistemi Operativi (B)
Principali informazioni A.A. 2017-2018 sull insegnamento Titolo insegnamento Architettura degli Elaboratori e Sistemi Operativi (B) Corso di studio Informatica Crediti formativi 9 (7 + 2) Denominazione
DettagliCenni di sistemi operativi
Fondamenti di Informatica per la Sicurezza a.a. 2005/06 Cenni di sistemi operativi Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
DettagliSistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
DettagliSistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1
GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di
DettagliInformatica Generale 07 - Sistemi Operativi:Gestione dei processi
Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei
DettagliCapitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Cos'è un sistema operativo?(software di base) Definizione: Un sistema operativo è un programma che controlla l'esecuzione di programmi applicativi e agisce come interfaccia
DettagliCapitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione
DettagliTEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati
TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono
DettagliSistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1
SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware
DettagliIl Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire efficientemente l'elaboratore e le sue periferiche,
DettagliOrganizzazione di un SO monolitico
Organizzazione di un SO monolitico Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del Gestore delle processore / Gestore della periferiche/ Scheduler(s) memoria dispositivi
DettagliTECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni
Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere
DettagliIl software. la parte contro cui si può solo imprecare
Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di
DettagliIl Sistema Operativo
Il Sistema Operativo Prof. Orazio Mirabella Il sistema operativo Strato di interfaccia fra l utente e l hardware che permette di: Superare problemi legati alla gestione delle risorse hardware Favorire
DettagliIl software. la parte contro cui si può solo imprecare. Il software
la parte contro cui si può solo imprecare L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di programmi che permettono
DettagliBootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:
Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di
DettagliLezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica
Lezione 5: Software Firmware Sistema Operativo Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software 2 Architettura del Calcolatore
DettagliLezione 3 Sistemi Operativi e misure di performance. Parleremo di
Lezione 3 Sistemi Operativi e misure di performance Parleremo di Ambienti di Elaborazione e Natura della computazione Classi di Sistemi Operativi Efficienza, Performance del Sistema, e Servizi Utente Sistemi
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
DettagliIl supporto al sistema operativo
Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare
DettagliFunzioni di un Calcolatore
Funzioni di un Calcolatore elaborazione dei dati memorizzazione dei dati trasferimento dei dati controllo flessibilità nel calcolo modularità nell architettura scalabilità dei componenti standardizzazione
DettagliSOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito
SOFTWARE MODULO 3 SOFTWARE Programmi e dati che indicano al computer come svolgere un determinato compito Programma: sequenza di istruzioni, scritte in un determinato linguaggio, con le quali si fa eseguire
DettagliStrutture dei sistemi di calcolo
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Architettura di un sistema di calcolo
DettagliIntroduzione al Sistema Operativo
Introduzione al Sistema Operativo Informatica B Il sistema Operativo q Il sistema operativo (SO) è uno strato software che nasconde agli utenti i dettagli dell architettura hardware del calcolatore q Fornisce
DettagliIl Sistema Operativo
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore
DettagliComponenti di un sistema operativo
Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria
DettagliInformatica Generale 06 - Introduzione ai Sistemi Operativi
Informatica Generale 06 - Introduzione ai Sistemi Operativi Cosa vedremo: Funzionalità dei sistemi operativi Bootstrap Stato utente e stato supervisore Componenti di un Sistema Operativo Cos è un sistema
DettagliLezione 2 Chiamate di procedura e risposta alle interruzioni
Modulo 1 U.D. 1 Lez. 2 Lezione 2 Chiamate di procedura e risposta alle interruzioni Sistemi Operativi I Modulo 1 - Architettura del Calcolatore Unità didattica 1 - Architettura e funzionamento dei sistemi
DettagliOperazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU
Operazioni di I/O 1 Schema di collegamento fra dispositivi periferici e CPU Memoria CPU buffer interfaccia Registro di controllo Registro Di stato Unità di controllo Dispositivo fisico 2 1 Unità di interfaccia
DettagliCorso di Calcolatori Elettronici I
Corso di Calcolatori Elettronici I Architettura dei Calcolatori Elettronici: primi cenni introduttivi Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2017-2018 Roberto Canonico Corso
DettagliLezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.
Lezione 1 Sistemi operativi 4 marzo 2014 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 14 1.1 Di cosa parliamo in questa lezione? È una introduzione generale ai sistemi
DettagliIntroduzione ai S.O.
Introduzione ai S.O. Sommario della lezione: Sistema Operativo: Definizioni e Classificazioni Funzioni di un S.O. visibili all utente Componenti e Struttura di un S.O. Macchine Virtuali System Call 1 I
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 20 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 14 Maggio 2013 Programmazione concorrente:
DettagliAstrazione. Gestore della memoria. La rilocabilità del codice. Gestore della memoria
Gestore della memoria E' l'insieme di programmi del sistema operativo che si occupano di gestire la memoria centrale per l'esecuzione (pseudo-parallela) di più processi. 32 MB prog. app.3 prog. app. 2
DettagliIl Concetto di Processo
I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite
DettagliSistemi di Calcolo (A.A ) Corso di Laurea in Ingegneria Informatica e Automatica Sapienza Università di Roma
Sistemi di Calcolo (.. 2014-2015) Corso di Laurea in Ingegneria Informatica e utomatica Sapienza Università di Roma Esercizi riepilogativi sulla seconda parte del Modulo I Eccezioni e processi Domanda
DettagliUniversità di Bologna Corso di Laurea in Ingegneria Informatica A.A Sistemi Operativi L-A. Obiettivi del Corso. Argomenti trattati
Università di Bologna Corso di Laurea in Ingegneria Informatica A.A. 2004-2005 Sistemi Operativi L-A Prof. Maurelio Boari http://www.lia.deis.unibo.it/courses/soa0405/ Obiettivi del Corso Fornire alcuni
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2018-2019 Pietro Frasca Lezione 14 Giovedì 22-11-2018 Scheduling in UNIX Poiché UNIX è un sistema multiutente
DettagliUniversità di Bologna Corso di Laurea in Ingegneria Informatica A.A Sistemi Operativi L-A
Università di Bologna Corso di Laurea in Ingegneria Informatica A.A. 2004-2005 Sistemi Operativi L-A Prof. Maurelio Boari http://www.lia.deis.unibo.it/courses/soa0405/ Obiettivi del Corso Fornire alcuni
Dettagliverso espandibili eterogenei tempo di accesso tempo di risposta throughput
I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di
DettagliIl Sistema Operativo
Corso di Alfabetizzazione Informatica 2003/2004 Il Sistema Operativo Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Il computer
DettagliStruttura dei Sistemi di Calcolo
Struttura dei Sistemi di Calcolo Operazioni dei sistemi di calcolo Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione hardware Invocazione del Sistema Operativo 1 Architettura
DettagliGestione dei Processi
Gestione dei Processi Informatica B Che cosa è un processo per il SO? Processo programma! Rappresenta un istanza di un programma composta da: codice eseguibile (il programma stesso) dati del programma
DettagliSistemi operativi e reti A.A Lezione 2
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 2 Giovedì 8-10-2014 1 Sistemi a partizione di tempo (time-sharing) I
DettagliCapitolo 1: Introduzione
Capitolo 1: Introduzione Cos è un sistema operativo Sistemi mainframe Sistemi da scrivania Sistemi con più unità d elaborazione Sistemi distribuiti Batterie di sistemi (cluster) Sistemi d elaborazione
DettagliTECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni
Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere
DettagliCos e` un Sistema Operativo?
Cos e` un Sistema Operativo? È un programma (o un insieme di programmi) che agisce come intermediario tra l utente e l hardware del computer: fornisce un ambiente di sviluppo e di esecuzione per i programmi
DettagliIl Sistema Operativo. Informatica Sistema Operativo 1
Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto
DettagliIl software di sistema
Il software di sistema Il software in un calcolatore è organizzato in due parti distinte: Il Software di Sistema o Sistema Operativo, che comprende una serie di programmi atti a gestire le risorse fisiche
Dettagli2.2 Scheduling in Linux
Appunti di Sistemi Operativi 28 2.2 Scheduling in Linux In generale, i processi possono essere classificati secondo due schemi: CPU bound vs. I/O bound; interattivi vs. batch vs. real-time. Le due classi
DettagliCenni di sistemi operativi
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli Studi di Milano Fondamenti
DettagliElaborazione parallela
La gestione dei processi laborazione parallela Il concetto di elaborazione parallela si riferisce specificamente: ai dati; alle istruzioni; ai programmi. Il parallelismo a livello di dati e di istruzioni
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it monoprogrammati multiprogrammati a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi
DettagliSistemi Operativi. Bruschi Martignoni Monga. Gestione della memoria. Sistemi multiprogrammati. Partizioni fisse Partizioni variabili Paginazione
1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it monoprogrammati multiprogrammati Lezione XXXIII: monoprogrammati multiprogrammati a.a. 2008/09
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 14 Martedì 21-11-2017 Comportamento dei processi Durante la sua attività,
DettagliSistema operativo: Introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Introduzione La presente dispensa e da utilizzarsi
DettagliSistemi Operativi L-A
Il Sistema Operativo e l Hardware Universita` di Bologna Corso di Laurea in Ingegneria Informatica Sistemi Operativi L-A A.A. 2004-2005 Prof. Anna Ciampolini Il sistema operativo interfaccia i programmi
DettagliSistemi Operativi L-A
Universita` di Bologna Corso di Laurea in Ingegneria Informatica Sistemi Operativi L-A A.A. 2003-2004 Prof. Anna Ciampolini 1 Cos e` un Sistema Operativo? È un programma (o un insieme di programmi) che
DettagliLa memoria cache. Informatica generale
La memoria cache Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni La memoria centrale,
DettagliScheduling della CPU
Scheduling della CPU 1 Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler della
DettagliObiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi.
Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler (a breve
Dettaglicorrettezza e precisione; anywhere, anytime; affidabilità, disponibilità e sicurezza dei sistemi; riservatezza dei dati; interoperabilità fra
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precisione; anywhere, anytime; affidabilità,
Dettagli