Results 1 to 16 of 16

Thread: after test 6.6.2012

  1. #1
    Hero
    Join Date
    Nov 2009
    Posts
    228
    Thanks
    38
    Thanked 15 Times in 14 Posts

    after test 6.6.2012

    Hi,fand die prüfung eigentlich recht in Ordnung, theorie hätt ich mir bisschen besser anschaun können.

    Praxisbeispiele waren:
    Semaphoren (sruprise!) (35pkt):
    Parkgarasche, 3 Prozesse, Auto, Einfahrt, Ausfahrt.
    In die Parkgarasche durften N Autos, bei der Einfahrt war ein Ticket zu ziehen, bei der Ausfahrt das gezahlte Ticket abzugeben.
    Funktionen:
    Auto:
    approach gate(gate nr) (Einfahrt gate 1, ausfahrt gate 2)
    get_ticket() ticket an der einfahrt abholen
    pass_gate(gate nr)
    park_and_pay() es konnte angenommen werden, dass alle tickets bezahlt werden
    fetch_ticket() ticket an der ausfahrt abgeben

    Einfahrt:
    open_gate(gate nr)
    close_gate(gate nr)
    print_ticket()

    Ausfahrt:
    open_gate(gate nr)
    close_gate(gate nr)
    fetch_ticket() eines der beiden fetch, bei auto oder ausfahrt hat anders geheisen, fällt mir jetzt nicht ein, auf jedenfall hat die funktion die tickets entgegengenommen.

    das andere Beispiel war Memory Management mit IPT wie in den alten Prüfungen zu finden.(20pkt)

    Theoriefragen waren relativ bunt gemischt zu I/O, security, threads/prozesse (45pkt)

    mfg Tyleet

  2. #2
    Elite
    Join Date
    Feb 2007
    Posts
    326
    Thanks
    43
    Thanked 2 Times in 2 Posts
    Hallo,
    ich habe versucht, die Aufgabe 1 zu lösen. Ich verstehe leider wenig von diese Synchronisationsbeispiele. kann vielleicht jemand bestätigen.

    initialisierungen:
    init(rein, 1); //Einfahrt von Autos
    init(raus, 1); //Ausfahrt von Autos
    init(park_fullstand, 0); //Park füllstand(soll man hier mit 0 oder mit N initialisieren.)

    einfahrt:
    while(true){
    P(rein);
    print_ticket();
    open_gate(1);
    close_gate(1);
    V(rein);
    V(park_füllstand);
    }

    ausfahrt:

    while(true){
    P(raus);
    fetch_ticket();
    open_gate(2);
    close_gate(2);
    V(raus);
    P(park_füllstand);
    }

    auto:

    while(true){
    P(park_füllstand);
    P(rein);
    aproach_gate(1);
    pass_gate(1);
    get_ticket();
    V(rein);
    park_and_pay();
    P(raus);
    insert_ticket();
    V(raus);
    V(park_füllstand);
    }

  3. #3
    Elite
    Join Date
    Feb 2007
    Posts
    326
    Thanks
    43
    Thanked 2 Times in 2 Posts
    Aufgabe 2 von gleiche Prüfung


    PID page offset PID page offset PID page Offset PID page offset PID page offset
    1 3 0a3e 2 1 002c 1 1 0002 3 1 07fe 1 5 0a3e
    Phys. Address Phys. address Phys. Address Phys. Adress Phys. Adress
    5 0a3e 3 002c 1 0002 1 07fe 0 0a3e
    PID Page use Index PID Page Use PID Page Use PID Page Use PID Page Use PID Page Use
    1 5 1 0 0 1 5 1
    3 1 0 1 3 1 1 3 1 1
    2 3 0 2
    2 1 0 3 2 1 1
    1 2 0 4
    1 3 1 5 1 3 1
    2 4 1 6 0
    3 3 1 7 0
    Kein page fault Kein page fault page fault kein page fault Kein page fault
    rep pointer 6 6 6 2 2 2

    wie soll man diese Frage beantworten. kann jemand vielleicht erklären.
    Ändert sich für die konkrete Zugriffsfolge etwas an den Inhalten der IPT nach den einzelnen Schritten, wenn der Clock Algorithmus als lokale ( anstatt globale )Ersetzungsstrategie angewandt wird? Wenn es zu einer Veränderung kommt, geben Sie diese bitte genau an.

  4. #4
    Principal
    Join Date
    Jul 2003
    Posts
    75
    Thanks
    8
    Thanked 5 Times in 4 Posts
    Die 3.Spalte(Adresse 0002) ist falsch, da gehört statt 3 1 1 -> 1 1 1 (PID des neuen Prozesses), dadurch ändert sich dann auch die 4.Spalte.

  5. #5
    Baccalaureus
    Join Date
    Apr 2008
    Location
    Wien
    Posts
    666
    Thanks
    55
    Thanked 124 Times in 80 Posts
    Ich hab mal versucht das Semaphoren-Beispiel zu lösen.

    Click image for larger version. 

