La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti.

Presentazioni simili


Presentazione sul tema: "UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti."— Transcript della presentazione:

1 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Introduzione ai sistemi operativi Prof. Michele Amoretti Fondamenti di Informatica a.a. 2007/2008

2 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Sommario Caratteristiche generali Struttura dei sistemi operativi Evoluzione dei sistemi operativi Gestione batch Monoprogrammazione Monitor Multiprogrammazione Schedulazione Spooling Time sharing Processi Sistema di protezione System call

3 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Caratteristiche generali Un sistema di elaborazione può essere visto come un insieme di risorse hardware e software utilizzate per lo sviluppo e lesecuzione dei programmi utente. Tali risorse devono essere: o utilizzate secondo un determinato ordine o eventualmente rese disponibili a più utenti anche simultaneamente o protette contro accessi non autorizzati o organizzate in modo da garantire la sopravvivenza del sistema in caso di guasti o gestite in modo che risulti semplificato ed efficiente il loro uso, ecc.

4 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Caratteristiche generali Con il termine sistema operativo si intende quell'insieme di programmi che provvedono alla gestione delle risorse di un sistema di calcolo. Una definizione alternativa (Tanenbaum): un sistema operativo è un programma che controlla le risorse di un calcolatore e fornisce ai suoi utenti un'interfaccia o macchina virtuale più agevole da utilizzare della macchina "nuda". Il sistema operativo è un meccanismo di controllo inusuale perché è un programma come gli altri spesso rinuncia al controllo e deve dipendere dal processore per tornarne in possesso

5 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Caratteristiche generali Il sistema operativo può essere visto come: - allocatore di risorse: tempo di CPU, spazio di memoria, dispositivi di I/O, compilatori, ecc. Le risorse devono essere assegnate a programmi specifici secondo determinate politiche. - programma di controllo: controlla l'esecuzione dei programmi per prevenire errori ed usi impropri del calcolatore (in particolare per il controllo dei dispositivi di I/O). Obiettivi del sistema operativo: - rendere più semplice l'uso di un sistema di calcolo - rendere più efficiente l'uso delle risorse del sistema di calcolo

6 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Caratteristiche generali Gestione delle risorse significa: - tenere traccia delle risorse - adottare strategie di assegnazione - allocare le risorse - recuperare le risorse inutilizzate - rilevare eventuali usi impropri Funzioni specifiche: - gestione della memoria principale e di quella secondaria, in base a regole gerarchiche, realizzando il meccanismo della memoria virtuale - gestione del/i processore/i - gestione dei dispositivi periferici di I/O

7 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Caratteristiche generali Gestione della memoria centrale - caricare in memoria programmi e dati - evitare interferenze fra programmi diversi - assegnare la memoria in base a criteri di efficienza - minimizzare i trasferimenti tra memoria centrale e memoria secondaria. Gestione della memoria secondaria - consentire l'accesso all'informazione in base alla sua organizzazione logica (File System) anzichè fisica (ad es. dischi, tracce, settori) - controllare i diritti di accesso ai file da parte degli utenti - consentire creazione, modifica e cancellazione dei file,...

8 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Caratteristiche generali Gestione dei processori - decidere quale programma userà il processore (scheduling) in base a criteri di corretto funzionamento e di efficienza - verificare che i programmi rilascino il processore entro il tempo stabilito. Gestione dei dispositivi periferici di I/O - mascherare al programmatore la complessità delle operazioni di I/O - effettuare controlli sul corretto funzionamento delle operazioni - risolvere conflitti nell'utilizzo di una stessa periferica da parte di più programmi - consentire il massimo sfruttamento delle periferiche.

9 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Caratteristiche generali Utenti del sistema operativo: utenti finali del sistema per essi il sistema operativo è trasparente programmatori applicativi utilizzano i servizi del s.o. per la realizzazione e l'esecuzione dei loro programmi programmatori di sistema aggiornano e modificano i programmi del s.o. per adeguarli a nuove necessità del sistema o degli utenti applicativi operatori controllano il funzionamento e rispondono alle richieste di intervento da parte del sistema amministratore del sistema stabilisce le politiche di gestione del sistema e ne cura l'osservanza

