Procesy współbieżne Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.

Slides:



Advertisements
Podobne prezentacje
Systemy czasu rzeczywistego
Advertisements

PRAM.
Wprowadzenie do informatyki Wykład 6
Jarosław Kuchta Semafory.
Informatyka jako dziedzina wiedzy
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Semafory Autorzy : Michał Winciorek Łukasz Jackowicz.
SYSTEMY OPERACYJNE SYNCHRONIZACJA PROCESÓW
Systemy czasu rzeczywistego Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Przetwarzanie tekstów i AWK Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Informatyka jako dziedzina wiedzy Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Rekursja Teoretyczne podstawy informatyki Wykład 5
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Wprowadzenie do informatyki Wykład 5
Obliczalność i złożoność obliczeniowa
Budowa komputera Wstęp do informatyki Wykład 15
Testy akceptacyjne Analiza systemów informatycznych Wykład 9
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Bazy danych Wprowadzenie do informatyki Wykład 9
Asembler i koncepcja von Neumanna
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Język asemblera i koncepcja von Neumanna
Programowanie imperatywne i język C
Języki formalne i gramatyki
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Asembler i koncepcja von Neumanna Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki Wykład 5
Od algebry Boole’a do komputera
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Metody formalne Copyright, 2005 © Jerzy R. Nawrocki Analiza systemów informatycznych.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Komunikacja poprzez Internet
Dokumenty i prezentacje Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do.
Wprowadzenie do informatyki Wykład 5
SEMAFORY Dominik Niewiadomy Łukasz Dąbrowski.
4. TEORETYCZNE MODELE PROCESÓW WSPÓŁBIEŻNYCH Teoretyczne modele uwzględniają wybrane cechy rzeczywistych procesów, stanowiąc kompromis pomiędzy łatwością
RODZAJE KOMUNIKACJI MIĘDZY PROCESAMI
Semafory.
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Copyright © Jerzy R. Nawrocki Metody formalne Inżynieria oprogramowania II Wykład 5.
Przetwarzanie tekstu i strony WWW Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie.
Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie.
Translatory Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 11.
Gramatyki i translatory
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Pomiary procesów programistycznych Copyright, 2002 © Jerzy R. Nawrocki Zarządzanie jakością.
Obliczalność czyli co da się policzyć i jak Model obliczeń maszyna licznikowa dr Kamila Barylska.
Dokumenty elektroniczne Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie do.
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Języki formalne i gramatyki Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy.
Języki formalne Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Wprowadzenie do teoretycznych podstaw informatyki Copyright, 2004 © Jerzy R. Nawrocki
Od algebry Boole’a do komputera Copyright, 2007 © Jerzy R. Nawrocki Wprowadzenie.
Systemy Operacyjne Synchronizacja
Procesy współbieżne Copyright, 2006 © Jerzy R. Nawrocki Wstęp do informatyki Wykład.
Asembler i koncepcja von Neumanna Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki Wykład 5
Procesy współbieżne Copyright, 2007 © Jerzy R. Nawrocki Wstęp do informatyki Wykład.
Wyrażenia regularne i język AWK Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne.
Zapis prezentacji:

Procesy współbieżne Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki Wykład 7

J.Nawrocki, Procesy współbieżne Ulepszenia Sieci Petri

J.Nawrocki, Procesy współbieżne Wprowadzenie Program 1 System oper. Program 2 Program 3 WieloprogramowośćWielozadaniowość Cray

J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument Implementacja semaforów

J.Nawrocki, Procesy współbieżne Proces Podstawowe pojęcia Proces = Program w trakcie wykonania Program Wartości rejestrów Licznik rozkazów Dane...

J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

J.Nawrocki, Procesy współbieżne Procesy na 1 procesorze Podstawowe pojęcia A A B B C C D D

J.Nawrocki, Procesy współbieżne Stany procesu Podstawowe pojęcia Wykonywany Gotowy Zablokowany

J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument Implementacja semaforów

J.Nawrocki, Procesy współbieżne Interferencja obliczeń Z = Zarobek studenta Z:= Z + 100Z:= Z Z: 7