Name:	20120606 - Betriebssysteme - Prüfung - Beispiel 1.pdf 
Views:	100 
Size:	485.0 KB 
ID:	21979

    Wäre toll, wenn mir jemand Feedback geben könnte.

  6. #6
    Baccalaureus
    Join Date
    Apr 2008
    Location
    Wien
    Posts
    666
    Thanks
    55
    Thanked 124 Times in 80 Posts
    Quote Originally Posted by PearlySpencer View Post
    Die 3.Spalte(Adresse 0002) ist falsch, da gehört statt 3 1 1 -> 1 1 1 (PID des neuen Prozesses), dadurch ändert sich dann auch die 4.Spalte.
    Quote Originally Posted by mardinli View Post
    Aufgabe 2 von gleiche Prüfung


    PID page offset PID page offset PID page Offset PID page offset PID page offset
    1 3 0a3e 2 1 002c 1 1 0002 3 1 07fe 1 5 0a3e
    Phys. Address Phys. address Phys. Address Phys. Adress Phys. Adress
    5 0a3e 3 002c 1 0002 1 07fe 0 0a3e
    PID Page use Index PID Page Use PID Page Use PID Page Use PID Page Use PID Page Use
    1 5 1 0 0 1 5 1
    3 1 0 1 3 1 1 3 1 1
    2 3 0 2
    2 1 0 3 2 1 1
    1 2 0 4
    1 3 1 5 1 3 1
    2 4 1 6 0
    3 3 1 7 0
    Kein page fault Kein page fault page fault kein page fault Kein page fault
    rep pointer 6 6 6 2 2 2

    wie soll man diese Frage beantworten. kann jemand vielleicht erklären.
    Ändert sich für die konkrete Zugriffsfolge etwas an den Inhalten der IPT nach den einzelnen Schritten, wenn der Clock Algorithmus als lokale ( anstatt globale )Ersetzungsstrategie angewandt wird? Wenn es zu einer Veränderung kommt, geben Sie diese bitte genau an.
    Korrigiert würde das dann folgendermaßen aussehen:

    PID page offset PID page offset PID page Offset PID page offset PID page offset
    1 3 0a3e 2 1 002c 1 1 0002 3 1 07fe 1 5 0a3e
    Phys. Address Phys. address Phys. Address Phys. Adress Phys. Adress
    5 0a3e 3 002c 1 0002 2 07fe 0 0a3e
    PID Page use Index PID Page Use PID Page Use PID Page Use PID Page Use PID Page Use
    1 5 1 0 0 1 5 1
    3 1 0 1 1 1 1
    2 3 0 2 3 1 1
    2 1 0 3 2 1 1
    1 2 0 4
    1 3 1 5 1 3 1
    2 4 1 6 0
    3 3 1 7 0
    Kein page fault Kein page fault page fault page fault Kein page fault
    rep pointer 6 6 6 2 2 3
    Last edited by Stampi; 15-01-2013 at 21:16. Reason: rep-pointer in letzter Spalte auf 3 gesetzt

  7. #7
    Principal
    Join Date
    Aug 2011
    Posts
    32
    Thanks
    0
    Thanked 5 Times in 5 Posts
    nach dem zweiten page-fault müsste der rep-pointer auf 3 sein

  8. #8
    Master
    Join Date
    Oct 2011
    Posts
    120
    Thanks
    4
    Thanked 5 Times in 5 Posts
    Quote Originally Posted by primal View Post
    nach dem zweiten page-fault müsste der rep-pointer auf 3 sein
    muss dem zustimmen

  9. #9
    Baccalaureus
    Join Date
    Apr 2008
    Location
    Wien
    Posts
    666
    Thanks
    55
    Thanked 124 Times in 80 Posts
    Quote Originally Posted by primal View Post
    nach dem zweiten page-fault müsste der rep-pointer auf 3 sein
    Quote Originally Posted by mr_apps View Post
    muss dem zustimmen
    Danke fürs Feedback.
    Ihr habt natürlich Recht ;-)

  10. #10
    Principal
    Join Date
    Sep 2012
    Posts
    40
    Thanks
    8
    Thanked 6 Times in 3 Posts
    Quote Originally Posted by Stampi View Post
    Danke fürs Feedback.
    Ihr habt natürlich Recht ;-)
    wenn man es gaaanz genau nimmt, sollte der use pointer eig. schon in der vorletzten spalte auf 3 gesetzt werden, oder?

  11. #11
    Elite 2#4u's Avatar
    Join Date
    Oct 2009
    Posts
    438
    Thanks
    33
    Thanked 145 Times in 81 Posts
    Beispiel 2 - Meine Lösung:

    Click image for larger version. 

