Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: Sistemi Operativi, Reti e Web, Sintesi del corso di Elementi di Informatica

dettagliati appunti e riassunti dei primi 4 capitoli del libro

Tipologia: Sintesi del corso

2018/2019

Caricato il 15/01/2019

martina-levi
martina-levi 🇮🇹

4.5

(2)

6 documenti

1 / 43

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
COSA E’ L’INFORMATICA?
Spesso associamo il computer all’informatica errore
Edsger Dijkstra disse: <<l'informatica non riguarda i computer più di quanto
l'astronomia riguardi i telescopi >>, il computer è solo uno strumento che viene
usato non sta alla base dell’informatica. Questo nasce da un altro malinteso legato
dalla traduzione dall’inglese all’italiano (in inglese questa disciplina si chiama
computer science)
INFORMATICA = studio dell’informazione (a livello anche teorico non per forza deve
interagire il calcolatore), parla anche di COMPUTAZIONE (di calcolo) e di
ELABORAZIONE AUTOMATICA dell’informazione (prendo dei dati e li voglio elaborare in
maniera automatica); da quando abbiamo a disposizione questi calcolatori che ci
permettono di elaborare abbiamo avuto dei benefici come:
-riduzione tempi di calcolo;
-maggiore affidabilità;
es. basti pensare ad un calcolo svolto a mano e uno da una calcolatrice
risultato più veloce da raggiungere e più sicuro.
-automazione al lavoro (alcune fig.professionali possono sparire in quanto al loro posto
subentrano dei calcolatori ma abbiamo dei nuovi lavori che nascono che richiedono
competenze specifiche)
- elaborazione automatica dell’informazione attuata dal calcolatore
Oggi questa disciplina può chiamarsi TECNOLOGIA DELL’INFORMAZIONE ma con
l’avvento delle reti, nascita di internet e web, si è trasformata in ICT=IFORMATION AND
COMUNICATION TECHNOLOGY.
Quando parliamo di informatica e del mondo dei calcolatori bisogna distinguere :
DATO: insieme di simboli presi da un alfabeto (di simboli) es. con un alfabeto di
simboli posso scrivere 39,5
x elaborare il DATO devo associargli delle proprietà in modo tale da ottenere un’
INFORMAZIONE: es. guarda che 39.5 è una temperatura di un essere umano allora
ho ottenuto un’informazione. Tuttavia non posso ancora elaborare in maniera
automatica l’informazione ma lo posso fare nel momento a cui arrivo al livello della
CONOSCENZA: definisco delle regole che mi permettono di elaborare
un’informazione es. se la temperatura è 39.5 son a rischio di ammalarmi
TUTTO CIO’ PERMETTE L’ELABORAZIONE AUTOMATICA DELL’INFORMAZIONE
Bisogna però fare attenzione quando si cerca di definire questa conoscenza poiché il
linguaggio naturale (quello che parliamo) è ambiguo e NON PUO’ ESSERCI
l’AMBIGUITA’ quando si cerca di definire un qualcosa che deve essere elaborato in
maniera automatica da un calcolatore. Un calcolatore non è in grado di fare alcuna
distinzione se non che viene specificata da noi esseri umani, bisogna quindi
contestualizzare il tutto. Tuttavia anche con il contesto potremmo essere
ambigui, perciò alla nascita dei calcolatori ci si è resi conto che era necessario
definire dei linguaggi detti FORMALI ovvero che non avessero delle AMBIGUITA’
(data una regola quella regola ha una sola interpretazione).
pag. 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b

Anteprima parziale del testo

Scarica Introduzione all'informatica: Sistemi Operativi, Reti e Web e più Sintesi del corso in PDF di Elementi di Informatica solo su Docsity!

COSA E’ L’INFORMATICA?

Spesso associamo il computer all’informatica errore

Edsger Dijkstra disse: << l'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi >>, il computer è solo uno strumento che viene usato non sta alla base dell’informatica. Questo nasce da un altro malinteso legato dalla traduzione dall’inglese all’italiano (in inglese questa disciplina si chiama computer science)

INFORMATICA = studio dell’informazione (a livello anche teorico non per forza deve interagire il calcolatore), parla anche di COMPUTAZIONE (di calcolo) e di ELABORAZIONE AUTOMATICA dell’informazione (prendo dei dati e li voglio elaborare in maniera automatica); da quando abbiamo a disposizione questi calcolatori che ci permettono di elaborare abbiamo avuto dei benefici come:

-riduzione tempi di calcolo;

-maggiore affidabilità;

es. basti pensare ad un calcolo svolto a mano e uno da una calcolatrice risultato più veloce da raggiungere e più sicuro.

