Processi in Linux. Igino Corona 20 Ottobre 2009
|
|
- Teodora Mantovani
- 8 anni fa
- Visualizzazioni
Transcript
1 Sistemi Operativi Processi in Linux Igino Corona 20 Ottobre 2009
2 Contenuti della lezione Come funzionano i programmi in Linux? Schema base di esecuzione di un programma Modalità utente e kernel Chiamate a sistema (syscall) Memoria allocata ai processi Segmenti Text, Data e Stack La u (user) Area Creazione dei processi - syscall fork() Identicatori di processo Process IDentier - PID Parent process Indentied - PPID Process Group Identier - PGID Fork e processi - esempio Syscall Exec Possiamo creare processi completamente diversi dal genitore? La shell usa fork e exec La famiglia di syscall exec Alcuni programmi di esempio
3 Come funzionano i programmi in Linux? Schema base di esecuzione di un programma I le eseguibili (in Linux, in formato ELF), vengono interpretati dal sistema operativo per la creazione di un processo sistema operativo. sul Un processo è di fatto un oggetto allocato in memoria avente una struttura pressata: contiene le istruzioni del programma, nonché diversi campi necessari (al sistema operativo) per la sua gestione. In generale, quando un processo è in esecuzione, cioè il s.o. sta eseguendo le istruzioni del programma, esso è allocato in memoria principale.
4 Come funzionano i programmi in Linux? Modalità utente e kernel Esistono due principali modalità di esecuzione dei processi: utente (user mode) e kernel (kernel mode). I processi in modalità utente (appartenenti allo user space) hanno gli stessi privilegi, e permessi di accesso alle risorse, concessi agli utenti che li hanno eseguiti. I processi in modalità kernel (appartenenti al kernel space) hanno invece privilegi e permessi di accesso alle risorse, concessi al super utente root. Queste due modalità sono utili per proteggere l'integrità e garantire le funzionalità del kernel di Linux: in genere sono anche supportate a livello hardware, tramite l'instruction set degli attuali microprocessori.
5 Come funzionano i programmi in Linux? Chiamate a sistema (syscall) Esistono delle funzioni base oerte dal kernel del sistema operativo, che fanno da interfaccia per l'accesso/gestione delle risorse sul calcolatore, ad esempio, apertura di un le, terminazione di un processo, creazione di una connessione TCP, etc. Tali funzioni sono dette chiamate a sistema o syscall. Le syscall sono implementate attraverso istruzioni contenute nel kernel, e possono essere richiamate da un programma utente. Per ogni syscall esiste una funzione di libreria C (es. libc) che fa da wrapper.
6 Come funzionano i programmi in Linux? Chiamate a sistema (syscall) Ogni volta che un programma utente esegue una syscall (direttamente o indirettamente, tramite librerie), avviene un cambio di contesto (context switch), poiché il processo passa temporaneamente dalla modalità utente alla modalità kernel. Per limitare il tempo necessario al cambio di contesto, spesso le chiamate al sistema per Input/Output sono inserite in un buer.
7 Come funzionano i programmi in Linux? Memoria allocata ai processi
8 Come funzionano i programmi in Linux? Memoria allocata ai processi Ogni processo ha un suo spazio di memoria riservato, suddiviso in text segment, data segment e stack segment. Il text segment contiene il codice eseguibile e i dati costanti. Questa parte della memoria è leggibile ma non modicabile dal processo e può essere condivisa da processi diversi che eseguono lo stesso codice (in modo da risparmiare spazio in memoria) Il data segment contiene variabili inizializzate e non inizializzate. Questa area può essere estesa (es. in C, tramite malloc()). Lo stack segment è usato dal sistema per memorizzare identicatori automatici, variabili locali, registri e informazioni sulle chiamate a funzione.
9 Come funzionano i programmi in Linux? Memoria allocata ai processi I riferimenti alle tre zone text segment, data segment e stack segment sono forniti dalle 3 variabili C (da dichiarare come extern) etext, edata e end: Gli indirizzi delle variabili etext, edata, end contengono rispettivamente il primo indirizzo valido successivo ai segmenti di testo, dei dati inizializzati e dei dati non inizializzati. La regione di memoria non allocata compresa tra l'indirizzo di ne della sezione dati e la ne dello stack (n.b. che viene riempito in senso contrario) talvolta viene chiamato anche heap.
10 Come funzionano i programmi in Linux? Memoria allocata ai processi Esempio: si compili e si esegua il programma mem_proc.c. Associare i vari tipi di variabili alle parti della memoria del processo in gura.
11 Come funzionano i programmi in Linux? Memoria allocata ai processi La u (user) area è un area all'interno della quale il sistema operativo immagazzina le informazioni relative ad ogni singolo processo. Per ogni processo si tiene traccia di: Informazioni sulle risorse utilizzate (ad esempio les aperti) Directory di lavoro corrente Segnali giunti al processo System stack (le informazioni per la gestione delle chiamate a sistema vengono memorizzate in questo stack) Stato del processo (dormiente, bloccato, in esecuzione) Proprietario del processo La u-area è accessibile solo attraverso le system call.
12 Creazione dei processi - syscall fork() Quando il s.o. viene avviato, il cosiddetto swapper (PID = 0) è il primo processo ad essere creato (da zero) e crea il processo init. Il processo init, di PID 1, crea poi una serie di thread 1 per la gestione del s.o. La creazione di un nuovo processo avviene generando una copia di un processo esistente. La funzione di sistema che eettua la copia di processi è la fork() Il nuovo processo è dotato di un PID (Process IDentier) distinto. 1 In Linux un thread è un tipo speciale di processo, che condivide lo spazio indirizzi e le risorse del genitore.
13 Creazione dei processi - syscall fork() La fork() è una funzione che normalmente restituisce due valori distinti. Al processo glio restituisce il valore 0, al processo padre restituisce il PID del processo glio. Se la funzione fork() fallisce restituisce il valore -1 e imposta il valore opportuno della variabile errno. Dopo la chiamata alla fork(), sia il padre che il glio continuano ad essere eseguiti a partire dalla prima istruzione successiva alla fork(). Il fatto che venga eseguito prima il padre o il glio dipende unicamente dall'algoritmo di scheduling utilizzato dal kernel.
14 Creazione dei processi - syscall fork() Poiché i due processi sono identici (a parte il PID), per fare in modo che il glio faccia qualcosa di diverso dal padre, occorre che il usso di elaborazione cambi a seconda del valore restituito dalla fork(). Se un processo padre termina prima dei propri gli, il processo init prende il posto del padre.
15 Creazione dei processi - syscall fork() Identicatori di processo Ciascun processo è caratterizzato da alcuni identicatori utili al sistema operativo per la sua gestione: 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.
16 Creazione dei processi - syscall fork() Identicatori di processo 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, poiché vengono generati in fase di avvio sempre nello stesso ordine, hanno sempre lo stesso PID Un processo può conoscere il proprio PID tramite la syscall getpid()
17 Creazione dei processi - syscall fork() Identicatori di processo A ciascun processo viene associato anche il PID del processo genitore La syscall getppid() consente di ottenere il PID del processo padre 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().
18 Creazione dei processi - syscall fork() Identicatori di processo 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 (che vedremo in seguito) 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) Tramite la syscall getpgid(id) un processo può conoscere l'id del gruppo di appartenenza La syscall prende in ingresso l' id del processo di cui si vuole conoscere il gruppo di appartenenza (getpgid(0) specica che vogliamo conoscere il gruppo del processo chiamante)
19 Fork e processi - esempio Il programma fork_esempio.c illustra chiaramente qual'è l'operazione svolta dalla fork(). NOTA: la gestione dell'errore sulla fork(): in caso di errore fork() ritorna -1 e imposta il valore della variabile errno. Altrimenti, al processo padre ritorna il PID del nuovo processo creato, mentre al processo glio ritorna il valore 0. NOTA: per utilizzare delle syscall getpid, getppid e getpgid è necessario includere gli header <sys/types.h> e <unistd.h> A partire dall'output del programma, disegnare lo schema di generazione dei processi.
20 Syscall Exec Possiamo creare processi completamente diversi dal genitore? In molti casi risulta utile creare nuovi processi, le cui istruzioni (Text area), e la cui variabili (Data e Stack area) siano diverse da quelle del processo padre. L'espediente consiste nel creare prima un processo glio, tramite fork. Tramite una syscall exec si sovrascrive l'immagine (segmenti Text, Data e Stack) del nuovo processo, e solo la u-area rimane intatta. Per far ciò una exec necessita del nome del (o del puntatore al) le eseguibile (e degli argomenti da passargli) da usare per la creazione della nuova immagine del processo. In pratica, questo corrisponde al lanciare un certo eseguibile, ed è il ruolo principale svolto dalla shell. Quindi, fork ed exec sono syscall spesso utilizzate congiuntamente.
21 Syscall Exec La shell usa fork e exec La shell esegue un comando esterno (es. cat) attraverso l'utilizzo congiunto di fork e exec. La shell legge il comando (es. cat) e gli argomenti dal prompt La shell crea un glio tramite una fork, e (di defult) resta bloccata no alla sua terminazione (syscall wait) Il glio chiama una exec, passandole il nome del (o il puntatore al) le eseguibile e gli argomenti estratti dal prompt (es. il le eseguibile di nome cat all'interno della cartella /bin/) Al termine del processo glio, la shell rivisualizza il prompt per ricevere nuovi comandi
22 Syscall Exec La famiglia di syscall exec Abbiamo a disposizione ben 6 syscall della famiglia exec: execl() execv() execle() execve() execlp() execvp() Queste syscall si dierenziano per la parte nale del nome ad indicare alcune dierenze nell'acquisizione e nella tipologia degli argomenti passati. Tutte queste chiamate restituiscono -1 in caso di errore e impostano la variabile errno (se hanno successo, per denizione, non ritornano).
23 Syscall Exec La famiglia di syscall exec Esempio: execlp int execlp(const char *nomele, char *arg1,..., char *argn, (char *) NULL); nomele è il nome del le eseguibile (completo di percorso sul lesystem) arg1,...,argn sono gli argomenti da passare al programma l'ultimo argomento della syscall è una stringa vuota (char *)NULL, per indicare che tutti gli argomenti sono stati inseriti
24 Alcuni programmi di esempio La syscall execlp è utilizzata nei programmi clone_cat.c e cat_ls.c. clone_cat.c mostra come sia possibile generare un programma clone di cat, attraverso l'utilizzo di exec. cat_ls.c mostra come sia possibile eseguire concorrentemente un processo clone cat e uno clone di ls, attraverso l'utilizzo congiunto di fork e exec.
Corso 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
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
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
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
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
DettagliUniversità di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
DettagliSistemi Operativi (modulo di Informatica II) I processi
Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
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
DettagliSISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
DettagliDefinizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
DettagliL API socket ed i daemon
L API socket ed i daemon Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy http://www.iac.cnr.it/
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,
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
DettagliIl SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)
Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può
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 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliIn un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :
Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo
DettagliComputazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2
Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliPronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
Dettagli(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
DettagliModello dei processi. Riedizione delle slide della Prof. Di Stefano
Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess
DettagliCREAZIONE PROCESSI IN UNIX 20
CREAZIONE PROCESSI IN UNIX 20 STRUTTURE DATI PER PROCESSI Un processo puo' essere in escuzione in 2 modi: kernel e utente. Un processo ha almeno 3 regioni: codice, dati e stack Lo stack è allocato dinamicamente.
DettagliLink e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006
Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero
DettagliAllocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliSistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti
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
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliI processi Unix. Entry della tabella dei processi
I processi Unix Ciascun processo Unix può evolvere in stato utente o in stato kernel. Il passaggio dall uno all altro stato avviene mediante SVC. Poiché il processo può andare in attesa di un evento nell
DettagliLa struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
DettagliAlla scoperta della nuova interfaccia di Office 2010
Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
DettagliIl Sistema Operativo
Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema
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()
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliCorso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
DettagliManuale di realizzazione dei modelli di documento
MystiqueXML Manuale di realizzazione dei modelli di documento Indice 1 Le tabelle...5 1.1 Tabelle condizionali...5 1.2 Tabelle Multiple - un solo livello...5 1.3 Tabelle Multiple - a più livelli...5 2
DettagliIl descrittore di processo (PCB)
Il descrittore di processo (PC) Il S.O. gestisce i processi associando a ciascuno di essi un struttura dati di tipo record detta descrittore di processo o Process Control lock (PC) Il PC contiene tutte
DettagliAirone Gestione Rifiuti Funzioni di Esportazione e Importazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...
DettagliTerza lezione: Directory e File system di Linux
Terza lezione: Directory e File system di Linux DIRECTORY E FILE SYSTEM Il file system di Linux e Unix è organizzato in una struttura ad albero gerarchica. Il livello più alto del file system è / o directory
DettagliIBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
DettagliPer scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
DettagliEsercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)
Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni
DettagliElementi di Architettura e Sistemi Operativi
Elementi di Architettura e Sistemi Operativi Bioinformatica - Tiziano Villa 15 Giugno 2015 Nome e Cognome: Matricola: Posta elettronica: problema punti massimi i tuoi punti problema 1 4 problema 2 6 problema
DettagliSistemi Operativi. Processi in Linux - Part Ottobre 2007
Sistemi Operativi Processi in Linux - Part 2 Davide Ariu davide.ariu@diee.unica.it Igino Corona igino.corona@diee.unica.it 23 Ottobre 2007 Outline Creating a process Process Identiers Permissions Risorse
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto
Dettagli2. I THREAD. 2.1 Introduzione
2. I THREAD 2.1 Introduzione Il tipo di parallelismo che è opportuno avere a disposizione nelle applicazioni varia in base al grado di cooperazione necessaria tra le diverse attività svolte in parallelo:
DettagliAppunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo
Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................
Dettagli1 CARICAMENTO LOTTI ED ESISTENZE AD INIZIO ESERCIZIO
GESTIONE LOTTI La gestione dei lotti viene abilitata tramite un flag nei Progressivi Ditta (è presente anche un flag per Considerare i Lotti con Esistenza Nulla negli elenchi visualizzati/stampati nelle
Dettagli13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliAutomatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione
Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento
Dettaglidall argomento argomento della malloc()
Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliCorso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta
Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliNelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento
I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono
DettagliWG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15
WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione
DettagliLA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
DettagliIl Concetto di Processo
Processi e Thread 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
DettagliCAP. 6: Nucleo del sistema operativo (La gestione dei processi)
Struttura interna del sistema operativo Linux CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Architettura del sistema operativo shell Programmi utente Modo utente Interfaccia delle chiamate
DettagliMANUALE PARCELLA FACILE PLUS INDICE
MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
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
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
DettagliGestione della memoria. Paginazione Segmentazione Segmentazione con paginazione
Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base
DettagliInformatica: il sistema operativo
pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 6 ottobre 2006 Il software Il software è l insieme dei programmi che operano sul calcolatore Software
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliCorso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica
Corso di Laurea in Matematica Seminario C/C++ Costa Università degli Studi di Milano Dipartimento di Matematica 19 Ottobre 2011 Cos'é un'ide IDE = Integrated Development Environment Consiste in: Editor
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 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi
DettagliIntroduzione al Foglio Elettronico
Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono
DettagliEsercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
DettagliSistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1
GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria
DettagliSistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco
GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria
DettagliEsercizio data base "Biblioteca"
Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni
DettagliProgettazione di un Database
Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di
DettagliUniversità degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi
Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo
DettagliPSNET UC RUPAR PIEMONTE MANUALE OPERATIVO
Pag. 1 di 17 VERIFICHE E APPROVAZIONI VERSIONE V01 REDAZIONE CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA PRATESI STATO DELLE VARIAZIONI VERSIONE PARAGRAFO O DESCRIZIONE
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)
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
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
DettagliReti di Telecomunicazione Lezione 8
Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato
DettagliGestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job.
Di cosa parliamo in questa lezione? Lezione 4 Cosa è un processo e come viene gestito dal SO 1 e job 2 Il blocco di controllo Sistemi operativi 3 Struttura di un file eseguibile 4 La schedulazione dei
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi
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
DettagliMANUALE UTENTE Fiscali Free
MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato
DettagliNOZIONI BASE SHELL E SCRIPT LINUX
NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI (ermes@zannoni.to.it) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory
DettagliSistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo
Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al
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
Dettagli