Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti smonti@deis.unibo.it



Похожие документы

Il Software. Il software del PC. Il BIOS

Il Sistema Operativo Linux

Il software del PC. Il BIOS

LPIC-1 Junior Level Linux Certification

Guida di Installazione GCC

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1

NOZIONI BASE PER ESERCITAZIONI

Il computer: primi elementi

Programmare in Java. Olga Scotti

I Sistemi Operativi. Installazione Ubuntu Linux su Macchina Virtuale

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

Introduzione al Python

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Corso base GNU/Linux Latina Linux Group. Sito web: Mailing list:

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Installazione LINUX 10.0

Online Help StruxureWare Data Center Expert

Moduli di Fatturazione Elettronica

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Approccio stratificato

Acronis Universal Restore

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Domenico De Guglielmo Vanessa Gardellin & Sara Lioba Volpi

Introduzione ai sistemi UNIX/Linux

Corso di Sistemi Operativi DEE - Politecnico di Bari. Windows vs LINUX. G. Piscitelli - M. Ruta. 1 di 20 Windows vs LINUX

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18

LINUX. Che cos'e` un sistema operativo?

Multisentry ASE-V (v. 1.0) - Guida rapida all installazione

PROGRAMMA DEL CORSO AMMINISTRATORE DI SISTEMI LINUX

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Corso Linux Corso Online Amministratore di Sistemi Linux

Protezione del Kernel Tramite Macchine Virtuali

Virtualizzazione VirtualBox su Host Windows

Architettura di un sistema operativo

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Programmazione Orientata agli Oggetti in Linguaggio Java

Laboratorio di Programmazione

VMware. Gestione dello shutdown con UPS MetaSystem

SquashFS, AuFS ed i segreti delle distribuzioni live

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

Installazione dell'adattatore di IBM SPSS Modeler Server

Virtualizzazione VirtualBox su Host Linux

Indice generale. Introduzione...xiii. Perché la virtualizzazione...1. Virtualizzazione del desktop: VirtualBox e Player...27

Seminari Acmesystems. NerInformatica. Relatore : Luciano Neri. Ingegnere libero professionista Ordine degli Ingegneri di Vicenza

VirtualBox. Eseguire altri sistemi operativi dentro Linux. Stefano Sanfilippo. POuL. 28 ottobre 2013

Introduzione a Dev-C++

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

DINAMIC: gestione assistenza tecnica

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

MODULO 02. Iniziamo a usare il computer

Corso ForTIC C2 LEZIONE n. 1

Primi Passi con GNU/Linux

MODEM USB MDC525UP Guida Rapida LINUX

Ambienti di Sviluppo

Getting Started. Walter Cazzola. Dipartimento di Informatica e Comunicazione Università degli Studi di Milano

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

1.1 Installazione di ARCHLine.XP

Linux e Open Source: Libero! Non "gratis"...

Corso amministratore di sistema Linux. Corso amministratore di sistema Linux Programma

Panoramica: che cosa è necessario

Setup e installazione

Informatica. Il software (S.O.) e ancora sulle basi numeriche

VPN RETI PRIVATE VIRTUALI: ACCESSO REMOTO

Compilatore risorse display grafico LCD serie IEC-line

POLINUX. Linux for Polimi people

Corso Amministratore di Sistema Linux Programma

Terza lezione: Directory e File system di Linux

Tecnico Hardware & Sistemistica

Guida alla documentazione italiana di Solaris Server per sistemi SPARC SMCC

Virtualizzazione di macchine Linux tramite XEN

Corso di Informatica

Corso UNIX avanzato. Utente avanzato. Amministratore. Gestione proprio account Gestione dei propri processi Ricerca e manipolazione file

Eclipse e Subversion

Macchine Virtuali. Docente: Fabio Tordini

Introduzione al sistema operativo. Laboratorio Software C. Brandolese

Introduzione alla Virtualizzazione

Il Sistema Operativo (1)

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

uadro Soluzione software e hardware Per le rilevazione presenze Gestione Aziendale Fa quadrato attorno alla tua azienda

Riferimento rapido per l'installazione SUSE Linux Enterprise Desktop 11

Ingegneria del Software 1: Eclipse

Транскрипт:

