CS计算机代考程序代写 file system ER Klausurprotokoll BS Sommersemester 2019

Klausurprotokoll BS Sommersemester 2019
jAn, maRen, lEo, fiOna 31. Juli 2019
1 Systemaufrufe
1. Mit welchem Mechanismus für UNIX-Systeme mit der Memory Mana- gement Unit (MMU) kann fork() beschleunigt werden? Nennen Sie den Mechanismus und erklären Sie ihn.
2. Betrachten Sie das folgende C-Programm. Gehen Sie davon aus, dass es fehlerfrei läuft. Includes und Fehlerbehandlung wurden einfachheitshalber weggelassen.
int i=0;
if (fork > 0)
{
i ++;
wait(NULL);
if (fork > 0)
{
i +=3;
wait(NULL);
i += 2; }
printf (%d , i); return 0;
// Elternprozess
// wait for child ’s death // Elternprozess
// wait for child ’s death
// Kindprozess
} }
else {
(a) Was ist die Ausgabe des Programms?
(b) Wie verändert sich die Ausgabe, wenn man das zweite wait(NULL) weglässt?
1

2 Scheduling
Wenden Sie das Round-Robing-Schedulingverfahren mit Zeitscheibe 30ms an. Die Angaben in der Tabelle beziehen sich auf Millisekunden. (Das Gantt-Diagramm mit den ersten 30ms waren gegeben. Es waren bis 200ms einzutragen.)
3
1.
Prozess Ankunftszeit CPU-Zeit E/A-Zeit
P1 0 10 20 P2 20 30 10 P3 10 40 50
Synchronisation & Verklemmung
Betrachten Sie das folgende Verbraucher-Erzeuger Problem. Beide Pro- zesse sollen gleichzeitig ausgeführt werden. Gehen Sie davon aus, dass die Queue unendlich viele Elemente beinhalten kann.
Semaphore mutex = 1 ; Semaphore not_empty = 0 ; struct ∗queue ;
struct e;
/∗Erzeuger−Prozess∗/
p(&mutex ) ; enqueue ( e ) ; v(&not_empty ) ; v(&mutex ) ;
/∗Verbraucher−Prozess∗/
p(&mutex ) ; p(&not_empty ) ; dequeue ( e ) ; v(&mutex ) ;
(a) Welche 2 Synchronisationsprinzipien wurden verwendet? (Hinweis: Es ist nicht die betriebsmittelorientierte Synchronisation.)
(b) Welcher Fehler kann bei der Ausführung der hier gezeigten Imple- mentierung auftreten? Erläutern Sie warum.
(c) Zeigen Sie wie man diesen Fehler korrigieren kann und warum es den Fehler behebt.
2
gegenseitigen Ausschluss – einseitige Synchronisation

2. Wenn eine geschlossene Kette wechselseitig wartender Prozesse existiert (circular wait, also ein Zyklus im Betriebsmittelbelegungsgraphen), liegt eine Verklemmung vor. Nennen Sie stichpunktartig die drei Vorbedingun- gen, die erfüllt sein müssen, damit es überhaupt zu einer Verklemmung kommen kann, und erklären Sie diese jeweils kurz mit eigenen Worten.
(a) Zeichnen Sie den Bereich (A) ein, nach dessen Betreten eine Verklem- mung unvermeidbar wird, und kennzeichnen Sie den Moment (X), in dem diese dann auch eintritt.
(b) Markieren Sie den Bereich (B), der von den Prozessen nicht betreten werden kann.
(c) Zeichnen Sie einen möglichen Ablauf (M) ein, in dem keine Verklem- mung auftritt, und beide Prozesse zuende laufen (also die rechte obere Ecke des Diagramms erreicht wird).
3

4 Speicherverwaltung
1. In einem System mit Seitenadressierung und der Seitenersetzungsstrategie Least Recently Used (LRU) tätigt ein Prozess Seitenzugriffe entsprechend folgender Referenzfolge: 5, 1, 2, 3, 4, 3, 1, 5, 4 Das Betriebssystem sieht für diesen Prozess eine feste Anzahl von drei Hauptspeicherkacheln vor. Tra- gen Sie in die Tabelle unter „Hauptspeicher“ jeweils die Nummer der Seite ein, die zum gegebenen Zeitpunkt in der jeweiligen Kachel eingelagert ist. Die Felder unter „Kontrollzustände“ können Sie zum Notieren des Alters der eingelagerten Seiten zuhilfenehmen. (Tabelle wie in Probeklausur 2019 gegeben.)
2. Was ist ein TLB im Kontext von seitenbasierter Adressierung?
3. Wann wird der TLB geleert?
4. Warum ist die LRU-Strategie (Least Recently Used) in der Realität zu aufwendig? Welche Annährung/ andere Strategie wird stattdessen ver- wendet?
5. Seitenbasierte Adressierung Aufgabe – wie Probeklausur 2019
6. Wann tritt Seitenflattern(Thrashing) auf. Erklären Sie einen Lösungsan- satz in Stichpunkten.
4

5
1.
I/O-Scheduling & Dateisysteme
Gegeben sei ein Plattenspeicher mit 8 Spuren. Der jeweilige I/O-Scheduler bekommt immer wieder Leseaufträge für eine bestimmte Spur. Die Lese- aufträge in L1 sind dem I/O-Scheduler bereits bekannt. Nach drei bear- beiteten Aufträgen erhält er die Aufträge in L2. Nach weiteren drei (d.h. nach insgesamt sechs) bearbeiteten Aufträgen erhält er die Aufträge in L3. Zu Beginn befindet sich der Schreib-/Lesekopf über Spur 0. (gegeben war noch eine Graphik mit den Spuren.) L1={1, 4, 2, 7}, L2={3, 6, 1}, L3={5, 1}
Bitte tragen Sie die Reihenfolge der gelesenen Spuren für einen I/O- Scheduler, der nach der Shortest-Seek-Time-First(SSTF)-Strategie arbei- tet, ein.
EsgibtLow-Level-Dateioperationen(wieread(2))undHigh-Level-Dateioperationen(wie fread(3)), erklären Sie zwei Unterschiede. Geben Sie den High-Level-Dateioperator Befehl an, um den Schreib-/Lesezeiger zu setzen.
2.
错 (b)
Geben Sie an, ob die folgenden Aussagen wahr oder falsch sind. (Erklä- rungen sind nicht nötig.)
3.
对 (a)
Festplatten können meist wahlweise addressiert werden.(random ac- cess)
Bei polling wird passives Warten durchgeführt.
Journaled File System ist effizienter, da er kein Log System nutzt.
wennDMAgenutztwird,kannderProzessorwährendEin-/Ausgaben andere Aufgaben erledigen.
periphere Geräte werden von UNIX als Spezialdateien interpretiert.
4. Erläutern Sie das Prinzip der verketteten Speicherung von Dateien. Welche zwei Nachteile folgen aus der verketteten Speicherung?
错 对
不高效
(c) 对(d)
(e)
5