-automazione al lavoro (alcune fig.professionali possono sparire in quanto al loro posto subentrano dei calcolatori ma abbiamo dei nuovi lavori che nascono che richiedono competenze specifiche)

  • elaborazione automatica dell’informazione attuata dal calcolatore

Oggi questa disciplina può chiamarsi TECNOLOGIA DELL’INFORMAZIONE ma con l’avvento delle reti, nascita di internet e web, si è trasformata in ICT=IFORMATION AND COMUNICATION TECHNOLOGY.

Quando parliamo di informatica e del mondo dei calcolatori bisogna distinguere :

 DATO: insieme di simboli presi da un alfabeto (di simboli) es. con un alfabeto di simboli posso scrivere 39,

x elaborare il DATO devo associargli delle proprietà in modo tale da ottenere un’

 INFORMAZIONE: es. guarda che 39.5 è una temperatura di un essere umano allora ho ottenuto un’informazione. Tuttavia non posso ancora elaborare in maniera automatica l’informazione ma lo posso fare nel momento a cui arrivo al livello della

 CONOSCENZA: definisco delle regole che mi permettono di elaborare un’informazione es. se la temperatura è 39.5 son a rischio di ammalarmi

TUTTO CIO’ PERMETTE L’ELABORAZIONE AUTOMATICA DELL’INFORMAZIONE

Bisogna però fare attenzione quando si cerca di definire questa conoscenza poiché il linguaggio naturale (quello che parliamo) è ambiguo e NON PUO’ ESSERCI l’AMBIGUITA’ quando si cerca di definire un qualcosa che deve essere elaborato in maniera automatica da un calcolatore. Un calcolatore non è in grado di fare alcuna distinzione se non che viene specificata da noi esseri umani, bisogna quindi

contestualizzare il tutto. Tuttavia anche con il contesto potremmo essere

ambigui, perciò alla nascita dei calcolatori ci si è resi conto che era necessario

definire dei linguaggi detti FORMALI ovvero che non avessero delle AMBIGUITA’

(data una regola quella regola ha una sola interpretazione).

Per il mio linguaggio formale si scrivono parole e frasi che vengono definite usando:

-alfabeto finito di simboli

-grammatica formale (evita l’ambiguità del significato delle frasi) e una semantica formale

Data una regola c’è solo un’interpretazione per quella regola il calcolatore NON SBAGLIA

Ma come viene scritta questa lingua?

Il linguaggio parlato dai calcolatori viene scritto utilizzando i bit (binary digit) =unità di misura dell’informazione per i calcolatori. Il computer usa solo 2 valori lo 0 e l’1, il motivo per cui utilizza solo due valori per rappresentare i dati è che abbiamo a disposizione in natura dei DISPOSITIVI BISTABILI che possono assumere naturalmente 2 valori (es. nel magnete abbiamo 2 poli, la corrente c’è o non c’è, la luce c’è o non c’è). Si è capito che l’unica possibilità era quello di usare i bit; qualsiasi tipo d’informazione di dato d istruzione che viene scritta nel linguaggio dei calcolatori viene descritta come sequenza di 0 e 1 , la quale viene interpretata e da origine a quello che vediamo sul nostro schermo.

Se ho 1 bit o vale 0 o 1

Se ho 2 bit (sequenza di 1bit+1bit) allora i valori che la sequenza di 2 bit può assumere sono 00,01,10,11 quindi 4 ( 2 2 )sequenze distinte tra loro

Se ho 3 bit allora 8 ( 2 3 ) sequenze

Se ho 8 bit allora 256 ( 2 8 ) sequenze

Se ho n bit allora ho 2 n^ sequenze

8 bit= 1 byte

Sentiamo parlare di byte quando parliamo di memorie. L’informazione a livello temporale veniva codificato su:

  1. Schede perforate: chi doveva codificare l’informazione faceva un buco per indicare il bit =1 non lo faceva per lasciare il valore 0, la scheda veniva poi inserita in un calcolatore che leggeva la presenza o l’assenza di buchi e capiva la sequenza
  2. Floppy disk: disco magnetico, il disco veniva inserito nel lettore, girava, e veniva letta l’informazione nella testina. Lo svantaggio era il rischio della smagnetizzazione=perdita dell’informazione (quando lo si lasciava es vicino ad una fonte di calore)
  3. Hard disk: =memoria del computer il disco è analogo a quelli del floppy ma più duro: pila di dischi; non c’è la testina che legge ma un pettine che si muove in mezzo alla pila di dischi e legge e scrive i dati.

VANTAGGIO: posso inserire più informazioni

  1. Chiavetta USB: non gira nulla ma ho sempre il valore 0 e 1.

Le sequenze di 0 e 1 che inseriamo nella memoria quanto possono essere lunghe? Ovvero qual è la quantità d’informazione che posso inserire in una memoria?

