Difference between revisions of "Lezioni Anno Accademico 2017/18 I semestre"

From Sistemi Operativi
Jump to navigation Jump to search
Line 61: Line 61:
  
 
Astraendo il nostro calcolatore possiamo piazzare al livello più basso l'hardware e, subito sopra, il sistema operativo. I due layer comunicano usando il linguaggio ISA (Instruction Set Architecture), nativo della CPU stessa, al quale si aggiungono quelli che permettono di comunicare con i vari dispositivi come la scheda di rete, la stampante, etc. Sopra il livello del sistema operativo possiamo collocare quello delle librerie e, infine, quello degli applicativi.
 
Astraendo il nostro calcolatore possiamo piazzare al livello più basso l'hardware e, subito sopra, il sistema operativo. I due layer comunicano usando il linguaggio ISA (Instruction Set Architecture), nativo della CPU stessa, al quale si aggiungono quelli che permettono di comunicare con i vari dispositivi come la scheda di rete, la stampante, etc. Sopra il livello del sistema operativo possiamo collocare quello delle librerie e, infine, quello degli applicativi.
 +
---
 +
Nella generazione '''zero''' (1800 ca.) possiamo include Babbage con la sua macchina analitica e lady Ada Lovelace.
 +
 +
Nella generazione '''uno''' vediamo la comparsa delle valvole con tutti i problemi connessi. Non c'erano utilizzatori delle macchine, le stesse persone che le costruivano erano anche programmatori e utilizzatori.
 +
 +
Nella generazione '''due''' arriva il transistor. Quest'ultimo è molto più veloce e piccolo della valvola e, soprattutto, meno incline a guasti. Le macchine iniziano ad essere più economiche grazie alla possibilità di avere un'economia di scala e quindi più accessibili al grande pubblico. Questo fa si che, in queste prime fasi, i costruttori non siano più gli unici utilizzatori.
 +
A questo punto, poiché pur essendo diventata più accessibile, una macchina costava ancora molto, nasce l'esigenza di non lasciare mai un processore senza lavoro (al fine di massimizzare i ricavi) e di condividere i dati.
 +
In questa fase, infatti, abbiamo sistemi operativi di tipo batch (che collezionano tutto l'input all'inizio per calcolare e restituire l'output) dove l'inserimento di programmi e dati veniva fatto tramite schede perforate e non c'era interazione.
  
 
== Lezione del 3 ottobre 2017 ==
 
== Lezione del 3 ottobre 2017 ==

Revision as of 21:49, 29 September 2017

scrivete qui idee, riassunti dei concetti espressi, commenti approfondimenti sulle lezioni.

Lezione del 26 settembre 2017

Titolo della lezione: W H Y

  • What:
  • Who:


  • When:

Il corso ha durata annuale. Verrà svolto ogni martedì e venerdì dalle 15:30 alle 18:30.

  • La lezione del martedì sarà dedicata alla programmazione concorrente;
  • La lezione del venerdì sarà dedicata alla parte generale. Terminerà circa 15 minuti prima dell'orario stabilito.


  • Where:

Sempre in Aula 1 Ercolani (E1): DISI, Scuole Ercolani, Mura Anteo Zamboni 2B.

  • How:


  • Why:

  • Fonti e strumenti del corso: wiki creata di gruppo, lezioni frontali e esercitazioni.
    • Non esiste un vero e proprio testo consigliato. Tutte le informazioni sono date DURANTE il corso.
    • Per domande specifiche scrivere su mailing list (so@cs.unibo.it);
    • Per esercizi, appunti e programma svolto rivolgersi al wiki (so.v2.cs.unibo.it);
    • Per live streaming (www.cs.unibo.it/~renzo/live/).
  • Modalità di esame: esame scritto (diviso in due parti: una parte generale e una di programmazione concorrente) + progetto + orale (facoltativo), possibilità di dare solo lo scritto per ottenere un massimo di 18. La modalità per studenti in "difficoltà" è disponibile solo fino agli appelli autunnali.
    • Si parlerà del progetto indicativamente a partire da Dicembre 2017.
    • L'orale può essere sostenuto da chi vuole migliorare (peggiorare) il voto ottenuto, o da chi vuole ottenere la lode.
  • Orario di ricevimento per il primo semestre (fino al 15/09/17): martedì alle 11:30.
  • Università = docenti + studenti.
  • Informatica = come generare informazione automatica.
  • Hardware, Software, Elaborazione, Comunicazione, Memorizzazione, Digitale/Analogico.

La principale distinzione che facciamo tra dato e informazione è che il dato, da solo, è privo di significato. Se, tuttavia, viene interpretato in un particolare contesto allora può diventare informazione significativa per chi sta interpretando i dati.

Un algoritmo è un insieme non ambiguo di passi che, dato un problema, ci permette di risolverlo.

Il nostro algoritmo, scritto in un qualche linguaggio formale, diventa un programma (sostanzialmente un testo, un insieme di istruzioni).

Un linguaggio non è altro che una quadrupla (alfabeto, sintassi, lessico, semantica) dove:

  • l'alfabeto è l'insieme di simboli che compone il linguaggio.
  • la sintassi determina quali delle sequenze scritte sono effettivamente corrette.
  • il lessico si può vedere come una funzione che va dai simboli a un booleano e ci dice quali sono le parole ben formate.
  • la semantica associa un significato alle parole ben formate.

Lezione del 29 settembre 2017

Cos'è un sistema operativo e un po' di storia

Un sistema operativo è un programma che gestisce i processi, le risorse e interfaccia le applicazioni con l'hardware dell'elaboratore.

In particolare, il sistema operativo (laddove esiste) è il primo processo ad essere attivato e resta in vita fino allo spegnimento del calcolatore o al sopraggiungere di un errore fatale per il sistema.

A cosa serve un sistema operativo? Principalmente, ha i seguenti scopi:

  1. facilitare l'utilizzo del sistema;
  2. rendere affidabile, protetto e sicuro l'utilizzo del sistema (e.g. un processo potrebbe recar danno all'intero sistema se non controllato o potrebbe ignorare i permessi di visualizzazione di un file);
  3. astrarre l'hardware (e.g. filesystem);
  4. garantire l'efficienza (e.g. non tenere la CPU in idle adottando opportuni algoritmi di scheduling);
  5. assicurare portabilità;