10 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Caratteristiche generali Tipi di sistemi operativi: Sistemi proprietari progettati dai costruttori al fine di sfruttare in modo ottimale le risorse di ciascun tipo di macchina l'interfaccia con l'utente varia tra le diverse famiglie di sistemi esempi: - IBM: OS/ , VM, MVS - DEC: RT-11, VMS Sistemi standard progettati da case di software o da comunità di sviluppatori, sono portabili su macchine di tipo diverso l'interfaccia con l'utente rimane costante nelle diverse versioni esempi: - UNIX, MS-DOS, Windows

11 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Struttura dei sistemi operativi Necessità di modularizzazione, date le dimensioni. Sistema a livelli. Affinché il livello L i possa richiedere i servizi offerti dal livello L i -1 deve conoscerlo precisamente, tuttavia l'implementazione di tali servizi deve risultare totalmente nascosta. La stratificazione più opportuna può risultare non evidente; è dipendente dall'evoluzione tecnologica dellhardware.

12 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Struttura dei sistemi operativi Modello a cipolla: Programmi utente Interprete comandi Programmi di utilità Periferiche virtuali File System Gestore memoria virtuale Nucleo del sistema operativo Macchina hardware

13 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Struttura dei sistemi operativi Nucleo o kernel: parte di s.o. sempre residente nella memoria principale, mette a disposizione le system call ai programmi di sistema ed applicativi. Fornisce un meccanismo per la creazione e la distruzione dei processi Provvede allo scheduling della CPU, alla gestione della memoria e dei dispositivi di I/O Fornisce strumenti per la sincronizzazione dei processi Fornisce strumenti per la comunicazione tra processi

14 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Evoluzione dei sistemi operativi I primi calcolatori: - Erano privi di s.o. e monoprogrammati - Il programmatore era anche operatore interattivo ed aveva visione diretta della macchina e disponibilità di tutte le sue risorse - L'accesso da parte di più utenti era ottenuto mediante meccanismi di prenotazione - problemi: complessità operazioni, inefficienza e rigidità della prenotazione

15 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Evoluzione dei sistemi operativi Prima generazione ('50-'60): - virtualizzazione dell'I/O, librerie di controllo dei device - separazione del programmatore dalla macchina tramite l'operatore - problemi: debug, set-up dei job - riduzione dei tempi di set-up tramite s.o. batch dotati di: - monitor - multiprogrammazione - gestione periferiche con tecniche di spooling nasce il s.o. come stratificazione successiva di funzioni volte ad aumentare l'efficienza e la semplicità d'uso della macchina