Dipende dalla capacità della memoria, e la capacità viene misurata utilizzando il bit o byte

Kilobit= Kb= 210 bit b minuscola indica il bit

-ci fosse un DISPOSITIVO DI MEMORIZZAZIONE sul calcolatore dove fosse possibile memorizzare sia i DATI che si dovevano elaborare sia le ISTRUZIONI necessarie per l’elaborazione dei dati ; quindi dati e istruzioni devono essere codificati allo stesso modo ( quindi la stessa codifica come sequenza di bit viene usata sia con i dati si per le istruzioni).

  • che la MEMORIA e PARTE DESTINATA AI CALCOLI siano separate tra di loro per poi inserire un qualcosa per farle comunicare.

Il calcolatore è a sua volta composto da:

 Processore o CPU: è il motore, è la parte che elabora i dati eseguendo i conti, cioè le istruzioni su questi dati. Dati e istruzioni si trovano nella memoria;

 Memoria: contiene dati o istruzioni: definita come se fosse un’immensa cassettiera contenente in ogni cassetto un dato o un’istruzione. Tuttavia il processore sapendo come è organizzata la memoria sa qual è il cassetto che deve aprire per prendere il dato e l’istruzione ;

 Bus: collega il processore con la memoria; tuttavia il BUS connette anche l’interfaccia;

 Interfaccia: di input e output, permette al calcolatore di interagire con l’ambiente esterno, con chi ci sta davanti;

Sapendo che calcolatore possiede una memoria dove vengono codificati i dati e le istruzioni si può dire che ogni calcolatore ha un proprio linguaggio chiamato LINGUAGGIO MACCHINA = insieme di istruzioni che vengono codificate come sequenze di bit che vengono comprese dal processore che si hanno sul calcolatore.

Tuttavia se in principio alla creazione di Neumann erano tutti contenti poi con l’avanzamento della tecnologia i processori diventando sempre più potenti sviluppando il problema noto come COLLO DI BOTTIGLIA DI VON NEWMANN strozzatura che limita il corretto andamento dovuta al fatto che i processori diventano sempre più potenti ma il bus (cavo di collegamento tra processore e memoria) rimane troppo lento, non era in grado di trasferire tutte le informazioni che il processore richiedeva .Perciò i vari informatici si sono adoperati per poter risolvere questo problemi , per comprendere la risoluzione bisogna prima analizzare le varie parti della macchina di Von Neumann:

Il PROCESSORE va a prendere il tutto nella memoria

Le piccole memorie che gli permettono di fare questa esecuzione delle informazioni sono:

-il registro IR

  • program counter

BUS

CP U

ME M OR IA

IN TE RF AC CI

si trovano all’interno del processore quindi questo prende il dato e lo inserisce in una memoria prende l’istruzione e lo inserisce in un’altra memoria. In modo particolare in queste due memorie viene indicato quale sarà la propria stazione da eseguire quale quella attuale e così via.

Poi il processore usa una parte di se stesso che si chiama ALU (unità aritmetica logica) che è quella che esegue i conti =la matematica ;le istruzione vengono eseguite ad una determinata velocità che è data da un orologio interno al processore chiamato CLOCK che ha una frequenza data in Hertz (permette il continuo eseguimento); la velocità di un processore ATTUALMENTE è di qualche GIGAHERTZ (giga è il prefisso del miliardo)= quindi i processori di oggi eseguono miliardi di stazioni al secondo , quindi ogni secondo vengono eseguiti un miliardo di istruzioni.

Di fronte ad un oggetto così potente è STRETTAMENTE NECESSARIO avere un canale di comunicazione altrettanto efficiente (altrimenti si ricrea il problema del collo della bottiglia).

la MEMORIA =MEMORIA CENTRALE o RAM

  • è un dispositivo di memoria a cui il processore accede tramite bus per eseguire le istruzioni;
  • è volatile: le informazioni presenti in questo tipo di memoria restano lì finché la memoria è alimentata da corrente cioè fino a che il computer è acceso. Questa caratteristica è dovuta al tipo di tecnologia che viene usata, per fare in modo di avere una memoria efficiente con dei tempi di scrittura e lettura molto bassi bisogna utilizzare una tecnologia di questo tipo che purtroppo ha questa caratteristica di volatilità;
  • Ram= Random Access Memory, sembrerebbe che l’accesso fosse casuale (random=casuale) in realtà ci sono state diversi tipi di tecnologie che hanno pensato ad una soluzione ovvero <>anziché scorrere in sequenza , si va a caso poi dal punto in cui sono arrivato mi muovo ed è stato dimostrato che il tempo di accesso con una soluzione di questo tipo ai dati era inferiore;
  • Diversi tipi di memoria hanno diversi tipi di accesso che può essere:

 Sequenziale (classico delle musicassette)

 Diretto ( tipico della memoria centrale )

 Misto

 Associativo

  • Capacità di qualche Giga

