29
SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Embed Size (px)

Citation preview

Page 1: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

SW: di base, applicativo, linguaggi, licenze d'uso

Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Page 2: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Il sistema operativo: descrizione, componenti, tipologie

Agisce da interfaccia tra utilizzatore ed hardware

Insieme di programmi che gestisce tutte le funzioni basilari di un computer (gestione periferiche, lettura supporti di memoria etc.)

Installato nell’hard disk viene caricato all’accensione e rimane attivo fino allo spegnimento del computer

Il sistema operativo fa parte del software di sistema.

Page 3: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Il sistema operativo: descrizione, componenti, tipologie

Le componenti principali di un S.O. sono: • Programmi di gestione dei dispositivi (driver )• Interprete dei comandi • Gestore della memoria primaria• Gestore dei processori• Gestore dell’I/O• Gestore dei file (File System)

I sistemi operativi di ultima generazione più diffusi sono: WINDOWS UNIX LINUX

Page 4: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Sistemi operativi Microsoft: storia, versioni, evoluzione

Le versioni di Windows che si sono succedute nel tempo sono:

Windows 1.01 (1985) - 2.0 2.1 (1987) - 3.0 3.1 (1990-1992) – 95 - NT – 98 – 98se - Me -2000 - XP;

Windows NT e Windows 2000 per computer utilizzati in rete Windows CE e Pocket PC 2002 per dispositivi palmari

Page 5: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Sistema operativo Unix: storia, versioni, evoluzione

Unix è utilizzato principalmente in ambito aziendale ed in particolare su computer inseriti in rete

sviluppato dal Computing Science Research Group dei Bell Laboratories AT&T

nato nel 1969, si è diffuso rapidamente grazie al fatto che i sorgenti venivano inviati gratuitamente

scritto in assembler nel 1973 verrà poi riscritto usando il linguaggio "C“.

Page 6: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Sistemi operativi OpenSource Unix like: BSD, FreeBSD, OpenBSD, NetBSD

BSD è un sistema operativo FREE. Uno Unix vero condividendo la stessa origine, UNIX® AT&T e Università di Berkeley,

sono nate varie versioni con obiettivi differenti:

- NetBSD: portabilità (93 sistemi supportati)

- OpenBSD: sicurezza (una sola vulnerabilità remota nell'installazione di default in più di 7 anni)

- FreeBSD: performance (usato da Yahoo)

Page 7: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Sistemi operativi OpenSource Unix like: Linux

Settembre 1991 viene alla luce la versione 0.01, resa liberamente disponibile sul server dell'università di Helsinki da Linus Torvalds

Il motivo di tanto successo, era la possibilità di reperire liberamente, il codice sorgente di Linux

16 Gennaio 1992 viene rilasciato la 0.12 che porta novità a livello legale riguardanti la licenza. In precedenza era esplicitamente vietato ottenere un qualsiasi ritorno economico dalla sua diffusione. Da questa versione viene adottata la GNU General Pubblic License.

14 Marzo 1994 si arriva finalmente alla versione 1.0

Page 8: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

SW applicativo: tipologie e prodotti

Le operazioni che possono essere svolte con l’aiuto del computer sono dette applicazioni

I programmi che permettono lo svolgimento di tali operazioni sono detti software applicativi

Le principali categorie di software applicativi sono:

Utilità di Sistema - si tratta di programmi che servono per migliorare la gestione e la sicurezza della macchina, come ad esempio gli stessi antivirus, oppure programmi per l'ottimizzazione delle risorse, per il controllo dello stato del sistema, la ripulitura dell'hard disk, ecc.

Page 9: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

SW applicativo: tipologie e prodotti

Office Automation - programmi di ausilio nei normali lavori d'ufficio, quindi creazione e elaborazione di testi (word processor), gestione di basi di dati (database), fogli di calcolo, posta elettronica, navigazione in Internet, ecc.

Applicazioni aziendali - progammi creati per le

necessità specifiche delle aziende, come ad esempio i programmi per la fatturazione o per la gestione del personale, dei magazzini, dei macchinari industriali. Spesso si tratta di programmi creati ad hoc da aziende di produzione software.

Page 10: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

SW applicativo: tipologie e prodotti

Strumenti di sviluppo - programmi per lacreazione di oggetti multimediali (pagine Web,animazioni e CD interattivi), elaborazione audio/video/immagini, programmi che servono per la creazione di nuovi applicativi (authoring tools).

Giochi e svago - giochi, emulatori, lettori audio e video.

Page 11: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Office Automation MS e OpenSource

Il software di Office Automation più diffuso:

Microsoft Office- Word- Excel- Access- Power Point

Software Open Source

StarOffice

Open Office

Page 12: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

SW di sviluppo: compilatori, interpreti, linguaggi di programmazione

Linguaggi di programmazione Di basso livello : linguaggio piu' comprensibile (vicino)

alla macchina piuttosto che al programmatore. Di alto livello : linguaggio piu' intuitivo e comprensibile

per il programmatore

Il Compilatore il compilatore e' un programma che traduce

automaticamente il codice scritto in un linguaggio in un altro.

Page 13: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

SW di sviluppo: compilatori, interpreti, linguaggi di programmazione

Generalmente un compilatore si utilizza per tradurre un linguaggio ad alto livello, (es.: il C) in linguaggio assembly (di basso livello)

Un compilatore e' composto generalmente dalle seguenti componenti: analizzatore lessicale, parser, ottimizzatore, generatore di codice

Interprete È il programma che interpreta il codice (codice sorgente)

in tempo reale, questo lo differenzia da un compilatore.

Page 14: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

SW di sviluppo: compilatori, interpreti, linguaggi di programmazione

Le tipologie di linguaggio più in uso attualmente sono:

Linguaggi di script (es. Perl, CGI, PHP, ASP, Python, ecc.). Linguaggi ad oggetti (es. Java, C++, Delphi, MS Visual Basic)

Page 15: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi di script: shell, Perl Tali linguaggi permettono la creazione di programmi che sono

costituiti da semplici file di testo, che a loro volta contengono una sequenza di istruzioni (uno script appunto), con la possibilità di utilizzare condizioni (if e then), cicli (for) e altri costrutti tipici di un linguaggio di programmazione

Shell Script La shell e' un programma di sistema che agisce da interfaccia

tra utente e il sistema operativo stesso, eseguendo le istruzioni di comando per la creazione e l'avvio di processi, per la gestione di I/O, della memoria di massa e della memoria principale.

Uno Shell Script è un breve elenco di comandi shell salvati insieme in un file ed eseguiti dalla shell. Molto simile ai file Batch del DOS

Page 16: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi di script: shell, Perl

Perl Linguaggio di programmazione libero e gratuito da

lungo utilizzato in ambiente Unix

Il perl, è un linguaggio complesso, ma molto efficace, utilizzato per la creazione di cgi (common gateway interface) a livello professionale

Poco diffuso fra gli utenti medi, a causa della difficoltà di apprendimento e di gestione della sua sintassi;

Page 17: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi a oggetti: C++, Java Oggetto: insieme di dati e metodi per la loro manipolazione

Facilitano la manutenzione ed il riuso del codice, sono considerati i linguaggi del futuro

C e C++ C è uno dei piu' diffusi linguaggi di programmazione che

combina istruzioni di alto livello con controllo di macchina a basso livello. Sviluppato da Dennis M.Ritchie nel 1972 come modifica del linguaggio B di Ken Thompson.

C++ è un estensione del linguaggio C che permette la programmazione ad oggetti. Questo linguaggio e' stato realizzato da Bjarne Stroustrup.

Page 18: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi a oggetti: C++, Java

Java linguaggio ad oggetti, sviluppato nel 1991 dalla Sun

Microsystem Quello che distingue Java dagli altri linguaggi di

programmazione e' la sua portabilita' nelle diverse piattaforme (computer) e nei diversi sistemi operativi

Viene principalmente utilizzato per costruire le Applet, piccoli programmi caricati nel browser come parti integrate di un sito Web

Page 19: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati ai DB: SQL, MySQL…

SQL

Structured Query Language, linguaggio di interrogazione strutturato. Questo linguaggio, uno standard per la definizione di database relazionali, e' stato sviluppato nel 1973 dalla IBM ed inizialmene si chiamava SEQUEL (Structured English QUEry Language).

L'SQL, oltre a creare tabelle bidimensionali permette la formulazione di query (interrogazioni) sulle relazioni (tabelle).

Page 20: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati ai DB: SQL, MySQL…

MySQL

MySql è un DBMS (Data Base Management System) utilizza l’architettura client/server (un server contiene dati e gestisce gli accessi, e i client si connettono e accedono ai dati) e il linguaggio standard SQL MySql.

MySql è diverso da Microsoft Access infatti è un server che contiene numerosi database; per inoltrare le proprie richieste, gli utenti si collegano al server, il quale

interroga i database e risponde alle richieste.

Page 21: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP

HTMLl’HTML (HyperText Markup Language) è il linguaggio con cui vengono scritte gran parte delle pagine Web

HTML è un linguaggio di formattazione che serve a descrivere le caratteristiche di tutti gli elementi presenti all’interno di una pagina

L'organizzazione che si occupa di standardizzare la sintassi del linguaggio HTML (il W3C: Word Wide Web Consortium)

In HTML tutte le informazioni sono racchiuse da Tags o marcatori: <NOME TAG> informazioni </NOME TAG>

Page 22: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP

HTML (struttura)

Un documento HTML inizia sempre con il tag <HTML> e termina sempre con il tag </HTML>

La struttura base di una pagina HTML è la seguente:<HTML><HEAD>informazioni</HEAD><BODY> documento</BODY></HTML>

Page 23: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP

XML

Xml è un metalinguaggio che consente di caratterizzare le informazioni contenute in un documento rendendone possibile la visualizzazione via Web e l'elaborazione da parte di applicativi

una "estensibilità" della definizione dei dati e della struttura del documento attraverso la possibilità di creare nuovi tag

offre la possibilità di definire i tag dei documenti nell'ambito dei Dtd o degli schemi e permette di definire, attraverso Xsl i "fogli di stile"

Page 24: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP

Javascript

Nasce nel 1995 creato da Netscape per dotare il proprio browser di un linguaggio di scripting che permettesse ai web designer di interagire con gli Applet Java e gli altri elementi delle pagine web.

Brendan Eich creò quindi LiveScript che venne incorporato nella versione beta di Netscape Navigator 2.0

In omaggio a Java decise di chiamare il nuovo linguaggio JavaScript.

Page 25: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP

PHP PHP è un linguaggio di programmazione che convive

normalmente dentro l’HTML ed è un mezzo pratico per realizzare velocemente pagine HTML dinamiche

il più versatile e completo linguaggio di programmazione server-side attualmente disponibile

PHP viene eseguito dal server durante l’erogazione della pagina

L’uscita di PHP è codice HTML per il browser, tutto ciò che è compatibile con HTML sul client è compatibile con PHP

Page 26: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP

PHP PHP è un linguaggio Lato Server (Server Side) come detto, le pagine richieste se contengono codice PHP vengono interpretate ed il risultato viene restituito sotto forma di semplice codice HTML al Web Client/Browser

Page 27: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP

ASP

ASP (Active Server Pages) si distingue sicuramente per la rapidità e flessibilità

Le pagine asp sono completamente integrate con i file html, anche ASP è un linguaggio Server Side.

Sono facili da creare e non necessitano di compilazione.

Confinato ai server Microsoft, non funziona con molti altri server che popolano il web

Page 28: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Licenze d'uso OpenSource: storia, versioni, differenze

Le tipiche licenze d'uso utilizzate per il software libero sono le seguenti:

General Public License - Lo spirito di questa licenza è quello di concedere la massima libertà nell'utilizzo, copia e distribuzione del software, garantendo anche la disponibilità dei sorgenti e la possibilità di modificarli.

Library General Public License -Una libreria rilasciata con una licenza LGPL può essere utilizzata anche da un prodotto software commerciale, mentre una rilasciata con una licenza GPL no.

Page 29: SW: di base, applicativo, linguaggi, licenze d'uso Dott. Andrea Vituzzi – Centro di Ricerca sui Sistemi Informativi

Licenze d'uso OpenSource: storia, versioni, differenze

BSD e BSD-style - La licenza BSD è quella utilizzata per il software

BSD: Berkeley Software Distribution, ma spesso viene utilizzata una licenza molto simile a questa anche da altri autori.

- Lo spirito di questa licenza è lo stesso della GPL, cioè quello di concedere la massima libertà nell'utilizzo, copia e distribuzione del software, garantendo anche la disponibilità dei sorgenti e la possibilità di modificarli.