{"id":30717,"date":"2019-10-31T21:37:05","date_gmt":"2019-10-31T18:37:05","guid":{"rendered":"https:\/\/prohoster.info\/blog\/operating-systems-three-easy-pieces-part-1-intro-perevod\/"},"modified":"2019-10-31T21:37:05","modified_gmt":"2019-10-31T18:37:05","slug":"operating-systems-three-easy-pieces-part-1-intro-perevod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod","title":{"rendered":"Betriebssysteme: Drei einfache Teile. Teil 1: Einf\u00fchrung (\u00dcbersetzung)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h1>Einf\u00fchrung in Betriebssysteme<\/h1>\n<p>Hallo, Habr! Ich m\u00f6chte Ihnen eine Serie von \u00dcbersetzungen eines interessanten Fachbuchs vorstellen: OSTEP. In diesem Material wird die Funktionsweise von Unix-\u00e4hnlichen Betriebssystemen ausf\u00fchrlich behandelt, insbesondere der Umgang mit Prozessen, verschiedenen Scheduling-Algorithmen, Speicher und \u00e4hnlichen Komponenten, die moderne Betriebssysteme ausmachen. Sie k\u00f6nnen das Original aller Materialien hier einsehen: <noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/\">hier<\/a><\/noindex>. Bitte beachtet, dass die \u00dcbersetzung nicht professionell (recht frei) durchgef\u00fchrt wurde, aber ich hoffe, dass ich die allgemeine Bedeutung erhalten habe.<\/p>\n<p>Die Laborarbeiten zu diesem Thema findet ihr hier:<br \/>\n \u2014 Original: <noindex><a rel=\"nofollow\" href=\"http:\/\/pages.cs.wisc.edu\/~remzi\/OSTEP\/Homework\/homework.html\">pages.cs.wisc.edu\/~remzi\/OSTEP\/Homework\/homework.html<\/a><\/noindex><br \/>\n \u2014 Original: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/remzi-arpacidusseau\/ostep-code\">github.com\/remzi-arpacidusseau\/ostep-code<\/a><\/noindex><br \/>\n \u2014 Meine pers\u00f6nliche Anpassung: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bykvaadm\/OS\/tree\/master\/ostep\">github.com\/bykvaadm\/OS\/tree\/master\/ostep<\/a><\/noindex><\/p>\n<p>Ihr k\u00f6nnt auch mal auf meinen Kanal in <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/bykvaadm\">Telegram<\/a><\/noindex> =)<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Programmablauf<\/h3>\n<p>\nWas passiert, wenn ein Programm l\u00e4uft? Das gestartete Programm f\u00fchrt eine grundlegende Aufgabe aus \u2013 es verarbeitet Anweisungen. Jede Sekunde extrahiert der Prozessor Millionen und m\u00f6glicherweise Milliarden von Anweisungen aus dem Arbeitsspeicher, dekodiert sie (zum Beispiel, indem er den Typ dieser Anweisungen erkennt) und f\u00fchrt sie aus. Dies kann das Addieren zweier Zahlen, den Zugriff auf den Speicher, die \u00dcberpr\u00fcfung von Bedingungen, das Springen zu einer Funktion und so weiter umfassen. Nach der Ausf\u00fchrung einer Anweisung wechselt der Prozessor zur n\u00e4chsten. Und so werden Anweisung f\u00fcr Anweisung abgearbeitet, bis das Programm abgeschlossen ist.<br \/>\nDieses Beispiel ist nat\u00fcrlich vereinfacht dargestellt \u2013 tats\u00e4chlich erm\u00f6glicht moderne Hardware, um die Verarbeitungsgeschwindigkeit des Prozessors zu erh\u00f6hen, die Ausf\u00fchrung von Anweisungen au\u00dferhalb der Reihenfolge, das Berechnen m\u00f6glicher Ergebnisse, das gleichzeitige Ausf\u00fchren von Anweisungen und \u00e4hnliche Tricks.<\/p>\n<h3>Das von uns beschriebene vereinfachte Arbeitsmodell \u00e4hnelt dem von John von Neumann entwickelten Rechenmodell.<\/h3>\n<p>\nDas beschriebene vereinfachte Arbeitsprinzip ist analog zum von Neumann-Modell der Berechnungen. <i>Von Neumann ist einer der Pioniere der Computersysteme und auch einer der Autoren der Spieltheorie.<\/i>W\u00e4hrend die Programme ausgef\u00fchrt werden, passieren viele andere Ereignisse, viele andere Prozesse und externe Logik sind am Werk, deren Hauptziel die Vereinfachung des Startens, Betriebs und der Wartung des Systems ist.<br \/>\nEs gibt eine Sammlung von Software, die f\u00fcr die einfache Ausf\u00fchrung von Programmen verantwortlich ist (oder sogar das gleichzeitige Ausf\u00fchren mehrerer Programme erm\u00f6glicht). Diese Software erlaubt es Programmen, denselben Speicher zu teilen und mit verschiedenen Ger\u00e4ten zu interagieren. Diese Art von Software nennt man Betriebssystem, und es obliegt ihm, sicherzustellen, dass das System korrekt und effizient arbeitet und eine einfache Verwaltung des Systems gew\u00e4hrleistet ist. <\/p>\n<h2>Das Betriebssystem<\/h2>\n<p>\n<b>Das Betriebssystem, kurz OS, ist ein Komplex von miteinander verbundenen Programmen, die dazu dienen, die Ressourcen des Computers zu verwalten und die Interaktion des Benutzers mit dem Computer zu organisieren.<\/b>. <br \/>\nDas OS erreicht seine Effizienz in erster Linie durch die wichtigste Technik \u2013 die Technik der <b>Virtualisierung.<\/b>. Ein Betriebssystem interagiert mit physischen Ressourcen (wie Prozessor, Speicher, Festplatte usw.) und wandelt diese in eine allgemeinere, leistungsf\u00e4higere und benutzerfreundlichere Form um. Daher kann man das Betriebssystem grob mit einer virtuellen Maschine vergleichen.<br \/>\nUm den Benutzern zu erm\u00f6glichen, Befehle an das Betriebssystem zu geben und so die Funktionen der virtuellen Maschine zu nutzen (wie zum Beispiel: Programme ausf\u00fchren, Speicher zuweisen, auf Dateien zugreifen usw.), stellt das Betriebssystem ein Interface zur Verf\u00fcgung, das als <b>API<\/b> (application programming interface) bekannt ist und zu dem Aufrufe (calls) gemacht werden k\u00f6nnen. Ein typisches Betriebssystem erm\u00f6glicht Hunderte von Systemaufrufen.<br \/>\nUnd schlie\u00dflich, da die Virtualisierung es vielen Programmen erm\u00f6glicht, gleichzeitig zu arbeiten (so dass die CPU gemeinsam genutzt wird) und gleichzeitig auf ihre Anweisungen und Daten zuzugreifen (und somit den Speicher zu teilen), sowie auf Festplatten zuzugreifen (was die Nutzung von Eingabe-\/Ausgabeger\u00e4ten erm\u00f6glicht), wird das Betriebssystem auch als Ressourcenmanager bezeichnet. Jeder Prozessor, jeder Speicher und jede Festplatte ist eine Systemressource, und so wird eine der Aufgaben des Betriebssystems, diese Ressourcen effektiv und fair oder, je nach Aufgabe, f\u00fcr die diese Software entwickelt wurde, zu verwalten.<\/p>\n<h3>CPU-Virtualisierung<\/h3>\n<p>\nLassen Sie uns das folgende Programm betrachten:<br \/>\n(https:\/\/www.youtube.com\/watch?v=zDwT5fUcki4&amp;feature=youtu.be)<\/p>\n<p> <img decoding=\"async\" alt=\"Betriebssysteme: Drei einfache Teile. Teil 1: Einf\u00fchrung (\u00dcbersetzung)\" src=\"\/wp-content\/uploads\/2019\/04\/1f353e582b857fc71231472ec4f55319.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs f\u00fchrt keine besonderen Aktionen aus, im Grunde genommen ruft es nur die Funktion <b>spin<\/b>(), deren Aufgabe es ist, die Zeit zyklisch zu \u00fcberpr\u00fcfen und zur\u00fcckzukehren, nachdem eine Sekunde vergangen ist. So wiederholt es endlos die Zeile, die der Benutzer als Argument \u00fcbergeben hat.<br \/>\nWir starten dieses Programm und \u00fcbergeben als Argument das Zeichen \u201eA\u201c. Das Ergebnis ist eher uninteressant \u2013 das System f\u00fchrt einfach das Programm aus, das regelm\u00e4\u00dfig das Zeichen \u201eA\u201c auf dem Bildschirm anzeigt.<br \/>\nJetzt versuchen wir eine Variante, bei der mehrere Instanzen desselben Programms ausgef\u00fchrt werden, die unterschiedliche Buchstaben ausgeben, um es verst\u00e4ndlicher zu machen. In diesem Fall ergibt sich ein etwas anderes Ergebnis. Obwohl wir nur einen Prozessor haben, wird das Programm gleichzeitig ausgef\u00fchrt. Wie kann das sein? Das liegt daran, dass das Betriebssystem, mit Hilfe der Hardwaref\u00e4higkeiten, eine Illusion schafft. Eine Illusion, dass es im System mehrere virtuelle Prozessoren gibt, indem es einen physischen Prozessor in theoretisch unendlich viele umwandelt und somit den Programmen erm\u00f6glicht, gleichzeitig ausgef\u00fchrt zu werden. Diese Illusion nennt man <i>CPU-Virtualisierung<\/i>.<br \/>\n Ein solches Szenario wirft viele Fragen auf, zum Beispiel: Wenn mehrere Programme gleichzeitig gestartet werden wollen, welches Programm wird tats\u00e4chlich ausgef\u00fchrt? Diese Frage beantworten die \u201eRichtlinien\u201c des Betriebssystems. Richtlinien werden an vielen Stellen im Betriebssystem verwendet und beantworten solche Fragen, w\u00e4hrend sie auch die grundlegenden Mechanismen sind, die das Betriebssystem implementiert. Daher ist die Rolle des Betriebssystems als Ressourcenmanager entscheidend.<\/p>\n<h3>Speicher-Virtualisierung<\/h3>\n<p>\n Lassen Sie uns nun den Speicher n\u00e4her betrachten. <b>Das physische Modell des Speichers in modernen Systemen wird als Array von Bytes dargestellt.<\/b>Um aus dem Speicher zu lesen, muss man <b>die Adresse der Zelle<\/b>angeben, um darauf zugreifen zu k\u00f6nnen. Zum Schreiben oder Aktualisieren von Daten muss man ebenfalls die Daten und die Adresse der Zelle angeben, in die sie geschrieben werden sollen.<br \/>\n Zugriffe auf den Speicher erfolgen kontinuierlich w\u00e4hrend der Programmausf\u00fchrung. Das Programm speichert seine gesamte Datenstruktur im Speicher und greift darauf zu, w\u00e4hrend es verschiedene Anweisungen ausf\u00fchrt. Die Anweisungen selbst werden ebenfalls im Speicher abgelegt, weshalb auch bei jedem Aufruf der n\u00e4chsten Anweisung auf den Speicher zugegriffen wird.<\/p>\n<h4>Aufruf von malloc()<\/h4>\n<p>Betrachten wir das folgende Programm, das einen Speicherbereich unter Verwendung des Aufrufs <b>malloc()<\/b> (https:\/\/youtu.be\/jnlKRnoT1m0):<\/p>\n<p><img decoding=\"async\" alt=\"Betriebssysteme: Drei einfache Teile. Teil 1: Einf\u00fchrung (\u00dcbersetzung)\" src=\"\/wp-content\/uploads\/2019\/04\/00b285e1999c2b010c84e712a3ac3087.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas Programm f\u00fchrt mehrere Aufgaben aus. Zun\u00e4chst reserviert es einen bestimmten Speicherbereich (Zeile 7), anschliessend gibt es die Adresse des reservierten Speicherplatzes aus (Zeile 9) und schreibt eine Null in den ersten Slot des reservierten Speichers. Danach geht das Programm in eine Schleife, in der es den Wert, der an der in der Variablen \u201ep\u201c gespeicherten Adresse steht, inkrementiert. Au\u00dferdem gibt es die Prozess-ID von sich selbst aus. <b>Die Prozess-ID ist f\u00fcr jeden gestarteten Prozess einzigartig.<\/b>Startet man mehrere Kopien, st\u00f6\u00dft man auf ein interessantes Ergebnis: Im ersten Fall, wenn man nichts unternimmt und einfach mehrere Kopien startet, werden die Adressen unterschiedlich sein. Doch das passt nicht zu unserer Theorie! Richtig, denn in modernen Distributionen ist standardm\u00e4\u00dfig eine Funktion zur Speicher-Randomisierung aktiviert. Wenn man diese deaktiviert, erh\u00e4lt man das erwartete Ergebnis \u2014 die Speicheradressen von zwei gleichzeitig laufenden Programmen werden \u00fcbereinstimmen. <\/p>\n<p><img decoding=\"async\" alt=\"Betriebssysteme: Drei einfache Teile. Teil 1: Einf\u00fchrung (\u00dcbersetzung)\" src=\"\/wp-content\/uploads\/2019\/04\/882fe00a72deadac12f146bc8d15b024.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Letztendlich ergibt sich, dass zwei unabh\u00e4ngige Programme mit ihren eigenen privaten Adressr\u00e4umen arbeiten, die von der Betriebssystem in den physischen Speicher abgebildet werden.<\/b>. Daher haben Programme den Eindruck, dass sie ihren eigenen Bereich physischer Speicherressourcen vollst\u00e4ndig zugewiesen bekommen, w\u00e4hrend die Adresse der Speichernutzung innerhalb eines Programms keinen Einfluss auf andere Programme hat. Die Realit\u00e4t ist jedoch, dass der physische Speicher eine gemeinsam genutzte Ressource ist, deren Verwaltung vom Betriebssystem \u00fcbernommen wird.<\/p>\n<h3>Konsistenz<\/h3>\n<p>\nEin weiteres wichtiges Thema im Bereich der Betriebssysteme ist <b>Konsistenz<\/b>. Dieser Begriff wird verwendet, wenn es um Probleme im System geht, die auftreten k\u00f6nnen, wenn mehrere Operationen innerhalb eines Programms gleichzeitig durchgef\u00fchrt werden. Konsistenzprobleme k\u00f6nnen sogar im Betriebssystem selbst auftreten. In den vorherigen Beispielen zur Speicher- und Prozessvirtualisierung haben wir festgestellt, dass das Betriebssystem viele Dinge gleichzeitig verwaltet \u2014 es startet den ersten Prozess, dann den zweiten und so weiter. Diese Vorgehensweise kann, wie sich herausstellt, zu bestimmten Schwierigkeiten f\u00fchren. So haben zum Beispiel moderne Multithreading-Anwendungen mit solchen Herausforderungen zu k\u00e4mpfen.<\/p>\n<p>Lassen Sie uns das folgende Programm betrachten:<\/p>\n<p> <img decoding=\"async\" alt=\"Betriebssysteme: Drei einfache Teile. Teil 1: Einf\u00fchrung (\u00dcbersetzung)\" src=\"\/wp-content\/uploads\/2019\/04\/091af38bd53fb94e65afa6c57b08f012.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas Programm erstellt in der Hauptfunktion zwei Threads mit dem Aufruf <b>Pthread_create()<\/b>. In diesem Beispiel kann man von einem Thread als von einer Funktion denken, die im gleichen Speicherbereich neben anderen Funktionen ausgef\u00fchrt wird, wobei die Anzahl der gleichzeitig ausgef\u00fchrten Funktionen offensichtlich mehr als eins betr\u00e4gt. In diesem Beispiel startet jeder Thread und f\u00fchrt die Funktion <b>worker() aus, die wiederum einfach eine Variable inkrementiert.<\/b>,.<\/p>\n<p>Wir starten dieses Programm mit dem Argument 1000. Wie Sie sich vielleicht schon denken k\u00f6nnen, sollte das Ergebnis 2000 sein, da jeder Thread die Variable 1000 Mal inkrementiert hat. Doch so einfach ist es nicht. Lassen Sie uns das Programm mit einer deutlich h\u00f6heren Wiederholungszahl starten.<\/p>\n<p><img decoding=\"async\" alt=\"Betriebssysteme: Drei einfache Teile. Teil 1: Einf\u00fchrung (\u00dcbersetzung)\" src=\"\/wp-content\/uploads\/2019\/04\/a6a3e63f9ab94793ffde67342c5a19da.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn wir als Eingabe die Zahl 100000 angeben, erwarten wir, als Ausgabe die Zahl 200000 zu sehen. Allerdings sehen wir, wenn wir 100000 mehrmals ausf\u00fchren, nicht nur kein korrektes Ergebnis, sondern wir erhalten verschiedene falsche Antworten. Das R\u00e4tsel liegt darin, dass f\u00fcr die Erh\u00f6hung der Zahl drei Operationen notwendig sind \u2013 das Auslesen der Zahl aus dem Speicher, das Inkrementieren und dann das Zur\u00fcckschreiben der Zahl. Da all diese Instruktionen nicht atomar (alle gleichzeitig) ausgef\u00fchrt werden, k\u00f6nnen solche seltsamen Dinge passieren. Dieses Problem wird in der Programmierung als <b>Race Condition \u2014 Zustand des Wettlaufs<\/b>. Wenn unbekannte Kr\u00e4fte zu einem unbekannten Zeitpunkt die Ausf\u00fchrung Ihrer Operationen beeinflussen k\u00f6nnen.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446340\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":22702,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Operating Systems: Three Easy Pieces. Part 1: Intro (\u043f\u0435\u0440\u0435\u0432\u043e\u0434) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:37:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:37:05+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Betriebssysteme: Drei einfache Teile. Teil 1: Einf\u00fchrung (\u00dcbersetzung) | ProHoster","description":"Einf\u00fchrung in Betriebssysteme Hallo, Habr! Ich m\u00f6chte Ihnen eine Serie von \u00dcbersetzungen einer interessanten Literatur vorstellen \u2014 OSTEP. In diesem Material wird die Funktionsweise von UNIX-\u00e4hnlichen Betriebssystemen eingehend behandelt, insbesondere die Arbeit mit Prozessen, verschiedenen Planungsalgorithmen, Speicher und anderen \u00e4hnlichen Komponenten, die ein modernes Betriebssystem ausmachen. Den Originaltext aller Materialien finden Sie hier.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Operating Systems: Three Easy Pieces. Part 1: Intro (\u043f\u0435\u0440\u0435\u0432\u043e\u0434) | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0425\u043e\u0447\u0443 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0438\u044e \u0441\u0442\u0430\u0442\u0435\u0439-\u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 OSTEP. \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430 unix-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0447\u0438\u043d\u0438\u043c\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u041e\u0421. \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0432\u0441\u0435\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u043e\u0442 \u0442\u0443\u0442.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/operating-systems-three-easy-pieces-part-1-intro-perevod","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:37:05+00:00","article:modified_time":"2019-10-31T18:37:05+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30717","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 02:38:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:30:51","updated":"2026-01-21 02:38:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=30717"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30717\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/22702"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=30717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=30717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=30717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}