Esistono oltre alla RAM altri tipo di memoria di tipo EPROM e ROM=quest’ultima rappresenta una memoria che può essere solo letta e non scritta, la si usa quando il contenuto della memoria non deve cambiare mai.

Esiste anche una MEMORIA DI MASSA (principale è hard disk) se la RAM è volatile si ha anche bisogno della PERSISTENZA DEI DATI , (dati salvati anche se il computer viene spento) , tuttavia l’accesso di lettura e scrittura è più lento rispetto alla ram; il costo è minore; i dischi hanno dimensioni maggiori a seconda che sia un laptop o un fisso.

fronte alla cella di memoria in cui deve leggere il dato, tuttavia non prende soltanto il dato ma anche ciò che gli sta intorno, per poi inserire il tutto nella cache in modo tale che il processore ha al suo interno delle memorie (per l’appunto le cache) cui contengono i dati che gli permettono di eseguire.

GERARCHIA DI MEMORIE

Parlando di memorie presenti all’interno dei calcolatori si sa che esiste una GERARCHIA DI MEMORIE:

  • registri della CPU (centinaia di byte)

-cache di livello 1 (decine di KB)

-cache di livello 2 (>512KB)

-cache di livello 3 (>2MB)

-memoria centrale (Giga)

  • dischi interni (Tera)
    • dischi esterni

LE PERIFERICHE

Ricordiamo che l’interfaccia permette all’utente di interagire con il calcolatore. Quando si parla di interfacce bisogna parlare di:

  1. tutte quelle che sono le vere e proprie interfacce che ci permettono di attaccarci al calcolatore;
  2. le PERIFERICHE: dispositivo connesso all’unità centrale del calcolatore, che permette l’immissione o l’emissione di dati (INPUT o OUTPUT). Le periferiche si connettono usando interfacce che vengono inserite nelle schede madri dei PC o usando le PC Card dei laptop. Nel 2017molte periferiche sono già integrate nel calcolatore stesso

Quali sono le possibilità che ho per connettere le periferiche al calcolatore? di possibilità ce ne sono tantissime tuttavia ci sono delle interfacce che si trovano (si collegano) all’interno altre all’esterno del calcolatore. I connettori disponibili per la comunicazione tra PC e periferica sono:

 connettori paralleli ATA (HD, lettore CD, masterizzatore)

 connettori serial ATA e SCSI (HD)

 2 connettori PS/

 connettore VGA (o DVI)

 connettori minijack

 connettore seriale RS-

 porta parallela

 connettore RJ11 (modem/fax)

 connettore RJ45 (interfaccia di rete)

 connettori USB

Grazie ai 2 principi e alla presenza di piccole memorie si riesce a mitigare il problema del collo di bottiglia

velocità

capacità

Più nell’ elenco si sta in alto più queste memorie sono veloci ma hanno poca capacità.

INVECE più scendiamo più queste memorie sono grandi

