Introduzione a LINUX. Unix



Похожие документы
Il Sistema Operativo Linux

Il Sistema Operativo (1)

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il computer: primi elementi

MODULO 02. Iniziamo a usare il computer

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

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Corso di Informatica

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Architettura di un sistema operativo

Architetture Applicative

Il Software. Il software del PC. Il BIOS

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Software di base. Corso di Fondamenti di Informatica

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Corso di Alfabetizzazione Informatica

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il software del PC. Il BIOS

Sistemi operativi. Esempi di sistemi operativi

Hardware delle reti LAN

Le Infrastrutture Software ed il Sistema Operativo

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

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

Il Web Server e il protocollo HTTP

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Funzioni del Sistema Operativo

Classificazione del software

Dispensa di Informatica I.1

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

La Filosofia ''Open Source'' ed il Sistema Operativo ''Linux''. Gabriele Turco e Tudor Trani.

Approccio stratificato

Corso sul pacchetto R

Corso ForTIC C2 LEZIONE n. 1

Software. Definizione, tipologie, progettazione

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

Introduzione ai Sistemi Operativi

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

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Il Sistema Operativo

lem logic enterprise manager

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

Laboratorio di Informatica

InitZero s.r.l. Via P. Calamandrei, Arezzo

Introduzione al sistema operativo. Laboratorio Software C. Brandolese

LINUX. Che cos'e` un sistema operativo?

Registratori di Cassa

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

Sistemi operativi e reti A.A Lezione 2

Organizzazione di Sistemi Operativi e Reti

Organizzazione Monolitica

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

CAPITOLO 5 - Sistemi Operativi Moderni

Installazione LINUX 10.0

Il web server Apache Lezione n. 3. Introduzione

Un Sistema Operativo multiuser-multitask UNIX

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Programmare in Java. Olga Scotti

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

Capitolo 3: Strutture dei sistemi operativi

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Sharpdesk V3.3. Guida all installazione Versione

CAPITOLO 1 I SISTEMI OPERATIVI

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Il software. Capitolo 3 La potenza non è nulla senza il software. Informatica di Base -- R.Gaeta 1

TERM TALK. software per la raccolta dati

Infrastrutture Software

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Alcune estensioni comuni Tipo del file Estensione corrispondente..wav,.mid,.voc Grafica.bmp,.jpg,.gif,.tif Documenti web.htm,.html

Sistemi Operativi. Conclusioni e nuove frontiere

Firewall applicativo per la protezione di portali intranet/extranet

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Gestione della memoria centrale

Транскрипт:

Introduzione a LINUX Introduzione a Linux 1 Unix 1969: Ken Thompson AT&T Bell Lab realizza un ambiente di calcolo multiprogrammato e portabile per macchine di medie dimensioni. Estrema flessibilità nel gestire HW. 1970: I versione di UNIX, sviluppata in Assembler per PDP-7. Versione monoutente multiprogrammata. In seguito: nuove versioni - supporto alla multiutenza. 1973: Unix viene realizzato interamente in C vantaggi: portabilità e leggibilità 80: popolarità di UNIX e nascita di molte versioni Unix System V(AT&T) Unix Berkeley Software Distributions o BSD (University of California at Berkeley) Introduzione a Linux 2 1

Cosa è LINUX È un SO Tesi di laurea di Linus Torwalds all università di Helsinki in Finlandia Sviluppato a partire da Minix, un sistema UNIX molto piccolo 1991 è stata rilasciata la prima versione (0.02) Nel 1994 fu rilasciata la versione 1.0 del Kernel Linux L ultima versione corrente è la 2.4 (Gennaio 2001) lo sviluppo di Linux continua. GNU General Public License: il suo codice sorgente è disponibile e gratuito. È considerato un SO eccellente, economico alternativo ad altri SO molto costosi.(i.e.unix,nt, W2000). Introduzione a Linux 3 Linux: le caratteristiche Multitasking: più programmi funzionano contemporaneamente. Multiuser: più utenti nella stessa macchina contemporaneamente Scalabile: in modo testo ha pretese hardware minime Funziona su diverse architetture: PC, SPARC, Mac, Affianca diversi SO: Windows, Solaris, MS-DOS, MacOs, Supporto di molte tastiere nazionali o personalizzate ed è abbastanza facile aggiungerne nuove dinamicamente. Riconosce parecchi filesystem comuni, incluso minix-1, Xenix e tutti i comuni filesystem System V, ed ha un proprio filesystem avanzato che offre filesystem fino a 4 Tb e nomi lunghi fino a 255 caratteri. Gestisce multiprocessor Introduzione a Linux 4 2

