Le periferiche
Altri componenti
- La scheda grafica: gestisce le informazioni di tipo multimediale senza passare per il processore.
- Dispositivi di input: mouse, touch-screen, tastiera, penna, tavola grafica,...
- Dispositivi di output: video, stampante (3D, 4D) {a matrice, a getto d'inchiostro, laser,..} plotter
Software
Insieme di programmi che vengono eseguiti in un dispositivo elettronico.
- Programmi di tipo sistema
- Programmi di tipo applicativo: utilizzati per utilità personale o di un ente che automatizzano dei processi, programmi per la produttività personale.
- Utility: programmi che permettono di utilizzare al meglio tutte le risorse del computer.
- Programmi di tipo sistema operativo: permettono di utilizzare i dispositivi di hardware.
- Programmi di tipo user interface
- Programmi di tipo kernel: programmi che servono per gestire il sistema operativo – l'utente non ha accesso a questi.
Sistema operativo: insieme di componenti software che gestisce e interagisce direttamente con il computer, presentando a tutti gli altri tipi di software un'interfaccia che astrae dalle caratteristiche dell'hardware specifico. Il sistema operativo permette a un programma di essere eseguito nonostante non conosca l'hardware.
Evoluzione del sistema operativo (S.O.)
1940-1950: sistema operativo minimale, aiutava la figura del computer operator a predisporre la macchina per i programmi. Questi computer venivano utilizzati solo DOPO che il computer operator aveva letto le schede perforate che contenevano il programma, predisponeva la macchina a tale programma. Si utilizzava il FIFO (first in, first out), il computer raccoglieva tutti i programmi da eseguire e li predisponeva in coda: job queue – questo modo di lavorare venne definito Batch processing o elaborazione a lotti.
1970: computer un po' più evoluti, alcuni al loro interno hanno già alcuni primi processori – Mainframe – computer utilizzati con un approccio interattivo (primi terminali da cui si caricavano i programmi, i dati e i risultati). Vantaggio temporale dal precedente: per correggere un errore, non si impiega molto tempo, non bisogna aspettare l'interazione con il computer operator, i programmi vengono letti ed eventualmente corretti in tempo reale.
1970-1980: nascono i computer server, computer particolari che erogano servizi a più computer e più utenti. Per soddisfare questa attività, c'è bisogno di una programmazione time-sharing (multiprocessing). O consento a più utenti di lavorare parallelamente, o ad ogni programma dedico solo un piccolo slot di tempo = permette di lavorare su più programmi e dà l'impressione all'utente di una simultaneità – tuttora utilizzata. In alcuni casi, si suddivide il lavoro in più macchine.
1990: utilizzata la tecnologia multi-tasking, il singolo utente ha l'impressione di più programmi eseguiti in parallelo.
Altro tipo di sistema operativo: embedded system (su dispositivi specifici), vengono sviluppati solo per quello specifico hardware – Real-time = sviluppati solo per effettuare alcune operazioni precise.
Esempi di sistemi operativi
- Server: Windows Server NT, 2000, 2003, 2008,....
- Unix: AIX, Solaris, OS/400
- Linux: Ubuntu, RedHat,...
- Client: versione ridotta dei sistemi operativi che girano nei server Ms-Dos, Windows, Macintosh Os, Os X, Linux
- Per dispositivi mobili: embedded system Java VM, Android, Chrome OS, iOS, Windows Phone, Windows 10
Il sistema operativo si occupa di gestire:
- Il processore ed i programmi in esecuzione (processi) ➢
- Software applicativi ➢
- La memoria principale (RAM) e allocare ai vari programmi la porzione di RAM necessaria, se la RAM scarseggia, bisogna trovare delle strategie: scaricare i processi non utilizzati oppure utilizzare memorie virtuali preservandosi dello spazio nel disco (solitamente della stessa dimensione della RAM oppure uno spazio disco dinamico, a seconda di quanto spazio serve) ➢
- La memoria secondaria (disco fisso/rigido) organizzando le informazioni in file in organizzazione gerarchica ➢ ci permette di trovare, modificare, spostare, ecc... i file.
- I dispositivi di input/output ➢
- La sicurezza del sistema sotto diversi profili: a livello di esecuzione dei programmi (vengono caricati in memoria centrale, il sistema operativo evita che i programmi vadano a scrivere sopra ad altri programmi), sicurezza a livello di accesso alle risorse (evitare che i virus entrino nel computer) sicurezza a livello di accesso multiutente (evitare che altri utenti vedano i dati personali)
Il sistema operativo è un insieme di programmi che gestiscono i dispositivi hardware più un insieme di utility (es. Windows Explorer non dovrebbe essere venduto insieme al sistema operativo).
HTML
Un tag può avere uno o più attributi che ne modificano o caratterizzano il comportamento. Sintassi dell'attributo: nomeAttributi="valore" <body attributo1="xyz" attributo2="1234" >
Struttura minima documento HTML:
<html> <head> <title> che compare sulla barra del browser </title></head><body> contenuto della mia pagina html</body></html>
Bisogna salvare nomefile.html
C'è bisogno di un Editor HTML che ci permette di editare una pagina HTML.
Tag di marcatura della scrittura:
- Tipo Elemento/i – nome del tag
- Intestazione: H1, h2, h3, h4, h5, h6
- Paragrafo: p
- Testo preformattato: pre
- Citazione: blockquote
- Lista: ol, ul, li, dl, dt, dd
- Linea divisoria: hr
Componenti del sistema operativo
Organizzati in struttura gerarchica, i componenti della fascia più bassa servono servizi al componente subito superiore. Quando si accende il computer, il Kernel viene subito caricato per controllare se funzionano tutti i componenti della parte hardware.
Il Kernel eroga funzioni e servizi al Gestore della memoria.
Gestione periferiche
- Gestisce tutte le periferiche presenti
- File system: organizza i dati sui dischi fissi e sulle memorie
- Interprete comandi: permette di impartire comandi al sistema operativo
- Programmi applicativi: installati nel computer e utilizzati dall'utente finale
Kernel: cuore del computer per la gestione dell'hardware
- Il kernel accede alle risorse hardware del computer:
- Ha accesso alla CPU, carica i programmi e li esegue. Alloca le risorse di calcolo per i programmi in esecuzione.
- Ha accesso alla memoria, carica i programmi in memoria e decide come allocare la memoria, quale memoria ai dati e quale area ai programmi.
- Si occupa di gestire le richieste che vanno da/verso le periferiche.
I kernel possono essere di tre tipi: monolitici, microkernel e kernel ibridi (scelte degli ingegneri che costruiscono i sistemi operativi).
L'interfaccia utente può essere di tipo grafico (si presenta con delle finestre che agevolano il lavoro all'utente, c'è un gestore delle finestre) o di tipo text (l'utente deve sapere a memoria i comandi precisi).
Il file manager: insieme di programmi che ci permette di organizzare e allocare lo spazio sui dischi delle memorie, si occupa di organizzare i file in cartelle e sottocartelle, gestisce il naming dei file, gestisce l'accesso degli utenti ai file (in caso di accesso multiutente).
Il memory manager ci permette di gestire la RAM, di controllare lo spazio della memoria, di allocare lo spazio della memoria a seconda dei programmi caricati ed eventualmente gestire la memoria virtuale (nel caso ci sia bisogno di estendere la memoria centrale).
Il device driver è l'insieme dei programmi che ci permette di gestire le periferiche del computer, ci permettono di effettuare la trasmissione di informazioni da/verso il computer centrale. Sono programmi che codificano il programma in un determinato modo. Il sistema operativo dialoga con la periferica in questione inviando e ricevendo informazioni al/dal driver. I driver sono specifici per ogni periferica e per ogni sistema operativo.
Lo scheduler gestisce tutti i programmi che sono attualmente in esecuzione scrivendoli dentro una tabella. Ogni volta che si lancia un nuovo programma, si aggiunge una nuova riga alla tabella che indica il nome del processo, le sue caratteristiche o lo stato.
Il dispatcher si incarica di andare avanti la logica del time sharing multitasking: assegnare ai vari programmi in esecuzione un tempo di esecuzione predefinito (time-slice = tot millisecondi in cui il programma è in esecuzione, per poi passare allo stato waiting). Si occupa di cambiare il programma in stato ready: salva il programma, lo mette in ibernazione e passa al programma successivo occupandosi di modificare lo stato del processo.
Quando un programma viene caricato dal sistema operativo, assume il nome di PROCESSO.
Stato del processo = stato corrente di esecuzione del programma (indirizzo di memoria, indirizzo memorizzato nel program counter, valore dei registri), ogni volta che si esegue un'operazione, lo stato del processo cambia e queste informazioni vengono salvate in un'area di memoria specifica. L'esecuzione dei processi è gestita dallo scheduler e dal dispatcher.
- Il processo può essere:
- Ready: pronto per essere eseguito.
- Waiting: in attesa di qualche informazione/periferica.
- Suspended: in pausa.
Ci possono essere due tipi di algoritmi che implementano il time-sharing:
- Senza prelazione: il programma rilascia le risorse e cambia il suo stato ➔
- Con prelazione: il controllo dell'esecuzione dei programmi è demandato allo scheduler/dispatcher ➔
Il BIOS
Quando accendiamo il computer, avviene il processo di 'Boot strapping'.
Il BIOS è un software molto piccolo memorizzato su una piccola memoria di sola lettura (EPROM), non riesce a gestire le periferiche, ma è in grado di controllare se tutti i dispositivi hardware sono a posto e se sono funzionati a livello elettronico, successivamente il boot loader inizia a caricare il kernel del sistema operativo.
HTML
Un tag può avere uno o più attributi che ne modificano o caratterizzano il comportamento. Sintassi dell'attributo: nomeAttributi="valore" <body attributo1="xyz" attributo2="1234" >
Struttura minima documento HTML:
<html> <head> <title> che compare sulla barra del browser </title></head><body> contenuto della mia pagina html</body></html>
Bisogna salvare nomefile.html
C'è bisogno di un Editor HTML che ci permette di editare una pagina HTML.
Tag di marcatura della scrittura:
- Tipo nome del tag caratteristiche
- Intestazione: h1, h2, h3, h4, h5, h6
- Paragrafo: p
- Testo preformattato: pre
- Citazione: blockquote
- Lista: ol, ul, li, dl, dt, dd
- Linea divisoria: hr
-
Appunti Lezioni Internet Marketing - prima parte
-
Appunti Geometria
-
Appunti prima parte della lezione di Citologia e istologia: laboratorio
-
Appunti Automatica