I SISTEMI OPERATIVI
LE ISTRUZIONI DI UN PROGRAMMA NON CONTROLLANO DIRETTAMENTE I
DISPOSITIVI COINVOLTI
NELL’ELABORAZIONE (DISCO, TASTIERA, MEMORIA…),
MA CHIAMANO IN CAUSA UN SOFTWARE (SIST.OP. – INTERFACCIA -)
INTERMEDIARIO TRA IL PROGRAMMA
UTENTE E LE RISORSE
TRADUCONO LE ISTRUZIONI GENERICHE DEI SW UTENTE IN ISTRUZIONI DETTAGLIATE PER L’HW SPECIFICO EVITANDO CHE CHI REALIZZA IL SW UTENTE DEBBA CONOSCERE L’HW SPECIFICO
PRESENTE SUL SISTEMA
I SISTEMI OPERATIVI
1. NON E’ IL PROGRAMMATORE A DOVER
CONOSCERE TUTTI I DISPOSITIVI, MA IL S.O.
(I SW COMMERCIALI SI DOVREBBERO POTER RIFERIRE A TUTTI I POSSIBILI DISPOSITIVI)
2. SOSTITUENDO L’HW NON SI DEVONO MODIFICARE I PROGRAMMI
3. I SW POTREBBERO ENTRARE IN CONFLITTO FRA LORO PER L’USO DELLE STESSE RISORSE (S.O. ARBITRO)
I SISTEMI OPERATIVI: VANTAGGI
I PRODUTTORI DI S.O. :
• SONO SPECIALIZZATI QUINDI
GARANTISCONO UNA GESTIONE OTTIMIZZATA E AFFIDABILE DELLE RISORSE
• LAVORANO A STRETTO CONTATTO CON I TUTTI I PRODUTTORI DI HW
AFFINCHE’ IL S.O. SUPPORTI TUTTI GLI HW IN COMMERCIO (ANCHE NUOVI)
I SISTEMI OPERATIVI: VANTAGGI
• LA COMUNICAZIONE TRA SW E HW E’
RALLENTATA DA UNO STRATO IN PIU’
• E’ POSSIBILE CHE IL S.O. NON
SUPPORTI UN RARO HW SPECIFICO
• I SW DEVONO ESSERE MODIFICATI PER UNA NUOVA VERSIONE DEL S.O.
I SISTEMI OPERATIVI: SVANTAGGI
SISTEMA USATO DA UN SOLO UTENTE CHE UTILIZZA UN SOLO PROGRAMMA
PER VOLTA AL LIMITE ACCOMPAGNATO DA UTILITY TSR (es. ANTIVIRUS) : S.O.
MS-DOS
I SISTEMI OPERATIVI MONOUTENTE
I PRIMI SISTEMI OPERATIVI: BATCH
I COSTI DEI PRIMI ELABORATORI ERANO PROIBITIVI: OGNI
UTENTE, SEQUENZIALMENTE AFFIDAVA ALL’ELABORATORE UN JOB (NON INTERATTIVO) CHE VENIVA ACCODATO AGLI ALTRI ED ESEGUITO QUANDO ERA IL SUO TURNO
I SISTEMI OPERATIVI MULTIPROGRAMMATI (TIME SHARING)
• ESEGUONO PIU’ JOB SULLO STESSO PROCESSORE IN MANIERA APPARENTEMENTE SIMULTANEA
• IL PROCESSORE SI DEDICA AD UN PROCESSO PER UN
QUANTO DI TEMPO (TIME SLICE) DOPO DI CHE PASSA AD UN ALTRO (CONTEXT SWITCH)
• PERMETTONO INTERATTIVITA’
I SISTEMI OPERATIVI MULTIPROGRAMMATI (TIME SHARING)
• MAGGIORE E’ IL N°DI PROCESSI MAGGIORE E’ IL TEMPO TRA DUE SESSIONI DEDICATE ALLO STESSO PROGRAMMA
• MINORE E’ IL TIME SLICE MAGGIORE E’ LA SENSAZIONE DI CONTEMPORANEITA’ MA DIMINUISCE L’EFFICIENZAA CAUSA DEL CONTEXT SWITCH E VICEVERSA
• IL TEMPO NECESSARIO AD ESEGUIRE UN PROGRAMMA DIPENDE DAL N°DI PROCESSI ATTIVI IN QUEL MOMENTO, QUINDI NON E’ POSSIBILE AVERNE UNA STIMA ESATTA
GARANTISCONO UN TEMPO MASSIMO ENTRO CUI UN PROCESSO SARA’
TERMINATO, A SECONDA DEL SUO TASSO DI CRITICITA’
I SISTEMI OPERATIVI REAL-TIME
DIAGRAMMA A STATI DEI PROCESSI
• ATTIVO: GLI E’ ASSEGNATO IL TIME SLICE
• PRONTO: PUO’ ESSERE ESEGUITO MA NON LO E’
• TUTTI I PROGRAMMI IN ATTESA DI UN INPUT
POSSONO ESSERE PARCHEGGIATI (ATTESA) FINO A CHE NON OTTENGONO I DATI
DIAGRAMMA A STATI DEI PROCESSI
• DISPONIBILE: CHIEDE DI ESSERE CARICATO DALLA MEMORIA DI MASSA ED AVVIATO (SE LE RISORSE NECESSARIE SONO DISPONIBILI)
• TEMINATO: ESAURISCE LA PROPRIA ATTIVITA’
DIAGRAMMA A STATI DEI PROCESSI
• SE SI ESAURISCE LA MEMORIA LIBERA SI PUO’
ARCHIVIARE MOMENTANEAMENTE SU MEMORIA DI MASSA UN PROCESSO NON ATTIVABILE A BREVE (--> RALLENTAMENTO) -SWAP IN- PER ESSERE
SUCCESSIVAMENTE RIPRISTINATO -SWAP OUT-
LA GESTIONE DELLA MEMORIA IL S.O. DEVE GARANTIRE:
• PROTEZIONE: LA MEMORIA ASSEGNATA AD UN PROCESSO NON DEVE ESSERE UTILIZZABILE DA ALTRI PROCESSI
• RILOCABILITA’: I PROCESSI DEVONO ESSERE
INDIPENDENTI DALLA LOCAZIONE LORO ASSEGNATA
• FRAMMENTABILITA’: IL S.O. PUO’ ASSEGNARE AD UN PROCESSO AREE DI MEMORIA DISGIUNTE
• CONDIVISIONE: AREE ACCESSIBILI IN LETTURA CONTEMPORANEAMENTE A PIU’ PROGRAMMI
CONTENENTI AD ES. LIBRERIE DI CODICE CONDIVISE
PARTIZIONI DI UGUALI DIMENSIONI (GESTIONE SEMPLICE E VELOCE) → SPRECO
ALLOCAZIONE STATICA
ALLOCAZIONE DINAMICA
• PARTIZIONI DI DIMENSIONI DIFFERENTI (RIDUCE LO SPRECO → RITARDO)
• FIRST FIT: PRIMA AREA LIBERA E COMPATIBILE
• BEST FIT: AREA PIU’ ADATTA (MINOR SPRECO, MAGGIOR TEMPO)
• WORST FIT: AREA PIU’ GRANDE (RIUTILIZZO SPAZIO SPRECATO)
ALLOCAZIONE DINAMICA
UN’UNICA PARTIZIONE SUDDIVISA IN BASE ALLE
RICHIESTE E PERIODICAMENTE DEFRAMMENTATA