Name:	2012-06-06 Bsp 2.pdf 
Views:	75 
Size:	109.5 KB 
ID:	22118

    Quote Originally Posted by asdfg View Post
    wenn man es gaaanz genau nimmt, sollte der use pointer eig. schon in der vorletzten spalte auf 3 gesetzt werden, oder?
    Ja.

    Quote Originally Posted by mardinli View Post
    wie soll man diese Frage beantworten. kann jemand vielleicht erklären.
    Ändert sich für die konkrete Zugriffsfolge etwas an den Inhalten der IPT nach den einzelnen Schritten, wenn der Clock Algorithmus als lokale ( anstatt globale )Ersetzungsstrategie angewandt wird? Wenn es zu einer Veränderung kommt, geben Sie diese bitte genau an.
    Habe versucht die Frage in meiner Lösung zu beantworten (siehe Anhang)

  12. #12
    Master
    Join Date
    Mar 2010
    Posts
    168
    Thanks
    34
    Thanked 28 Times in 19 Posts
    Bei Clock Policy steht in den Folien: "nach Page Fault: Zeiger wird auf den folgenden Frame im Ringpuffer gesetzt"

    Müsste Use Pointer dann nicht 2 3 4 statt 2 3 3 zum Schluss sein?

  13. #13
    Elite 2#4u's Avatar
    Join Date
    Oct 2009
    Posts
    438
    Thanks
    33
    Thanked 145 Times in 81 Posts
    Quote Originally Posted by joko View Post
    Bei Clock Policy steht in den Folien: "nach Page Fault: Zeiger wird auf den folgenden Frame im Ringpuffer gesetzt"

    Müsste Use Pointer dann nicht 2 3 4 statt 2 3 3 zum Schluss sein?
    Nein. Der Index unter "Use Pointer" ist bereits der Stand NACH dem Page-Fault (Also auf Index 3 = 2 + 1).
    Soll heißen beim Vorletzten wurde der Pointer bereits um eins erhöht und im letzten Fall gibt es keinen Page-Fault, daher auch keine Erhöhung.

  14. #14
    Master
    Join Date
    Sep 2010
    Location
    Vien
    Posts
    131
    Thanks
    5
    Thanked 8 Times in 8 Posts
    Nein, das passt ja so, weil beim letzten ja kein Page Fault mehr passiert.

    @2#4u : Sollte nicht in der letzten Zeile bei Index 0 das Use wieder auf 1 umgeschaltet werden?

    @Stampi: Habs so ähnlich gelöst wie du, du hast nur beim auto vergessen approach_gate(2), ansonsten müsste deine Ausarbeitung stimmen
    EPROG ist wie Treibsand: Man löst ein Problem und 100 neue Probleme tauchen auf!

  15. #15
    Elite 2#4u's Avatar
    Join Date
    Oct 2009
    Posts
    438
    Thanks
    33
    Thanked 145 Times in 81 Posts
    Quote Originally Posted by Sapientas View Post
    @2#4u : Sollte nicht in der letzten Zeile bei Index 0 das Use wieder auf 1 umgeschaltet werden?
    Du meinst wohl letzte Spalte - Und ja - hab ich vergessen - Mi scusi

  16. #16
    Master
    Join Date
    Mar 2010
    Posts
    168
    Thanks
    34
    Thanked 28 Times in 19 Posts
    Ah, hab die ganze Zeit gedacht, Index 3 wurde getauscht, daweil war es ja Index 2 und deswegen eben dann 3. Da hat mich wohl der 3er in der PID-Spalte verwirrt...

    Danke.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •