La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Unicam E-gov research Group dott. Andrea Lazzari Presentazione Computer Forensic.

Presentazioni simili


Presentazione sul tema: "Unicam E-gov research Group dott. Andrea Lazzari Presentazione Computer Forensic."— Transcript della presentazione:

1 Unicam E-gov research Group dott. Andrea Lazzari Presentazione Computer Forensic

2 Introduzione ai sistemi informatici 2 OBIETTIVI DEL CORSO Il modulo ha lo scopo di fornire una conoscenza di base su struttura e del funzionamento dei personal computer e delle reti informatiche elementi funzionali di un personal computer principali funzioni di un sistema operativo

3 Introduzione ai sistemi informatici 3 PROGRAMMA DEL CORSO (1) Concetti introduttivi Problemi, algoritmi. programmazione Hardware e software. Rappresentazione delle informazioni Architettura del personal computer Sistemi operativi Reti informatiche Cenni ai problemi di sicurezza nell uso di sistemi informatici. Sistemi operativi Il sistema operativo: caratteristiche e funzionalit à Organizzazione e struttura del file system

4 Introduzione ai sistemi informatici 4 CONTENUTI DELLE LEZIONI Concetti fondamentali Informatica Problemi, algoritmi. programmazione Hardware e Software Sistemi Informatici Rappresentazione dellinformazione Architettura del calcolatore Sistemi operativi Reti di Calcolatori Internet, Posta Elettronica, Web

5 Introduzione ai sistemi informatici 5 Chi sono... Andrea Lazzari Campi di interesse: Computer network Peer to Peer network Web application Security, Hacking Mobile Computing Mobile Networking Sistemi *nix Amante del mondo Mac...

6 Introduzione ai sistemi informatici 6... e... voi?

7 Unicam E-gov research Group dott. Andrea Lazzari CONCETTI INTRODUTTIVI Informatica, Algoritmo, Programma

8 Introduzione ai sistemi informatici 8 INFORMAZIONE E COMUNICAZIONE Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che (tras)porta informazione Comunicazione Scambio di informazione

9 Introduzione ai sistemi informatici 9 COSÈ LINFORMATICA? Esistono varie definizioni: Scienza degli elaboratori elettronici (Computer Science) Scienza dellinformazione Informazione + automatica Scienza e tecnica dellelaborazione dei dati e, genericamente, del trattamento automatico dellinformazione (Zingarelli) Scienza del trattamento razionale, specialmente per mezzo di macchine automatiche, dellinformazione, considerata come supporto alla conoscenza umana e alla comunicazione (Academie Francaise). Elaboratore elettronico (o computer o calcolatore): è uno strumento programmabile per la rappresentazione, la memorizzazione e lelaborazione delle informazioni.

10 Introduzione ai sistemi informatici 10 COSÈ LINFORMATICA? INFORMATICA = Scienza della rappresentazione e dellelaborazione dellinformazione Linformatica studia le caratteristiche dellinformazione e i modi di usarla, immagazzinarla, trasportarla e manipolarla in modo automatico. Linformatica ha due anime: tecnologica: i calcolatori elettronici e i sistemi che li utilizzano; metodologica: i metodi per la soluzione di problemi e la gestione delle informazioni.

11 Introduzione ai sistemi informatici 11 HARDWARE E SOFTWARE La prima decomposizione di un calcolatore è relativa alle seguenti macro-componenti Hardware la struttura fisica del calcolatore, costituita da componenti elettronici ed elettromeccanici(?) Software linsieme dei programmi che consentono allhardware di svolgere dei compiti utili (anche per il calcolatore stesso)

12 Introduzione ai sistemi informatici 12 HARDWARE E SOFTWARE Software: linsieme dei programmi che vengono eseguiti dal calcolatore: Software di Base (comprende il sistema operativo) Software applicativo

