1.1 Il sistema Unix Unix è un sistema operativo multiutente e con multiprogrammazione. Storia  MULTICS (MULTIplexed Information and Computing Service)

Slides:



Advertisements
Presentazioni simili
1 Introduzione ai calcolatori Parte II Software di base.
Advertisements

Introduzione Cosa è un Sistema Operativo? Una breve storia
UNetbootin Come installare Ubuntu su USB BIONDI FEDERICO 3 AI a.s
Unità D1 Architetture di rete.
Code::Blocks Ambiente di sviluppo.
Code::Blocks Ambiente di sviluppo.
Gestione Input Output A. Ferrari.
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Da Unix a Linux Alessio Coraci V Dp.
Gestione dei laboratori Come rendere sicura la navigazione internet e l'uso della rete Lorenzo Nazario.
INTRODUZIONE A GNU/LINUX E AL SOFTWARE LIBERO Loris Tissino.
Il Sistema Operativo.
1 Approfondimenti su Linux. Corso di SISTEMI OPERATIVI Dipartimento di Informatica e Scienze dellInformazione 2 La storia Il sistema operativo Linux è
Dr. Giovanni Stracquadanio
Cluster openMosix Linux Day ’04 Caserta Ing. Diego Bovenzi.
Giuseppe Fabio Fortugno.
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Struttura dei sistemi operativi (panoramica)
Laboratorio di Informatica
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Software Libero Open-Source: Introduzione a Debian.
1.1 Il sistema Unix Unix è un sistema operativo multiutente e con multiprogrammazione. Storia MULTICS (MULTIplexed Information and Computing Service) (1965).
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
I SISTEMI OPERATIVI.
Informatica per medici
CORSO OPERATORE AVANZATO
Linux Riunione Referenti-CCL 2-Luglio Utilizzo di Linux Principale (unica) piattaforma di calcolo per HEP Grid Supportato dalle maggiori industrie.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
1 Installazione da rete Introduzione Configurazione del server NFS Cosa serve sul client Configurazione kickstart.
MODULO 01 Unità didattica 04
Rossetto Stefano Seminario di Commercio Elettronico
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Concetti di base sul Software dei PC Unitre Anno
SOFTWARE DI BASE Jacopo Caretti.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Il Sistema Operativo (1)
Gruppo G. Chiara, I. Ilaria, M. Silvia, P.Elena, S.Alessia UNIX.
Lezione 1 Approccio al sistema operativo : la distribuzione Knoppix Live Cd Knoppix 3.6 Interfacce a caratteri e grafica: console e windows manager File.
prof. Antonella Schiavon ottobre 2009
Autori:  Gazzola Alex  Cassol Simone  Kawkab Wassim Data: 14/04/2014 Classe: 3° INF.
I processi.
1.1 Il sistema Unix Unix è un sistema operativo multiutente e con multiprogrammazione. Storia  MULTICS (MULTIplexed Information and Computing Service)
1. Informatica. 2. Linguaggio Binario. 3. Hardware: - Imput outp. - Struttura Calc. 4. Software: - Sistema operativo. - Software applicativo. 5. Windows.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sistemi Operativi: Un po’ di storia Marco D. Santambrogio – Ver. aggiornata al.
Star Office è una suite di software di produttività personale commercializzata da Sun Microsystems. StarOffice nasce come software commerciale sviluppato.
Software Libero e Open Source. Open Source Open Source è un termine inglese che significa sorgente aperto, e indica un programma per computer (software)
Il sistema Linux: principi di progettazione
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 28 Gennaio 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie.
Sistema operativo Il sistema operativo è un insieme di programmi che gestiscono tutte le componenti hardware e software di un calcolatore. Spesso si può.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l’ambiente e il territorio Il software di base Stefano Cagnoni e Monica Mordonini.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Cos’è un sistema operativo ?
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
I sistemi operativi Funzioni principali e caratteristiche.
 Negli anni 40 i sistemi operativi non esistevano, i programmatori infatti avevano un accesso diretto alle risorse hardware.  Il primo sviluppo dei.
Sistema operativo Un sistema operativo (abbreviato in SO, in lingua inglese OS, "operating system"), in informatica, è un insieme di componenti software,
Corso linux RiminiLUG presenta Rete a bassissimo budget per il piccolo ufficio architettura di rete LTSP in contesti professionali corso linux 2008.
Programmazione orientata agli Oggetti Introduzione a Java.
COMPONENTI DI UN SISTEMA INFORMATICO HardwareSoftware Parte fisicaComponenti logiche Componenti fisiche (elettroniche e meccaniche) di un computer Istruzioni.
Un sistema operativo è un componente del software di base di un computer la cui funzione è quella di gestire le sue risorse hardware e software,fornendo.
Introduzione all'Open Source “La Sapienza” Linux User Group.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Transcript della presentazione:

1.1 Il sistema Unix Unix è un sistema operativo multiutente e con multiprogrammazione. Storia  MULTICS (MULTIplexed Information and Computing Service) (1965).  Ken Thompson (Bell Laboratories -1969). PDP-7, scritto in ASSEMBLER. UNICS (UNiplexed Information and Computing Service).  Ken Thompson, Dennis Ritchie ( ). UNIX, PDP-11. Ritchie sviluppa il linguaggio C (partendo dal linguaggio B). La terza versione di UNIX è scritta in C. Un articolo su UNIX viene pubblicato nel 1974 (ACM Turing Award 1984).

1.2 Il sistema Unix Storia Bell Labs and AT&T UNIX  PDP-11 è il calcolatore di molti dipartimenti di informatica, e così UNIX diventa il SO delle università.  Bell Labs and AT&T UNIX: il gruppo di ricerca sviluppa parecchie versioni di UNIX: prima edizione (1969), …,settima edizione (1978,on PDP- 11/70); una versione per Interdata 8/2 e VAX; UNIX per una rete di computer; System III (1982 – prima versione commerciale); System V basato su System III(1983); System V release 2, 3, 4 ( ); SVR4 (System V release 4; 1989 AT&T and Sun Micro systems).  1993: AT&T diventa una compagnia telefonica e vende UNIX a Novell.

1.3 Il sistema Unix Storia University of California at Berkeley  Il più influente gruppo di ricerca (dopo i Bell Labs e AT&T): Thompson e alcuni studenti sviluppano 1BSD (Berkeley Software Distributions) a partire dalla sesta edizione (la prima sviluppata fuori dai Bell Labs) (1978). 3BSD - 4BSD UNIX hanno avuto origine da finanziamenti DARPA stanziati per sviluppare un sistema UNIX standard per scopi governativi. Questa serie comprende 4.1BSD, 4.2BSD, 4.3BSD e 4.4BSD ( ) e presenta alcune importanti innovazioni: memoria virtuale, paging, multiutenza, connessione alla rete col protocollo TCP/IP. 4.2BSD contiene l’editor di testo vi, la shell csh, compilatori Pascal and Lisp, ….  Sun Microsystem, DEC e alcune altre compagnie decidono di sviluppare la loro personale versione di UNIX a partire dalla serie delle versioni BSD invece che dalla System V.

1.4 Storia delle versioni di UNIX

1.5 I progetti di standardizzazione Storia  Diversi progetti di standardizzazione mirano a consolidare i vari aspetti di UNIX con lo scopo di ottenere un’interfaccia standard per programmare in UNIX. I più importanti sono: POSIX (Portable Operating System): fusione di System V e BSD (1984). IBM, DEC, Hewlett-Packard creano OSF (Open Software Foundation) e il loro sistema UNIX è OSF/1 (1988). X/OPEN definisce la Single UNIX specification (1993) e il sistema relativo ha il marchio UNIX 95. Open group (fusione di Open Software Foundation e X/OPEN; ). Definizione della seconda versione della Single UNIX specification (1997) col marchio UNIX 98.