Astraendo il nostro calcolatore possiamo piazzare al livello più basso l'hardware e, subito sopra, il sistema operativo. I due layer comunicano usando il linguaggio ISA (Instruction Set Architecture), nativo della CPU stessa, al quale si aggiungono quelli che permettono di comunicare con i vari dispositivi come la scheda di rete, la stampante, etc. Sopra il livello del sistema operativo possiamo collocare quello delle librerie e, infine, quello degli applicativi. --- Nella generazione zero (1800 ca.) possiamo include Babbage con la sua macchina analitica e lady Ada Lovelace.

Nella generazione uno vediamo la comparsa delle valvole con tutti i problemi connessi. Non c'erano utilizzatori delle macchine, le stesse persone che le costruivano erano anche programmatori e utilizzatori.

Nella generazione due arriva il transistor. Quest'ultimo è molto più veloce e piccolo della valvola e, soprattutto, meno incline a guasti. Le macchine iniziano ad essere più economiche grazie alla possibilità di avere un'economia di scala e quindi più accessibili al grande pubblico. Questo fa si che, in queste prime fasi, i costruttori non siano più gli unici utilizzatori. A questo punto, poiché pur essendo diventata più accessibile, una macchina costava ancora molto, nasce l'esigenza di non lasciare mai un processore senza lavoro (al fine di massimizzare i ricavi) e di condividere i dati. In questa fase, infatti, abbiamo sistemi operativi di tipo batch (che collezionano tutto l'input all'inizio per calcolare e restituire l'output) dove l'inserimento di programmi e dati veniva fatto tramite schede perforate e non c'era interazione.

Lezione del 3 ottobre 2017

Lezione del 6 ottobre 2017

Lezione del 10 ottobre 2017

Lezione del 13 ottobre 2017

Lezione del 17 ottobre 2017

Lezione del 20 ottobre 2017

Lezione del 24 ottobre 2017

Lezione del 27 ottobre 2017

Lezione del 31 ottobre 2017

Lezione del 3 novembre 2017

Lezione del 7 novembre 2017

Lezione del 10 novembre 2017

Lezione del 14 novembre 2017

Lezione del 17 novembre 2017

Lezione del 21 novembre 2017

Lezione del 24 novembre 2017

Lezione del 28 novembre 2017

Lezione del 1 dicembre 2017

Lezione del 5 dicembre 2017

Lezione del 12 dicembre 2017

Lezione del 15 dicembre 2017