Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Esercizio Usate il ciclo repeat until (controllo post condizionale) per simulare il prodotto N x M con M somme di N. Esempio: 5 x 3 equivale a fare 5 +5.
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
Gestione dei processi A. Ferrari.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione del processore
12. Il Sistema Operativo Ing. Simona Colucci
Fondamenti di Informatica
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Il sistema operativo.
5.1 Sistemi operativi Scheduling della CPU Concetti di base Criteri di scheduling Algoritmi di scheduling Scheduling in sistemi con più processori Valutazione.
I processi Concetto di processo Scheduling dei processi
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Processi Concetto di processo Scheduling dei processi
Scheduling della CPU Concetti di base Criteri di scheduling
La Modifica dei Dati in una Base Dati La modifica dei dati contenuti allinterno di una base dati è unoperazione delicata Infatti, ogni potenziale problema.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Struttura dei sistemi operativi (panoramica)
I Thread.
I Processi.
Linguaggi di programmazione
1 Gestione del processore Il modello a processi sequenziali.
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DEI PROCESSI.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Introduzione ai Sistemi Operativi
Il sistema operativo Vito Perrone
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Architettura degli elaboratori
La schedulazione dei processi
Architettura del calcolatore
Lo sviluppo del software e i linguaggi di programmazione
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
Processi.
Programma di Informatica Classi Prime
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
Threads.
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Sistema Operativo (Software di base)
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
I processi.
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
Architettura di una CPU
Il nucleo del Sistema Operativo
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Gestione del processore (Scheduler)
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 System Call ancora Vediamo passo passo come funziona una SC.
Informatica Generale Marzia Buscemi
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Fabio Garufi - TAADF Tecniche Automatiche di Acquisizione Dati Sistemi operativi.
Fabio Garufi - TAADF Tecniche Automatiche di Acquisizione Dati Sistemi operativi.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Il Sistema Operativo Processi e Risorse
Transcript della presentazione:

Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori concetto di algoritmo, struttura dati coda conoscenza base linguaggio di programmazione cosa è un sistema operativo shell comandi linux

Test preliminari 1. In architettura degli elaboratori con PC si indica: a) personal computer b) program counter c) power controller 2. I diagrammi di flusso servono per: a) descrivere algoritmi b) scrivere programmi c) per entrambe le precedenti

Test preliminari 3. Cosa è un sistema operativo: a) parte dell’hardware del computer b) insieme di componenti software c) il desktop che appare all’accensione del pc

Task manager

Programma Insieme di istruzioni che eseguite su un computer/calcolatore produce soluzioni per una data classe/insieme di problemi

Programma Esempio Codifica in linguaggio di programmazione dell’algoritmo che calcola l'area di un triangolo dati base ed altezza. Programa CalcoloArea VAR b, h, area: real; /* base, altezza, area */ BEGIN writeln(“Inserisci la misura base in cm”); readln(b); writeln(“Inserisci la misura altezza in cm”); readln(h); area = (b * h) / 2 ; writeln(area); END.

Programma Programma quindi… tecnicamente è la codifica di un algoritmo in un certo linguaggio di programmazione realizzata da un programmatore (quindi da voi!)

Programa CalcoloArea VAR b, h, area: real; /* base, altezza, area */ BEGIN writeln(“Inserisci la misura base in cm”); readln(b); writeln(“Inserisci la misura altezza in cm”); readln(h); area = (b * h) / 2 ; writeln(area); END. Programma I programmi vanno quindi scritti rispettando le regole (sintassi e semantica) del particolare linguaggio di programmazione scelto! Errore!

Programma Compilazione areaTriangolo.pas eseguibile

Processo Un processo (o job o task) è un'istanza di un programma in esecuzione in modo sequenziale (una istruzione per volta!): rappresenta per il sistema una specifica esecuzione di un programma Calcolatore Sistema operativo

Processo o Ogni processo è identificato da un PID (Process Identifier) o Entità dinamica (vedi program counter) che per eseguire il proprio compito necessita di alcune risorse (tempo cpu, memoria, file, dispositivo di I/O) o Un processo include: sezione codice/testo program counter (indirizzo prossima istruzione da eseguire) registri del processore stack con dati temporanei (parametri di funzioni, variabili temporanee, …) sezione dati con variabili globali

Stato processo Durante l’esecuzione un processo subisce dei cambiamenti di stato che può essere: new/nuovo: il processo viene creato running/esecuzione: il processore sta eseguendo le istruzioni del processo (ricorda: su ciascun processore può essere running/esecuzione solo un processo per volta) waiting/bloccato: il processo è in attesa di qualche evento (come il completamento di un I/O) ready/pronto: il processo è pronto per essere eseguito terminated/terminato: il processo ha terminato l'esecuzione

Diagramma stati processo new terminated readyrunning waiting ammesso uscita dispatch interrupt completamento I/O o verificarsi di un evento attesa I/O o di un evento

Process Control Block (PCB) Ogni processo è rappresentato nel sistema da una struttura, unica per ogni processo, detto PCB: informazioni periferiche in uso, file aperti, … program counter stato del processoPID registri di CPU informazioni sulla priorità del processo informazioni sulla memoria del processo …

Tipi di processi I processi possono essere classificati come:  processi I/O bound – basso uso della CPU e elevato uso dell’I/O (es. text editor)  processi CPU bound – elevato uso della CPU e basso uso dell’I/O (es. programmi di calcolo matematico, compilatore)

Scheduling processi Multiprogrammazione: esecuzione contemporanea di più processi per massimizzare l'utilizzo della CPU Timesharing: commutare la CPU tra i processi così frequentemente che gli utenti possano interagire con ogni programma mentre è in esecuzione

Context switch/commutazione Context switch: operazione di passaggio della CPU da un processo all’altro (salvataggio stato processo vecchio e caricamento stato processo nuovo) Il tempo di context switch è un costo: il sistema non effettua lavoro utile per nessun processo utente

Code di scheduling Problema: Sistema con singolo processore → in esecuzione un processo per volta → i processi pronti per l'esecuzione devono aspettare che la CPU sia libera

Code di scheduling Il sistema tiene traccia dei vari processi usando delle code di processi Ready queue: processi pronti per l'esecuzione (manca solo la CPU) Coda dispositivo: un processo in esecuzione vi rimane per un dato tempo e prima o poi esce, viene interrotto, o si mette in attesa di un particolare evento (completamento di I/O,...). Una richiesta di I/O può essere diretta ad un dispositivo condiviso (es. disco). Molti processi in esecuzione -> il disco può essere occupato con la richiesta di I/O di un altro processo -> il processo deve attendere il disco L'elenco dei processi in attesa di un particolare dispositivo di I/O è chiamato coda del dispositivo. Ogni dispositivo ha la propria coda.

Operazione sui processi I processi vengono eseguiti concorrentemente (si contendono le risorse) e devono essere creati ed eliminati dinamicamente: il sistema offre un meccanismo per creare ed eliminare un processo

Operazione sui processi I processi vengono eseguiti concorrentemente (si contendono le risorse) e devono essere creati ed eliminati dinamicamente: il sistema offre un meccanismo per creare ed eliminare un processo

Operazione sui processi: creazione Un processo (padre) può creare altri processi (figli) che possono crearne altri e così via: albero dei processi P6P6 P1P1 P2P2 P3P3 P5P5

Operazione sui processi: terminazione Un processo termina eseguendo l’ultima istruzione e chiede al sistema operativo di essere cancellato Il padre di un processo ne chiede la terminazione (compito assegnatogli non più richiesto, ha usato risorse in eccesso, …) In entrambi i casi le risorse del processo sono deallocate dal sistema operativo

Task manager Un po’ di pratica… 1. Avviate il browser che usate per navigare su Internet 2. Accedete al task manager

Task manager Provate a rispondere alle seguenti domande: 1. Qual è il pid assegnato al processo? 2. Quant’è il tempo di cpu utilizzato dal processo? 3. Che priorità ha il processo? 4. Qual è il percorso/path del programma a cui è associato? 5. Quanta memoria sta usando il processo? 6. Come posso terminare il processo?

Task manager Suggerimento: comandi ps e top con relative opzioni E se siamo su …?