{"id":311,"date":"2019-02-19T17:57:07","date_gmt":"2019-02-19T16:57:07","guid":{"rendered":"https:\/\/fsr.cs.uni-potsdam.de\/?p=311"},"modified":"2019-02-19T17:57:07","modified_gmt":"2019-02-19T16:57:07","slug":"grundlagen-der-betriebssysteme-und-rechnernetze-2010","status":"publish","type":"post","link":"https:\/\/fsr.cs.uni-potsdam.de\/?p=311","title":{"rendered":"Grundlagen der Betriebssysteme und Rechnernetze 2010"},"content":{"rendered":"<h1 id=\"aufgabe_1\" class=\"sectionedit1\">Aufgabe 1:<\/h1>\n<div class=\"level1\">\n<p>a) Kann es auf einem Einprozessorsystem parallele Prozesse geben? Begr\u00fcnden Sie Ihre Antwort!<\/p>\n<p>b) Erkl\u00e4ren Sie den Begriff Nebenl\u00e4ufigkeit und beschreiben Sie eine Vorgehensweise im Betriebssystem!<\/p>\n<p>c) Gegeben war das C-Programm myfork.c<\/p>\n<pre class=\"code\"> int main(void) {\n   pid_t child_pid = fork();\n   printf(\"The result is: %d\\n\", child_pid);\n   return EXIT_SUCCESS;\n }<\/pre>\n<p>Wie sieht die Ausgabe beim Ausf\u00fchren des kompilierenden Programms aus, wenn w\u00e4hren der Ausf\u00fchrung folgende Informationen durch den ps-Befehl zur Verf\u00fcgung stehen?<\/p>\n<div class=\"table sectionedit2\">\n<table class=\"inline\">\n<tbody>\n<tr class=\"row0\">\n<td class=\"col0\">S<\/td>\n<td class=\"col1\">UID<\/td>\n<td class=\"col2\">PID<\/td>\n<td class=\"col3\">PPID<\/td>\n<td class=\"col4\">TTY<\/td>\n<td class=\"col5\">TIME<\/td>\n<td class=\"col6\">CMD<\/td>\n<\/tr>\n<tr class=\"row1\">\n<td class=\"col0\">S<\/td>\n<td class=\"col1\">2060<\/td>\n<td class=\"col2\">13069<\/td>\n<td class=\"col3\">11139<\/td>\n<td class=\"col4\">pts\/1<\/td>\n<td class=\"col5\">00:00:00<\/td>\n<td class=\"col6\">myfork<\/td>\n<\/tr>\n<tr class=\"row2\">\n<td class=\"col0\">S<\/td>\n<td class=\"col1\">2060<\/td>\n<td class=\"col2\">13070<\/td>\n<td class=\"col3\">13069<\/td>\n<td class=\"col4\">pts\/1<\/td>\n<td class=\"col5\">00:00:00<\/td>\n<td class=\"col6\">myfork<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h1 id=\"aufgabe_2\" class=\"sectionedit3\">Aufgabe 2:<\/h1>\n<div class=\"level1\">\n<p>Gegeben war folgende Tabelle:<\/p>\n<div class=\"table sectionedit4\">\n<table class=\"inline\">\n<tbody>\n<tr class=\"row0\">\n<td class=\"col0\">Prozess<\/td>\n<td class=\"col1\">Ankunft<\/td>\n<td class=\"col2\">Rechenzeit<\/td>\n<\/tr>\n<tr class=\"row1\">\n<td class=\"col0\">P1<\/td>\n<td class=\"col1\">0<\/td>\n<td class=\"col2\">5<\/td>\n<\/tr>\n<tr class=\"row2\">\n<td class=\"col0\">P1<\/td>\n<td class=\"col1\">0<\/td>\n<td class=\"col2\">2<\/td>\n<\/tr>\n<tr class=\"row3\">\n<td class=\"col0\">P3<\/td>\n<td class=\"col1\">2<\/td>\n<td class=\"col2\">6<\/td>\n<\/tr>\n<tr class=\"row4\">\n<td class=\"col0\">P4<\/td>\n<td class=\"col1\">3<\/td>\n<td class=\"col2\">4<\/td>\n<\/tr>\n<tr class=\"row5\">\n<td class=\"col0\">P5<\/td>\n<td class=\"col1\">3<\/td>\n<td class=\"col2\">3<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Es sollten 3 Gantt-Diagramme zu den Strategien Strategien FCFS, SJF und RoundRobin (Zeitscheibe=1) gezeichnet werden.<\/p>\n<p>Es war jeweils auch die mittlere Verweilzeit, mittlere Wartezeit und mittlere Antwortzeit anzugeben.<\/p>\n<\/div>\n<h1 id=\"aufgabe_3\" class=\"sectionedit5\">Aufgabe 3:<\/h1>\n<div class=\"level1\">\n<p>a) Nennen Sie einen Vorteil von Pipes gegen\u00fcber Signalen und einen Nachteil von Pipes gegen\u00fcber Sockets.<\/p>\n<p>b) Welche Art der IPC w\u00fcrden sie f\u00fcr folgende Szenarien empfehlen (und Begr\u00fcndung):<\/p>\n<p>(1) Datenaustausch Mehrprozessmaschine zwischen einem Prozess und zwei von ihm erzeugten Threads<\/p>\n<p>(2)Aufwecken eines schlafenden Prozesses<\/p>\n<\/div>\n<h1 id=\"aufgabe_4\" class=\"sectionedit6\">Aufgabe 4:<\/h1>\n<div class=\"level1\">\n<p>In einem Rechensystem mit 4 Seitenrahmen (anfangs leer) weise ein Prozess die folgende Sequenz von<\/p>\n<p>Seitenzugriffen auf: 3, 2, 4, 1, 1, 4, 7, 3, 5, 1, 4, , 2, 3, 1<\/p>\n<p>a) Es sollten die Seitenersetzungsstretegien Belady&#8217;s optimaler Algorithmus (BO) und FIFO angewendet werden und die Anzahl der Seitenfehler verglichen werden.<\/p>\n<p>b) Ist BO praktisch in einem Betriebssystem m\u00f6glich? (Begr\u00fcnden!)<\/p>\n<\/div>\n<h1 id=\"aufgabe_5\" class=\"sectionedit7\">Aufgabe 5:<\/h1>\n<div class=\"level1\">\n<p>Es soll die Bitfolge 1100 1111 1001 als Nutzdaten \u00fcbertragen werden. Als Generatorpolynom werde x^^4+x+1 verwendet.<\/p>\n<p>a) Welche Bitfolge wird gesendet?<\/p>\n<p>b) Warum wird diese Bitfolge tats\u00e4chlich nicht so gesendet, warum ist eine Anpassung n\u00f6tig? Geben Sie den tats\u00e4chlich gesendeten HDLC-FRame an.<\/p>\n<p>c) Geben Sie je ein Beispiel f\u00fcr ein Protokoll der Sicherungsschicht an!<\/p>\n<p>(1) Peer-zu-Peer Verbindung wird unterst\u00fctzt<\/p>\n<p>(2) ist ein Broadcast-Protokoll<\/p>\n<\/div>\n<h1 id=\"aufgabe_6\" class=\"sectionedit8\">Aufgabe 6:<\/h1>\n<div class=\"level1\">\n<p>Szenario eines Wohnhauses mit Aufzug. Es d\u00fcrfen nur maximal 3 Personen gleichzeitig im Fahrstuhl sein.<\/p>\n<p>Es gibt die Aktionen:<\/p>\n<ul>\n<li class=\"level1\">\n<div class=\"li\">fahrstuhl_anfordern(Bewohner b)<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">in_fahrstuhl_einsteigen(Bewohner b)<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">etage_aussuchen(Bewohner b)<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">in_etage_fahren(Bewohner b)<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">aus_fahrstuhl_aussteigen(Bewohner b)<\/div>\n<\/li>\n<\/ul>\n<p>a) Es war eine Semaphorl\u00f6sung gefragt, die sicher stellt, dass sich maximal 3 Personen im Fahrstuhl befinden.<\/p>\n<p>b) Nun sollte zus\u00e4tzlich zu den Bedingungen aus a) auch noch sichergestellt werden, dass immer nur eine Person durch die schmale T\u00fcr geht.<\/p>\n<p>c) Der Fahrstuhl muss auch mal gewartet werden. Dann befindet sich der Monteur alleine im Fahrstuhl und es muss sichergestellt werden, dass sich kein Fahrgast im Fahrstuhl befindet. Der Monteur muss nicht bevorzugt behandelt werden. F\u00fcr den Monteur soll es noch die Aktion warte_fahrstuhl(Monteur m ) geben.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Aufgabe 1: a) Kann es auf einem Einprozessorsystem parallele Prozesse geben? Begr\u00fcnden Sie Ihre Antwort! b) Erkl\u00e4ren Sie den Begriff Nebenl\u00e4ufigkeit und beschreiben Sie eine Vorgehensweise im Betriebssystem! c) Gegeben war das C-Programm myfork.c int main(void) { pid_t child_pid = fork(); printf(&#8222;The result is: %d\\n&#8220;, child_pid); return EXIT_SUCCESS; } Wie sieht die Ausgabe beim Ausf\u00fchren <a class=\"more-link\" href=\"https:\/\/fsr.cs.uni-potsdam.de\/?p=311\">weiterlesen&#8230;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-311","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=\/wp\/v2\/posts\/311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=311"}],"version-history":[{"count":0,"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=\/wp\/v2\/posts\/311\/revisions"}],"wp:attachment":[{"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fsr.cs.uni-potsdam.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}