13 Introduzione ai sistemi informatici 13 HARDWARE E SOFTWARE Lhardware è lunica macchina reale, mentre i vari strati software corrispondono a macchine virtuali Le operazioni (chiamate istruzioni) che lhardware sa eseguire direttamente costituiscono il linguaggio macchina del calcolatore Le istruzioni del linguaggio macchina sono molto semplici, ma il calcolatore può eseguirle in modo molto efficiente Il software ha lo scopo di mostrare ai suoi utenti il calcolatore come una macchina virtuale (non esistente fisicamente), più semplice da usare rispetto allhardware sottostante

14 Introduzione ai sistemi informatici 14 SOFTWARE E MACCHINE VIRTUALI Macchine virtuali Semplificano la comunicazione fra uomo e hardware Le diverse macchine e i relativi insiemi di operazioni sono via via più astratti: più vicini alla logica dellutente e più lontani dalla logica del calcolatore come dispositivo elettronico Alla fine, comunque, lunico responsabile dellesecuzione del software è lhardware disponibile Il software di base ha lo scopo di mostrare allutente il calcolatore come una macchina virtuale (più semplice da gestire e programmare rispetto allhardware utilizzato) Il software applicativo mostra allutente il calcolatore come una macchina virtuale utilizzabile per la risoluzione di problemi

15 Introduzione ai sistemi informatici 15 LA PROGRAMMAZIONE È l'attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su una particolare tipologia di dati, allo scopo di risolvere un problema.

16 Introduzione ai sistemi informatici 16 LA PROGRAMMAZIONE Alcune domande fondamentali: Quali istruzioni esegue un elaboratore? Quali problemi può risolvere un elaboratore? Esistono problemi che un elaboratore non può risolvere? Il problema di fondo Come si costruisce la soluzione a un problema? Qual è il giusto punto di partenza per pensare la soluzione a un problema? Quali metodologie e tecniche usare?

17 Introduzione ai sistemi informatici 17 I PROBLEMI I problemi affrontati dalle applicazioni informatiche sono di natura molto varia: Trovare il maggiore fra due numeri Dato un elenco di nomi e numeri di telefono, trovare il numero di una data persona Dati a e b, risolvere l'equazione ax+b=0 Stabilire se una parola precede alfabeticamente un'altra Ordinare un elenco di nomi Creare, modificare e alterare suoni Analizzare, riconoscere e modificare immagini..... Gestione delle aziende (private e pubbliche) Supportare operazioni di commercio elettronico Logistica...

18 Introduzione ai sistemi informatici 18 I PROBLEMI La descrizione del problema (in genere) non indica direttamente un modo per ottenere il risultato voluto specifica di un problema specifica del processo di risoluzione Risoluzione di un problema processo che: dato un problema individuato un opportuno metodo risolutivo (algoritmo) trasforma i dati iniziali nei corrispondenti risultati finali.

19 Introduzione ai sistemi informatici 19 RISOLUZIONE DI UN PROBLEMA

20 Introduzione ai sistemi informatici 20 Gli Algoritmi Algoritmo: sequenza finita di passi che risolve in un tempo finito un problema. Esempi di algoritmi: Istruzioni di montaggio Preparazione del caffè Prelievo bancomat Preparazione di una ricetta Calcolo del massimo comun divisore tra due interi

21 Introduzione ai sistemi informatici 21 Gli Algoritmi: Cenni storici La parola algoritmo deriva dal nome di un autore scientifico persiano del IX secolo Abu Jafar Mohammed ibn Musa al-Khowarizmi scrisse, circa nell825, il trattato Kitab al jabr wal- muqabala (forse regole di trasposto e semplificazione) dove descrisse delle regole per la semplificazione delle equazioni. algebra deriva da al jabr (parte del titolo del trattato) algoritmo deriva da Khowarizmi (ultima parte del nome dellautore, indicante la città di nascita) Il termine originario era agorismo, trasformato in algoritmo per analogia con aritmetica.

22 Introduzione ai sistemi informatici 22 ALGORITMO In generale un algoritmo può essere visto come una funzione da un dominio di ingresso (input) ad un (co)dominio di uscita (output)

23 Introduzione ai sistemi informatici 23 ALGORITMI: ESECUZIONE Esecuzione: L'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono la particolare istanza il problema.