1.6 Una variante del sistema UNIX Sebbene ci siano molte versioni di UNIX, le compagnie più importanti forniscono una versione basata su UNIX System V Release 4 (SVR4).  es. Solaris 2.x è l’implementazione di UNIX più diffusa e di più largo successo da un punto di vista commerciale. Questi sistemi sono molto grossi e complicati (al contrario dell’idea originaria di Thompson) e in alcuni casi anche costosi. Così, Tanenbaum sviluppa MINIX (1987), un piccolo sistema UNIX (11800 righe di codice C e 800 righe di codice Assembler) soddisfacente gli standard POSIX.  MINIX è un sistema sviluppato a scopo didattico basato sul modello a micro-kernel (

1.7 Componenti di un S.O. Gestione dei processi. Gestione della memoria centrale. Gestione dei file. Gestione della memoria secondaria. Gestione dell’I/O. Networking. Sistema di protezione. Interprete dei comandi (Shell).

1.8 Struttura del sistema Organizzazione di sistema: definisce le connessioni e gestisce le componenti del sistema. Alcune organizzazioni di sistema: a. Monolitica; b. Client-Server (a nucleo minimo, o micro-kernel).

1.9 Organizzazione monolitica Un sistema monolitico non ha una struttura ben definita. Comprende virtualmente tutte le funzionalità di un sistema operativo in un unico, grosso blocco di codice che viene eseguito come un singolo processo con un singolo indirizzo. Tutte le componenti funzionali del nucleo hanno accesso a tutti i dati e le procedure interne.

1.10 Organizzazione client-server Sposta il più possibile il punto di vista dal kernel verso lo “spazio utente”. Più precisamente, minimizza le funzioni del S.O. che girano in modalità kernel; molte funzioni sono realizzate da processi server che girano in modalità utente. Per questo si usa la terminologia micro-kernel. Nucleo minimo (micro-kernel):  Funzioni base per la gestione dei processi e comunicazione fra processi.  Comunicazione con i dispositivi vista come messaggi “speciali”.

1.11 Organizzazione client-server Vantaggi  Maggior facilità di estensione per un micro-kernel.  Maggiore portabilità del sistema operativo su nuove architetture.  Più affidabile (meno codice viene eseguito in modalità kernel).  Più sicuro. Svantaggi  Minor efficienza (deterioramento delle prestazioni). MINIX ha i driver I/O nel kernel (per ragioni tecniche legate all’architettura 8088), mentre la gestione della memoria principale e la gestione dei file sono due diversi processi utente.

1.12 Il sistema Linux Non c’era un sistema BSD free alla fine degli anni ’80, per cui molti membri del newsgroup di MINIX chiesero a Tanenbaum di introdurre svariate modifiche per migliorare le prestazioni di MINIX. Alcune di queste modifiche avrebbero cambiato l’impostazione didattica originaria di Tanenbaum, il quale pertanto spesso declinò queste richieste. Così, Linus Torvalds, usando un pc 386 con MINIX sviluppò nel 1991 un nucleo (Linux 0.01), piccolo ma autosufficiente, con lo scopo principale della compatibilità con UNIX (cioè, soddisfacente gli standard POSIX).

1.13 Linux 0.01 La prima versione di Linux (Linux 0.01) possiede alcune caratteristiche di MINIX (es. file system), tuttavia le principali differenze fra Linux e MINIX sono le seguenti:  Il nucleo Linux utilizza un modello monolitico, ed ha molte più funzioni del micro-kernel di MINIX.  Da un punto di vista teorico, MINIX è meglio di Linux, ma da un punto di vista pratico le prestazioni di Linux sono migliori di quelle di MINIX.  Comunque, per una descrizione del punto di vista di Torvalds sui vantaggi-svantaggi di Linux-MINIX, si veda: Rivoluzionario per caso: come ho creato Linux (solo per divertirmi), Linus Torvalds, Garzanti.

1.14 Il kernel di Linux Linux 0.01 (Maggio 1991) non poteva andare in rete, girava solo su processori Intel compatibili e su PC hardware, aveva grosse restrizioni per il supporto di dispositivi esterni, e supportava soltanto il file system Minix. Linux 1.0 (Marzo 1994) includeva queste nuove caratteristiche:  Supporto dei protocolli di rete TCP/IP standard di Unix.  Interfaccia socket compatibile con la BSD per la programmazione di rete.  Supporto di dispositivi per l’esecuzione del protocollo IP in Ethernet.  File system migliorato.  Supporti per vari tipi di controller SCSI per aumentare le prestazioni di accesso ai dischi.  Supporti per ulteriori dispositivi hardware. Questa versione è sufficientemente compatibile con UNIX, per cui molte persone si interessarono attivamente per sviluppare Linux sotto la supervisione di Torvalds. Linux 1.2 (Marzo 1995) fu la versione finale del nucleo di Linux per PC.

1.15 Linux 2.0 Messo in circolazione nel Giugno 1996, la versione 2.0 aggiunse due nuove importanti caratteristiche:  Capacità di supportare architetture multiple.  Capacità di supportare architetture multiprocessore. Ulteriori nuove caratteristiche:  Miglioramento della gestione della memoria.  Miglioramento delle prestazioni TCP/IP.  Supporto per threads interni al kernel, per gestire le dipendenze fra i vari moduli che si possono caricare, e per il caricamento automatico di moduli a seconda delle richieste.  Introduzione di un’interfaccia di configurazione standard. Disponibile per processori Motorola serie 68000, sistemi Sun Sparc e per sistemi PC e PowerMac. Linux 2.2 (Gennaio1999) migliora alcuni aspetti di Linux 2.0 L’ultima versione è Linux (13 luglio 2008).Linux

1.16 Morale della storia Linux è un sistema operativo moderno e free, basato sugli standard UNIX. Sviluppato inizialmente nel 1991 da Linus Torvalds come un piccolo ma autosufficiente nucleo, con lo scopo principale della compatibilità con UNIX. La storia di Linux è quella di una collaborazione tra moltissimi utenti da tutto il mondo, in contatto quasi esclusivamente tramite Internet (software open source). E’ stato progettato per girare in modo efficiente e affidabile sul normale hardware di un PC, ma è in grado di girare su una vasta gamma di differenti piattaforme. Il nucleo del sistema operativo Linux è interamente originale, ma può eseguire la maggior parte del software free UNIX in circolazione, risultando così, di fatto, un sistema operativo completamente compatibile con UNIX e assolutamente non proprietario.

1.17 Il sistema Linux Linux utilizza molti strumenti sviluppati come parte del sistema operativo BSD di Berkeley, della System V, del sistema X Window del MIT e del Free Software Foundation's GNU project.Free Software Foundation's GNU project Le principali librerie di sistema furono iniziate dal progetto GNU (GNU’s Not Unix) (es. gcc (GNU Compiler Collection)), con miglioramenti forniti dalla comunità di Linux. Gli strumenti per l’amministrazione del networking furono derivati dal codice della versione 4.3 della BSD; recenti versioni della BSD, come FreeBSD, hanno preso a prestito a loro volta codice da Linux. Il sistema Linux viene mantenuto da una rete di sviluppatori che collaborano via Internet (vedi /usr/src/linux/CREDITS), con un piccolo numero di siti ftp pubblici che contengono gli standard de facto.

1.18 Distribuzione di Linux Insiemi di pacchetti standard e precompilati, o distribuzioni, comprendono il sistema Linux di base, gli strumenti per l’installazione e quelli per la gestione, nonchè pacchetti di strumenti UNIX di uso frequente pronti per l’uso. Le prime distribuzioni gestivano questi pacchetti fornendo semplicemente un modo di allocare tutti i file in cartelle opportune; le moderne distribuzioni comprendono sistemi di gestione avanzata dei pacchetti software. Red Hat, Debian, SuSE, Mandrake sono distribuzioni largamente diffuse da fonti commerciali e non commerciali (vedi I pacchetti RPM garantiscono la compatibilità tra le varie distribuzioni di Linux (see

1.19 Quale distribuzione usare? Fedora (RedHat) (fedora.redhat.com).redhat.com  Estesa, professionale, largamente utilizzata. Debian (  Software libero, eccellente sistema di gestione dei pacchetti. Mandriva (Mandrake) (  Creata con lo scopo di essere molto facile da installare ed usare. SuSE (  Compromesso fra Red Hat and Mandrake. Slackware (  La più tradizionale; pochi aiuti per l’utente.

1.20 La distribuzione Mandriva Mandriva fornisce una distribuzione semplice e facile da gestire. Per molti è la miglior distribuzione per PC ( L’ultima versione di Mandriva è Mandriva Contiene il nucleo Linux C’è la possibilità di effettuare un’installazione minima, con un numero ridotto di pacchetti software. Ci sono due diverse GUI (Graphical User Interface):  KDE (versione 3.5.4) e GNOME (2.16)

1.21 Principi generali per l’installazione L’installazione di una distribuzione come Mandriva non presenta particolari difficoltà.  Si può selezionare l’italiano.  La prima volta può essere conveniente scegliere il profilo di installazione per “principiante”.  Il passo più difficile è la “partizione” dell’hard disk. Una partizione corrisponde a un “disco logico”. Se si vogliono installare più sistemi operativi sul proprio hard disk, occorre definire una partizione per ogni SO. Un disco possiede al più 4 partizioni primarie. Si possono realizzare queste partizioni mediante il comando fdisk. L’installazione di Mandriva fornisce una semplice modalità grafica per realizzare le partizioni Linux.  Si noti che da DOS/Windows non è possibile “vedere” le altre partizioni. Al contrario, Linux è in grado di “vedere” la partizione DOS/Windows (/mnt/windows).

1.22 Morale dell’installazione Varia da distribuzione a distribuzione. La maggior parte delle moderne distribuzioni tende a renderla il più facile possibile:  Compra il CD / masterizza il CD immagine scaricandolo dalla rete.  Boot (Avvia).  Segui le istruzioni. Occorre ricordarsi di fare la partizione. Installa un boot loader (probabilmente LILO (LInux LOader), magari qualcos’altro). Questo ha bisogno di essere configurato per avviare qualunque altro sistema operativo presente.

1.23 Utenti Linux è intrinsecamente un sistema multiutente. Ogni utente del sistema ha il proprio username e la propria password. L’utente root ha la gestione completa del sistema. Non ci si dovrebbe mai connettere come root a meno che non sia strettamente necessario. Durante l’installazione, all’utente dovrebbe essere assegnata una password di root e anche uno username e una password per un normale account utente. Il comando passwd permette di cambiare la password. Attenzione: occorre eseguire il programma shutdown – h now prima di spegnere il PC.

1.24 Licenze per Linux Il kernel di Linux è distribuito sotto la GNU General Public License (GPL), i cui termini sono stabiliti dalla Free Software Foundation.  vedi /usr/src/linux/COPYING. La principale conseguenza della GPL è che chiunque usi Linux, o crei la propria versione di Linux, non può rendere il proprio prodotto proprietario. Per una più profonda analisi di questi argomenti, vedi