NC004 – Was ist ein Betriebssystem?

Länge: 01:44:29
Veröffentlicht von arduina unter CC BY 3.0.

Jede und Jeder hat schonmal davon gehört, manche haben das sogar schon mal installiert und viele haben sich schon irgendwann mal darüber aufgeregt: Das Betriebssystem. Aber was genau ist eigentlich dieses Ding, dem wir allzu oft die Schuld für unser aller Versagen in die Schuhe schieben?

Um der Frage auf den Grund zu gehen, besuche ich einen guten Freund, den Daniel Mack. Daniel ist ein Podcast-erprobter, audiophiler und sehr geduldiger Entwickler und erklärt uns, was ein Betriebssystem ist. Das ist kein leichtes Unterfangen und bringt uns Beide am Anfang ganz schön ins Stottern. Aber nach einem kurzen Stromausfall wird alles besser!
Wir lernen, wie ein Betriebssystem funktioniert, mit welchen Komponenten es interagiert, und wie ein Computer es hinbekommt, so zu tun, als wäre er Multi-Tasking-fähig. Außerdem erklärt Daniel, was der Unterschied zwischen einem freien und nicht-so-freien Betriebssystem ist und gibt uns einen Einblick in den Entwicklungsprozess eines Linux Kernels, den er selbst als Linux-Kernel-Entwickler stets live mitbekommt.

Als Bonus gibt es noch einen Exkurs in die wunderbare Welt der freien Software und oben drauf ein wenig buddhistische Anti-Prokrastinations-Lehre.

Viel Spaß!

