Beruflich Dokumente
Kultur Dokumente
Parte I
Introduzione ai Sistemi Operativi
Ricevimento
Marted 11.30 - 13.30
(verificare su web)
I-1
Orario
Materiale didattico
Luned
Marted
I-2
15.45 -17.15
15.45 -17.15
Testo di riferimento
A.S. Tanenbaum, Modern Operating Systems,
second edition, Prentice Hall International, 2001
aula 21
aula 21
traduzione italiana
I-3
I-4
I-5
I-6
1. Introduzione
Obiettivi e finalit del SO
Evoluzione dei SO
Concetti fondamentali
Struttura del SO
2. Processi e thread
Struttura ed implementazione
Stati dei processi
Comunicazione tra processi
Scheduling
3. Deadlock
Definizioni e problematiche
Metodi per il controllo del deadlock
I-7
I-8
Il Sistema Operativo
End User
Programmer
Application
Programs
Utilities
Semplicit
OperatingSystem
Designer
Operating-System
Computer Hardware
I-9
I - 10
Risorse virtuali
I - 11
CPU
Tramite la multiprogrammazione pi programmi
condividono luso della CPU, alternandosi
Memoria
Tramite la memoria virtuale lo spazio di memoria dei
programmi non limitato dalla memoria fisica
I/O
Laccesso ai dispositivi di I/O semplificato, ed il vincolo
di uso esclusivo rimosso
I - 12
PROCESSI DI
ELABORAZIONE
file di I/O
SISTEMA
OPERATIVO
I - 13
RISORSE:
CPU, Memoria, Periferiche
Trasparenza e Portabilit
CORRETTEZZA
TRASPARENZA
EFFICIENZA
PORTABILIT
I - 14
I - 15
I - 16
Sviluppo di programmi
Esecuzione di programmi
Tecnologia a transistor
Sistemi batch uniprogrammati
Accounting
I - 17
SISTEMI STAND-ALONE
I primi sistemi non avevano assolutamente sistema
operativo
I programmi utente interagivano direttamente con le
risorse hardware
SISTEMI BATCH
I - 18
Problemi
I - 19
I - 20
Struttura di un job
I - 21
Multiprogrammazione
Memoria Virtuale
I - 23
I - 22
I - 24
Time sharing
I - 25
Tipologie di SO
SO per mainframes
I - 27
I - 26
I - 28
SO per server
SO real-time
I - 29
Sistemi embedded
PDA (Personal Digital Assestent)
Telefoni cellulari
Elettrodomestici
Risorse estremamente limitate
Palm OS, Windows CE
SM (Smart Cards)
Risorse ancora pi scarse
SO basati su Java
Anche esecuzione concorrente di pi applets
I - 31
I - 30
I - 32
Processi di elaborazione
I - 33
Gerarchie di processi
I - 34
A
B
I - 35
I - 36
Lo standard POSIX
I - 37
count = read(fd,buffer,nbytes)
I - 38
fork
pid = fork()
I - 39
I - 40
execve
waitpid
s = execve(name,argv,environp)
pid = waitpid(pid,&staloc,options)
I - 41
I - 42
I - 43
I - 44
while (TRUE) {
type_prompt( );
read_command (command, parameters)
/* repeat forever */
/* display prompt */
/* input from terminal */
if (fork() != 0) {
/* Parent code */
waitpid( -1, &status, 0);
} else {
/* Child code */
execve (command, parameters, 0);
}
}
/* execute command */
I - 45
I - 46
I - 47
I - 48
Win32 API
I - 49
I - 50