Sistemi Operativi. Esercitazione 2 Compilazione, Makefile e Processi
|
|
|
- Eduardo Manfredi
- 10 anni fa
- Visualizzazioni
Transcript
1 Sistemi Operativi Esercitazione 2 Compilazione, Makefile e Processi
2 Percorso Compilazione programmi in c Makefiles Processi definizione gestione creazione
3 Compilazione di programmi in C
4 Compilazione e Linking Codice sorgente Librerie (file oggetto) COMPILATORE LINKER File oggetto Eseguibile
5 Compilatore e linker gcc Open-Source GNU project Compilatore e linker gcc Supporta C e C++ Comando generico gcc <opzioni> <argomenti> Opzioni: elenco di flag che controllano il compilatore e il linker; Argomenti: elenco di file che gcc legge e trasforma in maniera dipendente dalle opzioni
6 Opzioni gcc (1) Opzioni più comuni -c file -o file -g -Wall Esegue la compilazione non il linker Specifica il nome di output; in genere indica il nome dell eseguibile finale (linkando) Indica a gcc di non ottimizzare il codice e di inserire informazioni extra per poter effettuare il debugging (i.e., vedere gdb) Stampa warning per tutti i possibili errori nel codice
7 Opzioni gcc (2) -Idir -lm -Ldir Specifica ulteriori direttori in cui cercare gli header file Specifica utilizzo libreria matematica Specifica direttori per ricercare librerie preesistenti
8 Processo di creazione dell'eseguibile Il compilatore prende in ingresso i file sorgenti e fornisce in uscita i file oggetto (object files -.o files) gcc -c main.c -c(compile) con l'opzione -c vengono creati solo I file oggetto e non l'eseguibile Il linker prende in ingresso i file oggetto e crea l'eseguibile gcc main.o -o nome_eseguibile Compilazione e linking in una sola istruzione gcc main.c -o nome_eseguibile
9 Makefiles
10 Cos'è un Makefile? I Makefies sono dei file che permettono, insieme al comando make di compilare e gestire i propri progetti (Programmi scritti in C) man make Sono utili per compilare i file.c soprattutto nel caso si abbiano tanti file da compilare con tanti headers da includere
11 Come sono organizzati? La versione base di un Makefile è composta da: target: dipendenze [tab] comando unix Esempio Makefile: all: target Shell : make all gcc Wall main.c o mywc comando unix di compilazione
12 Usare le dipendenze A volte può essere utile usare target differenti Example: compile: echo compiling my application gcc -Wall main.c -o mywc install : compile esegue prima il target compile e poi il target install echo copying executable in the deploy directory... clean : echo clean object files...
13 Esercizio 1 Creare un make che permetta di: creare l'eseguibile del sorgente mysource.c creare una directory install e copiarne l'eseguibile creato prima cancellare la directory install
14 Usare le variabili Le variabili sono utili per cambiare compilatore o le opzioni di compilazione. Example CC=gcc dichiarazione e inizializzazione variabili CFLAGS=-Wall ONAME=myWC compile: echo compiling my application $(CC) $(CFLAGS) main.c -o $(ONAME) uso delle variabili...
15 Comando make Lanciando make da shell: Cercherà un file di nome makefile nella directory corrente, e lo eseguirà. Se si hanno diversi, si può usare l'opzione -f per speificare il nome del makefile : make -f MyMakefile
16 Processi
17 Cos'è un processo É un istanza di un programma in memoria! Ogni programma che viene eseguito crea un processo. Un programma può essere un comando unix, uno script di shell, o qualsiasi eseguibile
18 Attributi di un processo PID (Process-Id) Il PID è usato dal Kernel per identificare il processo Simile all'utilizzo dell'inode per l'identficazione dei file PPID (Parent Process Id) Il processo che crea un'altro processo si chiama Padre (o Parent), il processo creato si chiama Figlio (o child) Il PID del processo Parent è chiamato PPID TTY Il terminale al quale il processo è associato Ci sono processi, chiamati Daemons, che non appartengono a nessun terminale UID L'ID dell'utente al quale appartiene il processo File Descriptors I Descrittori dei file collegati al processo (nput, output e descrittori di errore)
19 Come creare un processo(fork) System call fork() usata per creare un processo (un nuovo flusso di esecuzione) Non riceve argomenti e ritorna: 0 al processo Figlio (Child Process) PID del figlio al processo Padre (Parent process) -1 in caso di errore
20 Fork system call Process Fork() execution flow 1 Parallel execution Child Process execution flow 2 parent Process execution flow 1 exit(0) exit(0) Quale processo termina prima?
21 Fork: esempio 1 Creazione di un figlio #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { pid_t pid; fprintf(stdout, "Parent: my PID is %d: my parent is process %d\n", getpid(), getppid()); pid = fork(); if (pid == 0){ // Child fprintf(stdout, "ID Returned to Child: %d\n", pid); } else { //Parent fprintf(stdout, "ID Returned to Parent: %d\n", pid); } } exit (0);
22 Esercizio 2 Scrivere un programma in C che permette di creare due processi figli
23 Esercizio 3 Scrivere un programma in C per creare N processi figli
24 Fork: esempio 2 Spazio di indirizzamento dei processi /* * Illustrates the use of separate process address spaces * with common inital values */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { int x, y; x = 4; if (fork()) { // parent!= 0 y = 5; x = 15; sleep (5); } else { // child y= -5; } // recall 0 in C is FALSE fprintf(stdout, " x = %d y = %d process %d, PPID %d\n", x, y, getpid(), getppid()); exit(0); }
25 sleep unsigned sleep(unsigned seconds); Sospende l'esecuzione di un processo per un determinato tempo Il processo potrebbe essere sospeso più a lungo, a causa della schedulazione delle altre attività del sistema Valori di ritorno 0 tempo scaduto Unslept il tempo che resta da dormire se viene ricevuto un segnale
26 Sleep: esempio #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { pid_t pid1; pid_t pid2; fprintf(stdout, "Parent: my PID is %d: my parent is process %d\n", getpid(), getppid()); pid1 = fork(); if (pid1 == 0){ // Child1 fprintf(stdout, "ID Returned to First Child: %d\n", pid1); sleep(5); fprintf(stdout, "First Child end!"); } } else { //Parent fprintf(stdout, "First Child ID Returned to Parent : %d\n", pid1); pid2 = fork(); if (pid2 == 0){ // Child2 fprintf(stdout, "ID Returned to Second Child: %d\n", pid2); } else { //Parent fprintf(stdout, "Second Child ID Returned to Parent : %d\n", pid2); fprintf(stdout, "Second Child end!\n"); } } exit (0);
27 Esercizio 4 Qual'è l'ordine in cui compaiono i messaggi di output del programma precedente?
28 Gestione Processi (1) Un processo può essere esguito in due modi Foreground Di default ogni processo gira in foreground Prende gli input da tastiera e manda gli output a video Mentre un programma sta girando in foreground, non possiamo eseguire nessun altro processo Esempio foreground : $ ls Background Il vantaggio è che in questo caso si possono lanciare altri processi Non bisogna aspettare che termini I processi si lanciano in background usanto il carattere & sul terminale esempio: $ ls &
29 Gestione Processi(2) Lista dei processi in esecuzione comando ps $ps -f UID PID PPID C STIME TTY TIME CMD UID User ID that this process belongs to (the person running it). PID Process ID. PPID Parent process ID (the ID of the process that started it). C CPU utilization of process. STIME Process start time. TTY Terminal type associated with the process TIME CPU time taken by the process. CMD The command that started this process.
30 Gestione processi(3) ps options -a Shows information about all users -x Shows information about processes without terminals. -u Shows additional information like -f option. -e Display extended information. Stopping processes CTRL + C keystroke this works when process is running in foreground mode. If a process is running in background kill command kill -9 PID use ps command to get the process PID you need to kill
31 Sincronizzazione dei Processi
32 System call wait pid_t wait(int *status) Blocca il processo che la chiama finchè non termina uno dei suoi figli oppure se riceve un segnale Può essere usata per rilasciare delle risorse allocate per un figlio Se non si chiama la wait il figlio che termina diventa Zombie
33 Zombie vs Orphan Un processo zombie (o defunct) è un processo che ha completato la sua esecuzione ha ancora una entry nella process table il Parent è ancora vivo Il processo Orphan è un processo ancora in esecuzione il cui Parent è terminato. Questi processi non sono Zombie ma vengono adottati dal processo init (ID=1)
34 System call wait: esempio int main(int argc, char *argv[]) { pid_t pid; int status; fprintf(stdout, "Parent: my PID is %d: my parent is process %d\n", getpid(), getppid()); pid = fork(); if (pid == 0){ // Child int s; fprintf(stdout, "Child: my PID is %d: my parent is process %d - Please enter a number(0-255)\n", getpid(), getppid()); scanf("%d",&s); fprintf(stdout, "Child %d - my exit status will be %d\n",getpid(),s%256); exit (s); } } else { //Parent wait(&status); fprintf(stdout, "Parent %d - my child status is %d\n",getpid(),status>>8); exit (0); } C P P Sync Point P
35 Esercizio 5 Scrivere un programma in C che può creare un Zombie
36 Esercizio 6 Scrivere un programma in C che può creare un Orphan
37 System call waitpid pid_t waitpid(pid_t pid, int *status, int options) Aspetta un figlio specifico definito dal pid
Gestione 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,
Programmazione 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
Chiamate di sistema per la Gestione dei processi in POSIX. E.Mumolo, DEEI [email protected]
Chiamate di sistema per la Gestione dei processi in POSIX E.Mumolo, DEEI [email protected] Process id ed altri identificatori pid_t getpid(); // Process id del processo chiamante pid_t getppid(); // Process
Lab. 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 -
Corso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 5 Alessandro Dal Palù email: [email protected] web: www.unipr.it/~dalpalu Processi in Unix Approfondimenti: http://gapil.gnulinux.it/download/
AXO. 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
Introduzione a GCC: GNU Compiler Collection
Introduzione a GCC: GNU Compiler Collection Caratteristiche di GCC Compilatore multipiattaforma modulare Disponibile per tutti i principali sistemi operativi Può produrre programmi per la maggior parte
Controllo di processi
Controllo di processi Ogni processo del sistema ha un PID (Process Identity Number). Ogni processo può generare nuovi processi (figli). La radice della gerarchia di processi è il processo init con PID=1.
Lab. di Sistemi Operativi - Esercitazione n 9- -Thread-
Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -
Processi 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
Processi e Sincronizzazione. Laboratorio Software 2008-2009 C. Brandolese M. Grotto
Processi e Sincronizzazione C. Brandolese M. Grotto Sommario 1. Processi Concetti fondamentali Stati in GNU/Linux 2. Creazione Descrizione Creazione con system() Creazione con fork() Effetto di fork()
Laboratorio 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
Processi in Linux. Igino Corona [email protected]. 20 Ottobre 2009
Sistemi Operativi Processi in Linux Igino Corona [email protected] 20 Ottobre 2009 Contenuti della lezione Come funzionano i programmi in Linux? Schema base di esecuzione di un programma Modalità
Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica
Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico
Lezione 10: Librerie e compilazione separata
Lezione 10: Librerie e compilazione separata Laboratorio di Elementi di Architettura e Sistemi Operativi 16 Maggio 2012 Calendario della parte finale del corso Mer 23 Maggio ultima lezione sul C Gio 24
ZZZ01 Esercizi Vari. Esercizi per preparazione alla prova pratica di laboratorio
ZZZ01 Esercizi Vari Esercizi per preparazione alla prova pratica di laboratorio Esercizio ZZZ01_01 - Elefanti Schizzinosi Nella savana africana c'e' una pozza d'acqua fresca alimentata da un acquedotto.
Unix e GNU/Linux Eugenio Magistretti [email protected] Prima Esercitazione Fork Stefano Monti [email protected] Unix: sviluppato negli anni '60-'70 presso Bell Labs di AT&T, attualmente sotto
Makefile. Un target in generale e' un file. Usando.PHONY: target specifichiamo a make che il target non e' un file
Makefile Un target in generale e' un file. Usando.PHONY: target specifichiamo a make che il target non e' un file make target C./dir in pratica equivale all'esecuzione del comando make target all'interno
CREAZIONE 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.
Sincronizzazione e comunicazione tra processi in Unix. usati per trasferire ad un processo l indicazione che un determinato evento si è verificato.
Processi parte III Sincronizzazione e comunicazione tra processi in Unix Segnali: usati per trasferire ad un processo l indicazione che un determinato evento si è verificato. Pipe: struttura dinamica,
Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console
Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Il compilatore per i linguaggi c e c++ chiamato lcc-win32 è un prodotto gratuito scaricabile dal sito http://www.cs.virginia.edu/~lcc-win32/
POSIX - Gestione dei Segnali. E.Mumolo, DEEI [email protected]
POSIX - Gestione dei Segnali E.Mumolo, DEEI [email protected] Segnali in POSIX Segnali in Posix Modalità di notifiche relative a vari eventi asincroni I signal interrompono un processo e possono o meno essere
Compilatori GNU in Linux: gcc e g++
Un compilatore integrato C/C++ Per Linux e' disponibile un compilatore integrato C/C++: si tratta dei comandi GNU gcc e g++, rispettivamente. In realta g++ e' uno script che chiama gcc con opzioni specifiche
Modello 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
IPC System V. Code di messaggi
IPC System V Code di messaggi Panoramica coda di messaggi una lista concatenata di messaggi, FIFO semaforo un contatore condiviso, atomicamente modificabile memoria condivisa uno spazio di memoria accessibile
Corso 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
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli
NOZIONI BASE PER ESERCITAZIONI
NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi
System 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:
Il comando Make: : uno strumento per la compilazione ed esecuzione di software applicativo. A. Murli - Cacolo Scientifico a.a.
Il comando Make: : uno strumento per la compilazione ed esecuzione di software applicativo a.a.2007/2008 1 Un software si compone di diversi moduli, generalmente memorizzati in file diversi. Il programma
Corso 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
Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
Capitolo 3 -- Silberschatz
Processi Capitolo 3 -- Silberschatz Concetto di processo Un SO esegue una varietà di attività: Sistemi batch job Sistemi time-sharing programmi utenti o task Nel libro i termini job e processo sono usati
Funzioni. Il modello console. Interfaccia in modalità console
Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi
Processi 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
ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX
ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX Introduzione In questa dispensa sono stati raccolti alcuni esercizi di programmazione C in ambiente Unix, tratti dagli esami di Sistemi Operativi svoltisi
INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo [email protected]
INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo [email protected] Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare
CLUSTER COKA. Macchine e Risorse
CLUSTER COKA Macchine e Risorse Il cluster per il progetto COKA si compone complessivamente delle seguenti 5 macchine: rd coka 01 : server con il MIC e le GPU K20; rd gpu 01 : server con GPU C1060; rd
GDB. The GNU Debugger
GDB The GNU Debugger Il problema del programmatore Il programmatore perfetto non esiste! Nessuna sicurezza che il programma funzioni al primo colpo Più il programma è grande più ci possono essere errori
Il compilatore Dev-C++
Il compilatore Dev-C++ A cura del dott. Marco Cesati 1 Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/devcpp.html Installazione Configurazione Utilizzazione 2 1 Requisiti di sistema
Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività:
Impossibile visualizzare l'immagine. Processi Concetto di processo Un SO esegue una varietà di attività: Sistemi batch job Sistemi time-sharing programmi utenti o task Nel libro i termini job e processo
Gestione dei processi
Capitolo 1 Gestione dei processi 1.1 Creazione di un processo I principali eventi che possono dare luogo ad un nuovo processo sono: inizializzazione del sistema; esecuzione di una primitiva di sistema
LABORATORIO DI SISTEMI OPERATIVI
LABORATORIO DI SISTEMI OPERATIVI Corso di Laurea Triennale in Ingegneria Informatica A.A. 2018/2019 Guglielmo Cola Email: [email protected] Web: iet.unipi.it/g.cola Processi in Unix/Linux caratteristiche
Esercizio sulla gestione di file in Unix
Esercizio sulla gestione di file in Unix 1 Esercizio Si vuole realizzare un programma C che, utilizzando le system call di Unix, realizzi uno schema di comunicazione tra due processi (padre e figlio) mediante
Con 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
Terza Esercitazione. Unix - Esercizio 1. Unix System Call Exec Java Introduzione Thread
Terza Esercitazione Unix System Call Exec Java Introduzione Thread Stefano Monti [email protected] Unix - Esercizio 1 Scrivere un programma C con la seguente interfaccia:./compilaedesegui
I Metacaratteri della Shell Unix
I Metacaratteri della Shell Unix La shell Unix riconosce alcuni caratteri speciali, chiamati metacaratteri, che possono comparire nei comandi. Quando l utente invia un comando, la shell lo scandisce alla
Programmazione di Sistema 3
Programmazione di Sistema 3 Gestione dei Processi Paolo Baldan Università Ca Foscari Venezia Corso di Laurea in Informatica Parte di questo materiale è rielaborato dalle slide del Corso di Laboratorio
Il sistema operativo UNIX/Linux. Gli script di shell
Il sistema operativo UNIX/Linux Gli script di shell Introduzione Le shell permettono La gestione di comandi su linea di comando La shell comprende automaticamente quando il costrutto termina e lo esegue
Computazione 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:
Introduzione all uso di Eclipse
Introduzione all uso di Eclipse Daniela Micucci Programmazione Outline Eclipse: concetti generali Definire un workspace Creare un project Importare un file Utilizzo 1 Introduzione Eclipse è un ambiente
Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010
Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale
Elementi 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
ToolChain: Come Generare Applicazioni in Linguaggio Macchina
ToolChain: Come Generare Applicazioni in Linguaggio Macchina Luca Abeni e Luigi Palopoli March 30, 2015 La Lingua della CPU Una CPU capisce e riesce ad eseguire solo il linguaggio macchina Linguaggio di
Funzioni 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
Il Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL
STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione
Mini Guida per Apple XCode. Maurizio Martinelli
Mini Guida per Apple XCode Maurizio Martinelli XCode? Piattaforma ufficiale di Apple per lo sviluppo di programmi in C, C++, Cocoa Si può ottenere gratuitamente da http://developer.apple.com/technologies/xcode.html
VARIABILI LOCALI E GLOBALI (ESTERNE)
VARIABILI LOCALI E GLOBALI (ESTERNE) Le variabili locali sono definite (ed il loro uso dichiarato) nella funzione (o nel blocco) che le usa; nascono quando la funzione entra in esecuzione e muoiono al
IL LINGUAGGIO C NOSTRO APPROCCIO AL C. Sempre con esempi che illustrano le caratteristiche del linguaggio. SCRIVERE ED ESEGUIRE IL PRIMO PROGRAMMA C
IL LINGUAGGIO C Sviluppato agli inizi degli anni '70 nei Bell Laboratories per ricerca, ha caratteristiche che lo rendono ideale per uso scientifico. Si sviluppa e si diffonde parallelamente a Unix. È
I TUTOR. Massimiliano Cattafi e-mail: [email protected]. Ilaria Laurenti e-mail: [email protected].
I TUTOR Massimiliano Cattafi e-mail: [email protected] Ilaria Laurenti e-mail: [email protected] IL LABORATORIO Perché il laboratorio? Alcune problematiche si capiscono
Richiamo compilatore FORTRAN 77
Table of Contents Richiamo compilatore FORTRAN 77...1 Indice dei contenuti...1 Generalità sul compilatore f77...1 Nomi di file (filename)...1 Opzioni...2 Note per utenti OpenVMS...3 i In questa pagina
3 - 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
Corso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
Riccardo 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
Definizione 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
Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.
Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché
Header. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
http://www.programmiamo.altervista.org/c/oop/o...
PROGRAMMIAMO Programma per la gestione di un conto corrente C++ - Costruttore e distruttore C++ Home Contatti Supponiamo ora di voler scrivere un programma a menu per la gestione di un conto corrente bancario.
I SISTEMI OPERATIVI (1)
I SISTEMI OPERATIVI (1) 1 un computer può essere pensato come una stratificazione di macchine virtuali, ciascuna delle quali mette a disposizione alcuni servizi, che sono utilizzabili mediante chiamate
Automatizzare 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
CAP. 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
Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1
Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati
Programmazione di sistema in Linux: System Call per il controllo processi. E. Mumolo, DIA
Programmazione di sistema in Linux: System Call per il controllo processi E. Mumolo, DIA Struttura generica di Linux Chiamate delle System call (Trap) interfaccia Utente Shell comandi di linea Compilatori
Introduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
Introduzione 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
DevC++ vers. 4.9.9.2 Manuale d uso
DevC++ vers. 4.9.9.2 Manuale d uso Liceo Scientifico N. TRON di SCHIO (VI) Sommario 1 INTRODUZIONE... 3 2 SETUP... 5 2.1 Procedura di installazione... 5 2.2 Configurazione... 7 2.2.1 Opzioni dell ambiente...