Linux: le caratteristiche Accesso trasparente a partizioni MS-DOS (o partizioni OS/2 FAT) tramite un filesystem speciale; non è necessario nessun comando speciale per usare la partizione MS-DOS, appare come un normale filesystem Unix (eccetto per ovvie restrizioni sui nomi di file, permessi e così via). Supporto rete TCP/IP, incluso ftp, telnet, NFS... Modalità protetta: ogni programma in esecuzione occupa specifici indirizzi di memoria, "protetti" dalla possibilità che altri programmi vadano ad occupare gli stessi indirizzi causando in tal modo il blocco del sistema. Struttura a livelli collegati tra di loro. Possibilità di utilizzare un completo ambiente grafico, una GUI (Graphical User Interface) conosciuta con il nome di X Windows. Ambiente di sviluppo completo per applicazioni e programmi (i.e. il C ed il C++, il Perl il Tcl/Tk). Introduzione a Linux 5 Attualmente Linux è fortemente rivolto verso JAVA. Linux: livelli Livello base: nucleo del sistema operativo o kernel, che gestisce direttamente la macchina dialogando fisicamente con l'hardware (memoria e processore). Livello dei comandi o processi che possono essere eseguiti contemporaneamente sul sistema. Tali comandi vengono eseguiti dal kernel che li passa direttamente al sistema. Livello della shell: interprete dei comandi (un po' come il COMMAND.COM del DOS), che permette all'utente di impartire i comandi che verranno poi eseguiti dal sistema, attraverso l'interazione del kernel. La shell rappresenta un ambiente di sviluppo completo Introduzione a Linux 6 3

Kernel Introduzione a Linux 7 Kernel Programma di base che esegue i programmi e gestisce i dispositivi HW. I programmi, utilizzando il kernel per la loro attività sono sollevati dall interagire direttamente con la CPU. Di solito è costituito da un file unico (vmlinuz o zimage, ), ma può comprendere anche moduli aggiuntivi per la gestione di periferiche o componenti specifici che devono poter essere attivati o disattivati durante il funzionamento del sistema. Avviamento del Kernel (attraverso il sistema di avvio): controlli diagnostici, in base ai tipi di dispositivi (HW) per il quale è stato predisposto in fase di installazione monta (mount) il file system principale (root) avvia la procedura di inzializzazione del sistema (Init) Introduzione a Linux 8 4

Shell Introduzione a Linux 9 Le Shell: Bourne e C-shell Permette ad un utente di interagire con il SO. Si occupa di interpretare i comandi dell utente ed inviarli al kernel per l esecuzione. Diversi tipi di Shell: Bourne Shell (AT&T Bell Labs) C-Shell (BSD) L implementazione della Bourne shell sotto Linux si chiama bash (Bourne-Again). Una shell normale svolge i seguenti compiti: - mostra il prompt per l inserimento dei comandi - interpreta la riga di comando data dall utente - esegue delle sostituzioni in base ai caratteri jolly e delle variabili d ambiente - mette a disposizione alcuni comandi interni - mette in esecuzione i programmi - gestisce la redirezione dell I/O - è in grado di interpretare file script di shell Introduzione a Linux 10 5

Le nuove interfacce Introduzione a Linux 11 Componenti Principali kernel: programma di base che esegue i programmi e gestisce i dispositivi HW shell: interfaccia con l utente (riceve i comandi dall utente e li invia al kernel per l esecuzione) file system: definisce il modo in cui i file vengono organizzati su un dispositivo di memorizzazione (ad esempio HD) programmi di servizio o applicazioni: sono programmi specializzati (ie. Editor, web server, ecc.) Introduzione a Linux 12 6

Il File System Dal punto di vista dell utente il File System è caratterizzato dalle operazioni che ha a disposizione, cioè come si definisce un file come il file viene denominato e protetto che operazioni sono permesse sui file e così via Per tenere traccia dei file, il File system mette a disposizione dell utente directory contenenti un certo numero di elementi, uno per file E molto comune che un utente voglia raggruppare i suoi file in modo logico, attraverso una struttura gerarchica (ad albero) Introduzione a Linux 13 Il File System In Linux i file sono organizzatori in directory come nel DOS e Windows. Linux: - più controllo e flessibilità. - non esiste la possibilità di distinguere tra un unità di memorizzazione ed un altra o fra diverse partizioni come avviene nel DOS (A:, B:, C:,.) - insieme interconnesso di directory contenti files. - struttura gerachica ad albero (nodo radice: root) Interconnessione attraverso i cosidetti mount point che consenteno di collegare un file system secondario a quello globale (operazioni di mount umount). Introduzione a Linux 14 7

