html5-img
1 / 23

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

SW: di base, applicativo, linguaggi, licenze d'uso. Fulvio Bartoloni. SW: di base, applicativo, linguaggi, licenze d'uso. Il sistema operativo: descrizione, componenti, tipologie.

jaimie
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SW: di base, applicativo, linguaggi, licenze d'uso Fulvio Bartoloni

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

  3. Il sistema operativo: descrizione, componenti, tipologie • Si intende per Sistema Operativo (o software di sistema) un gruppo di programmi che gestisce il funzionamento di base del computer. Il sistema operativo rimane sempre attivo dal momento in cui viene caricato (all’accensione della macchina) fino allo spegnimento. • Sono gestite dal sistema operativo tutte le funzioni generali della macchina, come l’aspetto grafico delle visualizzazioni su monitor, la scrittura e la lettura dai dischi, la messa in esecuzione e la chiusura dei vari programmi, la ricezione e trasmissione di dati attraverso tutti i dispositivi di I/O. Non fanno invece parte del sistema operativo i vari programmi applicativi (software applicativo) come ad esempio i programmi di scrittura, di ritocco fotografico, gli antivirus, ecc. che vengono acquistati a parte e installati sulla macchina dopo che questa contiene già il sistema operativo. In definitiva si può dire che il Software di sistema serve alla macchina per funzionare, mentre il Software applicativo serve all'utente per lavorare.

  4. Il sistema operativo: descrizione, componenti, tipologie • Il sistema operativo risiede sull’hard disk come tutti gli altri programmi e viene caricato nella memoria RAM all’accensione della macchina. Un computer appena uscito dalla fabbrica non è neppure in grado di funzionare ma può solo eseguire il boot e arrestarsi con un messaggio d'errore quando rileva l'assenza del sistema operativo. In questo caso occorre eseguire l'installazione del sistema prima di qualunque altra operazione. • Esistono molti sistemi operativi: i più diffusi oggi sono i vari Windows della Microsoft (98, Me, NT, 2000), MacOS della Apple per i computer Macintosh, Linux e Unix in ambito universitario e della ricerca, o in generale per la gestione di reti di computer, e altri ancora. Molto diffuso fino ad alcuni anni fa era anche l’MS-DOS, oggi soppiantato da Windows.

  5. Sistemi operativi Microsoft: storia, versioni, evoluzione • In Italia il sistema operativo più diffuso sui PC è Windows della Microsoft: - per i computer di uso personale, dopo il DOS, si sono succeduti Windows 1, 2, 3, 95, 98,  Me (Millennium edition) e dall'autunno 2001 è in commercio Windows XP (experience); - per i computer usati all'interno di reti condivise da più utenti, dove esiste un problema di sicurezza dei dati, sono stati prodotti Windows NT e Windows 2000; - per i nuovi computer palmari, in commercio dalla fine del 1999, esiste la versione "leggera" Windows CE

  6. Sistema operativo Unix: storia, versioni, evoluzione • Unix, utilizzato principalmente in ambito universitario e della ricerca, o in generale per la gestione di reti di computer (Internet). Presente anche nei sistemi informativi delle aziende private e pubbliche. Linux e Unix sono sistemi operativi cosiddetti a linea di comando • La prima versione girerà su una macchina della Digital Equipment Co. (DEC) Il programma è scritto in assembler. Verrà poi riscritto usando il linguaggio "C“. • Prodotte tante versioni per quante sono le macchine su cui gira (hardware).

  7. Sistemi operativi OpenSource Unix like: BSD, FreeBSD, OpenBSD, NetBSD • BSD (Berkley Software Distribution) è un sistema operativo disponibile su molte piattaforme. Estensione dello UNIX della AT&T. Codice sorgente noto come 4.4BSD-Lite. Comprende numerosi pacchetti tra i quali il progetto GNU. • FreeBSD è completamente gratuito (freeware) ed in costante evoluzione. Circa 10 milioni di’installazioni. Include XFree86 che è un ambiente grafico. E’ una delle varianti di UNIX più diffusa. In Russia è il n. 1. Si è affermato come s.o. per server Intranet e Internet. Molte le applicazioni disponibili: Apache, Squid, Sendmail, Qpopper, Samba, Majordomo, MySQL, BIND, ecc.. Contiene librerie per la compatibilità con Linux e UNIX. IBM, Microsoft, Apple, ecc. hanno prelevato codice da FreeBSD per sviluppare i loro s.o. più recenti. Si scarica gratuitamente da Internet.

  8. Sistemi operativi OpenSource Unix like: BSD, FreeBSD, OpenBSD, NetBSD • OpenBSD è completamente gratuito. Il team di sviluppo Canadese si finanzia con donazioni, vendita di CD e magliette. Offre più integrazione con il software criptografico: OpenSSH, versione freeware di un tool per la crittografia di tutto il traffico, metodi di autenticazione, ecc.. • NetBSD è un s.o. Unix like altamente portabile, libero, multipiattaforma (dal server Alpha a 64 bit fino ai palmari). Usato in ambienti produttivi e di ricerca. Cose complesse realizzate nella maniera più semplice.

  9. Sistemi operativi OpenSource Unix like: Linux • Ideato dal Linus Torvalds all’età di 22 anni (Università di Helsinki) con l’aiuto di migliaia di persone sparse per il mondo. In realtà Linux è soltanto il kernel e non il sistema operativo. E’ un completamento del sistema GNU. • Il punto di forza dello sviluppo e della diffusione è stata l’indipendenza da tutto e da tutti. E’ gratis! • Negli ultimi anni Linux si è imposto sul mercato dei server Web Internet: si stima che Il 30% dei server si basa su questo sistema operativo • La prima versione girerà su una macchina della Digital Equipment Co. (DEC) Il programma è scritto in assembler. Verrà poi riscritto usando il linguaggio "C“. • Prodotte tante versioni per quante sono le macchine su cui gira (hardware). Dal rilascio della versione 4.0, Red Hat Linux funziona su tre principali piattaforme: PC Intel compatibili, Digital Alpha e Sun SPARC.

  10. SW applicativo: tipologie e prodotti Classificazione degli applicativi in 5 categorie: • 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. • 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.

  11. SW applicativo: tipologie e prodotti Classificazione degli applicativi in 5 categorie: • 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. • Strumenti di sviluppo - programmi per la creazione 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. Queste distinzioni vanno prese come categorie concettuali e non come rigide classificazioni.

  12. Office Automation MS e OpenSource • MS Office 2000: Word, Excel, Power Point e Access • StarOffice v. 6: gratis solo per le scuole. Writer, Calc, Draw, Base • OpenOffice: simile a StarOffice e a Windows. Affidabile. • The Gimp: software gratuito per la grafica, tipo Photoshop • Mozilla 1: browser gratuito ma anche editor html e client email, newsgroup, ecc.

  13. SW di sviluppo: compilatori, interpreti, linguaggi di programmazione • In un ambiente di sviluppo generalmente esistono strumenti quali editor di testo, compilatori, linker, dubugger per l’analisi degli errori,librerie, wizard (autocomposizioni), monitor degli eventi e browser degli oggetti che permettono lo sviluppo e la manutenzione del software. • Assembler o compilatore è il programma che traduce il linguaggio comprensibile al programmatore in linguaggio macchina e dunque eseguibile sul computer • Interprete è l’interfaccia tra operatore e macchina. Simile ad un compilatore ma agisce sempre e non solo una volta prima dell’esecuzione del programma. • I Linguaggi di programmazione: • Linguaggi di script (es. Perl, CGI, PHP, ASP, Python, ecc.). • Linguaggi ad oggetti (es. Java, C++, Delphi, MS Visual Basic,

  14. Linguaggi di script: shell, Perl • Shell Script Breve elenco di comandi shell salvati insieme in un file ed eseguiti dalla shell. Gli script della shell sono paragonabili ai file Batch del DOS che venivano usati un tempo per configurare il DOS e i primi sistemi Windows. AUTOEXEC.BAT era quindi una sorta di script della shell DOS. • PerlLinguaggio di programmazione libero e gratuito a lungo utilizzato in ambiente Unix, grosso modo assimilabile al BASIC ma più potente. Viene usato nella creazione di siti Web, nella amministrazione del sistema operativo e, più raramente, nella creazione di semplici applicazioni. Perl è largamente utilizzato in ambiente Linux.

  15. Linguaggi a oggetti: C++, Java • I linguaggi orientati agli oggetti permettono all’utente di scegliere se utilizzare funzioni classiche o funzioni membro di oggetto, variabili o attributi di oggetto (OOP - Object Oriented Programming) • C++: estensione (anni ’80) del linguaggio di alto livello, ideato nei primi anni ’70 da Dennis Ritchie nei Bell Laboratories. Usato in diversi s.o. Quasi tutto il lavoro nel mondo open source è stato fatto in C, tuttavia la situazione sta cambiando man mano che altri linguaggi vengono implementati per Linux. Persino il C++ non è così usato come il C. (La maggior parte dei programmatori che utilizzano compilatori C++ li usano per compilare semplice codice in C. Il C++ consente la programmazione ad oggetti.) • Java , Linguaggio di programmazione sviluppato da Sun Microsystem nel 1995. Viene utilizzato per costruire le Applet, piccoli programmi caricati nel browser come parti integrate di un sito Web. Deriva dal linguaggio C++ e permette di eseguire qualsiasi applicazione software sul qualsiasi Web client.

  16. Linguaggi orientati ai DB: SQL, MySQL… • SQL (Structured Query Language) è un linguaggio di interrogazione nella manipolazione di query e nella manutenzione di database in generale (standard). • MySQL è un RDBMS (Relational Database Management System – Sistema di gestione per database relazionali. Il più veloce e funzionale nel mondo open source (è gratis). E’ implementato in forma client/server. Supporta molti linguaggi (C, C++, Java, Perl, Python e TCL per mezzo di API (Application Programming Interface)

  17. Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP • HTML HyperText Markup Language è il linguaggio dei browser http. Il concetto di ipertesto e` quello di un documento che contiene, oltre al testo, anche immagini, suoni, applicazioni, aree interattive e rimandi ad altri documenti (hyperlinks). È un semplice "linguaggio" di marcatura di testo (tag). • XML è un metodo per inserire dati strutturati un un file di testo (non leggibile dagli umani). Consiste in una serie di regole, linee guida, convenzioni per designare dati testuali (fogli excel, mdb, dbf, doc, txt, ecc.). Anche qui si fa uso dei c.d. tag.. Panacea per le problematiche derivanti dall’interscambio dati tra sistemi, standard internazionali, ecc. • JAVA è un linguaggio di programmazione per applicazioni multimediali e multiambiente, indipendente dalla piattaforma. Offre la possibilità di creare applicazioni (applet) in grado di essere richiamate ed eseguite da un Web client. Tutte le istruzioni sono contenute nelle classi (è qui che si differenzia dal C++. Multithread, ovvero un singolo programma può eseguire più compiti separati allo stesso tempo.

  18. Linguaggi orientati al WEB: HTML, XML, JAVA, Javascript, PHP, ASP • Javascript. Linguaggio di scripting orientato agli oggetti. E’ complementare a Java e si integra con esso; viene utilizzato per modificare le proprietà e i comportamenti del browser e delle applet Java. Il codice risiede all’interno della pagine HTML caricate dal browser. Sviluppato da Sun Microsystems e Netscape. • ASP Active Server Pages, linguaggio di programmazione per la realizzazione di web dinamici. Si basa interamente su tecnologia Microsoft (Microsoft IIS - Internet Information Server - e Microsoft Windows NT). • PHP Linguaggio di programmazione basato su Linux e server Apache con database Mysql o Sql. Tale linguaggio è molto diffuso sia perchè gratuito sia perchè molto flessibile nella programmazione.

  19. Open Source significa Sorgente Aperto, ovvero leggibile (free software) Il concetto di "sorgente aperto" è legato alla storia di BSD e Unix, ma soltanto nel 1998 è ufficializzato dalla comunità Internet. Non significa semplicemente accesso al codice sorgente. La distribuzione in termini di programmi open-source deve soddisfare i seguenti criteri: - Ridistribuzione Libera e Gratuita (no royalties) - Il programma deve includere il codice sorgente, e deve permetterne la distribuzione così come per la forma compilata. Il codice sorgente nascosto non è permesso. - La licenza deve permettere modifiche e prodotti derivati, ecc. Licenze GPL, LGPL, BSD, SPL, Apache, APSL, SISSL Licenze d'uso OpenSource: storia, versioni, differenze

  20. Licenza GPL: General Public License ha lo scopo di mantenere i sorgenti liberi e distribuibili, impedendo a qualche approfittatore di apporre una sua licenza proprietaria. Licenza BSD La distribuzione e l'uso dei sorgenti e del codice eseguibile, con o senza modifiche, sono permessi secondo le seguenti condizioni: 1. Il codice sorgente o l'eseguibile devono essere accompagnati dalla licenza BSD. 2. Il nome dell'autore/i non puo' essere usato senza permesso da terzi per promuovere software derivati dal programma originale. Dal 1999 questa clausola e' pero' stata abolita, e non e' piu' valida per le licenze BSD successive. Licenza MIT E' in pratica identica alla vecchia licenza BSD. Licenze d'uso OpenSource: storia, versioni, differenze

  21. Licenza SPL La SUN Public License permette di copiare, distribuire e modificare il software, ma non di rivenderlo. Licenza SISSL Sun Industry Standards Source License Apache Software License E' una specie di licenza BSD, con cui si pu, redistribuire il software e i sorgenti con o senza modifiche, ma occorre mantenere l'intestazione: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Software derivato dal codice di Apache non puo' inoltre fregiarsi del suo nome a meno di un permesso scritto concesso da Apache Software Foundation. Licenza APSL La Apple Public Source License e' nata per il nuovo core open source del MacOS X. Essa consente di modificare, copiare, ridistribuire il codice sorgente MA solo per uso personale e di ricerca interna. Licenze d'uso OpenSource: storia, versioni, differenze

  22. Analisi del SW di base, applicativo e di sviluppo in dotazione (ai PC di Aula) • Esercitazioni • Prompt dei comandi di XP

  23. Analisi del SW di base, applicativo e di sviluppo in dotazione (ai PC di Aula) • Esercitazioni • La “shell” di XP

More Related