Prima Esercitazione GNU/Linux e linguaggio C Stefano Monti smonti@deis.unibo.it Unix e GNU/Linux Unix: sviluppato negli anni '60-'70 presso Bell Labs di AT&T, attualmente sotto il controllo del consorzio The Open Group (... 10, UNIX certified: sistemi fully-compliant (IBM AIX, Solaris (... BSD, Unix-like: sistemi NON fully-compliant (GNU/Linux, ( Unix GNU (GNU's Not progetto annunciato da Stallman '83; obiettivo la creazione di un sistema operativo free Unix-like obiettivo raggiunto nel '92, con l'adozione del kernel Linux Linux primo kernel rilasciato nel 1991 ad opera di Torvalds successivamente, adozione di software dal progetto GNU attualmente kernel ufficiale Linux nome in codice Vanilla 2

Distribuzioni GNU/Linux Attualmente varie distribuzioni GNU/Linux (comunemente distro): personalizzazione del kernel vanilla collezione di pacchetti (applicativi) software: archivi compressi usati per automatizzare e semplificare l'installazione di applicazioni (compilazione dei sorgenti, impostazione delle (... ecc variabili di ambiente, configurazione di permessi, alcuni esempi: Redhat/Fedora, Slackware, Debian, Gentoo, Ubuntu, SUSE, ecc... Gestori di pacchetti: sono pacchetti a loro volta (..., Portage differenti per famiglie di distribuzioni (RPM, APT, operazioni di installazione, rimozione, aggiornamento di pacchetti software gestione dipendenze tra pacchetti 3 Ai fini del corso... Necessità di utilizzare un sistema operativo Unix-like; varie possibilità: Installazione di una distribuzione Linux su una macchina fisica: maggiore apprendimento ma complessità e problematiche (... ecc maggiori (partizionamento del disco fisso, dual booting, Uso distribuzioni Linux Live CD nessuna installazione, ambiente di lavoro stateless e ripetibile caricato in RAM, elevati requisiti hardware, prestazioni penalizzate Virtualizzazione installazione necessaria ma priva di implicazioni per la macchina fisica (configurazione dual boot, partizionamento del disco), prestazioni ragionevoli 4

Virtualizzazione Guest OS GNU/LINUX Virtual Machine Guest OS Windows Virtual Machine Guest OS BSD Virtual Machine Virtualization Software Host OS ( GNU/LINUX (e.g., Windows or HARDWARE 5 VMWare Software di virtualizzazione largamente diffuso diversi prodotti, sia commerciali che gratuiti per piattaforme Windows e GNU/Linux http://www.vmware.com/products/free_virtualization.html VMWare Player: esecuzione di macchine virtuali esistenti VMWare Server: creazione e configurazione di nuove macchine virtuali Virtual Appliances Marketplace: repository di macchine virtuali preconfezionate (ad es., installazioni di base delle ( distribuzioni maggiori VMWare Converter: creazione di macchine virtuali a partire da macchine fisiche (solo per piattaforma Windows) già esistenti 6

Shell - comandi di base man <nome_comando> manuale del comando e opzioni cd <nome_directory> Permette di spostarsi all interno del file system Posizioni relative: ( padre (direttorio corrente) e.. (direttorio. mkdir <nome_nuova_directory> Creazione di un nuovo direttorio ls <parametri> Lista il contenuto del direttorio corrente emacs (o vi) <nome_file> Programmi per l editing; se il file non esiste, lo creano 7 Compilazione sorgenti - C Comando gcc <file> Compilatore C e C++ Compila <file> producendo il file eseguibile a.out Per dare un nome diverso al file prodotto opzione -o Es: gcc file_exec.c -o f_ex Esecuzione:./f_ex <parametri> 8

Compilazione sorgenti - Java Comando javac <file>.java Compila il sorgente <file>.java producendo il file bytecode <file>.class possibilità di wildcard e/o indicazione esplicita di più file sorgenti (es. javac *.java oppure javac (... file1.java file2.java parametro -d per esplicitare la directory di output Comando java <file> [param1... paramn] interpreta (esegue) il bytecode contenuto in <file>.class sulla macchina virtuale Java Es: javac MyProgram.java Esecuzione: java MyProgram myparam1 4 9 Esercitazione 1- Obiettivi Programmazione C Gestione dei parametri in ingresso argomenti argc ed argv controllo di correttezza dei parametri in ingresso Gestione delle stringhe libreria string.h 10

( 1/2 ) Esercitazione 1 Testo Si realizzi un programma C che abbia un'interfaccia del tipo listatreni treno1... trenon e che prenda in ingresso un numero arbitrario di stringhe rappresentanti il codice di un treno, nel formato: <TIPOTRENO><NUMEROTRENO> <TIPOTRENO> stringa di due caratteri che rappresenta il tipo di treno (per semplicità, si assuma che abbia i valori "IC", "ES", "RG", rispettivamente per le tipologie Intercity, ( Regionale Eurostar e <NUMEROTRENO> identificativo numerico univoco del treno di 4 cifre 11 ( 2/2 ) Esercitazione 1 Testo Il programma deve: controllare che sia stato passato almeno un treno controllare che ogni codice passato sia conforme alle caratteristiche sopra indicate (in particolar ( caratteri modo, rispetti la lunghezza di 6 stampare a video i soli identificativi dei treni, raggruppati per categoria 12