Il File System Introduzione a Linux 15 Editor: vi e emacs I programmi di servizio Filtri: progammi che leggono l input utente da file e producono in output una versione modificata del file Web browser Email Compilatori. Introduzione a Linux 16 8

GNU Il software libero richiede delle basi, prima di tutto il sistema operativo. In questo senso, l'obiettivo pratico che si prefiggeva Richard Stallman era quello di realizzare, con l'aiuto di volontari, un sistema operativo completo. Nacque così il progetto GNU (Gnu's Not Unix), con il quale, dopo la realizzazione di un compilatore C, si volevano costruire una serie di programmi di servizio necessari nel momento in cui il cuore del sistema fosse stato completo. Il progetto GNU diede vita così a una grande quantità di software utilizzabile sulla maggior parte delle piattaforme Unix, indirizzando implicitamente il software libero nella direzione dei sistemi di questo tipo. Introduzione a Linux 17 Linux: GNU e GPL Il Progetto GNU è stato lanciato nel 1984 per sviluppare un sistema operativo Unix-compatibile completo che fosse software libero: il sistema GNU. GNU è un acronimo ricorsivo per "GNU's Not Unix" (GNU Non è Unix) e si pronuncia gh-nu (con la g dura). Varianti del sistema operativo GNU, che utilizzano il kernel Linux, sono ora ampiamente utilizzate; anche se a questi sistemi ci si riferisce spesso come "Linux", essi vengono chiamati con più precisione sistemi GNU/Linux. La GPL (GNU Public Licence) - applicazioni libere da diritti. GPL fa in modo che il codice sorgente rimanga libero: qualsiasi applicazione derivata da sw con licenza GPL deve essere distribuita con licenza GPL. Non obsolescenza dei programmi: ricompilare per ogni nuovo kernel Introduzione a Linux 18 9

Linux: GNU e GPL definire in modo preciso e inequivocabile cosa sia effettivamente il «software libero». Al problema dell'ambiguità del concetto, si affiancava l'ambiguità della denominazione: in inglese, free software poteva essere inteso come software gratuito (free of charge). Nel 1998, nasce la definizione Open Source, a identificare i principi secondo cui il software può essere ritenuto «libero» ma dandogli un nome inequivocabile e non modificabile (<http://www.opensource.org>). Open Source, ovvero «sorgente aperto», non fa pensare alla «libertà» che invece è il motivo alla base del software libero. qualità «open» del sorgente («source») di un certo prodotto commerciale (proprietario) che non ha nulla a che vedere con il Introduzione a Linux 19 software libero. Introduzione a Linux 20 10

Vantaggi di Linux Libertà: codici sorgenti aperti; chiunque può utilizzarli, modificarli, etc. sempre in evoluzione Stabilità: Linux non si blocca, praticamente, mai. È un sistema completamente multitasking e multiutente. Se un programma si blocca è possibile terminarlo senza alterare la stabilità dell intero sistema. Sicurezza: accesso ad utenti autorizzati. Diritti d accesso differenziati per ogni utente. Trasparenza: Gli errori Linux hanno la tendenza ad essere scoperti e corretti rapidamente per mezzo di patch scaricabili da internet. Gratuità: è gratuito (si paga eventualmente solo il prezzo della distribuzione) - applicativi gratuiti Introduzione a Linux 21 Svantaggi di Linux Mancanza di una controparte a cui gli utenti possono far riferimento per esigenze specifiche Applicazioni ridondanti Applicazioni difficili da manutenere perché poco o per nulla documentate Pensiamo agli svantaggi di Windows.. ;) Introduzione a Linux 22 11

Le varie distribuzioni Introduzione a Linux 23 Le varie distribuzioni Red Hat: fra le + antiche; consigliata sia per principianti che per esperti - www.redhat.com Mandrake: facile de installare e configurare. Consigliata per principianti - www.linux-mandrake.com. Debian: per esperti e puristi - www.debian.org. Slackware: di grande qualità, esiste da numerosi anni,per esperti - www.slackware.org. SuSE: distribuzione tedesca, fra le piu complete, adatta a principianti - www.suse.de/fr Introduzione a Linux 24 12