Grundlagen Betriebssysteme Übungsblatt 6 Gruppe 22 Marek

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