24 Introduzione ai sistemi informatici 24 ALGORITMI: PROPRIETA FONDAMENTALI Non-ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore Eseguibilità: ogni azione deve essere eseguibile da parte dellesecutore dellalgoritmo in un tempo finito Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, deve essere finito. NB: Non si può risolvere un problema senza prima fissare un insieme di azioni possibili, di mosse elementari per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse che sa eseguire ed il linguaggio che sa capire il nostro esecutore

25 Introduzione ai sistemi informatici 25 ALGORITMI: PROPRIETA FONDAMENTALI Dunque, un algoritmo deve essere: applicabile a qualsiasi insieme di dati di ingresso appartenenti al dominio di definizione dellalgoritmo; costituito da operazioni appartenenti ad un determinato insieme di operazioni fondamentali costituito da regole non ambigue, cioè interpretabili in modo univoco qualunque sia lesecutore (persona o macchina) che le legge Altre proprietà desiderabili generalità determinismo efficienza (per quanto possibile!)

26 Introduzione ai sistemi informatici 26 ALGORITMI EQUIVALENTI Due algoritmi si dicono equivalenti quando: hanno stesso dominio di ingresso e stesso dominio di uscita; in corrispondenza degli stessi valori nel dominio di ingresso producono gli stessi valori nel dominio di uscita.

27 Introduzione ai sistemi informatici 27 PROBLEMI NON RISOLVIBILI Esistono problemi che non ammettono algoritmi di risoluzione con nessun modello di calcolo reale o astratto Esempio: data una funzione f : N N, stabilire se f(x) è costante per ogni valore di x

28 Introduzione ai sistemi informatici 28 RISOLUZIONE DI PROBLEMI Ogni elaboratore è una macchina (reale o virtuale) in grado di eseguire azioni elementari su dati L'esecuzione delle azioni elementari è richiesta all'elaboratore tramite comandi chiamati istruzioni Le istruzioni sono espresse attraverso frasi di un opportuno linguaggio di programmazione (linguaggio macchina nel caso dellhardware) Un programma è la formulazione testuale di un algoritmo in un linguaggio di programmazione

29 Introduzione ai sistemi informatici 29 Algoritmo sequenza finita di passi che risolve in un tempo finito un problema. Codifica fase di scrittura di un algoritmo attraverso un insieme ordinato di frasi ( istruzioni ), scritte in un qualche linguaggio di programmazione, che specificano le azioni da compiere. Programma: Testo scritto in accordo alla sintassi e alla semantica di un linguaggio di programmazione ALGORITMI e PROGRAMMI

30 Introduzione ai sistemi informatici 30 ALGORITMI e PROGRAMMI PROBLEMAALGORITMOPROGRAMMA metodo risolutivo linguaggio di programmazione

31 Introduzione ai sistemi informatici 31 LINGUAGGI: SINTASSI E SEMANTICA Sintassi: linsieme delle regole che consentono di scrivere parole e frasi riconoscibili come appartenenti ad un determinato linguaggio. collegamento ordinato delle parole nel discorso Semantica : la disciplina che studia il significato delle parole e delle frasi.

32 Introduzione ai sistemi informatici 32 LINGUAGGI AD ALTO LIVELLO È opportuno impostare la soluzione di un problema a partire dalle mosse elementari del linguaggio macchina? SI,per risolvere il problema con efficienza NO, se la macchina di partenza ha mosse di livello troppo basso (difficile progettare un algoritmo) ß Linguaggi di Programmazione ad Alto Livello Linguaggi di Programmazione ad Alto Livello (di astrazione) le istruzioni corrispondono ad operazioni più complesse esempi: Pascal, Basic, C, C++, Java ASTRAZIONE: processo di aggregazione di informazioni e dati e di sintesi di modelli concettuali che ne enucleano le proprietà rilevanti escludendo i dettagli inessenziali


Scaricare ppt "Unicam E-gov research Group dott. Andrea Lazzari Presentazione Computer Forensic."

Presentazioni simili


Annunci Google