Sistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008
|
|
- Adelmo Fiori
- 5 anni fa
- Visualizzazioni
Transcript
1 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia License. Immagini tratte da [1] e da Wikipedia. Lezione III: Concetti fondamentali
2 Kernel monolitici e micro Kernel monolitico Il kernel è un unico grande programma che gira in kernel mode. Le strutture dati e le funzionalità sono accessibili da tutto il codice del kernel Microkernel Il codice che gira in kernel mode è ridotto al minimo. Molte funzionalità (file system, process management, network, device drivers) sono realizzate da moduli user mode che mandano messaggi al microkernel. I microkernel nascono per gestire meglio la complessità, ma si ha una perdita di efficienza. Tanenbaum vs. Torvalds Architettura: MS Windows 2000
3 Architettura: GNU/Linux Architettura: MINIX
4 Architettura: Mac OS X Funzionalità di base Le componenti fondamentali di un SO Inizializzazione del sistema Gestione dei processi Gestione della memoria Gestione delle periferiche I/O Apparati di comunicazione Gestione dei file Gestione /interrupt Protezione System Utility
5 Processo Un processo è l astrazione che il usa per rappresentare un programma in esecuzione Gestione della memoria
6 Gestione I/O Il avvia, interrompe e controlla il flusso di dati da e verso i dispositivi di I/O File system
7 System call Il sistema operativo è il gestore esclusivo di tutte le risorse di un sistema al fine di: Garantire una gestione ottimale delle stesse Evitare collisioni Fornire modalità semplificate per il loro uso Per usare una risorsa occorre rivolgersi al tramite una chiamata di sistema (syscall) Il formato delle syscall differisce tra le varie implementazioni dei sistemi operativi In ambito UNIX è stato fatto uno sforzo di standardizzazione: POSIX System call e librerie Le system call sono generalmente incapsulate in librerie. Un programma applicativo che vuole accedere ad una syscall deve solitamente: Chiamare la routine di libreria collegata Questa provvede a formattare i parametri opportunamente e a richiamare la syscall effettiva In realtà non sono normali chiamate di procedura, ma interruzioni software a cui il fa fronte svolgendo il servizio richiesto mov eax, 1 int 0x80
8 in un monolitico in Mac OS X
9 in MINIX Network client-server Il modello è generalizzabile al caso di ambiente distribuito su una rete (locale, geografica?)
10 Ci sono syscall per tutte le funzionalità del Process Management Signal File Management Directory and file system management Protection Time management I/O MINIX (process mgt)
11 Processi paralleli Come fare a scrivere un programma che dia vita a due processi? La soluzione di Unix è la syscall fork() 1 #include <unistd.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 int main(){ 6 int x = fork(); 7 if (x < 0){ 8 perror( Errore nella fork: ); 9 exit(1); 10 } else { 11 if (x!= 0){ 12 while(1) printf( Processo padre\n ); 13 } else { 14 while(1) printf( Processo figlio (%d)\n, x); 15 } 16 } 17 return 0; 18 } Parent Child Sostituzione dell immagine del processo Le due immagini in memoria sono identiche, eccetto che per il valore della variabile x (0 nel figlio, PID nel padre). Condividono anche le risorse (per es i file aperti), che quindi potrebbero essere usati per far comunicare i due processi. Per lanciare l esecuzione un nuovo programma, occorrerà sostituire l immagine del processo figlio con quella caricata dal programma, conservato nella memoria di massa. La sostituzione viene operata con la syscall exec (il programma precedente non viene piú eseguito dal processo figlio)
12 1 #include <unistd.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 int main(){ 6 int x = fork(); 7 if (x < 0){ 8 perror( Errore nella fork: ); 9 exit(1); 10 } else { 11 if (x!= 0){ 12 printf( Processo padre\n ); 13 } else { 14 char argv[] = { /bin/ls, /usr, 0}; 15 execv( /bin/ls,argv ); 16 perror( Errore nella exec: ); 17 } 18 } 19 return 0; 20 } Parent Child ell (pseudo codice) 1 while (1){ / repeat forever / 2 type prompt(); / display prompt on the screen / 3 read command(command, parameters); / read input from terminal / 4 if (fork()!= 0){ / fork off child process / 5 / Parent code. / 6 waitpid(1, &status, 0); / wait for child to exit / 7 } else { 8 / Child code. / 9 execve(command, parameters, 0); / execute command / 10 } 11 }
Sistemi Operativi 1. Mattia Monga. 7 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2015/16. Dip. di Informatica Università degli Studi di Milano, Italia
1 Mattia Monga Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2015/16 1 cba 2008 16 M. Monga. Creative Commons Attribuzione Condividi allo stesso modo 4.0 Internazionale.
DettagliSistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2018/19. Dip. di Informatica Università degli Studi di Milano, Italia
1 Mattia Monga Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2018/19 1 cba 2008 18 M. Monga. Creative Commons Attribuzione Condividi allo stesso modo 4.0 Internazionale.
DettagliSistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi e informatica 1
1 Dip. Scienze dell Informatica Università degli Studi di Milano, Italia marchi@dsi.unimi.it a.a. 2011/12 1 c 2010-2012 M.Monga R.Paleari M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5
DettagliSISTEMI OPERATIVI. Processi in Linux. Giorgio Giacinto Sistemi Operativi
SISTEMI OPERATIVI Processi in Linux 2 Creazione di processi concorrenti» La creazione di un processo figlio consente di far eseguire alcune funzionalità del programma in modo concorrente» Opzione 1 il
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 5 Martedì 16-10-2018 Operazioni sui processi Nella maggior parte dei
DettagliAddendum alle chiamate di sistema per la gestione processi. E Mumolo
Addendum alle chiamate di sistema per la gestione processi E Mumolo Definiamo un processo proc.c che scrive l'argomento passato in linea: void main(int argc, char *argv[]){ printf("sono il processo %s\n",
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 9 Giovedì 2-11-2017 Comunicazione con pipe Oltre che con la memoria condivisa
DettagliSistemi Operativi 1. Lezione XIX: System call in MINIX. Mattia Monga. 22 aprile 2008
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 22 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
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 6 Martedì 24-10-2017 1 Sostituzione del codice Tipicamente, dopo una
DettagliSystem call per la gestione di processi
System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:
DettagliSystem call per la gestione di processi
System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:
DettagliLABORATORIO DI SISTEMI OPERATIVI
LABORATORIO DI SISTEMI OPERATIVI Corso di Laurea Triennale in Ingegneria Informatica A.A. 2018/2019 Guglielmo Cola Email: g.cola@iet.unipi.it Web: iet.unipi.it/g.cola Processi in Unix/Linux caratteristiche
DettagliI Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.
I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo
DettagliLaboratorio di Sistemi Operativi
primavera 2009 Controllo dei processi (2) Funzioni wait e waitpid quando un processo termina il kernel manda al padre il segnale SIGCHLD il padre può ignorare il segnale (default) oppure lanciare una funzione
Dettaglieseguire comandi dati dall'utente, utilizzando una macchina reale, di livello inferiore,
La programmazione di sistema Introduzione ai sistemi operativi multiprocesso Primitive per la gestione dei processi http://home.dei.polimi.it/silvano/acso.htm Il sistema ste operativo Il Sistema Operativo
DettagliLezione XII: La gestione delle eccezioni in MINIX
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 4 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
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. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2012/13. Dip. di Informatica Università degli Studi di Milano, Italia
1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2012/13 1 cba 2011 13 M.. Creative Commons Attribuzione-Condividi allo stesso modo 3.0 Italia License. http://creativecommons.org/licenses/by-sa/3.0/it/.
DettagliSystem Calls per la Gestione dei Processi
System Calls per la Gestione dei Processi Domenico Cotroneo Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II Roadmap Process Context Identificativi getpid() getppid()
DettagliCorso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER IL CONTROLLO DEI PROCESSI. Fabio Buttussi
Corso di Sistemi Operativi A.A. 2008-2009 - CHIAMATE DI SISTEMA PER IL CONTROLLO DEI PROCESSI Fabio Buttussi La programmazione di sistema Il kernel è la parte di Unix che corrisponde al sistema operativo
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 8 Giovedì 25-10-2018 Comunicazione con pipe Oltre che con la memoria
DettagliRichiami sui Concetti Fondamentali dei Processi
Processi Processi 1 Richiami sui Concetti Fondamentali dei Processi Processi 2 Definizione Nell ambito dei sistemi operativi esistono diverse definizioni di processo, ad es. un programma in esecuzione
DettagliIntroduzione al Multithreading
Introduzione al Multithreading Claudia Calidonna Istituto di di Cibernetica C.N.R. Argomenti principali Parleremo di : Processi & Threads Operazioni sui threads ed eventuali confronti tra operazioni sui
DettagliLa creazione di un nuovo processo in UNIX
La creazione di un nuovo processo in UNIX #include int fork(void); Viene creato un nuovo processo (figlio) identico (stesso codice, area dati copiata) al processo (padre) che ha invocato la
DettagliProgrammazione multiprocesso
DTI / ISIN / Titolo principale della presentazione 1 Programmazione multiprocesso Amos Brocco, Ricercatore, DTI / ISIN 20 febbraio 2012 2 Processi Cos'è un processo? Un programma in esecuzione Spazio di
DettagliChiamate di sistema per la Gestione dei processi in POSIX. E.Mumolo, DEEI mumolo@units.it
Chiamate di sistema per la Gestione dei processi in POSIX E.Mumolo, DEEI mumolo@units.it Process id ed altri identificatori pid_t getpid(); // Process id del processo chiamante pid_t getppid(); // Process
DettagliControllo dei Processi 1
Controllo dei Processi 1 I processi Nei sistemi Unix/Linux ogni processo ne può generare altri. Il processo che li genera è detto processo padre (parent process), mentre i processi generati sono detti
DettagliI Processi nel SO UNIX
I Processi nel SO UNIX 1 Processi UNIX UNIX è un sistema operativo multiprogrammato a divisione di tempo: unità di computazione è il processo Caratteristiche del processo UNIX: processo pesante con codice
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
DettagliIl comando make. Per produrre un eseguibile da un programma C sono necessari tre passi compiuti dai seguenti moduli:
Il comando make Sviluppando programmi complessi, si è spesso portati a suddividere il codice sorgente in diversi file. La fase di compilazione quindi richiede maggior tempo, anche se le modifiche apportate
DettagliSistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni
Anno Accademico 2011/2012 Segnali: Interrupt software per la gestione di eventi asincroni Concetto di segnale Un segnale è un interrupt software Un segnale può essere generato da un processo utente o dal
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
DettagliSistemi Operativi. Lezione 2 Introduzione ai sistemi operativi
Lezione 2 Introduzione ai sistemi operativi Batch Con l I/O a controllo da programma, la CPU è vincolata ad operare alla velocità delle periferiche Per risolvere il problema bisognava individuare un meccanismo
DettagliCorso di Programmazione Concorrente Processi. Valter Crescenzi
Corso di Programmazione Concorrente Processi Valter Crescenzi http://crescenzi.inf.uniroma3.it Sommario Processi vs Thread Creazione e terminazione di processi chiamata di sistema fork() chiamata di sistema
DettagliAXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema
AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel
DettagliSISTEMI OPERATIVI. Struttura dei. Sistemi Operativi. Giorgio Giacinto 2015
SISTEMI OPERATIVI Struttura dei Sistemi Operativi 2 Panoramica dei servizi del sistema operativo 3 4 Cos è una chiamata al sistema?» Il SO mette a disposizione i suoi servizi ai programmi utente attraverso
DettagliI Processi nel SO UNIX
I Processi nel SO UNIX Processi UNIX UNIX è un sistema operativo multiprogrammato a divisione di tempo: unità di computazione è il processo Caratteristiche del processo UNIX: processo pesante con codice
DettagliIl processo figlio : utilizza lo stesso codice che sta eseguendo il padre ;
La creazione di un nuovo processo in UNIX int fork(void); Viene creato un nuovo processo (figlio) identico (stesso codice, area dati copiata) al processo (padre) che ha invocato la fork Solo il valore
DettagliLaboratorio di Sistemi Operativi Marzo-Giugno 2008 matricole congrue 0 mod 3
Marzo-Giugno 2008 matricole congrue 0 mod 3 Funzioni wait e waitpid quando un processo termina il kernel manda al padre il segnale SIGCHLD Controllo dei processi (2) il padre può ignorare il segnale (default)
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 a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
Dettagliil tipo di parallelismo dipende dal grado di cooperazione
Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale
DettagliSistemi Operativi. Lezione 4 I processi: implementazioni
Lezione 4 I processi: implementazioni UNIX Creazione di un processo Assegna al processo un identificatore univoco Alloca spazio per il processo Inizializza il PCB Predisponi gli opportuni agganci con strutture
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 10 Martedì 7-11-2017 Thread a livello kernel Modello da uno a uno La
DettagliI Processi nel Sistema Operativo Unix
I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo
DettagliSystem Call EXEC EXEC P P. fork exec(new_prog) fork. sono_il_padre = fork(); if (!sono_il_padre) {
System Call EXEC EXEC L effetto delle system call della famiglia exec consiste nel mandare in esecuzione: (1) un programma contenuto in un file eseguibile oppure un (2) interprete di programmi P fork P
DettagliSistemi Operativi Teledidattico
Sistemi Operativi Teledidattico Anno 2002 3a esercitazione 5/10/2002 Paolo Torroni processi fork (creazione di un figlio) exec (sostituzione di codice del programma in esecuzione) wait (attesa della terminazione
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 17 febbraio 2014 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliSistemi Operativi. Marzo-Giugno 2011 matricole congrue 0 mod 3. Controllo dei processi - I
Marzo-Giugno 2011 matricole congrue 0 mod 3 Controllo dei processi - I Controllo dei processi Creazione di nuovi processi Esecuzione di programmi Processo di terminazione Altro 2 1 Identificatori di processi
DettagliSystem calls. permettono ai programmi utente di richiedere servizi al Sistema Operativo. servizi come scrittura di file, stampa su video, ecc.
Le System Calls System calls permettono ai programmi utente di richiedere servizi al Sistema Operativo servizi come scrittura di file, stampa su video, ecc. corrispondenti procedure di libreria GNU C Library
DettagliChiamate di sistema. Pipe Flussi di I/O
Chiamate di sistema Pipe Flussi di I/O Esempio di chiamata di sistema #include int main(int argc, char ** argv) FILE * f; f = fopen("nuovo-file", "w"); fprintf(f, "Hello World!\n"); fclose(f);
DettagliUniversità degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica. SISTEMI OPERATIVI A.A. 2004/2005 Docente: Giorgio Giacinto
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI A.A. 2004/2005 Docente: Giorgio Giacinto fork() & exec() Roberto Perdisci A.A. 2004/2005 1 Dettagli
DettagliSistemi operativi Modulo II I semafori 2 Select
Il sistema operativo LINUX Semafori 2 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica La system call read è bloccante Non
DettagliChiamate di sistema. Pipe Flus s i di I/O
Chiamate di sistema Pipe Flus s i di I/O Esempio di chiamata di sistema #include int main(int argc, char ** argv) { FILE * f; f = fopen("nuovo-file", "w"); fprintf(f, "Hello World!\n"); fclose(f);
DettagliI Processi nel SO UNIX
I Processi nel SO UNIX 1 Processi UNIX UNIX è un sistema operativo multiprogrammato a divisione di tempo: unità di computazione è il processo Caratteristiche del processo UNIX: processo pesante con codice
DettagliSeconda Esercitazione. Gestione di processi in Unix Primitive Fork, Wait, Exec
Seconda Esercitazione Gestione di processi in Unix Primitive Fork, Wait, Exec System call fondamentali fork exit wait exec Generazione di un processo figlio, che condivide il codice con il padre e possiede
DettagliSistemi Operativi Ricapitolazione di Concetti di Base
Sistemi Operativi Concetti di Base Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Gerarchia fisica di memoria 1 Tempo di accesso Capacità tipica
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 7 settembre 2012 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 22 Martedì 7-1-2014 1 System Call per l'uso dei segnali Un processo che
DettagliEsercizio sulla gestione di processi in Unix!
! Esercizio sulla gestione di processi in Unix! 1 Esercizio Si vuole realizzare un programma C che abbia la seguente interfaccia:./launch_commands Il programma deve richiedere all utente: un numero N (pari
DettagliProcessi UNIX. I Processi nel SO UNIX. Gerarchie di processi UNIX. Modello di processo in UNIX
Processi UNIX I Processi nel SO UNIX UNIX è un sistema operativo multiprogrammato a divisione di tempo: unità di computazione è il processo Caratteristiche del processo UNIX: processo pesante con codice
DettagliSincronizzazione tra processi in Unix: i segnali
Sincronizzazione tra processi in Unix: i segnali 1 Sincronizzazione tra processi I processi interagenti possono avere bisogno di sincronizzazione. Unix: non c è condivisione di variabili tra processi:
DettagliSistemi Operativi. Bruschi Martignoni Monga. La gestione. Concetti generali Comandi Interrupt Pila sw Deadlock Gestione dei deadlock
1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it Lezione XXVI: a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo
DettagliSistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania
Sistemi Operativi C.d.L. in Informatica (laurea triennale) Anno Accademico 2018-2019 Dipartimento di Matematica e Informatica Catania Introduzione Prof. Mario Di Raimondo Sistemi Operativi 9 CFU (72 ore)
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 20 Giovedì 22-12-2016 Comunicazione: pipe In Unix, processi possono comunicare
DettagliSincronizzazione tra processi in Unix: : i segnali. Sistemi Operativi T AA
Sincronizzazione tra processi in Unix: : i segnali Sistemi Operativi T AA 2009-2010 1 Sincronizzazione tra processi La sincronizzazione permette di imporre vincoli sull'ordine di esecuzione delle operazioni
DettagliControllo dei Processi. M. R. Guarracino - Primitive di Controllo dei Processi
Controllo dei Processi Introduzione Come possiamo creare nuovi processi? Come possiamo eseguire un programma? Come possiamo terminare un processo? Introduzione Unix fornisce le primitive per la creazione
DettagliLe system call: fork(), wait(), exit()
Le system call: fork(), wait(), exit() Di seguito viene mostrato un programma che fa uso di puntatori a funzione, nel quale si mette in evidenza il loro utilizzo. Programma A1 #include int add(a,b,c)
DettagliACSO Programmazione di Sistema e Concorrente
ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività
DettagliSincronizzazione tra processi in Unix: i segnali
Sincronizzazione tra processi in Unix: i segnali Sincronizzazione tra processi La sincronizzazione permette di imporre vincoli sull'ordine di esecuzione delle operazioni dei processi interagenti. Unix
DettagliProcessi. Comunicazione tra processi Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
Processi Comunicazione tra processi Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Processi independenti e cooperanti I processi concorrenti possono essere Indipendenti Cooperanti
DettagliSincronizzazione tra processi UNIX: i segnali. Sincronizzazione tra processi
Sincronizzazione tra processi UNIX: i segnali Sincronizzazione tra processi Processi interagenti possono avere bisogno di meccanismi di sincronizzazione Ad esempio, abbiamo appena visto il caso di processi
DettagliSistemi Operativi. Descrizione e controllo dei processi
Sistemi Operativi Descrizione e controllo dei processi Servizi di un Sistema Operativo Permettere ad un utente di creare processi (lanciare programmi) Interallacciare l esecuzione di diversi processi,
DettagliPROGRAMMA DISCIPLINARE SVOLTO a. s. 2015 / 2016
PROGRAMMA DISCIPLINARE SVOLTO a. s. 2015 / 2016 DOCENTI: TESTARDO CINZIA, VALERIO FELICI CLASSE 4 a IA DISCIPLINA TPSI MACROARGOMENTI che sono stati trattati nel corso del corrente anno scolastico (in
DettagliProcessi in Linux. Stru/ura file eseguibili
SISTEMI OPERATIVI Processi in Linux Stru/ura file eseguibili» ELF - Executable and Linking Format formato di default degli eseguibili in Linux definizione nel file include » StruGura un header contenente
DettagliOperazioni su file di caratteri
Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si
DettagliProcessi Concetti di base. Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi
Processi Concetti di base Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi Esecuzione sequenziale I sistemi di calcolo più semplici consentono unicamente l'esecuzione sequenziale
DettagliSISTEMI&OPERATIVI& AA&2013&0&2014& Processi( in(linux( Giorgio&Giacinto&2013& Sistemi&Opera?vi&
SISTEMI&OPERATIVI& AA&2013&0&2014& Processi( in(linux( ( 2& Creazione(di(processi( concorren2(» La&creazione&di&un&processo&figlio&consente&di& far&eseguire&alcune&funzionalità&del&programma& in&modo&concorrente&»
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 1 febbraio 2016 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliPrinciples of Concurrent Programming
Principles of Concurrent Programming Alessio Vecchio alessio.vecchio@unipi.it Dip. di Ingegneria dell Informazione Università di Pisa Tratte da Principi e tecniche di progammazione concorrente, cap. 2
DettagliSincronizzazione tra processi! in Unix: i segnali!
Sincronizzazione tra processi! in Unix: i segnali! 1 Sincronizzazione tra processi La sincronizzazione permette di imporre vincoli sull'ordine di esecuzione delle operazioni dei processi interagenti. Unix
DettagliSistemi Operativi. Lezione 3 Processi e Thread
Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione
DettagliProcessi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario
Processi e thread Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di processo Stati di un processo Operazioni e relazioni tra processi Concetto di thread Gestione dei processi
DettagliI Sistemi Operativi. Introduzione ai Sistemi Operativi (parte A) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
I Sistemi Operativi Introduzione ai Sistemi Operativi (parte A) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Componenti di un sistema di elaborazione Hardware Fornisce
DettagliLab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix-
Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- 1 Sommario Esercizi sulla gestione dei processi Creazione di un nuovo processo: fork Sincronizzazione tra processi: wait 2 -
DettagliSincronizzazione tra processi. Sincronizzazione tra processi. segnali. Segnali UNIX
Sincronizzazione tra processi Sincronizzazione tra processi UNIX: i segnali Processi interagenti possono avere bisogno di meccanismi di sincronizzazione Ad esempio, abbiamo appena visto il caso di processi
DettagliÎ Modello ad Ambiente Locale P1 P1. File System P2 P2 P3 P3. Processi in UNIX. Modello di Processo in UNIX
Processi in UNIX Spazio di sistema (residente) Modello di Processo in UNIX 1 Tabella dei processi i PROCESS CODE Tabella dei codici Tabella dei file APERTI OPEN FILE ACTIVE FILE Tabella dei file ATTIVI
DettagliSistemi operativi. Fondamenti di Informatica
Sistemi operativi Fondamenti di Informatica Scratch https://scratch.mit.edu/studios/3840177/ Software ed Hardware Software Hardware Kernel Software Kernel Hardware Sistema operativo Processi: un programma
DettagliModulo 5: Programmazione di sistema --- Parte A: Introduzione alle system call
1 Modulo 5: Programmazione di sistema --- Parte A: Laboratorio di Sistemi Operativi I Anno Accademico 2006-2007 Francesco Pedullà (Tecnologie Informatiche) Massimo Verola (Informatica) Copyright 2005-2006
DettagliSistemi operativi 2003/2004. Linux
Sistemi operativi 2003/2004 Linux Unix 1969: Bell Labs (Ken Thompson) http://www.levenez.com/unix/ Struttura Utility standard Unix e il C 1972: Bell Labs (Dennis Ritchie) Il kernel viene riscritto in C
DettagliSistemi 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
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 9 luglio 2012 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare tutti
Dettagli