J.Nawrocki, Procesy współbieżne Z: 7 Interferencja obliczeń X:= Z; X:= X + 100; Z:= X Z:= Z + 100Z:= Z Z = Zarobek studenta

J.Nawrocki, Procesy współbieżne Z: 107 Interferencja obliczeń X:= Z; X:= X + 100; Z:= X Z:= Z + 100Z:= Z Z = Zarobek studenta

J.Nawrocki, Procesy współbieżne Z: 107 Interferencja obliczeń X:= Z; X:= X + 100; Z:= X Y:= Z; Y:= Y + 300; Z:= Y Z:= Z + 100Z:= Z Z = Zarobek studenta

J.Nawrocki, Procesy współbieżne Z: 407 Interferencja obliczeń X:= Z; X:= X + 100; Z:= X Y:= Z; Y:= Y + 300; Z:= Y Z:= Z + 100Z:= Z Z = Zarobek studenta

J.Nawrocki, Procesy współbieżne Z: 7 Interferencja obliczeń X:= Z; X:= X Z:= Z Z = Zarobek studenta Z:= Z Z:= X X: 107

J.Nawrocki, Procesy współbieżne Z: 7 Interferencja obliczeń X:= Z; X:= X Y:= Z; Y:= Y + 300; Z:= Z Z = Zarobek studenta Z:= Z Z:= Y Z:= X X: 107 Y: 307

J.Nawrocki, Procesy współbieżne Z: 307 Interferencja obliczeń X:= Z; X:= X Y:= Z; Y:= Y + 300; Z:= Y Z:= Z Z = Zarobek studenta Z:= Z Z:= X X: 107 Y: 307

J.Nawrocki, Procesy współbieżne Z: 107 Interferencja obliczeń X:= Z; X:= X + 100; Z:= X Y:= Z; Y:= Y + 300; Z:= Y Z:= Z Z = Zarobek studenta Z:= Z X: 107 Y: 307

J.Nawrocki, Procesy współbieżne Z: 107 Interferencja obliczeń X:= Z; X:= X + 100; Z:= X Y:= Z; Y:= Y + 300; Z:= Y Z:= Z Z = Zarobek studenta Z:= Z X: 107 Y: 307

J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument Implementacja semaforów

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany Bum!

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany sekcja_krytyczna

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany while true do begin sekcja_krytyczna(); inne_czynności() end; while true do begin sekcja_krytyczna(); inne_czynności() end;

J.Nawrocki, Procesy współbieżne Metoda ścisłej wymiany while true do begin while kolej <> 0 do; sekcja_krytyczna(); kolej:= 1; inne_czynności() end; while true do begin while kolej <> 1 do; sekcja_krytyczna(); kolej:= 0; inne_czynności() end; 0 1

J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument Implementacja semaforów

J.Nawrocki, Procesy współbieżne Komunikacja międzyprocesowa Instrukcja TSL... call CNO1 sekcja_krytyczna call Otworz1 inne_czynności... call CNO1 sekcja_krytyczna call Otworz1 inne_czynności... CzekajNaOtwarcie

J.Nawrocki, Procesy współbieżne Otworz1: mov Zamek1, 0 ret CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret Komunikacja międzyprocesowa Instrukcja TSL Zamknięty Otwarty

J.Nawrocki, Procesy współbieżne CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret Komunikacja międzyprocesowa Instrukcja TSL CNO1: mov rej, Zamek1 mov Zamek1, 1 cmp rej, 0 jne CNO1 ret Zamek1 = 0

J.Nawrocki, Procesy współbieżne CNO1: mov rej, 1 xchg rej, Zamek1 cmp rej, 0 jne CNO1 ret Otworz1: mov Zamek1, 0 ret Komunikacja międzyprocesowa Instrukcja TSL

J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument Implementacja semaforów

J.Nawrocki, Procesy współbieżne Semafory binarne

J.Nawrocki, Procesy współbieżne Semafory binarne

J.Nawrocki, Procesy współbieżne Sekcja krytyczna Semafory binarne

J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna

J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna

J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna down