16 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Evoluzione dei sistemi operativi Seconda generazione (60-'65): - indipendenza tra programmi e dispositivi usati (logical I/O) - parallelizzazione degli utenti tramite multiprogrammazione a condivisione di tempo (time-sharing). Terza generazione ('65-'75): - s.o. unico per una famiglia di elaboratori - gestione della memoria virtuale - sistemi multifunzione (scientifico, gestionale) - linguaggi di comando complessi

17 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Evoluzione dei sistemi operativi Quarta generazione (75 - …): - sistemi a macchine virtuali - sistemi multiprocessore e distribuiti - interfacce amichevoli per l'utente

18 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Gestione batch Significa raggruppare i lavori o i programmi in lotti per conseguire una maggiore utilizzazione delle risorse, cioè un throughput (= numero di programmi eseguiti per unità di tempo) più elevato. Un concetto che si è evoluto nel tempo: - l'operatore raggruppa i programmi in lotti e li immette in tale forma nel sistema per un più razionale utilizzo delle risorse - i programmi sono inseriti nella memoria di massa e poi elaborati La gestione batch può essere locale (unità centrale direttamente collegata ai dispositivi di I/O) o remota (è presente una trasmissione dei job e dei risultati ed eventualmente una memorizzazione intermedia).

19 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Gestione batch Operazioni di I/O fuori-linea: il calcolatore principale non è più rallentato da periferiche lente trasparente ai programmi applicativi Calcolatori satellite: con il compito di scrivere e leggere nastri di potenza ridotta rispetto a quello centrale primo esempio di sistema multi-computer

20 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Gestione batch Vantaggio ulteriore delle operazioni fuori-linea è la possibilità di utilizzare più lettori di scheda collegati con una stessa unità nastro in ingresso e più stampanti collegate con una stessa unità nastro in uscita. Non ci può essere accesso contemporaneo da parte della CPU e del lettore di schede o della stampante allo stesso nastro. I primi sistemi batch erano monoprogrammati. Successivamente vennero sviluppati sistemi batch in grado di supportare la multiprogrammazione (multitasking).

21 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Monoprogrammazione - Gestione in modo sequenziale nel tempo dei diversi programmi: linizio dellesecuzione di un programma avviene solamente dopo il completamento del programma precedente. - Tutte le risorse sistema sono dedicate allesecuzione di un solo programma. - Bassa utilizzazione delle risorse: Tp utilizzazione CPU = Tt Tp = tempo dedicato dalla CPU allesecuzione del programma Tt = tempo totale di permanenza nel sistema del programma

22 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Monitor Il monitor controlla la sequenza degli eventi. La maggior parte del monitor, detta monitor residente, deve sempre essere nella memoria principale e disponibile per lesecuzione. Nei primi sistemi batch i programmatori sottoponevano i job su schede o su nastri, e loperatore organizzava una sequenza di job e poneva lintero lotto su un dispositivo di input per luso tramite monitor. Il monitor legge un job alla volta e lo pone nellarea dei programmi utente, e gli cede il controllo. Quando viene completato, il job restituisce il controllo al monitor, che immediatamente legge il job successivo.

23 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Multiprogrammazione (multitasking) - Gestione simultanea di più programmi indipendenti. Ciascuno di essi può iniziare o proseguire l'elaborazione prima che un altro sia terminato. - Le risorse risultano meglio utilizzate in quanto si riducono i tempi morti. - Cresce la complessità del sistema operativo: occorrono algoritmi per la gestione delle risorse (CPU, memoria, I/O), nascono problemi di protezione, etc.

24 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Multiprogrammazione (multitasking) Più programmi sono presenti contemporaneamente in memoria principale. Quando uno di essi attende per il completamento di una operazione di I/O, il controllo della CPU viene assegnato ad un altro:

25 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Schedulazione Lo schedulatore a lungo termine (scheduler) determina quali programmi siano disponibili per lelaborazione. Ogni programma pronto per lelaborazione diventa un processo e viene immesso in una coda dallo schedulatore a breve termine (dispatcher), che viene eseguito di frequente e determina quale sia il successivo job da eseguire. La schedulazione a medio termine riguarda le funzioni di gestione della memoria virtuale (swapping = quando la memoria RAM libera non è più sufficiente per contenere tutte le informazioni che servono ai programmi, il sistema operativo si fa carico di spostare una certa quantità di dati - quelli meno recentemente utilizzati - dalla memoria volatile a quella di massa).

26 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Spooling SPOOL: acronimo da Simultaneous Peripheral Operation On Line. L'applicazione più comune dello spool è con lo spool di stampa. Con questo sistema, i documenti da stampare vengono caricati in un buffer (generalmente un'area del disco), da dove vengono inviati alla stampante ed eliminati via via che questa riesce a gestirli, di solito con tempi relativamente lunghi. Dal momento che la versione in stampa dei documenti è stata allocata in un buffer dove rimane a disposizione della stampante e dei relativi processi di controllo, l'utilizzatore è libero di svolgere altre operazioni con il computer mentre la stampa procede in background. Lo spooling permette inoltre di avere una coda di stampa con molti lavori, invece di dover attendere che il dispositivo sia libero prima di lanciare la stampa successiva.

27 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Time Sharing L'elaboratore serve "simultaneamente" una pluralità di utenti, dotati di terminali, dedicando a ciascuno di essi tutte le risorse del sistema per quanti fissati di tempo. Migliora i tempi di risposta (turn-around time) ma peggiora l'utilizzazione delle risorse. Può essere presente sia in sistemi monoprogrammati che multiprogrammati. Normalmente una modalità di gestione time-sharing è adottata nei sistemi conversazionali, in cui più utenti contemporaneamente "colloquiano" con il sistema.

28 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Processi L'evoluzione dei s.o., guidata da esigenze di efficienza, ha portato alla presenza in memoria centrale di più programmi in esecuzione. Emergono nuove funzionalità richieste al s.o., quali la gestione dei programmi stessi e la protezione dalla mutua interferenza. Un nuovo punto di vista concettuale : - I programmi di controllo, analogamente ai dispositivi hardware, sono largamente indipendenti l'uno dall'altro, ed interagiscono con altre attività di rado ed in punti ben definiti; - La CPU viene "trasferita" da un job all'altro (anzichè "ricevere" programmi in ingresso); - La specifica sequenza di stati della CPU è scarsamente significativa ed impredicibile a causa degli interrupt.