9 Gedanken zu “NC004 – Was ist ein Betriebssystem?

  1. Hey Fiona,
    Danke für den neuen Podcast. Waren doch mal wieder 1-2 Sachen dabei die ich noch nicht wusste und sowieso ist es immer sehr unterhaltsam gemacht. Der Scheduler und das Polling beispielsweise waren völlig neu für mich. Danke für den tieferen Einblick in den Kernel.

    Ich hab noch eine nette Anekdote zu Linus Torvalds und den bösen Grafikkartenherstellern die Daniel angesprochen hat. Linus hat da nämlich mal ganz nett auf Nvidia einen der großen Hersteller reagiert:

    https://www.youtube.com/watch?v=_36yNWw_07g

    Liebe Grüße und weiter so

    Chris

  2. Hey Fiona,

    Danke für den neuen Podcast. Die Weisheit aus dem Zen Buddhismus hat bei mir dazu geführt, dass ich deinen Podcast ausgeschaltet und mich auf meine Arbeit konzentriert habe. Immerhin werde ich dann später die Zeit dafür haben, mich bewusst auf deinen Podcast zu konzentrieren.

    Ich möchte dir auf diesem Wege mitteilen, dass dein Podcast auch “Normalsterbliche” erreicht.

    Interrupt; Weiterarbeiten

    Timo

  3. Streng genommen können moderne CPUs tatsächlich doch eine Addition und eine Multiplikation im selben Taktzylus ausführen, da sie dafür separate Ausführungseinheiten haben, also dass sie nichts gleichzeitig können, ist nicht ganz richtig — von den Vektoreinheiten ganz zu schweigen. ;)

  4. Hallo, leider musste ich erst googlen was Prokrastination bedeutet http://de.wikipedia.org/wiki/Aufschieben.

    Auch kann ich mich @Shibumi anscheißen.

    Nun zu meiner frage: Wenn die MMU Hardwareseitig verhindert das man auch fremde Speicherbereiche zugreifen kann. Wie funktionieren dann diese RAM-HEX Editoren mit den man sich währen des Spielens z.B. mehr Geld einstellen kann?

    LG Ugo, das Waisen-Paten-Kind von 30c3

  5. Snarg: ja, Du hast recht. Es ging mir nur darum zu erklären, wie eine Recheneinheit (mitsamt ihrer autarken Untereinheiten) für mehrere parallele Prozesse Aufgaben übernehmen kann. Vereinfachte Darstellungen führen immer dazu, dass irgendwelche Fälle nicht korrekt abgebildet werden.

    Aber danke für die Klarstellung :)

  6. Ugo: Ich weiß nicht genau, was Du meinst, daher liefere ich dir mal drei Antworten:

    a) Wenn es um sog. “save games” geht, also abgespeicherte Spielstände, dann funktioniert das so, dass das Spiel sich den momentanen Zustand “merkt”, in dem es Variablen in eine Datei speichert. Das Spiel selbst enthält den Code, diese Dateien zu speichern und wieder zu lesen, weiß also, an welcher Stelle in der Datei welche Information zu finden ist. Wenn Du auf diese Datei Zugriff hast, kannst Du sie an beliebigen Stellen modifizieren. Ein Hex-Editor ist ein brauchbares Werkzeug dafür, weil es den Inhalt einer Datei nicht interpretiert, sondern Dir den rohen Inhalt zeigt. Solange Du also weißt, an welcher Stelle das Spiel den aktuellen Geldbetrag speichert, kannst du diese Stelle verändern und hast dann beim nächsten Laden des Spielstands mehr Geld.

    b) Du kannst auch das Binary (also das Programm selbst) verändern, und dadurch erreichen, dass z.B. das Ausgeben von Geld innerhalb des Spiels keinen Einfluss auf den verbleibenden Geldbetrag hat. Auch das geht, wie oben beschrieben, mit einem Hex-Editor oder einem sog. Debugger, setzt aber voraus, dass Du Schreibrechte für den Programmcode hast.

    c) Du kannst auf den Speicher eines laufenden Prozesses trotz MMU verändern, wenn Dein Betriebsystem das über spezielle Schnittstellen (wie z.B. /dev/kmem) erlaubt und Du ein priviligter User auf deinem System bist (unter Linux/FreeBSD/MacOS heißt der User “root”). Unter diesen Umständen kann man Speicher modifizieren und das Programm geht dann zur Laufzeit von falschen Werten aus.

    Die MMU überprüft keinen Zugriff auf Dateien, sondern nur auf Arbeitsspeicher, somit spielt sie also in a) und b) keine Rolle.

    Beantwortet das Deine Frage?

  7. ich würde zu diesem thema empfehlen für allle die sich professionell damit auserndersetzen wollen: “Moderne Betriebssysteme” – Buch von Andrew S. Tannenbaum. Aber coolen Podcast habt ihr da, bin aber kein n00b mehr sondern diplomierter ITCP und akademisch geprüfter eCommerce Engineer

    VLG
    F.S. aus Klagenfurt

  8. Vielen Dank fü die tollen und jedesmal aufs neue lehrreichen Podcasts.

    Warum sollte man Linux nutzen? Da hab ich bis jetzt keine “normalsterblichentaugliche” Antwort. Die Antwort die Ihr in eurem Podcast gebt ist ja eher technischer natur. Den “uninformatischen Benutzer” , der Einschalten-Funktioniert will, den überzeugt das ich-kann-halt-mit-Linux-alles-machen-was-ich-will gar nicht.

    Ich hab zwei mal mit Linux gespielt und es war ganz nett, nur hat es mir nix getaugt. Wieso? Es hat mein Festplatten RAID immer zerschossen; ich musste es immer wieder reparieren, wenn ich von der / den Windowsfestplatte booten wollte. Ausserdem wird man (ich) WAHNSINNIG, wenn man Programme installieren will, die nicht im “Software-Center” vorhanden sind. Mehrfach bin ich über Aussagen wie “Dieses Multiversum existiert nicht mehr” oder so ähnlich gestolpert…

    Habt ihr noch andere Gründe, die interessierten Nutzern aber informatisch total unterbelichteten Menschen (wir mir), taugen könnten?

    Einen schönen Abend,
    Gast

Hinterlasse eine Antwort