Sistemi Operativi. Processi in Linux - Part Ottobre 2007
|
|
- Martino Visconti
- 5 anni fa
- Visualizzazioni
Transcript
1 Sistemi Operativi Processi in Linux - Part 2 Davide Ariu davide.ariu@diee.unica.it Igino Corona igino.corona@diee.unica.it 23 Ottobre 2007
2 Outline Creating a process Process Identiers Permissions Risorse utili
3 Creating a process Ciclo di vita di un processo fork La creazione di un nuovo processo avviene generando una copia di un processo esistente attraverso la funzione fork
4 Creating a process Ciclo di vita di un processo fork La creazione di un nuovo processo avviene generando una copia di un processo esistente attraverso la funzione fork Il nuovo processo è dotato di un PID (Process IDentier) distinto.
5 Creating a process Ciclo di vita di un processo fork La creazione di un nuovo processo avviene generando una copia di un processo esistente attraverso la funzione fork Il nuovo processo è dotato di un PID (Process IDentier) distinto. fork è una funzione che è in grado di restituire due valori distinti. Al processo glio restituisce il valore 0, al processo padre restituisce il PID del processo glio. Un processo, per capire stabilire il suo ruolo, deve analizzare il valore restituitogli dalla fork.
6 Creating a process PARENT - CHILD Processes Considerazioni sull'esempio 3.2:
7 Creating a process PARENT - CHILD Processes Considerazioni sull'esempio 3.2: Uso di write al posto di cout: cout usa un buer, l'output prodotto viene visualizzato solo quando Lo spazio sul buer termina Il processo chiamante muore Viene esplicitamente eettuato un ush del buer
8 Creating a process PARENT - CHILD Processes Considerazioni sull'esempio 3.2: Uso di write al posto di cout: cout usa un buer, l'output prodotto viene visualizzato solo quando Lo spazio sul buer termina Il processo chiamante muore Viene esplicitamente eettuato un ush del buer sleep serve per rallentare il processo (in modo che non termini in un quanto di tempo)
9 Creating a process PARENT - CHILD Processes Considerazioni sull'esempio 3.2: Uso di write al posto di cout: cout usa un buer, l'output prodotto viene visualizzato solo quando Lo spazio sul buer termina Il processo chiamante muore Viene esplicitamente eettuato un ush del buer sleep serve per rallentare il processo (in modo che non termini in un quanto di tempo) Uno dei due processi termina prima dell'altro
10 Creating a process Perchè i processi generano gli? Esistono dei processi chiamati daemon che forniscono servizi su richiesta (ad es. syslogd (system logging daemon), lpd (line printer daemon))
11 Creating a process Perchè i processi generano gli? Esistono dei processi chiamati daemon che forniscono servizi su richiesta (ad es. syslogd (system logging daemon), lpd (line printer daemon)) Restano in ascolto in attesa di richieste
12 Creating a process Perchè i processi generano gli? Esistono dei processi chiamati daemon che forniscono servizi su richiesta (ad es. syslogd (system logging daemon), lpd (line printer daemon)) Restano in ascolto in attesa di richieste Per ogni richiesta il daemon genera un glio (o un thread) che la gestisce
13 Creating a process Perchè i processi generano gli? Esistono dei processi chiamati daemon che forniscono servizi su richiesta (ad es. syslogd (system logging daemon), lpd (line printer daemon)) Restano in ascolto in attesa di richieste Per ogni richiesta il daemon genera un glio (o un thread) che la gestisce Ci sono situazioni in cui un processo genera un glio, per poter sostituire il codice (eseguibile) del glio con il codice (eseguibile) di un altro programma
14 Creating a process Perchè i processi generano gli? Esistono dei processi chiamati daemon che forniscono servizi su richiesta (ad es. syslogd (system logging daemon), lpd (line printer daemon)) Restano in ascolto in attesa di richieste Per ogni richiesta il daemon genera un glio (o un thread) che la gestisce Ci sono situazioni in cui un processo genera un glio, per poter sostituire il codice (eseguibile) del glio con il codice (eseguibile) di un altro programma La famiglia di funzioni exec consente di operare questa sostituzione del codice
15 Creating a process Le funzioni exec Abbiamo a disposizione 5 funzioni di libreria: execl execv execle execlp execvp
16 Creating a process Le funzioni exec Abbiamo a disposizione 5 funzioni di libreria: execl execv execle execlp execvp Tutte queste funzioni si appoggiano alla syscall execve
17 Creating a process Le funzioni exec Abbiamo a disposizione 5 funzioni di libreria: execl execv execle execlp execvp Tutte queste funzioni si appoggiano alla syscall execve La chiamata ad una delle funzioni della famiglia exec provoca la sostituzione dell'immagine del processo chiamante con l'immagine di un nuovo processo
18 Creating a process Le funzioni exec Abbiamo a disposizione 5 funzioni di libreria: execl execv execle execlp execvp Tutte queste funzioni si appoggiano alla syscall execve La chiamata ad una delle funzioni della famiglia exec provoca la sostituzione dell'immagine del processo chiamante con l'immagine di un nuovo processo Se la chiamata ha successo la funzione non ritorna
19 Creating a process Le funzioni exec Abbiamo a disposizione 5 funzioni di libreria: execl execv execle execlp execvp Tutte queste funzioni si appoggiano alla syscall execve La chiamata ad una delle funzioni della famiglia exec provoca la sostituzione dell'immagine del processo chiamante con l'immagine di un nuovo processo Se la chiamata ha successo la funzione non ritorna Text, Data e Stack Segment vengono sovrascritti dal nuovo processo, solo la u-area rimane identica
20 Creating a process Le funzioni exec - Nomenclatura Dopo la parola exec:
21 Creating a process Le funzioni exec - Nomenclatura Dopo la parola exec: l indica che gli argomenti della funzione sono elencati uno dopo l'altro (lista di argomenti) es. int execl(const char *path, const cha *arg0,... const char *argn, char * / NULL /)
22 Creating a process Le funzioni exec - Nomenclatura Dopo la parola exec: l indica che gli argomenti della funzione sono elencati uno dopo l'altro (lista di argomenti) es. int execl(const char *path, const cha *arg0,... const char *argn, char * / NULL /) v indica che gli argomenti della funzione sono contenuti in un array es. int execv(const char *path, const char *argv[])
23 Creating a process Le funzioni exec - Nomenclatura Dopo la parola exec: l indica che gli argomenti della funzione sono elencati uno dopo l'altro (lista di argomenti) es. int execl(const char *path, const cha *arg0,... const char *argn, char * / NULL /) v indica che gli argomenti della funzione sono contenuti in un array es. int execv(const char *path, const char *argv[]) Dopo l o v ci possono essere e, che indica che il programmatore costruisce la lista delle variabili d'ambiente e la passa alla funzione p, che indica che il programma va cercato nei percorsi specicati dalla variabile d'ambiente PATH
24 Creating a process Funzionamento della exec Esempio $ cat file.txt > file2.txt La shell crea un glio tramite una fork La nuova shell (shell glia) chiude lo standard output di default (monitor), apre le2.txt e lo mappa sullo standard output Viene chiamata la system call execve che sovrascrive l'immagine del processo nuova shell con quella del processo creato per eseguire il comando cat La shell aspetta la ne del glio (system call wait) e poi ritorna attiva (visualizza il prompt)
25 Creating a process execlp int execlp(const char *file, const char *argv0,..., const char *argn, char * /*NULL*/); Si usa quando il numero di parametri è noto a priori. Di solito argv0 coincide con le o con il nome del comando senza includere il percorso (Esempio p3.3.cpp. Si fornisca il nome di un le di testo come argomento)
26 Creating a process execvp int execvp(const char *file, const char *argv[]); Si usa quando il numero di parametri può variare dinamicamente Il vettore argv[] contiene la lista dei parametri. (Esempio p3.4.cpp e 3.5.cpp)
27 Process Identiers Identicatori di un processo Ciascun processo è individuato da alcuni identicatori che consentono al Sistema Operativo di gestirlo
28 Process Identiers Identicatori di un processo Ciascun processo è individuato da alcuni identicatori che consentono al Sistema Operativo di gestirlo Il PID, ovvero un numero intero che identica univocamente il processo
29 Process Identiers Identicatori di un processo Ciascun processo è individuato da alcuni identicatori che consentono al Sistema Operativo di gestirlo Il PID, ovvero un numero intero che identica univocamente il processo Il PPID, ovvero il PID del processo genitore
30 Process Identiers Identicatori di un processo Ciascun processo è individuato da alcuni identicatori che consentono al Sistema Operativo di gestirlo Il PID, ovvero un numero intero che identica univocamente il processo Il PPID, ovvero il PID del processo genitore Il PGID, ovvero l'identicatore del gruppo di processi al quale il processo appartiene
31 Process Identiers Identicatori di un processo Process IDentier - PID
32 Process Identiers Identicatori di un processo Process IDentier - PID Il PID è un numero intero che identica univocamente un processo.
33 Process Identiers Identicatori di un processo Process IDentier - PID Il PID è un numero intero che identica univocamente un processo. Il Sistema Operativo assegna un PID crescente ai nuovi processi che vengono generati.
34 Process Identiers Identicatori di un processo Process IDentier - PID Il PID è un numero intero che identica univocamente un processo. Il Sistema Operativo assegna un PID crescente ai nuovi processi che vengono generati. Alcuni processi del Sistema Operativo che vengono generati in fase di bootstrap sempre nello stesso ordine hanno sempre lo stesso PID.
35 Process Identiers Identicatori di un processo Process IDentier - PID Il PID è un numero intero che identica univocamente un processo. Il Sistema Operativo assegna un PID crescente ai nuovi processi che vengono generati. Alcuni processi del Sistema Operativo che vengono generati in fase di bootstrap sempre nello stesso ordine hanno sempre lo stesso PID. La syscall che consente di ottenere il PID di un processo è getpid() (vd. getpid.cpp) Es. cout My process ID is getpid() endl
36 Process Identiers Identicatori di un processo Parent Process IDentier - PPID
37 Process Identiers Identicatori di un processo Parent Process IDentier - PPID A ciascun processo viene associato anche il PID del processo genitore
38 Process Identiers Identicatori di un processo Parent Process IDentier - PPID A ciascun processo viene associato anche il PID del processo genitore La syscall getppid() consente di ottenere il PID del processo padre (vd. getppid.cpp)
39 Process Identiers Identicatori di un processo Parent Process IDentier - PPID A ciascun processo viene associato anche il PID del processo genitore La syscall getppid() consente di ottenere il PID del processo padre (vd. getppid.cpp) Se da un processo glio è possibile risalire al processo padre, non è possibile il percorso inverso: non esiste alcuna syscall attraverso la quale è possibile ottenere il PID di tutti i gli di un dato processo
40 Process Identiers Identicatori di un processo Parent Process IDentier - PPID A ciascun processo viene associato anche il PID del processo genitore La syscall getppid() consente di ottenere il PID del processo padre (vd. getppid.cpp) Se da un processo glio è possibile risalire al processo padre, non è possibile il percorso inverso: non esiste alcuna syscall attraverso la quale è possibile ottenere il PID di tutti i gli di un dato processo Per tenere traccia di questa informazione, un processo padre dovrebbe memorizzare i PID che gli vengono restituiti ogni volta che esso chiama la fork()
41 Process Identiers Identicatori di un processo Process Group IDentier - PGID
42 Process Identiers Identicatori di un processo Process Group IDentier - PGID Un processo e tutti i suoi processi gli costituiscono un gruppo
43 Process Identiers Identicatori di un processo Process Group IDentier - PGID Un processo e tutti i suoi processi gli costituiscono un gruppo Il processo genitore è il process leader
44 Process Identiers Identicatori di un processo Process Group IDentier - PGID Un processo e tutti i suoi processi gli costituiscono un gruppo Il processo genitore è il process leader L'ID del processo genitore è anche l'identicatore del gruppo (PGID)
45 Process Identiers Identicatori di un processo Process Group IDentier - PGID Un processo e tutti i suoi processi gli costituiscono un gruppo Il processo genitore è il process leader L'ID del processo genitore è anche l'identicatore del gruppo (PGID) Il concetto di gruppo è molto importante per la distribuzione dei segnali tra i processi: se il processo padre riceve un segnale di terminazione (kill), questo segnale verrà inoltrato anche a tutti i processi gli (ovvero quelli che fanno parte del suo gruppo)
46 Process Identiers Identicatori di un processo Process Group IDentier - PGID Un processo e tutti i suoi processi gli costituiscono un gruppo Il processo genitore è il process leader L'ID del processo genitore è anche l'identicatore del gruppo (PGID) Il concetto di gruppo è molto importante per la distribuzione dei segnali tra i processi: se il processo padre riceve un segnale di terminazione (kill), questo segnale verrà inoltrato anche a tutti i processi gli (ovvero quelli che fanno parte del suo gruppo) getpgid() è la syscall che consente di ottenere l'id del gruppo di un processo (vd. getpgid.cpp)
47 Permissions Permessi Nei sistemi UNIX, a ciascun le è associato un set di bit che individua quali siano i tipi di operazioni consentite su quel le per tutti gli utenti del sistema.
48 Permissions Permessi Nei sistemi UNIX, a ciascun le è associato un set di bit che individua quali siano i tipi di operazioni consentite su quel le per tutti gli utenti del sistema. 9 bit, divisi in tre set di 3 bit ciascuno
49 Permissions Permessi Nei sistemi UNIX, a ciascun le è associato un set di bit che individua quali siano i tipi di operazioni consentite su quel le per tutti gli utenti del sistema. 9 bit, divisi in tre set di 3 bit ciascuno 3 bit descrivono i permessi per il proprietario (owner) del le, 3 bit sono relativi al gruppo di utenti cui il proprietario appartiene (group), 3 bit descrivono i bit per tutti gli altri utenti (other)
50 Permissions Permessi Nei sistemi UNIX, a ciascun le è associato un set di bit che individua quali siano i tipi di operazioni consentite su quel le per tutti gli utenti del sistema. 9 bit, divisi in tre set di 3 bit ciascuno 3 bit descrivono i permessi per il proprietario (owner) del le, 3 bit sono relativi al gruppo di utenti cui il proprietario appartiene (group), 3 bit descrivono i bit per tutti gli altri utenti (other) I 3 bit di ogni set individuano rispettivamente i permessi in lettura (read), scrittura (write) e esecuzione (execution)
51 Permissions Permessi
52 Permissions Permessi I permessi possono rappresentati da tre cifre in ottale.
53 Permissions Permessi I permessi possono rappresentati da tre cifre in ottale. rwx r-x rw- = 756 signica:
54 Permissions Permessi I permessi possono rappresentati da tre cifre in ottale. rwx r-x rw- = 756 signica: Che il proprietario ha permessi di lettura, scritturae esecuzione
55 Permissions Permessi I permessi possono rappresentati da tre cifre in ottale. rwx r-x rw- = 756 signica: Che il proprietario ha permessi di lettura, scritturae esecuzione Che al gruppo del proprietario sono concessi i permessi di letturae esecuzione ma non di scrittura
56 Permissions Permessi I permessi possono rappresentati da tre cifre in ottale. rwx r-x rw- = 756 signica: Che il proprietario ha permessi di lettura, scritturae esecuzione Che al gruppo del proprietario sono concessi i permessi di letturae esecuzione ma non di scrittura Che a tutti gli altri utenti sono concessi i permessi di letturae scritturama non di esecuzione
57 Permissions Permessi I permessi possono rappresentati da tre cifre in ottale. rwx r-x rw- = 756 signica: Che il proprietario ha permessi di lettura, scritturae esecuzione Che al gruppo del proprietario sono concessi i permessi di letturae esecuzione ma non di scrittura Che a tutti gli altri utenti sono concessi i permessi di letturae scritturama non di esecuzione Il comando chmod consente al proprietario (o a root) di cambiare i permessi di accesso ad un le
58 Permissions Permessi I permessi possono rappresentati da tre cifre in ottale. rwx r-x rw- = 756 signica: Che il proprietario ha permessi di lettura, scritturae esecuzione Che al gruppo del proprietario sono concessi i permessi di letturae esecuzione ma non di scrittura Che a tutti gli altri utenti sono concessi i permessi di letturae scritturama non di esecuzione Il comando chmod consente al proprietario (o a root) di cambiare i permessi di accesso ad un le Il comando ls -l consente di elencare i le con i relativi permessi
59 Permissions Permessi E' il sistema operativo che assegna dei permessi di default ad un le quando questo viene creato. Questi permessi vengono determinati in modo automatico eettuando un operazione bit a bit tra la creation mask e la umask La creation mask vale di default 777 per les eseguibili e directories e 666 per gli altri les La umask vale di default 022 Il valore della umask può essere visualizzato o modicato utilizzando il comando umask Il valore della umask può essere impostato per ciascun utente all'interno del le.bash_prole
60 Permissions Identicatori di utente e di gruppo Ciascun utente è identicato da real user ID (UID), associato al nome utente real group ID (GID), associato al nome del gruppo di cui fa parte l'utente
61 Permissions Identicatori di utente e di gruppo Ciascun utente è identicato da real user ID (UID), associato al nome utente real group ID (GID), associato al nome del gruppo di cui fa parte l'utente A ciascun processo sono associati eective user ID (EUID) eective group ID (EGID)
62 Permissions Identicatori di utente e di gruppo Ciascun utente è identicato da real user ID (UID), associato al nome utente real group ID (GID), associato al nome del gruppo di cui fa parte l'utente A ciascun processo sono associati eective user ID (EUID) eective group ID (EGID) Dal momento che tutti i processi (eccetto alcuni processi di sistema) vengono creati da utenti, di solito l'eectiveid coincide con il realid.
63 Permissions Set User ID E' dunque possibile distinguere: Un real ID usato dal sistema per , accounting, ecc.
64 Permissions Set User ID E' dunque possibile distinguere: Un real ID usato dal sistema per , accounting, ecc. Un eective ID per stabilire i privilegi associati a quel processo Es. Per cambiare la propria password è necessario avere i privilegi di root eective group ID (EGID)
65 Permissions Set User ID E' dunque possibile distinguere: Un real ID usato dal sistema per , accounting, ecc. Un eective ID per stabilire i privilegi associati a quel processo Es. Per cambiare la propria password è necessario avere i privilegi di root eective group ID (EGID) Esiste un altro insieme di permessi SUID (set-user-id) e SGID (set-group-id). Questi permessi dicono al sistema operativo che quando il programma è in esecuzione deve avere gli stessi privilegi dell owner-gruppo del proprietario del programma (e non quelli dello user/gruppo associati al processo). (/usr/bin/passw può essere eseguito come root)
66 Permissions Limiti di risorse per un processo Il comando ulimit consente di visualizzare le risorse disponibili ulimit -ah: hard limits(possono essere modicati solo dal superuser) ulimit -as: soft limits(possono essere modicati dall'utente). Un soft limit è tipicamente minore o ugaule al corrispondente hard limit I limiti visualizzati sono relativi a cpu seconds, dimensione max di un le, spazio complessivo relativo ai segmenti di dati e di stack, spazio per il segmento di stack, numero descrittori di le, ecc.
67 Permissions Segnali Possono essere pensati come l'analogo software degli interruptper l'hardware. Possono essere generati da Hardware: ad es., un processo cerca di accedere ad aree di memoria non autorizzate Kernel: ad es., per noticare ad un processo che la periferica di cui era in attesa è pronta Altri processi: ad es., un processo glio notica al genitore che ha terminato Utente: ad es., producendo segnali di quit, interrupt o stop attraverso la tastiera
68 Permissions Segnali I segnali sono numerati ( man 7 signal ) <sys/signal.h>
69 Permissions Segnali I segnali sono numerati ( man 7 signal ) <sys/signal.h> Un processo che ha ricevuto un segnale può: Eseguire l'azione di default per quel segnale, specicata dal sistema Es.: (a) noticare al genitore la terminazione, (b) generare un core dump (copia su le dell'immagine del processo in memoria), (c) terminare Ignorare il segnale (non valido per SIGSTOP e SIGKILL) Catturare il segnale ed eseguire la routine legata al segnale (non valido per SIGSTOP e SIGKILL)
70 Permissions Informazioni sui le L'immagine di un processo contiene informazioni sui le aperti dal processo stesso A ciascun le aperto è associato un numero intero, chiamato descrittore di le Il descrittore di le è l'indice di una tabella con 1024 righe che si trova nella u-area del processo (contiene i le aperti dal processo) Il sistema operativo gestisce la tabella dei le aperti da tutti i processi (system le table) Nella tabella dei descrittori dei le di ciascun processo c'è il riferimento alla corrispondente riga della tabella di sistema
71 Permissions Informazioni sui le
72 Permissions Informazioni sui le Ciascun glio può accedere ai le aperti dal padre usando gli stessi descrittori Figlio e padre possono leggere/scrivere indipendentemente Identicatori di default: 0 stdin (input standard) 1 stdout (output standard) 2 stderr (errori: di solito coincide con il dispositivo stdout)
73 Permissions Il lesystem proc E' un lesystem virtuale che contiene informazioni relative al kernel, strutture dati del kernel, stato di ciascun processo e thread associati. ( man 5 proc ) E' virtuale perchè le informazioni non sono memorizzate su disco, ma in memoria principale Le informazioni memorizzate in /proc possono essere visualizzate con il comando procinfo ls /proc Gli elementi numerici sono associati ai processi, mentre gli elementi non-numerici sono associati al kernel
74 Permissions Il lesystem proc Per ogni processo, la relativa directory contiene cmdline - Lista argomenti in linea di comando cpu - Informazioni sull'uso della CPU cwd - Current working directory exe - Link simbolico al le binario del processo environ - Variabili d'ambiente fd - Identicatori numerici dei le aperti etc.
75 Risorse utili Risorse utili Alcuni riferimenti John Shapley Gray, Interprocess Communications in LINUX, The Nooks & Crannies B. W. Kernighan, D. M. Ritchie, Il Linguaggio C, Prentice Hall Herbert Schildt, Guida al C++, Mc Graw Hill
Università 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
DettagliTransizioni di stato in UNIX
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI A.A. 2004/2005 Docente: Giorgio Giacinto Processi in Linux Roberto Perdisci A.A. 2004/2005 1
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
DettagliProcessi in Linux. Igino Corona igino.corona@diee.unica.it. 20 Ottobre 2009
Sistemi Operativi Processi in Linux Igino Corona igino.corona@diee.unica.it 20 Ottobre 2009 Contenuti della lezione Come funzionano i programmi in Linux? Schema base di esecuzione di un programma Modalità
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()
DettagliLINUX: struttura generale
LINUX: struttura generale User Interface The layers of a UNIX system. 1 Processi in LINUX Ogni processo nasce con un solo thread Un processo gira in modalità utente; quando effettua una system call passa
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
DettagliProcessi. Introduzione. Effective user/group id. Fork
Introduzione Processi = entità attiva 1. esiste per un certo lasso di tempo 2. utilizza risorse Ogni processo ha un identificatore intero (PID: process identifier) Tutti i processi UNIX hanno un genitore
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:
DettagliIntroduzione. P4 termina prima di P3, P2 e P3 prima di P1 P1 P2 P3 P4 P1 P1 P2 P3 P4. Padre. P1,..., P4 sono processi. Figlio
Processi Introduzione Processo = entità attiva 1. esiste per un certo lasso di tempo 2. utilizza risorse Ogni processo ha un identificatore intero (PID: process identifier) Tutti i processi UNIX hanno
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&»
DettagliLaboratorio di Sistemi Operativi Marzo-Giugno 2008 matricole congrue 0 mod 3
Marzo-Giugno 2008 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
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 23 Martedì 17-01-2017 Il file system Il file system si basa sulle astrazioni
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
DettagliProgetto II: Il linguaggio C e le chiamate di sistema sui processi
Progetto II: Il linguaggio C e le chiamate di sistema sui processi Scrivere un programma C psstat.c che svolga quanto segue: se invocato senza parametri deve stampare su standard output un istogramma orizzontale
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
DettagliL ambiente di un processo (I)
L ambiente di un processo (I) L ambiente di un processo è un insieme di stringhe (terminate da \0). Un ambiente è rappresentato da un vettore di puntatori a caratteri terminato da un puntatore nullo. Ogni
DettagliCorso di Laboratorio di Sistemi Operativi A.A
Corso di Laboratorio di Sistemi Operativi A.A. 2016 2017 Lezione 13 Ivan Scagnetto ivan.scagnetto@uniud.it Nicola Gigante gigante.nicola@spes.uniud.it Dipartimento di Scienze Matematiche, Informatiche
DettagliLab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013
Lab. di Sistemi Operativi - Lezione in aula - a.a. 2012/2013 Processi bash 1 Sommario I processi Comando ps (process status) Terminazione di un processo CTRL-C Kill Controllo dei processi Processi in background
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
DettagliEsempio di domande sul file system
Esempio di domande sul file system Si supponga che un file system usi blocchi di 4 Kbyte, e che un puntatore ad un blocco occupi 4 byte. Se l INODE di un file utilizza 12 blocchi, un blocco indiretto ed
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
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
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
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
DettagliSistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 2. Editor Utenti Permessi
Sistemi Operativi Corso di Laurea Triennale in Ingegneria Informatica Editor Utenti Permessi Esercitazione 2 Domande sulle lezioni passate? Lezione 2 Editor Utenti e gruppi, Permessi, Gestione utenti (prima
DettagliPag. 1. modello di esecuzione parallela
Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel calcolatore. Costituisce la parte essenziale del cosiddetto software di sistema (o di base) in quanto
DettagliAccesso a Linux. E Mumolo - DIA
Accesso a Linux E Mumolo - DIA Login Esempio: Ubuntu 10.04l4 LTS tt2 login: utente Password: $ PROMPT Verifica accesso: File /etc/passwd File /etc/shadow Login scheduler init File password/shadow La verifica
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 (parte III)
DettagliGestione dei processi nel sistema operativo Unix
Gestione dei processi nel sistema operativo Unix (Bach: the Design of the Unix Operating System (cap: 6, 7, 8) 1 Argomenti Processi Strutture dati associate ai processi boot, init, shell Process Scheduling
DettagliIn generale può essere utile che i due processi eseguano del codice diverso
System call FORK P fork() ha l aspetto di una funzione C, in realtà è una system call, una chiamata al sistema operativo fork() P P Il processo P' è una copia di P esegue lo stesso codice e possiede una
DettagliIgino Corona
Sistemi Operativi Esercitazione 6: Comunicazione fra processi in Linux PIPE Igino Corona igino.corona@diee.unica.it 17 Novembre 2009 File In Linux, un le può essere un contenitore di informazione o uno
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
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
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
DettagliLaboratorio di sistemi operativi A.A. 2010/2011 Gruppo 2 Gennaro Oliva Processi
Laboratorio di sistemi operativi A.A. 2010/2011 Gruppo 2 Gennaro Oliva Processi Processo L'istanza di un programma in esecuzione in ambiente UNIX viene detta processo Ogni programma può generare diversi
DettagliEsame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:
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
DettagliLa famiglia di system call exec. Modulo 6. Laboratorio di Sistemi Operativi I Anno Accademico
1 Modulo 6 Laboratorio di Sistemi Operativi I Anno Accademico 2008-2009 Copyright 2005-2007 Francesco Pedullà, Massimo Verola Copyright 2001-2005 Renzo Davoli, Alberto Montresor (Universitá di Bologna)
DettagliProcessi in UNIX. Spazio di sistema (residente) Tabella dei. file APERTI OPEN FILE. Tabella dei codici
Processi in UNIX Spazio di sistema (residente) 1 i Tabella dei processi CODE Tabella dei file APERTI ACTIVE FILE PROCESS Tabella dei codici OPEN FILE Tabella dei file ATTIVI Spazio di utente (swappable)
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
DettagliLezione XII.IV Gestione dei file Uso della shell I permessi di accesso
Programmazione e Laboratorio di Programmazione Lezione XII.IV Gestione dei file Uso della shell I permessi di accesso Programmazione e Laboratorio di Programmazione: Gestione dei file Uso della shell 1
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
DettagliSistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Esercitazione 2. Editor Utenti Permessi
Sistemi Operativi Corso di Laurea Triennale in Ingegneria Informatica Editor Utenti Permessi Esercitazione 2 Domande sulle lezioni passate? Lezione 2 Editor Utenti e gruppi, Permessi, Gestione utenti (prima
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
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
DettagliGestione dei processi
Gestione dei processi Dormire unsigned int sleep(unsigned int); Attende un numero specificato di secondi a meno che non si verifichi un segnale Restituisce 0 se l'attesa è terminata senza interruzioni,
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
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
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
DettagliEsercizio 2 Scrivere un programma C che: Prende in input da linea di comando il nome di una directory ed il nome di un file. Se non e' possibile aprir
Esercizio 1 Scrivere un programma in C che prende in input (su riga di comando) il nome di un file e visualizza: Il file uid=
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 22 Martedì 08-01-2019 Struttura logica del file system una tipica organizzazione
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
DettagliReti Informatiche Corso di Laurea Triennale in Ingegneria Informatica
Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica Ing. Daniele Migliorini (daniele.migliorini@for.unipi.it) # 1 1 Seconda Esercitazione # 2 2 Sommario Editor Utenti e gruppi, Permessi,
DettagliProcessore Danilo Dessì. Architettura degli Elaboratori.
Processore 8088 Architettura degli Elaboratori Danilo Dessì danilo_dessi@unica.it Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine
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: www.iet.unipi.it/g.cola Informazioni generali Ricevimento
DettagliProcessi. C. Baroglio a.a
Processi C. Baroglio a.a. 2002-2003 1 Processi, flussi e pipe In Unix ogni processo è identificato da un numero intero, il Process IDentifier o PID per brevità. I processi sono generati o dall esecuzione
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
DettagliSimulazione esame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio
DettagliPermessi base e speciali in Unix-Linux
Permessi base e speciali in Unix-Linux Le autorizzazioni di base vengono assegnati utilizzando tre tipi di accesso: Lettura, scrittura ed esecuzione. Questi tipi di accesso vengono utilizzati per determinare
DettagliPage 1. Programmazione. Shell e programmazione. File comandi (script) Introduzione alla programmazione nella shell di Unix
Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Programmazione E` possibile memorizzare sequenze di comandi all'interno di le eseguibili: Ad esempio: #!bin/bash echo hello world!
DettagliControllo degli accessi in UNIX - parte I
1 aprile 2019 1 aprile1 Controllo degli accessi nei sistemi UNIX Linee guida generiche stabilite fin dalle prime versioni: 1 Tutti gli oggetti (es. file, processi) hanno dei proprietari. I proprietari
DettagliSistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008
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. 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
DettagliProcessi: system calls
Processi 24 Processi: system calls In Unix, ogni processo viene creato dal kernel su richiesta di un altro processo (detto processo padre), mediante una apposita system call (fork). Esiste un processo
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
DettagliEditor, Utenti e Permessi Insegnamento di Sistemi Operativi di Rete Master Universitario in Tecnologie Internet
Editor, Utenti e Permessi Insegnamento di Sistemi Operativi di Rete Master Universitario in Tecnologie Internet Domenico De Guglielmo E-mail: domenicodegu@virgilio.it Telefono: 050 2217 468 Pervasive Computing
DettagliIntroduzione alla programmazione nella shell di Unix 10 Maggio 2005
Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Page 1 Shell e programmazione La shell di UNIX definisce un vero e proprio linguaggio di programmazione, le cui caratteristiche principali
DettagliLaboratorio di Sistemi Operativi primavera 2009
primavera 2009 Forme di comunicazione tra processi La comunicazione tra processi può avvenire: Le pipe Passando dei files aperti tramite fork Attraverso il filesystem Utilizzando le pipes Utilizzando le
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
DettagliSistema operativo e processi. Il Sistema Operativo ed i Processi. Il sistema operativo. Il sistema operativo
Il Sistema Operativo ed i Processi Giuseppe Pozzi Impianti di Elaborazione Facoltà di Ingegneria di Como Politecnico di Milano giuseppe.pozzi@polimi.it - versione del 22 ottobre 2003 - Sistema operativo
DettagliFile System Unix. Generalità
File System Unix Generalità File System: Caratteristiche Struttura gerarchica Files senza struttura (byte strems) Protezione da accessi non autorizzati Semplicità di struttura "On a UNIX system, everything
DettagliCorso di Informatica Modulo T3 1-Nucleo e processi
Corso di Informatica Modulo T3 1-Nucleo e processi 1 Prerequisiti Concetto stack Programmazione elementare Struttura elementare del computer Concetto intuitivo di sottoprogramma 2 1 Introduzione Vediamo
DettagliCORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 4
UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica e delle Telecomunicazioni a.a. 2005-2006 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 4 1 Funzioni per il
DettagliCorso di Informatica
Corso di Informatica Modulo L2 4-1 Prerequisiti Concetto di firmware Struttura di base di un sistema operativo Uso pratico elementare di un sistema operativo 2 1 Introduzione In questa Unità vediamo più
DettagliSenza Soluzioni. Può un altro utente non appartenente al gruppo di mgiorgio, eseguire gli stessi comandi?
Senza Soluzioni Scrivere i due seguenti semplici script in bash shell: a. (1.5pt.)uno script che cancella un file dando il suo inode. Lo script e' attivato cosi': irm b. (1.5pt.)uno script che
DettagliLaboratorio di Sistemi Operativi Marzo-Giugno 2008 Matricole congrue 0 mod 3
Marzo-Giugno 2008 Matricole congrue 0 mod 3 IPC: pipe e FIFO (1) Forme di comunicazione tra processi La comunicazione tra processi può avvenire: Passando dei files aperti tramite fork Attraverso il filesystem
DettagliProcessi - II. Franco Maria Nardini
Processi - II Franco Maria Nardini Processi Programmi in esecuzione in memoria sono chiamati processi. Caricati in memoria da una delle sei funzioni exec(3). Ogni processo ha un identificatore univoco
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
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
DettagliLaboratorio di Sistemi Operativi
Laboratorio di Sistemi Operativi LAB2 Installazione Linux e relativi ambienti di lavoro 2002/2003 Pagani - Trentini Slide 1 Agenda Panoramica e storia di Linux Installazione Linux Installazione strumenti
DettagliControllo degli accessi in UNIX
Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2013/2014 Controllo degli accessi in UNIX Andrea Lanzi 2014 Andrea Lanzi Controllo degli accessi in UNIX
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 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
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
DettagliControllo degli accessi in UNIX - parte I
Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2012/2013 Controllo degli accessi in UNIX - parte I Srdjan Matic, Aristide Fattori 12 Aprile 2013 Srdjan
DettagliIntroduzione a Unix/Bash. Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire
Introduzione a Unix/Bash Insieme minimo di strumenti per interagire con la shell Bash, compilare ed eseguire Sistema operativo e shell Il sistema operativo è un programma che Fa da intermediario fra le
DettagliProcessi. Franco Maria Nardini
Processi Franco Maria Nardini La funzione main il kernel gestisce l avvio del vostro codice C (attraverso una funzione exec) routine speciale di start-up che prepara l ambiente di esecuzione per il main
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
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 (parte II)
DettagliEsame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio
DettagliProgrammazione di Sistema 3
Programmazione di Sistema 3 Paolo Baldan Università Ca Foscari Venezia Corso di Laurea in Informatica Parte di questo materiale è rielaborato dalle slide del Corso di Laboratorio di Sistemi Operativi tenuto
DettagliESERCITAZIONE 2 fork e exec
ESERCITAZIONE 2 fork e exec Richiami di scripting Ripassiamo: Differenza tra pipe e ridirezione su file Come si accede agli argomenti di un invocazione Sintassi dell if Sintassi del for Pipe e ridirezione
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
DettagliSistemi Operativi. Corso di Laurea Triennale in Ingegneria Informatica. Daniel Cesarini
Sistemi Operativi Corso di Laurea Triennale in Ingegneria Informatica Shell (prosecuzione) Permessi (prosecuzione) Gestione utenti (prosecuzione) Daniel Cesarini daniel.cesarini@for.unipi.it www.iet.unipi.it/d.cesarini
DettagliEsercizi su permessi
Esercizi su permessi usare umask per verificare il valore corrente creare file e directory verificare i permessi cambiare umask e ripetere l esercizio verificando come cambiano i permessi creare una cartella
DettagliProcessi - II. Franco Maria Nardini
Processi - II Franco Maria Nardini Memory Layout un programma C è composto dalle seguenti parti: text segments: sono le istruzioni che la CPU esegue. è condiviso in memoria (una sola copia). è read-only.
Dettagli