1 Processi e Thread Meccanismi di IPC (2) Problemi classici di IPC.

Slides:



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

Meccanismi di IPC Problemi classici di IPC
Laboratorio di Linguaggi Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in Informatica.
Java base V: La gestione delle Eccezioni
Ambiente Java.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
Tipi di dato astratti Lista, Pila, Coda, Albero.
Referenti: Prof. Anna Antola Ing. Marco Domenico Santambrogio
Linguaggi di programmazione
Java: programmazione concorrente con condivisione di memoria
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
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Programmazione Concorrente
Sincronizzazione fra processi
Sincronizzazione di processi
2 luglio 2006URM2 – ING- OOP0304 OL G. Cantone e A. Lomartire 1 Programmazione Orientata agli Oggetti Processi, task e thread Java (ed esempi) Università
Risorse condivise e sovraccarichi nei sistemi in tempo reale E.Mumolo
Progettazione dei Sistemi Interattivi (a.a. 2004/05) - Lezione 6 1 Programmi concorrenti: quanto è lungo un millisecondo? In un normale personal computer.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Sincronizzazione dei Processi
Sistema Operativo Architettura degli elaboratori 1 - A. Memo La gestione dei processi stallo 9 soluzione corretta si utilizzano un semaforo per.
INCORPORARE L'ESSENZA DELLA RIFLESSIONE NEL RUN TIME ENVIRONMENT Maurizio Moro Seminario IL2.
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
© CEFRIEL Concorrenza (cenni) Docente: Gabriele Lombardi
Sincronizzazione fra thread
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione ai Sistemi Operativi
Programmazione logica
AN FI Un denominatoe comune Linguaggi di programmazione Un denominatore comune.
Concorrenza e Sincronizzazione di Thread e Processi
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.
Interazione e sincronizzazione
Esame di didattica dell’informatica II
Processi e Thread Job: Insieme di processi che condividono quote e limiti. Processo: Contenitore di risorse (una lista di thread, una lista di handle e.
Corso di “Programmazione a oggetti” Programmazione concorrente
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
Sincronizzazione dei processi
Threads.
Costruzione di una semplice Agenda telefonica Elettronica Esercizio sull'uso delle principali system call Unix.
Concorrenza 1 Conto corrente Nella famiglia Giambietti non ci sono grossi problemi economici. Infatti il padre, Enea, di professione artista free-lance,
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Facoltà di Economia Corso di Laurea in Economia Informatica Strumenti Formali per l’Analisi Lessicale – Sintattica dei Compilatori Universtità degli Studi.
I processi.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
Programmazione Concorrente e Distribuita
Architettura dei Sistemi Operativi
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
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.
Processi e Thread Processi Thread
1 Processi e Thread Processi e thread in Windows 2000.
Concetti Fondamentali sulla Programmazione
1 Processi e Thread Meccanismi di IPC (2) Problemi classici di IPC.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Elementi di programmazione concorrente in Java: i threads.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Scambio Messaggi (1) Primitive base –send(destination,&msg) –receive(source, &msg) Decine di varianti, nel nostro caso : –la receive blocca automaticamente.
Processi, Thread, Multitasking, Multithreading (Thread-Fu)
IL NUCLEO Avvio e terminazione dei processi Assegnazione della CPU ai diversi processi Sincronizzazione tra i processi Sincronizzazione dei processi con.
Priorità e Sincronizzazione tra Threads. Priorità e preemption Java non garantisce la preemption Lo scheduling avviene in base all’algortimo Highest Priority.
1 Competizione e cooperazione pag. 88 Cap.3 - Esecuzione concorrente di processi 1.
Eccezioni in Java. Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel linguaggio allo scopo.
Processi e Thread Meccanismi di IPC (1).
Transcript della presentazione:

1 Processi e Thread Meccanismi di IPC (2) Problemi classici di IPC

2 Monitor (1) Oggetti –Strutture dati + metodi per accedervi (procedure) Concurrent Pascal Mutua esclusione nell’esecuzione delle procedure Variabili di Condizione –manipolabili solo con wait() e signal() –non contano gli eventi –sono associate ad una coda di processi in attesa wait(X), X variabile di condizione –sospende sempre il processo che la invoca in attesa di una signal(X)

3 Monitor (2) signal(X) –sveglia uno dei processi in coda su X –se nessun processo è in attesa, va persa –deve essere eseguita solo come ultima istruzione prima di uscire dal monitor (il processo svegliato ha l’uso esclusivo del monitor) Il monitor è un costrutto linguistico !! –Il compilatore si occupa di generare codice opportuno per realizzare la sincronizzazione –L’implementazione si basa su meccanismi di IPC a più basso livello (es. semafori …) –Non può essere aggiunto a un linguaggio con una libreria di SC opportune!

4 Monitor (3) Schema tipico di un monitor (CPascal-like)

5 Monitor (4) Produttore/Consumatore

6 Monitor (5) Non ci sono problemi di interferenza!

7 Monitor (6) Java fornisce i monitor –thread user-level –ME nell’esecuzione dei metodi synchronized di una stessa classe –non ci sono variabili di condizione –wait(), notify() simili a sleep(), wakeup() –è possibile svegliare tutti i processi in attesa Vediamo di nuovo il problema del produttore e del consumatore

8

9 Soluzione per Produttore/Consumatore in Java (parte 2)