Marek Kubica, [email protected] Grundlagen Betriebssysteme Übungsblatt 6 Gruppe 22 Punkteverteilung: 1 2 Σ Aufgabe (1) (a) Anstatt dass immer 10 mal A oder 10 mal B am Stück ausgegeben wird, wechselt die Ausgabe von A und B schon früher oder es kommt zu längeren Pausen zwischen zwei Ausgaben. Aufgabe (2) 1 Marek Kubica, [email protected] Grundlagen Betriebssysteme Übungsblatt 6 Gruppe 22 Lager Kapazität 500 0 Fabrik Schränke 0 Schränke produzieren Fabrik Betten Betten produzieren Schränke Betten Rampe Kapazität 10 verlade Schrank verlade Bett Rampe Schränke Rampe Betten Lkws an Rampe Kapazität 2 zurück Bett zu Geschäft 2 Bett zu Geschäft 1 Schrank zu Geschäft 1 Lkws bei Geschäften Geschäft 1 (Betten & Schränke) Geschäft 2 (Betten) Kapzität 30 0 Anz. Schränke Kapazität 20 0 Anz. Betten Kapazität 20 0 0 0 Kunde kauft Bett Kunde kauft Schrank Kunde kauft Bett (a) (b) a) A = { a1 Möbelstück wird produziert a2 Möbelstück wird ins Lager gebracht a3 Möbelstück wird zur Rampe gebracht a4 Geschäft nimmt Ware ab 2 Marek Kubica, [email protected] Grundlagen Betriebssysteme Übungsblatt 6 Gruppe 22 a6 Kunde kauft Ware } b) E = { e1 : Bett wird produziert α(e1 ) = a1 e2 : Schrank wird produziert α(e2 ) = a1 e3 : Bett wird ins Lager gebracht α(e3 ) = a2 e4 : Schrank wird ins Lager gebracht α(e4 ) = a2 e5 : Bett wird zur Rampe gebracht α(e5 ) = a3 e6 : Schrank wird zur Rampe gebracht α(e6 ) = a3 e7 : Bett wird ausgefahren zu Geschäft 1 α(e7 ) = a4 e8 : Schrank wird ausgefahren zu Geschäft 1 α(e8 ) = a4 e9 : Bett wird ausgefahren zu Geschäft 2 α(e9 ) = a4 e10 : Geschäft 1 nimmt Bett ab α(e10 ) = a5 e11 : Geschäft 1 nimmt Schrank ab α(e11 ) = a5 e12 : Geschäft 2 nimmt Bett ab α(e12 ) = a5 e13 : Kunde kauft Bett α(e13 ) = a6 e14 : Kunde kauft Schrank α(e1 4) = a6 } c) ≤ = {(e1 , e3 ), (e3 , e5 ), (e5 , e7 ), (e7 , e10 ), (e10 , e13 ), (e5 , e9 ), (e9 , e12 ), (e12 , e13 ), (e2 , e4 ), (e4 , e6 ), (e6 , e8 ), (e8 , e11 ), (e11 , e14 )} e7 e10 e1 e3 e5 d) e2 e4 e6 e12 e9 e8 e12 e11 (c) l a g e r . semaphor ( 5 0 0 ) ; rampe . semaphor ( 1 0 ) ; b e t t e n Z a h l 1 . semaphor ( 2 0 ) ; s c h r a n k Z a h l . semaphor ( 2 0 ) ; b e t t e n Z a h l 2 . semaphor ( 3 0 ) ; P r o c e s s F abri k { while ( true ) { <Schrank p r o d u z i e r e n >; <Bett p r o d u z i e r e n >; P( l a g e r ) ; <Schrank i n s Lager b r i n g e n >; P( l a g e r ) ; <Bett i n s Lager b r i n g e n >; } } Process Mitarbeiter { while ( true ) { P( rampe ) ; 3 e14 Marek Kubica, [email protected] Grundlagen Betriebssysteme Übungsblatt 6 Gruppe 22 V( l a g e r ) ; <Schrank z u r Rampe b r i n g e n >; P( rampe ) ; V( l a g e r ) ; <Bett z u r Rampe b r i n g e n >; } } P r o c e s s Lastwagen { while ( true ) { V( rampe ) ; <Schrank zu G e s c h a e f t 1 f a h r e n >; V( rampe ) ; <Bett zu G e s c h a e f t 1 f a h r e n >; V( rampe ) ; <Bett zu G e s c h a e f t 2 f a h r e n >; } } Process Geschaeft int geschaeft ; { while ( true ) { i f ( g e s c h a e f t == 1 ) { P( s c h r a n k Z a h l ) ; <Schrank entgegennehmen >; P( b e t t e n Z a h l 1 ) ; <Bett entgegennehmen >; } i f ( g e s c h a e f t == 2 ) { P( b e t t e n Z a h l 2 ) ; <Bett entgegennehmen >; } } } 4
© Copyright 2024 ExpyDoc