J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna

J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna up

J.Nawrocki, Procesy współbieżne Semafory binarne Sekcja krytyczna

J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument Implementacja semaforów

J.Nawrocki, Procesy współbieżne Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem

J.Nawrocki, Procesy współbieżne Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem

J.Nawrocki, Procesy współbieżne Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem Konsumuj_elem

J.Nawrocki, Procesy współbieżne Producent-Konsument Magazyn Producent Konsument Produkuj_elem Wstaw_elem Pobierz_elem Konsumuj_elem

J.Nawrocki, Procesy współbieżne While true do begin produkuj_elem; wstaw_elem; end; Producent-Konsument Semafory binarne i uogólnione Producent While true do begin pobierz_elem; konsumuj_elm end; Konsument

J.Nawrocki, Procesy współbieżne While true do begin produkuj_elem; down (mutex); wstaw_elem; up (mutex); end; Producent-Konsument Semafory binarne i uogólnione Producent While true do begin down (mutex); pobierz_elem; up (mutex); konsumuj_elm end; Konsument

J.Nawrocki, Procesy współbieżne While true do begin produkuj_elem; down (mutex); wstaw_elem; up (mutex); up (full) end; Producent-Konsument Semafory binarne i uogólnione Producent While true do begin down (full); down (mutex); pobierz_elem; up (mutex); konsumuj_elm end; Konsument

J.Nawrocki, Procesy współbieżne While true do begin produkuj_elem; down (empty); down (mutex); wstaw_elem; up (mutex); up (full) end; Producent-Konsument Semafory binarne i uogólnione Producent While true do begin down (full); down (mutex); pobierz_elem; up (mutex); up (empty); konsumuj_elm end; Konsument

J.Nawrocki, Procesy współbieżne Plan wykładu Podstawowe pojęcia Interferencja obliczeń Metoda ścisłej wymiany Instrukcja TSL Semafory binarne Problem producent-konsument Implementacja semaforów

J.Nawrocki, Procesy współbieżne Rejestry procesora AX 3 BX 0 CX 7 DX 1 SI 8 DI IP SFZF. PSW

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu AX 3 BX 0 CX 7 DX 1 SI 8 DI IP SFZF. PSW AX 3 BX 0 CX 7 DX 1 SI 8 DI 2 SFZF. PSW 16 IP Next...

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu AX 3 BX 0 CX 7 DX 1 SI 8 DI IP SFZF. PSW Next...

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu Next...

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu Next...

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu Next... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu Next... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu Next... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu Next... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu Next... Curr procedure RunNext; begin SaveCurrent; Curr:= Curr^.Next; LoadCurrent; RunCurrent end;

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu Next down(s)... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr s 0 Val Proc

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... s 0 Val Proc Curr

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr s 0 Val Proc

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu down(s)... Curr s 0 Val Proc procedure down(s: sem); begin s.Val:= s.Val – 1; if s.Val < 0 then begin Pred= Curr; while Pred^.Next <> Curr do Pred:= Pred^.Next; Pred^.Next:= Curr^.Next; Curr^.Next:= s.Proc; s.Proc:= Curr end end; DI; Save; ; Load; EI; Run

J.Nawrocki, Procesy współbieżne Rekord aktywacji procesu procedure down(s: sem); begin s.Val:= s.Val – 1; if s.Val < 0 then begin Pred= Curr; while Pred^.Next <> Curr do Pred:= Pred^.Next; Pred^.Next:= Curr^.Next; Curr^.Next:= s.Proc; s.Proc:= Curr end end; DI; Save; ; Load; EI; Run Zadanie domowe

J.Nawrocki, Procesy współbieżne Podsumowanie Interferencja obliczeń Ścisła zmiana Instrukcja TSL Semafory binarne i uogólnione Problem producent-konsument Programowanie współbieżne jest trudniejsze niż sekwencyjne Wreszcie!

J.Nawrocki, Procesy współbieżne Literatura A. Tanenbaum, Operating Systems: Design and Implementation, Prentice- Hall, 1987.

J.Nawrocki, Procesy współbieżne Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak?