home *** CD-ROM | disk | FTP | other *** search
/ Knowledge & Learning / WISS_LERN.iso / doslern / computer / educard / bs___3.edu < prev    next >
Encoding:
Text File  |  1992-03-19  |  37.3 KB  |  1,421 lines

  1. 61
  2. BS___3      
  3.                Diplomprüfung Informatik (Teil 3 von 7)              
  4.                     Teilprüfung  Betriebssysteme                    
  5.               Thema: Synchronisation paralleler Prozesse            
  6.                   zusammengestellt von Andreas Smoor                
  7.                                                                     
  8.   Wichtiger Hinweis:                                                
  9.                                                                     
  10.     Nach der Beantwortung einer Frage besteht die Möglichkeit,      
  11.     sich durch Drücken der Taste "i" den thematischen Kontext       
  12.     anzusehen.                                                      
  13.                                                                     
  14.                                                                     
  15.                                                                     
  16.    März     
  17. 1992
  18. Was versteht man unter       
  19. Unter Parallelität im        
  20.                              
  21. engeren Sinn versteht man    
  22.        Parallelität          
  23. das gleichzeitige Ablaufen   
  24.                              
  25. mehrerer Prozesse.           
  26.      im engeren Sinn ?       
  27.                              
  28.                              
  29.                              
  30.                              
  31.                              
  32. 2
  33.                                
  34.                                
  35. Parallelität           
  36. 1
  37. 1
  38. Parallelität - 1               
  39.                                
  40. 31100186
  41. Was versteht man unter       
  42. Unter Parallelität im        
  43.                              
  44. weiteren Sinn versteht man,  
  45.         Parallelität         
  46. daß Prozesse in beliebiger,  
  47.                              
  48. nicht festlegbarer Reihen-   
  49.      im weiteren Sinn ?      
  50. folge, die im Grenzfall      
  51.                              
  52. sequentiell sein kann,       
  53.                              
  54. ablaufen dürfen.             
  55. 2
  56.                                
  57.                                
  58. Parallelität           
  59. 0
  60. 1
  61. Parallelität - 2               
  62.                                
  63. 31200187
  64. Nennen Sie drei Möglichkeiten
  65. Parallele Prozesse lassen    
  66.                              
  67. sich darstellen durch:       
  68. parallele Prozesse           
  69. - Schreibweisse einer        
  70.                              
  71.   Programmiersprache         
  72. darzustellen.                
  73. - Präzedenzgraphen           
  74.                              
  75. - Ordnungsrelationen         
  76.                              
  77.                              
  78. 2
  79.                                
  80.                                
  81. Parallelität           
  82. 0
  83. 1
  84. Parallelität - 3               
  85.                                
  86. 31300188
  87. Definieren Sie den Begriff   
  88. Unter Synchronisation        
  89.                              
  90. versteht man die gegenseitige
  91.                              
  92. zeitliche Abstimmung         
  93.     Synchronisation.         
  94. paralleler Prozesse beim     
  95.                              
  96. Zugriff auf gemeinsame       
  97.                              
  98. exklusiv benutzbare          
  99.                              
  100. Betriebsmittel.              
  101. 2
  102.                                
  103.                                
  104. Synchronisation        
  105. 0
  106. 1
  107. Synchronisation - 1            
  108.                                
  109. 32200189
  110. Synchronisation, also die    
  111. Synchronisation kann man     
  112. gegenseitige zeitliche       
  113. erreichen, indem man         
  114. Abstimmung, kann man         
  115. Befehlsfolgen zu einer       
  116. erreichen, indem man         
  117. unteilbaren Operation        
  118. Befehlsfolgen ...            
  119. zusammenfaßt, so daß die     
  120.                              
  121. Befehle der Folge nur        
  122. Ergänzen Sie den Satz.       
  123. sequentiell ablaufen können. 
  124. 2
  125.                                
  126.                                
  127. Synchronisation        
  128. 0
  129. 1
  130. Synchronisation - 2            
  131.                                
  132. 32200190
  133. Eine Möglichkeit zur         
  134. Ein kritisches Gebiet ist    
  135. Synchronisation wird durch   
  136. dadurch gekennzeichnet, daß  
  137. Einführen kritischer Gebiete 
  138. Operationen in ihnen nur von 
  139. gegeben.                     
  140. einem einzigen Prozeß ausge- 
  141.                              
  142. führt werden dürfen. Dies    
  143. Was versteht man unter einem 
  144. wird erst durch die Synchro- 
  145. kritischen Gebiet ?          
  146. nisationsmethoden erreicht.  
  147. 2
  148.                                
  149.                                
  150. Synchronisation        
  151. 0
  152. 1
  153. kritisches Gebiet              
  154.                                
  155. 32300191
  156. Wie erfolgen Prozeßwechsel   
  157. Bei Rechenanlagen mit nur    
  158.                              
  159.                              
  160. bei Rechenanlagen mit nur    
  161. einer CPU erfolgen           
  162.                              
  163.                              
  164. einer CPU ?                  
  165. Prozeßwechsel auf Grund von  
  166.                              
  167.                              
  168.                              
  169. Interrupts.                  
  170. 2
  171.                                
  172.                                
  173. Interrupts sperren     
  174. 0
  175. 1
  176. Prozeßwechsel                  
  177.                                
  178. 33100192
  179. Befehle höherer Programmier- 
  180. Eine Synchronisationsmethode 
  181. sprachen bestehen aus        
  182. besteht darin, Befehle       
  183. mehreren Elementar-          
  184. höherer Programmiersprachen  
  185. operationen. Dies kann man   
  186. unteilbar zu machen. Es kann 
  187. zur Synchronisation nutzen.  
  188. also nicht innerhalb eines   
  189.                              
  190. solchen Befehls zu einem     
  191. Wie ?                        
  192. Prozeßwechsel kommen.        
  193. 2
  194.                                
  195.                                
  196. Interrupts sperren     
  197. 0
  198. 1
  199. Elementaroperation             
  200.                                
  201. 33100193
  202. Wie kann man bei Systemen    
  203. Um bei einem System mit nur  
  204.                              
  205. einer CPU einen Befehl       
  206. mit nur einer CPU einen      
  207. unteilbar zu machen, muß man 
  208.                              
  209. während der Abarbeitung      
  210. Befehl unteilbar machen ?    
  211. dieses Befehls die Interrupts
  212.                              
  213. sperren, die einen Prozeß-   
  214.                              
  215. wechsel auslösen könnten.    
  216. 2
  217.                                
  218.                                
  219. Interrupts sperren     
  220. 0
  221. 1
  222. unteilbarer Befehl             
  223.                                
  224. 33100194
  225. Was sind die Nachteile bei   
  226. - Nur privilegierte Benutzer 
  227.                              
  228.   (Supervisor) können        
  229. der Synchronisation durch    
  230.   Interrupts sperren         
  231.                              
  232. - Es können Interrupts       
  233. das Sperren von Interrupts ? 
  234.   verloren gehen             
  235.                              
  236. - Nur für Einprozessor-      
  237.                              
  238.   Systeme möglich.           
  239. 2
  240.                                
  241.                                
  242. Interrupts sperren     
  243. 0
  244. 1
  245. Interrupts sperren             
  246.                                
  247. 33100195
  248. LOCK und UNLOCK Befehle sind 
  249. LOCK (x):                    
  250. unteilbare Befehle, über die 
  251. {IF x = 0 THEN x := 1        
  252. insbesondere Mehrprozessor-  
  253.           ELSE GoTo LOCK (x)}
  254. Anlagen verfügen.            
  255. UNLOCK (x):                  
  256.                              
  257. {x := 0}                     
  258. Wie sind LOCK und UNLOCK     
  259.                              
  260. Befehl definiert ?           
  261. {...} bedeutet hier unteilbar
  262. 2
  263.                                
  264.                                
  265. LOCK und UNLOCK        
  266. 0
  267. 1
  268. LOCK und UNLOCK - 1            
  269.                                
  270. 33200195
  271. Wie sieht der Zugriff auf    
  272. Ein Prozeß, der X benutzen   
  273. ein Betriebsmittel X aus,    
  274. möchte, sieht solange in     
  275. falls dieser mit LOCK (x) und
  276. LOCK (x) nach, bis x=0 gilt. 
  277. UNLOCK (x) Befehlen zur      
  278. Dann setzt er x auf 1 und    
  279. Synchronisation geschützt    
  280. betritt das kritische Gebiet.
  281. wird ?                       
  282. Wenn er dieses verläßt, setzt
  283.                              
  284. er x wieder auf 0.           
  285. 2
  286.                                
  287.                                
  288. LOCK und UNLOCK        
  289. 1
  290. 1
  291. LOCK und UNLOCK - 2            
  292.                                
  293. 33200196
  294. Erklären Sie das Phänomen des
  295. Die Prozesse belasten den    
  296.                              
  297. Prozessor mit ihren ständigen
  298.          "pollings"          
  299. Abfragen, ob das Betriebs-   
  300.                              
  301. mittel endlich frei ist.     
  302. auch                         
  303.                              
  304.                              
  305.                              
  306.       "busy waiting" genannt.
  307.                              
  308. 2
  309.                                
  310.                                
  311. LOCK und UNLOCK        
  312. 0
  313. 1
  314. Polling - 1                    
  315.                                
  316. 33200197
  317. Wie könnte das Problem des   
  318. Ein Prozeß, der auf ein      
  319.                              
  320. gesperrtes Betriebsmittel X  
  321.          Pollings            
  322. zugreifen möchte, sollte     
  323.                              
  324. schon beim ersten Versuch    
  325. gelöst werden ?              
  326. auf Eis gelegt werden und    
  327.                              
  328. erst wieder aktiviert werden,
  329.                              
  330. wenn X frei gegeben wurde.   
  331. 2
  332.                                
  333.                                
  334. LOCK und UNLOCK        
  335. 0
  336. 1
  337. Polling - 2                    
  338.                                
  339. 33200198
  340. Falls sich in einem System   
  341. Wenn B sich im kritischen    
  342. ein Prozeß A mit hoher und   
  343. Gebiet befindet und das Be-  
  344. ein Prozeß B mit niedriger   
  345. triebsmittel X freigeben will
  346. Priorität befindet, kann es  
  347. kann es sein, daß er das     
  348. bei der LOCK / UNLOCK Methode
  349. niemals kann, weil A den     
  350. zu Deadlocks kommen.         
  351. Prozessor blockiert, indem A 
  352. Erklären Sie warum.          
  353. dauernd nach X fragt.        
  354. 2
  355.                                
  356.                                
  357. LOCK und UNLOCK        
  358. 0
  359. 1
  360. LOCK und UNLOCK - 3            
  361.                                
  362. 33200199
  363. Wie kann man Deadlocks       
  364. Durch Verwendung dynamischer 
  365. vermeiden, obwohl man die    
  366. Prioritäten, die für einen   
  367. LOCK / UNLOCK Methode        
  368. Prozeß, der sich im Wartezu- 
  369. benutzen und Prioritäten     
  370. stand auf ein Betriebsmittel 
  371. für die Prozesse vergeben    
  372. befindet, in festen Zeitab-  
  373. möchte ?                     
  374. ständen erniedrigt werden.   
  375.                              
  376.                              
  377. 2
  378.                                
  379.                                
  380. LOCK und UNLOCK        
  381. 0
  382. 1
  383. LOCK und UNLOCK - 4            
  384.                                
  385. 33200200
  386. Der Dekker-Algorithmus zur   
  387. Ein Prozeß A zeigt durch sA=0
  388. Synchronisation von zwei Pro-
  389. an, daß er in G möchte. Falls
  390. zessen verwendet 2 Boolsche  
  391. sB auch = 0 und turn = B,    
  392. Variablen s für die Bewerbung
  393. d. h. B ist in G, dann sA=1  
  394. und turn für die Belegung    
  395. und warten bis turn = A. Dann
  396. des kritischen Gebiets G. Wie
  397. wieder sA=0, und hinein in G.
  398. läuft das prinzipiell ?      
  399. Nach G sA=1 und turn = B.    
  400. 2
  401.                                
  402.                                
  403. Dekker                 
  404. 0
  405. 1
  406. Dekker-Algorithmus             
  407.                                
  408. 33300201
  409. Der Algorithmus von Dijkstra 
  410. Der Algorithmus paßt nicht   
  411. bietet eine Synchronisations-
  412. auf diese Karte. Deshalb     
  413. lösung für N Prozesse.       
  414. nach der Kontrolle die       
  415.                              
  416.                              
  417. Wie sieht er aus ?           
  418.           Taste "i"          
  419.                              
  420.                              
  421.                              
  422. für mehr Information drücken.
  423. 2
  424.                                
  425.                                
  426. Dijkstra               
  427. 1
  428. 1
  429. Dijkstra - Algorithmus - 1     
  430.                                
  431. 33300202
  432. Bei Verwendung des           
  433. Es ist möglich, daß beim     
  434. Dijkstra-Algorithmus zur     
  435. Dijkstra-Algorithmus Prozesse
  436. Synchronisation von          
  437. verhungern, weil nicht fest- 
  438. N parallelen Prozessen kann  
  439. gelegt ist, wie der          
  440. es zum "Verhungern" von      
  441. "Auserwählte" bestimmt wird, 
  442. Prozessen kommen.            
  443. der das kritische Gebiet be- 
  444. Was ist damit gemeint ?      
  445. treten darf, wenn er möchte. 
  446. 2
  447.                                
  448.                                
  449. Dijkstra               
  450. 1
  451. 1
  452. Dijkstra - Algorithmus - 2     
  453.                                
  454. 33300203
  455. Um die Möglichkeit des       
  456. Ein Prozeß muß auf höchstens 
  457. Verhungerns beim Dijkstra-   
  458. f (N) Besuche des kritischen 
  459. Algorithmus auszuschließen,  
  460. Gebiets durch andere Prozesse
  461. haben einige kluge Leute     
  462. warten.                      
  463. Verbesserungsvorschläge      
  464. Für f (N) gibt es dann von   
  465. gemacht. Worauf laufen diese 
  466. den einzelnen Leuten         
  467. im Grunde genommen hinaus ?  
  468. verschiedene Vorschläge.     
  469. 2
  470.                                
  471.                                
  472. Dijkstra               
  473. 1
  474. 1
  475. Dijkstra - Algorithmus - 3     
  476.                                
  477. 33300204
  478. Um die Synchronisation       
  479. Dijkstra hat einen Datentyp  
  480. paralleler Prozesse eleganter
  481. Semaphor eingeführt, mit dem 
  482. zu lösen und um ein          
  483. man wartende Prozesse        
  484. "busy-waiting" zu vermeiden, 
  485. schlafen legen kann und beim 
  486. hat Dijkstra Semaphore       
  487. Eintreten des Ereignisses,   
  488. eingeführt. Was muß man sich 
  489. auf das sie warten, wieder   
  490. darunter vorstellen ?        
  491. wecken kann.                 
  492. 2
  493.                                
  494.                                
  495. Semaphore              
  496. 1
  497. 1
  498. Semaphor - 1                   
  499.                                
  500. 33400205
  501. Im allgemeinen sind auf      
  502. Semaphor-Operationen:        
  503.                              
  504.                              
  505. Semaphoren drei Operationen  
  506. - Initialisierung            
  507.                              
  508.                              
  509. definiert.                   
  510. - P-Operation                
  511.                              
  512.                              
  513. Welche ?                     
  514. - V-Operation                
  515. 2
  516.                                
  517.                                
  518. Semaphore              
  519. 1
  520. 1
  521. Semaphor - 2                   
  522.                                
  523. 33400206
  524. Wie ist die                  
  525. P (s) = { s := s - 1;        
  526.                              
  527.   IF s < 0 THEN Warte (s); } 
  528.       P-Operation            
  529.                              
  530.                              
  531. P (s) ist unteilbar.         
  532. für Semaphore definiert ?    
  533.                              
  534.                              
  535.                              
  536.                              
  537.                              
  538. 2
  539.                                
  540.                                
  541. Semaphore              
  542. 0
  543. 1
  544. Semaphor - 3                   
  545.                                
  546. 33400207
  547. Was geschieht bei            
  548. Der Prozeß wird schlafen     
  549. Synchronisation durch        
  550. gelegt (angehalten). In      
  551. Semaphore mit einem Prozeß,  
  552. seiner Zustandsbschreibung   
  553. der                          
  554. wird notiert, daß er auf eine
  555.        "Warte (s)"           
  556. V-Operation auf das          
  557.                              
  558. Semaphor s wartet.           
  559. ausführt ?                   
  560.                              
  561. 2
  562.                                
  563.                                
  564. Semaphore              
  565. 0
  566. 1
  567. Semaphor - 4                   
  568.                                
  569. 33400208
  570. Wie ist die                  
  571. V (s) = { s := s + 1;        
  572.                              
  573.  IF s ≤ 0 THEN Wecke (s); }  
  574.       V-Operation            
  575.                              
  576.                              
  577. V (s) ist unteilbar.         
  578. auf Semaphore definiert ?    
  579.                              
  580.                              
  581.                              
  582.                              
  583.                              
  584. 2
  585.                                
  586.                                
  587. Semaphore              
  588. 0
  589. 1
  590. Semaphor - 5                   
  591.                                
  592. 33400209
  593. Was geschieht bei der        
  594. Bei Wecke (s) wird einer der 
  595. Synchronisation mit Hilfe von
  596. Prozesse, die auf s warten   
  597. Semaphoren, wenn             
  598. geweckt und kann weiter-     
  599.                              
  600. rechnen. Die Auswahl des     
  601.         "Wecke (s)"          
  602. Prozesses kann zufällig oder 
  603.                              
  604. nach dem FIFO-Prinzip        
  605. ausgeführt wird ?            
  606. geschehen.                   
  607. 2
  608.                                
  609.                                
  610. Semaphore              
  611. 0
  612. 1
  613. Semaphor - 6                   
  614.                                
  615. 33400210
  616. Warum ist es von Vorteil,    
  617. Falls auch negative Werte    
  618.                              
  619. für Semaphore zugelassen sind
  620. für Semaphore auch negative  
  621. kann das Betriebssystem      
  622.                              
  623. erkennen, ob und auch wie-   
  624. Werte zuzulassen ?           
  625. viele Prozesse auf ein V (s) 
  626.                              
  627. warten.                      
  628.                              
  629.                              
  630. 2
  631.                                
  632.                                
  633. Semaphore              
  634. 0
  635. 1
  636. Semaphor - 7                   
  637.                                
  638. 33400211
  639. Semaphore dienen in erster   
  640. Schutz durch Semaphore:      
  641. Linie dem Schutz kritischer  
  642.                              
  643. Gebiete.                     
  644.     :                        
  645.                              
  646.     P (s)                    
  647. Wie sieht der Schutz dabei   
  648.       kritisches Gebiet      
  649. immer prinzipiell aus ?      
  650.     V (s)                    
  651.                              
  652.     :                        
  653. 2
  654.                                
  655.                                
  656. Semaphore              
  657. 1
  658. 1
  659. Semaphor - 8                   
  660.                                
  661. 33420212
  662. Welcher Vorgang ist als      
  663. Ein Produzent von Nachrichten
  664.                              
  665. möchte einem Verbraucher     
  666.     Erzeuger - Verbraucher   
  667. Nachrichten zukommen lassen. 
  668.                              
  669. Dazu legt er diese in einen  
  670. Problem bekannt ?            
  671. Puffer, einen Speicher       
  672.                              
  673. variabler Länge, ab. Von dort
  674.                              
  675. holt sie der Verbraucher.    
  676. 2
  677.                                
  678.                                
  679. Erzeuger-Verbraucher   
  680. 0
  681. 1
  682. Erzeuger-Verbraucher - 1       
  683.                                
  684. 33420213
  685. Welche Forderungen werden an 
  686. - Prozesse sollen sich beim  
  687.                              
  688.   Zugriff auf den Puffer     
  689. eine Lösung des Erzeuger-    
  690.   nicht stören               
  691.                              
  692. - nichts in vollen Puffer    
  693. Verbraucher-Problems         
  694.   legen                      
  695.                              
  696. - nichts aus leerem Puffer   
  697. gestellt ?                   
  698.   holen                      
  699. 2
  700.                                
  701.                                
  702. Erzeuger-Verbraucher   
  703. 0
  704. 1
  705. Erzeuger-Verbraucher - 2       
  706.                                
  707. 33420214
  708. Eine Forderung an eine Lösung
  709. Die Arbeitsgeschwindigkeit   
  710. für das Erzeuger-Verbraucher 
  711.                              
  712. Problem hängt mit der        
  713. von Erzeugern und            
  714. Arbeitsgeschwindigkeit von   
  715.                              
  716. Erzeugern und Verbrauchern   
  717. Verbrauchern soll unabhängig 
  718. zusammen.                    
  719.                              
  720. Welche ?                     
  721. voneinander sein.            
  722. 2
  723.                                
  724.                                
  725. Erzeuger-Verbraucher   
  726. 0
  727. 1
  728. Erzeuger-Verbraucher - 3       
  729.                                
  730. 33420215
  731. Wie sieht eine triviale      
  732. Man erzwingt eine            
  733.                              
  734. sequentielle Reihenfolge     
  735. Lösung des Erzeuger-         
  736. für das Beschreiben und      
  737.                              
  738. Leeren des Puffers.          
  739. Verbraucher- Problems aus ?  
  740.                              
  741.                              
  742. Mehr Information durch die   
  743.                              
  744.          Taste "i".          
  745. 2
  746.                                
  747.                                
  748. Erzeuger-Verbraucher   
  749. 0
  750. 1
  751. Erzeuger-Verbraucher - 4       
  752.                                
  753. 33420216
  754. Was passiert, wenn man die   
  755. Es kommt zum "Stottern" des  
  756. triviale Lösung des          
  757. Druckers. Er liest und druckt
  758. Erzeuger-Verbraucher-Problems
  759. Pufferinhalt, muß dann aber  
  760. beispielsweise auf eine      
  761. warten bis der Puffer wieder 
  762. Druckerausgabe anwendet ?    
  763. beschrieben wurde, da dieser 
  764.                              
  765. während des Lesens ja nicht  
  766.                              
  767. gefüllt werden durfte.       
  768. 2
  769.                                
  770.                                
  771. Erzeuger-Verbraucher   
  772. 1
  773. 1
  774. Erzeuger-Verbraucher - 5       
  775.                                
  776. 33420217
  777. Wenn man zur Lösung des      
  778. Stottern läßt sich vermeiden,
  779. Erzeuger-Verbraucher-Problems
  780. indem man zwei oder mehr     
  781. den Puffer nur entweder Lesen
  782. (Kreispuffer) einführt.      
  783. oder beschreiben darf, kommt 
  784. Während der eine Puffer ge-  
  785. es zum "Stottern". Wie läßt  
  786. lesen wird, kann der nächste 
  787. sich dieses Problem          
  788. bereits beschrieben werden.  
  789. beheben ?                    
  790.                              
  791. 2
  792.                                
  793.                                
  794. Erzeuger-Verbraucher   
  795. 1
  796. 1
  797. Erzeuger-Verbraucher - 6       
  798.                                
  799. 33420218
  800. Eine Lösung des Erzeuger-    
  801. Die Antwort ist zu umfang-   
  802. Verbraucher-Problems läßt    
  803. reich für diese Karte.       
  804. sich durch Verwendung eines  
  805.                              
  806. Kreispuffers erreichen.      
  807. Drücken Sie deshalb nach der 
  808. Skizzieren Sie die Lösung    
  809. Kontrolle die Taste "i",     
  810. unter Verwendung von         
  811. falls Sie die Lösung sehen   
  812. Semaphoren.                  
  813. möchten.                     
  814. 2
  815.                                
  816.                                
  817. Erzeuger-Verbraucher   
  818. 1
  819. 1
  820. Kreispuffer                    
  821.                                
  822. 33420219
  823. Beim Leser-Schreiber-Problem 
  824. - Es dürfen mehrere L gleich-
  825. gibt es zwei Arten von       
  826.   zeitig aktiv sein.         
  827. Prozessen, Leser L und       
  828. - Es darf immer nur ein S    
  829. Schreiber S, die auf ein     
  830.   aktiv sein.                
  831. gemeinsames Betriebsmittel   
  832. - Falls ein S aktiv ist, dann
  833. zugreifen.                   
  834.   darf kein L aktiv sein.    
  835. Welche Regeln gelten dabei ? 
  836. - Bevorzugung von L oder S   
  837. 2
  838.                                
  839.                                
  840. Leser-Schreiber        
  841. 1
  842. 1
  843. Leser-Schreiber - 1            
  844.                                
  845. 33430220
  846. Geben Sie eine Lösung des    
  847. Die Antwort paßt nicht auf   
  848. Leser-Schreiber-Problems mit 
  849. diese Karte.                 
  850. Hilfe von Semaphoren an, bei 
  851.                              
  852. der die Leser gegenüber den  
  853. Den Algorithmus erhalten Sie 
  854. Schreibern bevorzugt         
  855. nach der Kontrolle durch die 
  856. behandelt werden.            
  857. Taste "i".                   
  858.                              
  859.                              
  860. 2
  861.                                
  862.                                
  863. Leser-Schreiber        
  864. 1
  865. 1
  866. Leser-Schreiber - 2            
  867.                                
  868. 33430221
  869. Geben Sie eine Lösung des    
  870. Die Antwort paßt nicht auf   
  871. Leser-Schreiber-Problems mit 
  872. diese Karte.                 
  873. Hilfe von Semaphoren an, bei 
  874.                              
  875. der ein Schreiber gegenüber  
  876. Den Algorithmus erhalten Sie 
  877. den Lesern bevorzugt wird.   
  878. nach der Kontrolle durch die 
  879.                              
  880. Taste "i".                   
  881.                              
  882.                              
  883. 2
  884.                                
  885.                                
  886. Leser-Schreiber        
  887. 1
  888. 1
  889. Leser-Schreiber - 3            
  890.                                
  891. 33430222
  892. Beim 5 Philosophen-Problem   
  893. Um zu essen braucht jeder der
  894. sitzen 5 derselben an einem  
  895. Philosophen seine linke UND  
  896. kreisförmigen Tisch. Zwischen
  897. seine rechte Gabel. Die      
  898. je 2 von ihnen liegt eine    
  899. Gabeln stellen ein exklusives
  900. Gabel.                       
  901. Betriebsmittel dar, auf das  
  902.                              
  903. der Zugriff synchronisiert   
  904. Wo liegt ihr Problem ?       
  905. werden muß.                  
  906. 2
  907.                                
  908.                                
  909. 5 Philosophen          
  910. 0
  911. 1
  912. 5 Philosophen - 1              
  913.                                
  914. 33440223
  915. Lösung für 5 Philosophen:    
  916. Wenn alle Philosophen gleich-
  917. "denken"                     
  918. zeitig auf ihre linke Gabel  
  919. P (g [i]); P (g [i+1]);      
  920. zugreifen (g [i]) ist noch   
  921. "essen"                      
  922. alles ok. Dann wollen aber   
  923. V (g [i]); V (g [i+1]);      
  924. alle ihre rechte (g [i+1])   
  925. Die Lösung ist deadlock-     
  926. und alle warten darauf, daß  
  927. gefährdet. Wieso ?           
  928. ihr Nachbar sie freigibt. Ko.
  929. 2
  930.                                
  931.                                
  932. 5 Philosophen          
  933. 0
  934. 1
  935. 5 Philosophen - 2              
  936.                                
  937. 33440224
  938. Wie kann man beim            
  939. Zugriff in kritisches Gebiet:
  940. 5 Philosophen-Problem vermei-
  941.        :                     
  942. den, daß alle gleichzeitig   
  943.    P (mutex);                
  944. auf ihre linke Gabel zugrei- 
  945.      P (gabel [i]);          
  946. fen um danch alle auf die    
  947.      P (gabel [i+1]);        
  948. Freigabe ihrer rechten Gabel 
  949.    V (mutex);                
  950. zu warten ?                  
  951.        :                     
  952. 2
  953.                                
  954.                                
  955. 5 Philosophen          
  956. 1
  957. 1
  958. 5 Philosophen - 3              
  959.                                
  960. 33440225
  961. Falls man beim 5 Philosopen- 
  962. Es kann vorkommen, daß ein   
  963. Problem die Zugriffe auf     
  964. Philosoph warten muß, obwohl 
  965. rechte und linke Gabel zusam-
  966. seine beiden Gabeln frei     
  967. men in ein kritisches Gebiet 
  968. wären, weil ein anderer das  
  969. legt, erhält man eine        
  970. kritische Gebiet durch       
  971. schlechte Auslastung der Be- 
  972. Warten auf eine Gabel        
  973. triebsmittel Gabeln. Warum ? 
  974. versperrt.                   
  975. 2
  976.                                
  977.                                
  978. 5 Philosophen          
  979. 0
  980. 1
  981. 5 Philosophen - 4              
  982.                                
  983. 33440226
  984. Wie wird das 5 Philosophen-  
  985. Indem man Zustandsvariablen  
  986.                              
  987. für jeden Philosophen ein-   
  988. Problem am besten gelöst ?   
  989. führt (denken, hungrig sein, 
  990.                              
  991. essen), erreicht man, daß ein
  992.                              
  993. Philosoph immer essen kann,  
  994.                              
  995. wenn seine beiden Gabeln frei
  996.                              
  997. sind.                        
  998. 2
  999.                                
  1000.                                
  1001. 5 Philosophen          
  1002. 0
  1003. 1
  1004. 5 Philosophen - 5              
  1005.                                
  1006. 33440227
  1007. Semaphore sind ein mächtiges 
  1008. - undurchsichtig             
  1009. Instrument zur Synchroni-    
  1010. - schwer zu konstruieren     
  1011. sation. Der Prozessor wird   
  1012. - keine Plausibilitätsprüfung
  1013. nicht durch "busy-waiting"   
  1014.   durch Compiler möglich     
  1015. belastet.                    
  1016. - welche P- und V-Operationen
  1017. Nennen Sie Nachteile der Syn-
  1018.   gehören zusammen ?         
  1019. chronisation durch Semaphore.
  1020. - schwierige Beweismethoden  
  1021. 2
  1022.                                
  1023.                                
  1024. 5 Philosophen          
  1025. 0
  1026. 1
  1027. Semaphor - 9                   
  1028.                                
  1029. 33440228
  1030. In einem Ansatz für "Beweise 
  1031. nv [s] : bisher ausgeführte  
  1032. von Semaphor-Operationen"    
  1033.   V-Operationen auf s        
  1034. führt man Buch über bestimmte
  1035. np [s] : begonnene und auch  
  1036. Operationen auf ein          
  1037.   vollendete P-Operationen   
  1038. Semaphor s.                  
  1039. na [s] : alle jemals         
  1040. Welche Operationen werden    
  1041.   begonnenen P-Operationen   
  1042. dabei gezählt ?              
  1043.   auf s                      
  1044. 2
  1045.                                
  1046.                                
  1047. 5 Philosophen          
  1048. 1
  1049. 1
  1050. Habermann - 1                  
  1051.                                
  1052. 33440229
  1053. Wie ist die P-Operation      
  1054. P (s):                       
  1055. definiert, wenn man zur      
  1056. { na [s] := na [s] + 1;      
  1057. Beweisführung nv [s],        
  1058.   s := s - 1;                
  1059. np [s] und na [s] einführt ? 
  1060.   IF s < 0 THEN warte (s);   
  1061.                              
  1062.   np [s] := np [s] + 1;      
  1063.                              
  1064. }                            
  1065.                              
  1066.                              
  1067. 2
  1068.                                
  1069.                                
  1070. 5 Philosophen          
  1071. 1
  1072. 1
  1073. Habermann - 2                  
  1074.                                
  1075. 33440230
  1076. Bei der Verwendung von       
  1077. Invariante bei Semaphoren:   
  1078. Semaphoren muß immer eine    
  1079.                              
  1080. Invariante für np [s] also   
  1081. np [s] = Minimum (na [s],    
  1082. die Zahl der begonnenen und  
  1083.           ini [s] + nv [s])  
  1084. auch abgeschlossenen         
  1085.                              
  1086. P-Operationen auf s gelten.  
  1087. mit ini [s] = Initialwert [s]
  1088. Welche ?                     
  1089.                              
  1090. 2
  1091.                                
  1092.                                
  1093. 5 Philosophen          
  1094. 1
  1095. 1
  1096. Habermann - 3                  
  1097.                                
  1098. 33440231
  1099. Zur Definition eines         
  1100. Ein bedingtes kritisches     
  1101. bedingten kritischen Gebietes
  1102. Gebiet wird definiert durch: 
  1103. kann man region-Anweisungen  
  1104.                              
  1105. verwenden.                   
  1106. REGION V WHEN B DO Si END;   
  1107. Wie sieht eine               
  1108.                              
  1109. region-Anweisung im Prinzip  
  1110.                              
  1111. aus ?                        
  1112.                              
  1113. 2
  1114.                                
  1115.                                
  1116. Region                 
  1117. 1
  1118. 1
  1119. Region - 1                     
  1120.                                
  1121. 33510232
  1122. Was bedeuten V, B und Si     
  1123. V : Menge gemeinsam benutz-  
  1124. in einer region-Anweisung    
  1125.     barer Betriebsmittel     
  1126.                              
  1127. B : boolscher Ausdruck       
  1128. REGION V WHEN B DO Si END; ? 
  1129. Si: Anweisungen, die ausge-  
  1130.                              
  1131.     führt werden, wenn ein   
  1132.                              
  1133.     Prozeß im Besitz von V   
  1134.                              
  1135.     und B true ist.          
  1136. 2
  1137.                                
  1138.                                
  1139. Region                 
  1140. 1
  1141. 1
  1142. Region - 2                     
  1143.                                
  1144. 33510233
  1145. Darf in einer                
  1146. Nein, Si selbst darf keine   
  1147. region-Anweisung innerhalb   
  1148. region-Anweisung enthalten,  
  1149. von Si wieder eine region-   
  1150. da sonst Deadlocks entstehen 
  1151. Anweisung enthalten sein ?   
  1152. können.                      
  1153.                              
  1154.                              
  1155.                              
  1156.                              
  1157.                              
  1158.                              
  1159. 2
  1160.                                
  1161.                                
  1162. Region                 
  1163. 1
  1164. 1
  1165. Region - 3                     
  1166.                                
  1167. 33510234
  1168. Was läßt sich über die       
  1169. Die in B vorkommenden        
  1170. Änderung der in B vorkommen- 
  1171. Variablen können nur in      
  1172. den Variablen einer          
  1173. kritischen Gebieten geändert 
  1174. region-Anweisung             
  1175. werden.                      
  1176. REGION V WHEN B DO Si END;   
  1177.                              
  1178. aussagen ?                   
  1179.                              
  1180.                              
  1181.                              
  1182. 2
  1183.                                
  1184.                                
  1185. Region                 
  1186. 1
  1187. 1
  1188. Region - 4                     
  1189.                                
  1190. 33510235
  1191. Darf bei der Verwendung einer
  1192. Nein, während der Bearbeitung
  1193. region-Anweisungen während   
  1194. der Si kann V nicht an einen 
  1195. der Bearbeitung der          
  1196. anderen Prozeß vergeben      
  1197. Si-Anweisungen V an einen    
  1198. werden.                      
  1199. anderen Prozeß vergeben      
  1200.                              
  1201. werden ?                     
  1202.                              
  1203.                              
  1204.                              
  1205. 2
  1206.                                
  1207.                                
  1208. Region                 
  1209. 1
  1210. 1
  1211. Region - 5                     
  1212.                                
  1213. 33510236
  1214. Geben Sie eine prinzipielle  
  1215. VAR                          
  1216.                              
  1217. g : SHARED ARRAY [0..4] OF T;
  1218. Lösung des 5-Philosophen-    
  1219. Ph_i: CYCLE                  
  1220.                              
  1221.   "denken"                   
  1222. Problems unter Verwendung von
  1223.   REGION (g [i], g [i+1]) DO 
  1224.                              
  1225.     "essen" END;             
  1226. REGION-Anweisungen an.       
  1227. END;                         
  1228. 2
  1229.                                
  1230.                                
  1231. Region                 
  1232. 1
  1233. 1
  1234. Region - 6                     
  1235.                                
  1236. 33540237
  1237. Wie sieht der prinzipielle   
  1238. <Monitorname> : MONITOR;     
  1239.                              
  1240. BEGIN                        
  1241. Aufbau eines Monitors als    
  1242.   <Deklaration lokaler Daten>
  1243.                              
  1244.   <Folge lokaler Prozeduren> 
  1245. Mittel zur Synchronisation   
  1246.   <Initialisierung lokaler   
  1247.                              
  1248.    Daten>                    
  1249. aus ?                        
  1250. END;                         
  1251. 2
  1252.                                
  1253.                                
  1254. Monitore II            
  1255. 1
  1256. 1
  1257. Monitor - 1                    
  1258.                                
  1259. 33610238
  1260. Es sei q eine Variable vom   
  1261. Falls q eine Variable vom    
  1262. Typ condition (bei Verwendung
  1263. Typ condition ist, so ist    
  1264. von Monitoren).              
  1265. definiert:                   
  1266. Welche drei Prozeduren bzw.  
  1267.                              
  1268. Funktionen sind für q        
  1269.   - q.wait                   
  1270. definiert ?                  
  1271.   - q.signal                 
  1272.                              
  1273.   - q.queue                  
  1274. 2
  1275.                                
  1276.                                
  1277. Monitore II            
  1278. 1
  1279. 1
  1280. Monitor - 2                    
  1281.                                
  1282. 33610239
  1283. Welche der folgenden drei    
  1284. Semaphore, Regions und       
  1285. Synchronisationsmethoden für 
  1286.                              
  1287. parallele Prozesse ist am    
  1288. Monitore sind gleich         
  1289. mächtigsten ?                
  1290.                              
  1291. a) Semaphore                 
  1292. mächtig.                     
  1293. b) Regions                   
  1294.                              
  1295. c) Monitore                  
  1296.                              
  1297. 2
  1298.                                
  1299.                                
  1300. Monitore II            
  1301. 1
  1302. 1
  1303. Synchronisationsmethoden - 1   
  1304.                                
  1305. 33700240
  1306. Nennen Sie zu jeder der drei 
  1307. Semaphore sind               
  1308. Synchronisationsmethoden     
  1309.   Datenstrukturen.           
  1310. Semaphore, Regions und       
  1311. Regions sind                 
  1312. Monitore ein Schlagwort, das 
  1313.   Programmieranweisungen.    
  1314. die jeweilige Methode        
  1315. Monitore sind                
  1316. annähernd charakterisiert.   
  1317.   Objekte bestehend aus      
  1318.                              
  1319.   Daten und Prozeduren.      
  1320. 2
  1321.                                
  1322.                                
  1323. - Synchronisation -    
  1324. 1
  1325. 1
  1326. Synchronisationsmethoden - 2   
  1327.                                
  1328. 33700241
  1329. Welche Synchronisations-     
  1330. Weitere methodische Ansätze  
  1331. methoden außer Sperren von   
  1332. zur Synchronisation sind:    
  1333. Interrupts, LOCK und UNLOCK, 
  1334.                              
  1335. Semaphore, Regions und       
  1336. - Guarded Commands           
  1337. Monitore kennen Sie ?        
  1338. - Path-Expressions           
  1339.                              
  1340. - Petri-Netze                
  1341.                              
  1342.                              
  1343. 2
  1344.                                
  1345.                                
  1346. Monitor - Beispiele    
  1347. 1
  1348. 1
  1349. Synchronisationsmethoden - 3   
  1350.                                
  1351. 33700242
  1352. Die Beweismethode von        
  1353. WHILE-Statement:             
  1354. Owicki / Gries verwendet die 
  1355.                              
  1356. Hoare Notation.              
  1357.        {P AND B} S {P}       
  1358. Geben Sie als Beispiel für   
  1359.  ─────────────────────────── 
  1360. diese Notation ein           
  1361.  {P} WHILE B DO S {P AND \B} 
  1362. WHILE-Statement an.          
  1363.                              
  1364.                              
  1365.                              
  1366. 2
  1367.                                
  1368.                                
  1369. Owicki / Gries         
  1370. 1
  1371. 1
  1372. Owicki / Gries                 
  1373.                                
  1374. 34200243
  1375. Zum Korrektheitsbeweis für   
  1376. Beweisregeln für Monitore:   
  1377. Monitore nach Hoare wurden   
  1378.                              
  1379. 4 Beweisregeln aufgestellt.  
  1380. 1. {true}    Init.  {J AND E}
  1381.                              
  1382. 2. {J AND E} Proz.  {J AND E}
  1383. Nennen Sie diese Regeln !    
  1384. 3. {J AND E} wait   {J AND B}
  1385.                              
  1386. 4. {J AND B} signal {J AND E}
  1387.                              
  1388.                              
  1389. 2
  1390.                                
  1391.                                
  1392. Monitore - Beweis      
  1393. 1
  1394. 1
  1395. Monitore - Beweise             
  1396.                                
  1397. 34300244
  1398. Bei der Beweismethode für    
  1399. A: alle Infos, die jemals    
  1400. Monitore nach Hoare werden   
  1401.    im Puffer waren           
  1402. Invarianten verwendet.       
  1403. R: alle Infos, die jemals    
  1404.                              
  1405.    den Puffer verlassen haben
  1406. Wie lautet die Invariante    
  1407. S: alle Infos im Puffer      
  1408. für das Erzeuger-Verbraucher 
  1409.                              
  1410. Problem ?                    
  1411. Invariante: A = R konkat S   
  1412. 2
  1413.                                
  1414.                                
  1415. Monitore - Beweis      
  1416. 1
  1417. 1
  1418. Monitore - Invarianten         
  1419.                                
  1420. 34300245
  1421.