Softwere, ipertesto e internet Flashcards
Definisci il software. Da dove origina il termine?
Un software è un programma informatico in grado di eseguire una sequenza logica di comandi in un computer o in un qualsiasi macchina e dispositivo elettronico programmabile.
È sviluppato dai programmatori utilizzando degli appositi linguaggi informatici detti linguaggi di programmazione (es. C++, python, java, ecc.)
Nome origina da Ada Lovelace, che definì il primo algoritmo da far elaborare ad una macchina (ma mai attuato); e da Alan Turing
Perché e come costruiamo programmi?
- La costruzione di un programma è usualmente associata alla necessità di risolvere in maniera efficiente uno o più problemi.
- Questo perché si vuole automatizzare una serie di operazioni che sarebbero estremamente tediose da farsi manualmente, oppure perché cerchiamo di risolvere un determinato problema simulandolo.
- Abbiamo perciò bisogno di definire un algoritmo adatto, e scriverlo in qualche linguaggio di programmazione convertibile in un codice comprensibile al calcolatore.
- Con algoritmo noi intenderemo un insieme finito non ambiguo di istruzioni che servono per eseguire un calcolo o per risolvere un problema.
- Originariamente la parola era legata alle operazioni algebriche decimali che si potevano svolgere, ma con il trascorrere del tempo e con l’aumento di interesse verso le macchine calcolatrici il termine si è evoluto per accogliere anche le procedure per la risoluzione di problemi.
Cos’è un algoritmo? Metafora della ricetta
L’algoritmo è un procedimento che permette di calcolare un risultato e/o risolvere un problema, eseguendo una serie di ordini e condizioni impostate a priori.
Analogamente, in informatica, un algoritmo non è altro che un semplice procedimento che permette la risoluzione di specifici problemi mediante l’applicazione di una sequenza finita di precise istruzioni che, a loro volta, devono essere interpretate ed eseguite fino alla loro conclusione seguendo un ordine ben preciso.
- deve esistere un esecutore (calcolatore) che esegua l’algoritmo
- le istruzioni devono essere eseguite in ordine per partire dai dati di input ed ottenere i dati di output
- il calcolatore deve conoscere il linguaggio dell’algoritmo altrimenti serve un traduttore
- l’algoritmo deve prevedere solo istruzioni elementari per il calcolatore
- specificato un algoritmo, può essere richiamato per l’esecuzione di algoritmi più complessi
- il linguaggio dell’algoritmo non può essere ambiguo
- l’ordine di esecuzione è importante
- Istruzioni e tempo non infiniti
- l’algoritmo deve essere deterministico: eseguito più volte sugli stessi dati di input genera sempre lo stesso output
- algoritmo parametrico: risolve una classe di problemi (al variare dei dati di input)
Metafora della ricetta:
-algoritmo (programma): ricetta
-computer: cuoco
-input: ingredienti
-output: piatto
Esistono due tipologie di software, quali?
1) Software di base o di sistema: insieme di programmi necessari per il funzionamento del computer. Mette in comunicazione l’utente con la macchina.
2) Software applicativi: tutte le altre applicazioni. Siamo noi a scegliere di fargli fare qualcosa
Si basano sul software di base.
Cos’è il linguaggio di programmazione?
Un linguaggio di programmazione (es. Basic, Cobol, Pascal) è un linguaggio formale impiegato per descrivere algoritmi che devono essere eseguiti da un calcolatore. Un programma è un algoritmo espresso in un linguaggio di programmazione (normalmente si presenta come un file di testo). Un programmatore è una persona che, ben conoscendo uno o più linguaggi di programmazione, “insegna” algoritmi ai calcolatori scrivendo programmi.
Fai degli esempi di interfaccia testuale
MS-DOS, Unix shell, Linux shell
Parla dell’interfaccia grafica. Fai un esempio
- Es. Microsoft windows 11, Mac OS di Apple. Linux Ubuntu
- Nei calcolatori con interfaccia grafica molti comandi sono impartiti mediante
l’interazione attraverso il mouse e la tastiera - Cioè il clic (il doppio clic, …) del mouse su un’icona viene tradotto in una
opportuna sequenza di istruzioni che il computer esegue per soddisfare la
richiesta dell’utente
Cos’è il sistema operativo?
È un ambiente per l’esecuzione del Software applicativo
Che cos’è il kernel?
- Per kernel si intende il cuore di un sistema operativo, il codice che gestisce le risorse presenti sul nostro sistema e le rende disponibili alle applicazioni.
- Il kernel si occupa principalmente di gestire:
- le comunicazioni con l’hardware del sistema,
- i file system, la memoria,
- l’accesso a queste risorse da parte dei processi (le applicazioni che girano sul sistema)…
Le funzioni principali del sistema operativo sono:
1) Avvio del computer
2) Gestione del processore dei programmi in esecuzione detti processi
3) gestione memoria
4) gestione input e output
5) interazione con l’utente
Una parte del sistema operativo occupa la memoria RAM esso si carica nella memoria per far funzionare la nostra macchina.
Definisci i malware, elencane alcuni, + possibili soluzioni
- Malware (malicious software): qualsiasi tipo di software nocivo che prende di mira computer o reti.
Esempi di malware
- Computer virus: programma che può riprodursi attaccando il suo codice ad un altro programma, al settore di avvio di un disco o ad un documento con macro e, in generale, generare effetti collaterali dannosi
- Worm: programmi che si diffondono e si auto replicano mediante la rete
- Trojan horse: programma distruttivo nascosto all’interno di un altro programma applicativo o un gioco
- Spyware: raccoglie senza autorizzazione informazioni sull’utente e le sue abitudini
- Adware: programma che propone pubblicità spesso installato senza autorizzazione
- Crimeware: programmi per il furto d’identità
- Hoax: messaggi che annunciano l’imminente arrivo di messaggi e e-mail infettati da virus
- Ransomware: virus informatici che rendono inaccessibili i file dei computer infettati e chiedono il pagamento di un riscatto
Soluzioni:
1) diffidenza verso materiale scaricato da siti web dubbi, e-mail con contenuto e/o mittente strano, documenti con macro, pc usati da molte persone.
2) antivirus
3) firewall
Di chi è il software? Bisogna pagarlo?
Il software è un elemento essenziale per il nostro computer e deve essere pagato.
- Sw propretario: di proprietà di qualcuno. Può essere usato acquistandolo pure ottenendo l’autorizzazione all’uso (licenza).
- Sw shareware: sempre di proprietà di qualcuno. Distribuito gratuitamente e usato gratuitamente per un periodo di prova, dopo pagando si può utilizzarlo
- Sw freeware: proprietà di qualcuno può essere liberamente usato, copiato e distribuito non si possono fare modifiche
- Sw libero e sw open source: può essere copiato e distribuito gratis ma rispettando alcune regole. La codifica è libera ed accessibile. ES. Libre office- Ubuntu
Elenca le caratteristiche del software libero
Un software libero è un software rilasciato con una licenza che permette a chiunque di utilizzarlo, studiarlo, modificarlo e redistribuirlo; per le sue caratteristiche, si contrappone al software proprietario
La parola libero non implica la possibilità di
utilizzare il software libero in maniera indiscriminata: un software libero è comunque soggetto ad una licenza d’uso, a differenza ad esempio del software di pubblico dominio.
Rispetto al software proprietario, la licenza d’uso del software libero permette di:
* eseguire il programma per qualsiasi scopo;
* accedere alla struttura interna del programma (codice sorgente), studiarla ed eventualmente modificarla;
* ridistribuirlo in un numero di copie illimitato.
Cosa sono i software applicativi? Fai qualche esempio
All’interno dei pacchetti, il software applicativo consiste di programmi che, una volta in esecuzione, realizzano direttamente funzionalità per l’utente. Essi si distinguono dai sistemi software, che includono i sistemi operativi e i sistemi di rete, i quali costituiscono l’interfaccia tra software e hardware.
Esempi
* videoscrittura (word processor)
* fogli elettronici (spreadsheet)
* presentazioni multimediali
* desktop publishing
* gestione di basi di dati
* web editor
* grafica e fotoritocco
* diagrammi
* gestione delle finanze individuali
* organizer
* project management
* OCR
* CAD
* videogiochi
* audio/video player
* applicazioni per Internet
Esponi il sistema operativo LINUX
-Linux è un sistema operativo UNIX-like, ovvero discendente dal sistema operativo UNIX, ne condivide le strutture fondamentali, ma Linux è stato completamente riscritto, compreso il KERNEL
-Linux è un sistema operativo open source
-Linux ha avuto molto successo, nonostante la criticità data dalla frequente incompatibilità tra l’hardware dei normali computer in vendita e questo sistema operativo.
Storia della rete internet
-1958 governo USA finanzia il progetto ARPA che si occupa della scienza dei calcolatori.
- Licklider decide di creare una rete tra i computer chiamandola “intergalactic computer network”.
Parallelamente, un ingegnere dell’esercito USA, Baran, elaborò a scopo militare un modello secondo due assunti:
1. In una rete sicura non doveva esserci un solo centro, in modo che esistessero più percorsi possibili lungo i quali far viaggiare il messaggio
2. Il sistema di telecomunicazioni doveva basarsi sulle nuove macchine di calcolo digitale.
All’ARPA, arrivò Larry Roberts che venne a conoscenza delle idee di Baran.
Si pensa di dotare ogni computer di un IMP= Interface Message Processor (dedicato alla gestione della rete)
La rete arpa divenne un sistema di comunicazione tra ricercatori, che si diffonderà velocemente fino a diventare l’Internet. Ma allora non era presente il web, per anni la rete resta una connessione tra computer che si scambiano informazioni tra loro, mancava l’ipertesto su cui si basa il World Wide Web.
Cos’è l’ipertesto? Storia dell’ipertesto
DEFINIZIONE
Ipertesto è il termine che definisce l’albero di navigazione che collega le pagine web: un flusso infinito di pagine collegate fra di loro attraverso dei link che permettono di spostarsi da un contenuto all’altro.
STORIA
- Engelbart 1962-1968 realizza il primo sistema ipertestuale: Augment.
- L’ideatore dell’ipertesto è Theodor Holm Nelson, ma la sua poca conoscenza non permetterà la realizzazione della sua idea.
- Tim Berners-Lee crea il programma Enquire su cui si baserà nel 1989, con la collaborazione di Cailliau, il progetto del World wide web.
Cos’è una rete informatica? Come si chiamano gli elaboratori collegati alla rete? Come vengono condivisi i dati sulla rete?
Una rete informatica è costituita da un insieme di computer collegati tra loro tramite sistemi di interconnessione (cablaggio o wireless, come satelliti) ed in grado di condividere sia le risorse hardware che le risorse software.
Ogni elaboratore collegato a una rete viene detto nodo o host. I dati trasmessi vengono raggruppati in pacchetti per essere trasmessi e ricevuti. Essi viaggiano come dei piccoli blocchi, così possono prendere diverse strade per la destinazione. Ciascun pacchetto viene dotato di un’etichetta che ne indica la destinazione e il numero d’ordine, così quando arriverà l’host potrà ricomporre il messaggio mettendo in ordine i pacchetti.
Tipologie di rete (le tre che finiscono in AN)
A seconda dell’estensione geografica si distinguono:
* rete LAN (local area network): reti private implementate per la condivisione di risorse (es stampanti). Mezzi di trasmissione sono cavi coassiali, doppino telefonico, fibre ottiche e wi-fi
* rete MAN (metropolitan area network) collega più LAN geograficamente vicine.
* rete WAN (wide area network): sono usate per connettere più reti locali (in aree geografiche estese, come regioni o paesi, ad es. la rete GARR che collega tutte le università italiane) in modo che un utente di una rete possa comunicare con utenti di un’altra. Una rete WAN si compone di:
1. host: i computer degli utenti o server che offrono servizi alla rete
2. linee di comunicazione, circuiti, canali o dorsali
3. hub, bridge, router: dispositivi usati per collegare due o più linee di comunicazione
l’internet è una rete WAN
Cos’è l’internet? Come funziona secondo la metafora della ferrovia?
COS’È:
internet è una rete di reti telematiche, senza un centro.
METAFORA:
Internet: rete ferroviaria mondiale
sottorete: ferrovia nazionale.
Orari dei treni: protocolli.
Stazioni: host
Ma come fanno i computer ha trovare la strada giusta per ogni messaggio?
È stato pensato un sistema di riconoscimento ed indirizzamento. Ogni host è dotato di un suo indirizzo univoco, l’indirizzo IP, costituito da una sequenza di tre numeri da 0 a 255.
Per facilitare l’uomo al sistema di indirizzi numerici è stato affiancato un sistema di nomi simbolici. Questo è chiamato Domain Name Service, ovvero nomi di dominio (es. EDU, COM, GOV, NET, ORG). Il DNS è il servizio che permette di accoppiare a quell’indirizzo IP un particolare dominio (Es. www.dsp. unpid.it)
In quali parti è suddiviso il nome di dominio?
Dall’esempio www.dsp.unipd.it
notiamo che viene indicato anzitutto il singolo host (dsp), poi la sottorete, o dominio, di cui fa parte (unipd), e infine la macrosezione, o dominio di primo livello, in cui è stata suddivisa la rete internet (it)
Classificazione delle desinenze. Quali sono e cosa indicano?
edu: università e centri di ricerca
com: organizzazioni commerciali
gov: enti governative
net: organizzazione di supporto e gestione della rete
org: altre organizzazioni (non gov e non profit)
Cos’è la commutazione di pacchetto?
Un metodo di comunicazione che invia informazioni attraverso una rete digitale scomponendone il messaggio in parti più piccole, chiamate “pacchetti”.
Ciascun pacchetto viene dotato di un etichetta che ne indica la destinazione e il numero d’ordine. Così quando arriverà a
destinazione l’host potrà ricomporre il messaggio originario rimettendo in ordine tutti i pacchetti