29 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Processi Processo = attivit à controllata da un programma che si svolge su un processore. (es. job batch, programma utente time-shared, task di sistema, etc.) Alcuni processi dispongono di un processore privato e pertanto sono permanentemente in esecuzione (ad esempio i controllori delle periferiche). Altri processi condividono un processore comune (la CPU). Distinguiamo: o processi del s.o. che eseguono il codice del sistema o processi utenti che eseguono il codice utente.

30 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Processi Funzioni del s.o. (riferite ai processi): - creazione e cancellazione di processi - sospensione e ripresa di processi - strumenti per la sincronizzazione e comunicazione - strumenti per il trattamento di condizioni di deadlock Stato di un processo: - in esecuzione (running) - bloccato (idle, waiting) - pronto (ready) esecuzion e bloccato pronto Richiesta I/O Completamento I/O Interrupt/Timer Scheduling

31 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Processi Nei sistemi multiprogrammati più processi possono essere in esecuzione concorrentemente. esecuzione blocco pronto CPU libera P1P1 P2P2 t1t1 t0t0 t2t2 t3t3 t4t4 pronto

32 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Processi Algoritmo: Procedimento logico che deve essere seguito per risolvere il problema in esame Programma: Descrizione dell'algoritmo tramite un opportuno formalismo (linguaggio di programmazione) che rende possibile l'esecuzione dell'algoritmo da parte di un particolare elaboratore Processo (sequenziale): La sequenza di eventi che genera un elaboratore quando opera sotto il controllo di un particolare programma (evento = esecuzione di una operazione)

33 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Sistema di protezione Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del s.o. stesso. Protezione: politiche (cosa) e meccanismi (come) per controllare l'accesso di processi alle risorse del sistema di elaborazione. All'hardware è affidato il compito di rilevazione di errori, come opcode illegali o riferimenti in memoria illegali, possibili effetti di errori di programmazione o di comportamenti deliberatamente intrusivi. Questi errori vengono segnalati e affidati alla gestione del s.o. tramite il meccanismo delle trap. In presenza di errore o di violazione della protezione il s.o. provvede a: o terminare il processo, o segnalare la terminazione anomala ed o effettuare un dump della memoria.

34 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Sistema di protezione Ciascun processo opera in un dominio di protezione che specifica le risorse a cui il processo può accedere e le operazioni consentite. Diritto di accesso (coppia ordinata ): abilitazione allesecuzione di unoperazione sulla risorsa; un dominio di protezione è una collezione di diritti di accesso. Il sistema di protezione richiede l'esistenza di più modi di funzionamento della CPU: o supervisor mode (system mode, monitor mode) o user mode Il passaggio dal modo user al modo supervisor avviene tramite interruzione : o esterna (asincrona) o interna (sincrona, trap), generata da una SVC (SuperVisor Call o System Call).

35 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Sistema di protezione Esistono delle istruzioni privilegiate che possono essere eseguite solo in supervisor mode. Istruzioni privilegiate: o I/O o modifica dei registri che delimitano le partizioni di memoria o manipolazione del sistema di interruzione o cambiamento di modo o halt

36 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Sistema di protezione Prima di mettere un processo in esecuzione il s.o. ne confina lo spazio logico di memoria mediante registri limite.

37 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Sistema di protezione

38 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti Sistema di protezione Le istruzioni di I/O sono privilegiate. Il programma utente richiede al s.o., tramite una system call, di eseguire l'operazione di I/O.

39 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti System call Tipicamente l'operando dellistruzione di system call ne specifica il tipo (INT n), mentre il passaggio degli eventuali parametri avviene tramite registri o per indirizzo. Passaggio dei parametri mediante tabella:

40 UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti System call Costituiscono l'interfaccia tra un programma in esecuzione ed il s.o. Istruzioni assembly, procedure chiamabili da linguaggi high-level. Nei linguaggi di alto livello sono tipicamente mascherate (wrappate) da procedure dette di supporto a tempo di esecuzione. Categorie principali di system call: a)controllo dei processi e dei job b)manipolazione dei file e dei dispositivi c)gestione delle informazioni d)comunicazione


Scaricare ppt "UNIVERSITA DEGLI STUDI DI PARMA Corso di Laurea in Ingegneria Gestionale Fondamenti di Informatica Introduzione ai sistemi operativi Prof. M. Amoretti."

Presentazioni simili


Annunci Google