(la dimensione delle memorie influisce su quello che è il costo

INTERNO

ESTERNO

 connettore FireWire (IEEE 1394)

 dispositivo IrDA (funziona a infrarossi) e Bluetooth (funziona a onde radio)

Le prime due sono interfacce che uso quando si vuole collegare al calcolatore: o un disco interno o un lettore dvd o cd

La terza: nei computer di un tempo c’erano due prese una verde e una viola dove si inserivano il mouse e la testiera (quei due rappresentano i connettori PS2), ora sostituiti dal USB ;

Quarta: il connettore VGA è dove ci si attacca lo schermo, ora obsoleto perché ora il connettore è HDMI. Tuttavia vi è una grande differenza tra la porta VGA e HDMI in quanto la prima serve per attaccare uno schermo e vi passa il segnale video (ciò che proiettiamo) la seconda ci passa sia il segnale video che audio;

Settima: connettore che si attaccava la stampante;

USB (Universal serial bus): interfaccia progettata per sostituirne di altre;

Le principali periferiche:

 TASTIERA: con essa si può parlare di TASTI MODIFICATORI modificano la funzione di un tasto come: Shift (fa la maiuscola), Ctrl (attiva una funzione), Alt (alternativa a quello che è il simbolo che viene rappresentato su quel tasto).Un altro tasto modificatore presente sui laptop è il tasto funzione (da f1 a f12)es. il tasto funzione che cambia la funzionalità che ho normalmente in un dei tasti nell’ alzare o abbassare il volume è un tasto modificatore , oppure in alcuni laptop esiste una funzionalità in cui è possibile cambiare quella che è la funzione di alcuni tasti per fare in modo che con quei tasti vengano scritti dei numeri.

 VIDEO: con esso all’interno del calcolatore è comparsa, a seguito della nascita delle interfacce grafiche (Windows), la SCHEDA GRAFICA O VIDEO che si occupa esclusivamente di gestire la parte GRAFICA così da liberare il processore. Quando si parla di video si può parlare di RISOLUZIONE e ASPECT RATIO:

  • RISOLUZIONE : dimensione dell’immagine (in funzione dei pixel) che viene ‘’disegnata’’ sullo schermo quindi la risoluzione definisce come viene occupato lo schermo (=come viene disegnata l’immagine).
    • L’ASPECT RATIO = rapporto che c’è tra altezza e base dell’immagine definisce quanto è allargata o schiacciata l’immagine

Se si parla di TECNOLOGIE riguardanti i video si hanno le tecnologie: CRT, LCD, OLED, AMOLED, VIDEO PROIETTORE :

-CRT: corrisponde al tubo catodico (es. televisioni enormi di anni fa);

-LCD: definisce i cristalli liquidi (es. hanno permesso alle tv di

‘’schiacciarsi’’ e non essere così ingombranti);

-OLED: tecnologie attuali nei nostri computer ; pag. 8

Idea che tutte queste tecnologie cambiano tra di loro a seconda di quella che è la tecnica per rappresentare i colori dell’immagine sullo schermo. Con il passaggio da CRT fino AMOLED quello che cambia è il n° di colori che posso essere rappresentati sullo schermo. Maggiore è il n° di colori che si possono rappresentare migliore è la rappresentazione dell’immagine sempre più

 DISPOSITIVI AUDIO : così come lo era stato per il video anche l’audio essendo diventato complesso da gestire si è pensato di aggiungere una SCHEDA SONORA che scaricasse il lavoro che prima faceva il processore in modo tale da avere una gestione che funzioni meglio. Parlando di audio si può parlare di:

-una serie di periferiche che si possono attaccare al calcolatore (dalle casse a mediacenter a lettori mp3 , quindi qualsiasi cosa che riguardi l’audio);

  • VOIP: ( Voice over IP), nasce con Skype , si tratta di uno strumento in grado di attuare chiamate vocali tramite una connessione internet o una linea dati quindi non necessariamente utilizzando la linea telefonica classica.

 COMBINAZIONI DI PERIFERICHE: es. GOOGLE GLASSES (realtà aumentata tramite occhiali), Cave Automatic Virtual Environment (strumento usato anche in psicoterapia), LIM (lavagna multimediale usata come touchscreen. Fondamentale in quanto viene definita una TECNOLOGIA INCLUSIVA), Oculus Rift=realtà virtual

Classificazione dei calcolatori

I calcolatori si dividono in queste principali categorie

 personal computer (computer fisso)

-desktop =qualcosa di piccolo in grado di essere messo sopra una

scrivania;

-tower = stanno sotto il tavolo;

-small form factor = ‘’scatolina’’ che contiene le componenti

fondamentali (costano meno e , sono leggeri ;

 laptop

-notebook;

-tablet PC;

-netbook= più piccolo rispetto al notebook;

-ultrabook= molto sottile ma potente come il notebook e leggero come

il netbook;

 PDA, palmare o pocket PC;

 console per videogames e media center;

 workstation;

 server= non vengono usati da una persona, ma sono computer molto

potenti che svolgono delle funzioni per una serie di utenti che si possono

collegare a questi computer. Questi utenti sono i client;

 minicomputer, mainframe, supercomputer= serie di architetture per

svolgere calcoli scientifici es. il TAITAN computer che occupa un intero

piano di edificio;

Caratteristiche che permettono di differenziare diversi calcolatori , sono:

-velocità di elaborazione

-capacità di archiviazione dati

-affidabilità

-sicurezza

-dotazione di periferiche

-capacità di connettersi ad altri elaboratori o dispositivi

-dimensioni

-modularità (compatibilità delle componenti)

-scalabilità (consentire il miglioramento)

Importanti se sui calcolatori vengono inseriti dati sensibili.

Migliorare o sostituire parti del calcolatore

es: è chiaro che se c’è puzza di bruciato conviene spegnere il forno,

anche se la ricetta non m lo specifica (si confida nelle capacità

deduttive dell’esecutore)

Quando si parla di algoritmo (quindi di elaborazione automatica

dell’informazione) bisogna parlare della MACCHINA DI TURING. Turing

(considerato come il nobel dell’informatica) voleva definire un dispositivo che

dia la possibilità di analizzare le proprietà degli algoritmi, capire se questi sono

complessi o meno e in base a quello che ne ricavo posso avere dei vantaggi ;

Tuttavia E’ un dispositivo (astratto) per l’elaborazione dell’informazione. E’

costituita da:

 un alfabeto finito di simboli;

 un nastro di lunghezza infinita diviso in celle (per far si che la macchina

fosse in grado di elaborare qualsiasi cosa spiegato perché non si

può realizzare);

 una testina in grado di leggere e scrivere le celle e di spostarsi

 un insieme finito di stati (stato iniziale e finale)

 un registro di stato (stato corrente della macchina)

 una tabella delle azioni o funzione di transizione;

Sembra di parlare più che di qualcosa che è analogo al calcolatore (parliamo di

memoria, qualcosa che è in grado di leggere e scrivere, insieme di istruzioni)

BENSI’ la differenza è che siamo di fronte a una macchina con un

funzionamento molto particolare in quanto è dimostrato che non esiste nessun

computer al mondo più potente di questo strumento (qualora venisse

costruito), in quanto è in grado di risolvere tutti i problemi.

Perché è importante capire se l’algoritmo che ho definito ha delle proprietà

particolari oppure no?

Innanzitutto bisogna capire se l’algoritmo è: FINITO o INFINITO (fondamentale

per i tempi di elaborazione); con questa macchina si sarebbe in grado di capire

se l’algoritmo che si è definito è EFFICIENTE oppure NO.

Turing, considerato il padre dell’informatica, parla di INTELLIGENZA ARTIFICIALE

affermando che nel momento in cui si avrà un calcolatore in grado di far

credere ad un essere umano di essere una persona allora avremo dei computer

che sanno pensare.

Dagli algoritmi ai programmi

Per passare dall’ algoritmo al software bisogna parlare di LINGUAGGIO DI

PROGRAMMAZIONE. Per poter definire dei software bisogna scrivere dei

programmazione usando il linguaggio di programmazione.

Un LINGUAGGIO DI PROGRAMMAZIONE è un linguaggio formale usato per

descrivere algoritmi

Un PROGRAMMA è un algoritmo espresso in un linguaggio di

programmazione, che permette la creazione di algoritmi

Dopo aver scritto un programma usando il lin.di program dobbiamo tradurlo

nella lingua parlata dal calcolatore stesso. Perciò si hanno diversi livelli di

astrazione per la scrittura di programmi:

 linguaggio macchina (sequenze di bit)

 linguaggio assemblatore (istruzioni a basso livello: ADD, SUB, ecc)

 linguaggi ad alto livello (Basic, Pascal, C, Java)

 linguaggio naturale

Per eseguire i programmi, bisogna prima “tradurli” in linguaggio macchina si

usano il COMPILATORE o L’INTERPRETE, che (tra le altre cose) che permettono

di eseguire lo stesso programma su calcolatori diversi così da diffondere il

programma su altri calcolatori

Il software: licenze

I software vengono sviluppati dalle SOFTWARE HOUSE. Tipi di licenza

(LICENZA= serve per proteggere la ‘’paternità’’ di un software):

 licenza d’uso: numero limitato di calcolatori, la copia è vietata!

(solitamente ho a che fare con un software a pagamento es. OFFICE);

 shareware: prodotto in prova per un periodo di tempo (software funziona

per un periodo di tempo se lo voglio mantenere e mi piace poi lo vado a

pagare oppure quando scarico un software non tutte le funzionalità sono

attive, se voglio sbloccare tutte le funzionalità devo pagare es. versione

light (free) o PRO (cash) delle app);

 freeware: prodotto distribuito gratuitamente, tuttavia ci sono molte

pubblicità;

 software libero e software open source: distribuito gratuitamente assieme

alla versione sorgente il contributo della comunità permette la

sua realizzazione (es. WIKIPEDIA);

es.what app è gratis perché quanto clicchiamo ‘’accetta le condizioni’’

what appi si impadronisce dei dati degli utenti , sia dei miei contatti che

dei miei messaggi o fotografie o ascolta le mie chiamate.

Il software si divide in: SOTWARE DI BASE o SOFTWARE APPLICATIVO

software applicativi sono:

 Videoscrittura es.Word

 gestione di fogli elettronici es.Excel

 produzione di presentazioni multimediali es.Power Point

 desktop publishing (volantini, brochure, ...) es.Publisher

 gestione di basi di dati es.Access

 editor web

 grafica e fotoritocco es.photoshop

Quindi per poter avere il servizio e per poter fare l’utilizzo che si fa

quotidianamente dei calcolatori il SO deve gestire in maniera efficiente il

processore (che svolge i conti), e lo fa tramite il Kernell. Viene attuata così la

MULTIPROGRAMMAZIONE e per attivarla vengono sfruttati il: TIMESHARING e

MULTITASKING.

Infatti si è passati nel corso degli anni dalla monoprogrammazione alla

multiprogrammazione lo si può capire dal fatto che un tempo con il SO

bisognava scrivere sulla tastiera i comandi tuttavia veniva eseguito un

comando alla volta, adesso in realtà abbiamo in esecuzioni più cose sui

calcolatori e questo è grazie allo ‘’sfruttamento’’ del: time-sharing e

multitasking

Multitasking= capacità di svolgere più lavori contemporaneamente

(multi=tanto, task=compito);

Timesharing= tutti i programmi condividono il tempo (messo a disposizione dal

processore) per eseguire delle istruzioni

Grazie al SO che si occupa di tutte queste cosa, ‘’noi’’ abbiamo la sensazione di

PARALLELISMO VIRTUALE cioè ci sembra che sul calcolatore vengano

eseguite contemporaneamente diverse ‘’attività’’, ma in realtà i processi

vengono eseguiti in sequenza c’è una differenza di pochi millisecondi.

PROCESSO = software che è in fase di utilizzo da parte

dell’utente sul calcolatore

es. Scrivo su word ma nel frattempo ascolto

la musica su You Tube

Il SO gestisce tutti questi processi comunicando al processore chi deve

eseguire in quel momento, chi può essere messo in attesa, chi è pronto e

quindi si può eseguire. Quindi La CPU gestisce i processi in esecuzione che si

possono trovare in 3 diversi stati:

 pronto

 in esecuzione

 in attesa

L’idea che si crea è quella che il SO continua a fornire alla CPU istruzioni da

eseguire di processi diversi; questo SWITCH, cambio di processi in esecuzione

vengono fatti ad una velocità tale che noi utenti non vediamo o sentiamo

differenza o interruzioni.

Avendo più compiti che vengono eseguiti da programmi, distinti che vengono eseguiti a loro volta dal calcolatore,contemporaneamente ,si parla di :

Diversi processi vengono gestiti dalla CPU in modo tale che l’utente creda che la loro esecuzione sia parallela

E’ presente un cambio di esecuzioni di diversi processi viene chiamato context

swapping (cambio contesto = es. quando passo da word a chrome).

Non basta gestire in maniera efficiente il processore per la

MULTIPROGRAMMAZIONE ma bisogna anche gestire in maniera efficiente la

memoria centrale, la RAM, tramite un gestore di memoria;

Sulla RAM sono presenti istruzioni e dati = memoria in cui il processore si dirige

per le istruzioni da eseguire e i dati su cui eseguire le istruzioni.

Il SO si deve occupare di gestire il contenuto della RAM inserendovi tutte quelle

cose che poi il processore avrà bisogno; perciò il GESTORE DELLA MEMORIA

che si trova nel SO si occupa di :

 controllare la RAM in maniera efficiente;

 gestire lo spazio necessario a ciascun processo;

 proteggere lo spazio di ogni processo;

 gestire lo spazio comune tra processi (usato per lo scambio di

messaggi)= avendo la RAM ad un certo punto se io utente decido di

dover usare word, mi rendo conto che prima che la pagina si apre devo

aspettare qualche secondo questo tempo di attesa è quello

necessario per il SO per prendere word e metterlo nella RAM, in modo

tale che poi essendo in RAM il processore troverà tutte le istruzioni che

deve eseguire e troverà tutto quello che serve per permettere all’utente

di usare Word.

Ogni programma che si apre e che viene eseguito sul calcolatore, occupa

un certo spazio di memoria e allora è il SO che si preoccupa di gestire lo

spazio necessario per ognuno di questi processi, e soprattutto si occupa

di proteggere lo spazio che serve ad ogni processo.

La memoria Ram non è grandissima(per l’elevato costo) succede che per

avere una gestione più efficiente della memoria il SO usa :

 PAGINE (blocchi di memoria) = si carica una parte del ‘’word’’ che sto

usando, posso risparmiare memoria , così da avere più processi in

esecuzione;

se finisce la RAM si passa all’utilizzo della

 MEMORIA VIRTUALE= porzione del disco fisso (che è più lento),succede

che finisce la RAM il SO comincia ad usare una parte del disco ed è il

momento in cui l’utente sta eseguendo così tanti programmi che il disco

comincia a ‘’MACINARE’’= ovvero il SO si accorge che capisce che serve

un processo che era stato inserito nel disco fisso quindi li deve rispostare

Viene quindi fatta l’operazione di

CONCLUSIONE: sistemi operativi moderni permettono di avere più processi in esecuzione e realizzano il tutto grazie al timesharing e multitasking, dove in realtà viene simulato un parallelismo che non è reale ma è virtuale; e questo parallelismo lo otteniamo dal fatto che il SO riesce a fornire istruzioni di processi di programmi diversi alla CPU in maniera molto veloce in modo tale che l’utente non si renda conto che le cose vengano eseguite in sequenza

I moderni SO integrano la GESTIONE DELLA RETE e sono spesso definiti Network operating systems (NOS)

Esistono diverse modalità di interazione tra utenti e calcolatori in ambito di rete:

 interazione uomo - calcolatore locale;

 interazione uomo - calcolatore remoto (es. client - server);

 interazione tra uomini mediata da calcolatori (es. chat);

Quando si parla d’interazione tra uomo e macchina si parla di INTERFACCIA UTENTE e il SO in questo caso si occupa di AUTENTICAZIONE:

 dimostrazione di conoscenza (credenziali);

 dimostrazione di possesso (smart card e simili);

 dimostrazione di caratteristiche fisiche (dati biometrici = es. impronta digitale);

Utenti diversi hanno autorizzazioni diverse:

 amministratore di sistema (sono quelle persone che hanno la possibilità di modificare il contenuto del calcolatore stesso, le varie applicazioni presenti);

 operatore di sistema;

 programmatore;

 utente applicativo (l’unica cosa che possiamo fare sui calcolatori è quello di usare le applicazioni);

Cosa significa WYSIWYG?

Alla nascita dei SO moderni è nato l’acronimo ‘ ’What You See Is What You Get ’’legato all’interfaccia utente, a come viene gestita la grafica.

Il software maligno

Cos’è un malware? E’ un software maligno (malicious software). Esistono

diversi tipi di software maligno:

-virus (software che fa dei danni al nostro computer)

-worm (‘’)

-trojan (software che si finge corretto, normale)

-spyware (spiare =cerca di trovare i dati sensibili)

-adware (pubblicità in ogni dove)

-crimeware (furto d’identità legato allo spyware)

-hoax e spam

Differenza tra i due è che il Virus per poter esistere si deve infilare all’interno di un altro file. Il worm invece può vivere anche senza stare all’interno di un file.

Entrambi hanno la capacità di replicarsi, comunicarsi, inviarsi. Se il calcolatore viene infettato dal virus o worm la prima cosa che fanno è duplicarsi, e se vede che ci sono connessioni attive inviarsi a tutto ciò che è connesso al nostro computer (come può essere per la chiavetta USB); sono tuttavia difficili da eliminarli, poiché chi ha definito questi oggetti ha fatto si che quando il virus si sta replicando muti le proprie sequenze cosi che l’antivirus non sia in grado di riconoscerli o ci impieghi più tempo (questo evento spiega il motivo per

Cosa sono?

HOAX= ‘’bufala’’, può avere due obbiettivi:

-perdita di tempo,

-false notizie dal titolo accattivante che ti attirano a cliccare; cliccando apro una pagina web dove ci sono pagine di pubblicità le quali guadagnano pochi centesimi ogni volta che qualcuno vi accede. Nella pagina talvolta potrebbe esserci un malware perciò al giorno d’oggi Google sta lottando per screditare queste pagine web

SPAM=(origine dal gruppo Monty Python) , può avere due obbiettivi:

-perdita di tempo;

-severi danni poiché può accadere che:

a. Mi arrivi un allegato per email e dopo che lo apro scopro che è un virus;

b. Mi arriva un’email che non contiene allegati un link di una pagina web e cliccandovi sopra scopro che è un virus;

c. Mi arriva un’email da parte del servizio di posta elettronico, che mi chiede di inserire i miei dati (utente e password) il fine non è come c’è scritto di cambiare nome e password bensì rubare il file contente i miei dati sensibili;

Tuttavia sta a noi umani stare attenti ai file, link che ci troviamo di fronte, ma in molti casi si è aiutati da:

 Firewall= software (o pezzo di hardware) che si colloca tra computer e connessione internet, controlla chi manda o da dove arrivano i messaggi. Se dovessimo installare un virus ,che non viene riconosciuto dall’antivirus, e questo virus è uno spyware allora questo tenterà di comunicare con l’esterno ma il Firewall riuscirà a farcene accorgere

 antivirus= software applicativo che è sempre attivo sul calcolatore, controlla tutto quello che facciamo, inoltre ci indica un virus laddove noi non lo vediamo. Riconosce i software andando ad osservare la loro struttura, analizza i file che possono essere eseguiti e se li riconosce come file dannosi li blocca.

 Linux??= dispositivi che hanno SO come linux sono più sicuri di Windows perciò non succede che ci siano malware perché scrivere un virus per questi tipi di sistemi è più complicato