Was sind Betriebssystemkategorien?
Großrechner (IBM OS/390)
Serverbetrieb (Unix, Linux, NT/2000/2003/2008 …)
PC-Betriebssysteme (Windows, Linux)
Echtzeitbetriebssysteme (VxWorks, QNX, Embedded Linux)
Embedded Systems (VxWorks, QNX, Embedded Linux, Windows CE)
Tablet-PC ( IOS, Android, Windows, Linux-Varianten)
Handheld (Windows Mobile, Palm OS,
Smartcard (spezielle Java Virtual Machine, JVM)
Wie lautet die Definition eines Betriebssystems?
DIN 44300:
"Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden und die insbesondere die Abwicklung von Programmen steuern und überwachen."
DUDEN Informatik:
"Zusammenfassende Bezeichnung für alle Programme, die die Ausführung der Benutzerprogramme, die Verteilung der Betriebsmittel auf die einzelnen Benutzerprogramme und die Aufrechterhaltung der Betriebsart steuern und überwachen."
Rembold, Einführung in die Informatik:
"Der Zweck eines Betriebssystems liegt darin, Fähigkeiten zur Verfügung zu stellen, um eine Rechenanlage möglichst durch mehrere Anwender nutzen zu können. Diese Nutzung soll einfach, zuverlässig und wirtschaftlich sein."
Bic / Shaw, Betriebssysteme. Eine moderne Einführung:
"Betriebssysteme haben zwei Hauptaufgaben: Sie stellen Dienste bereit, die die Aufgaben der Benutzer vereinfachen, und sie verwalten Betriebsmittel, um wirkungsvollen Rechnerbetrieb sicherzustellen." "Aus Benutzersicht erscheint das Betriebssystem als eine virtuelle Maschine mit der Menge ihrer Kommandos als 'Maschinen'-sprache."
Was sind die Aufgaben eines Betriebssystems?
Anpassung der Leistung
Organisation und Steuerung des Betriebsablaufs
Verwaltung der Ressourcen
Schutzmaßnahmen
Protokollierung
Auftragsverwaltung (Job-Management)
Betriebsmittelverwaltung (Task-Management)
Prozessor
Speicher
Geräte
Datenverwaltung (Data-Management)
Dateikatalogsystem
Zugriffsmethoden
Wie ist ein Computer aufgebaut?
benannt nach dem Mathematiker J. Von Neumann (1903-1957)
Sie besteht aus
Zentraleinheit (CPU):
Hier werden die Befehle interpretiert und ausgeführt
Hauptspeicher
Hier werden die Daten und Befehle gespeichert
Ein-/Ausgabe
Kontakt zur Peripherie
Datenpfade für den Datentransport
Wege zum Austausch der Daten
Was ist der von Neumann Zyklus?
Von Neumann-Zyklus (englisch: Fetch-Decode-Execute-Cyclus)
FETCH:
Den abzuarbeitenden Befehl aus dem Speicher in das Befehlsregister (Instruction Register) kopieren.
DECODE: Das Steuerwerk löst den Befehl in Schaltinstruktionen für das Rechenwerk auf.
FETCH OPERANDS: Eventuell verfügbare Parameter (Operanden) für den Befehl aus dem Speicher holen.
EXECUTE: Das Rechenwerk führt den Befehl aus.
UPDATE PROGRAM COUNTER: Der Befehlszähler (Program Counter) wird auf den nächsten Befehl gesetzt.
WRITE BACK: Das Ergebnis des Befehls wird in einem Register oder im Hauptspeicher gespeichert oder zu einem Ausgabegerät gesendet.
Problem:
Dieses Schema lässt nur eine streng sequentielle Ausführung zu.
Maschinen-Code ist sehr elementar. Kann aber mehrere Takte brauchen.
Transport der Daten und Befehle von und zum Speicher ist ein Flaschenhals (Von-Neumann-Flaschenhals)
Moderne Prozessoren arbeiten nach dem Prinzip. Jedoch ist der Bus anders organisiert
Was ist die Harvard-Architektur?
Die Harvard-Architektur
Trennung von Daten und Code.
Es gibt zwei Datenbusse und sehr oft auch zwei Adressbuse.
Benannt nach dem Rechner Harvard Mark I (1944 entworfen).
Vorteile
Befehlsdecodierung und Datenaccess können parallel laufen
Speicher der beiden Bereiche können in verschiedenen Technologien realisiert sein.
Code kann nicht ohne weiteres überschrieben werden.
Architektur kann einfacher realisiert werden.
Maschinenbefehle sind einfacher aufgebaut
Nachteile
Bus ist doppelt vorhanden. Dadurch müssen mehr Pins nach außen geführt werden.
Beispiele
Computer der Raumfahrt nutzen Harvard-Architekturen
Apollo AGS:
Programmspeicher: 36 KWorte, Datenspeicher 4 KWorte.
TSC21020F:
Der Programmspeicher beträgt maximal 16 MByte (24 Bit Adressbreite), der Datenspeicher dagegen 4 GByte (32 Bit Breite). Er wird in zahlreichen Instrumenten in der Datenverarbeitungseinheit (DPU) verwendet, so z.B. der des OSIRIS Instrumentes von Rosetta.
Was ist Speicher Hierarchie?
Was sind Hardware und Software eines Computersystems?
Was sind Grundlegende Hardware Komponenten?
Was ist das vereinfachte Hardware Modell?
Welche Arten von Arbeitsweisen gibt es?
Arbeitsweisen:
Stapelbetrieb
Dialog-/Prozessbetrieb
Echtzeitbetrieb
Einbenutzerbetrieb
Mehrbenutzerbetrieb
Einprozessorbetrieb
Mehrprozessorbetrieb
Was ist Stapelbetrieb?
Stapelverarbeitung
Batch-Verarbeitung,
Batch Processing
Betriebsart eines Computersystems
Jobs der Benutzer jeweils als Ganzes abgearbeitet
ohne dass der Benutzer während der Bearbeitung Eingriffsmöglichkeiten hat
Was ist Dialog-/Prozessbetrieb?
Dialogverarbeitung
interaktiver Betrieb
in der elektronischen Datenverarbeitung
Betriebsart eines Computersystems, in der ein direkter Austausch von Daten zwischen dem Benutzer und dem System in der Art eines Dialogs stattfindet.
Was ist Echtzeitbetrieb?
Echtzeitverarbeitung
Realzeitbetrieb
Realzeitverfahren
Real Time Processing
Betriebsart eines Computers
bei der im Gegensatz zum Stapelbetrieb der Verarbeitungszeitpunkt von der Aufgabe selbst bestimmt wird.
Jeder Bearbeitungsfall wird unmittelbar nach seinem Eintreten in einer in Abhängigkeit von der Aufgabe festgelegten (kurzen) Zeit bearbeitet.
-> Echtzeitbetrieb ist i.d.R. die Betriebsart von Prozessrechnern und findet hauptsächlich in automatisierten technischen Abläufen Anwendung.
Was ist Mehrbenutzerbetrieb? Was ist Einbenutzerbetrieb?
Mehrprogrammbetrieb ist eine Voraussetzung für den Mehrbenutzerbetrieb
engl.: multiuser mode
bei dem eine Zentraleinheit mehrere Arbeitsplätze beziehungsweise mehrere menschliche Benutzer bedient
engl.: single-user mode
nur ein Arbeitsplatz beziehungsweise ein Benutzer wird unterstützt
Was sind Ein- und Mehrprozessorbetriebe?
Die meisten Rechner aller Größenklassen besitzen eine von-Neumann-Architektur und arbeiten im Einprozessorbetrieb, was jedoch mehrere Kerne nicht ausschließt.
Der Mehrprozessorbetrieb (Multiprocessing) kommt zum Einsatz, wenn der Rechner als Multiprozessorsystem mehrere Zentralprozessoren besitzt, die ganz oder teilweise einen gemeinsamen Arbeitsspeicher und dieselben peripheren Geräte benutzen.
Das Betriebssystem ist bei Multiprozessorsystemen wesentlich komplizierter als bei Einprozessorsystemen.
Was ist Mehrprogrammbetrieb?
Mehrprogrammbetrieb
engl.: multiprogramming mode; multitasking
werden mehrere Benutzeraufträge von der Zentraleinheit gemeinsam und zwar abwechselnd in Zeitabschnitten verzahnt bearbeitet (Zeitmultiplexverfahren).
Es befinden sich gleichzeitig mehrere Programme ganz oder teilweise im Arbeitsspeicher, denen das Betriebssystem bei der Ausführung die benötigten Betriebsmittel wechselseitig zuteilt.
Was ist Einprogrammbetrieb?
Einprogrammbetrieb
engl.: single programming mode; single tasking
werden einzelne Benutzeraufträge von der Zentraleinheit nacheinander bearbeitet.
Es befindet sich jeweils nur ein Programm im Arbeitsspeicher, das für seinen gesamten Ablauf alle vorhandenen Betriebsmittel (Prozessor[en], Speicher, Kanäle, periphere Geräte) zugeteilt erhält.
Was sind Teilhaber- und Teilnehmerbetrieb?
Beim Mehrbenutzerbetrieb unterscheidet man zwischen den Nutzungsformen Teilhaberbetrieb und Teilnehmerbetrieb.
Beim Teilhaberbetrieb arbeiten mehrere Benutzer gleichzeitig im Dialogbetrieb an angeschlossenen Datenstationen (PCs, Terminals) mit demselben Anwendungssystem und demselben Datenbestand.
Der Teilhaberbetrieb ist typisch für alle Auskunfts- und Reservierungssysteme, z. B. bei Banken (Kontoabfragen, Nutzung von Selbstbedienungsautomaten), Touristikunternehmen (Reisebuchungen) oder im Personenverkehr, wie bei der Bahn (Platzreservierungen) oder bei Fluggesellschaften (Buchung und Ticketerstellung).
Für den Teilhaberbetrieb ist die Bezeichnung Transaktionsverarbeitung (OLTP = Online Transaction Processing) gebräuchlich.
Jeder Benutzerauftrag wird als Transaktion 3 bezeichnet, die einzelnen Anwendungssysteme heißen Transaktionssysteme.
Beim Teilnehmerbetrieb arbeiten mehrere Benutzer ebenfalls gleichzeitig an angeschlossenen Datenstationen, aber mit voneinander unabhängigen Programmen und/oder Datenbeständen.
Jeder Benutzer kann im Dialog selbst Programme erstellen, testen und zur Ausführung bringen.
Welche Arten von Technologien der Arbeitsweisen gibt es?
Multiprogramming
Skalar Architektur
Superskalare Architektur
Pipelining
Was ist Multiprogramming (/ Multitasking / Mehrprogrammverarbeitung)?
Betriebsart eines Computers, bei der sich mehrere Programme gleichzeitig ganz oder teilweise im Arbeitsspeicher befinden und abwechselnd von dem Zentralprozessor bearbeitet werden.
Wann und wie lange die ablaufenden Programme jeweils Prozessoren, Speicher, Ein-/Ausgabe-Kanäle oder Peripheriegeräte zur Verfügung gestellt bekommen, wird vom Betriebssystem (BS) (evtl. beeinflusst von Prioritäten, die den Benutzern zugeteilt wurden) gesteuert.
Hierbei wird sehr häufig das Timesharing-Verfahren (Timesharing) angewendet.
Was ist Skalare und Superskalare Architektur?
Unter Superskalarität versteht man die Eigenschaft eines Prozessors, mehrere Befehle aus einem Befehlsstrom gleichzeitig mit mehreren parallel arbeitenden Funktionseinheiten zu verarbeiten.
Es handelt sich dabei um eine Nebenläufigkeit (Parallelität) auf Befehlsebene, bei der die feinkörnige Nebenläufigkeit zwischen den einzelnen Befehlen ausgenutzt wird.
Da Superskalartechnik nicht den Befehlssatz der Architektur verändert, wird auch von einer Mikroarchitektur gesprochen.
Was ist Pipelining?
auch Befehls-Pipeline oder Prozessor-Pipeline
bezeichnet bei Mikroprozessoren eine Art „Fließband“, mit dem die Abarbeitung der Maschinenbefehle in Teilaufgaben zerlegt wird, die für mehrere Befehle parallel durchgeführt werden.
Dieses Prinzip, oft auch kurz Pipelining genannt, stellt eine weit verbreitete Mikroarchitektur heutiger Prozessoren dar.
Was ist Zugriffsschutz?
Betriebssysteme werden üblicherweise von den Anwendungen abgeschottet
Zugriff auf Hardware oder die Verwaltung spezieller Ressourcen dürfen nicht direkt von einer Anwendung durchgeführt werden.
Auch sollen andere Anwendungen sich nicht gegenseitig beeinträchtigen
Daher gibt es in der Regel 2 Modi
Privilegierten Modus
Nicht privilegierten Modus
Man spricht auch von Kernel und Benutzermodus
Was sind Modi?
Benutzermodus
Anwendungsprogramme
Kein Zugriff auf kernelspezifischen Code- und Datenbereiche
Kernelmodus oder privilegierter Modus
Programmteile des Betriebssystems werden ausgeführt
Abschottung von Datenstrukturen und Codeteilen vor Zugriffen aus Anwendungsprogrammen heraus
Unterstützung dieser Modi durch
Kontrollregister
Unterstützung durch Maschinenbefehle
Was ist der User/Kernel-Modus?
Anzeige Windows-Task-Manager
Grün: Usermodus; rot: Kernelmodus
Kommando: Dir c: /s
Was sind Schutzringe bei x86 Prozessoren?
Welche 4 Arten von Architektur gibt es?
Monolithisch
Mikro-Kernel
Hybride/ Makro-Kernel
Schichten-Modell
Was ist ein Monolithischer Kernel?
Monolithische Systeme:
Kompakt und schnell
Meistens optimal angepasst an die Hardware
Eine mangelnde Modularisierung steigert die Komplexität des Programms
Erweiterbarkeit und Wartbarkeit sind schwierig.
Eine Wiederverwendung von Teilen des Programms ist in der Regel nicht möglich.
Verteilte Verarbeitung um eine höhere Skalierbarkeit und Performance zu erhalten, ist kaum möglich.
Was sind Monolithische Betriebssysteme?
Linux
Auslagerung von Hardware- und Dateisystem-Treiber in Module.
Diese werden jedoch im Kernelmodus und nicht im Benutzermodus ausgeführt
Darum ist der Linux-Kern ein monolithischer Kern.
Weitere Beispiele:
sind verschiedene Varianten der Berkeley Software Distribution (BSD)
MS-DOS
Free DOS
Windows 95/98/ME
Mac OS (bis Version 8.6) und OS/2
Was ist eine Mikro-Kernel Architektur?
Nur ein leichtgewichtiger Kernel
Viele Funktionalitäten werden in Anwendungsprozesse, sog. Serverprozesse ausgelagert.
Typische Serverprozesse: File-Server, Memory-Server usw.
D.h. nicht alle Funktionalitäten laufen im Kernelmodus
Kernel übernimmt vor allem die Kommunikation zwischen der Client und dem Serverprozess
Problem ist die Performance. In heutige Implementierungen laufen die Services wie Memory-, Prozess-, Netzwerk-, E/A und File-Manager im Kernel ab.
MACH, Amoeba, Chorus
MACH wird heute noch weiter entwickelt und stellt die Basis für das Betriebssystem MAC OS X dar.
Reduzierung der Komplexität des Codes
Geringere Kopplung zwischen den Komponenten
Sehr gute Wartbarkeit und leicht zu erweitern
Hohe Systemstabilität
Reduktion des Speicherplatz
Performance (die Anfragen müssen über Prozesse hinweg, verarbeitet werden)
Schwierige und komplexe Entwicklung des Systems
Was ist ein Makro-Kernel (Hybride Kerne)?
Kompromiss zwischen Mikrokernel und Monolithisch.
Man nennt solche Systeme auch Makrokernel.
Aus Geschwindigkeitsgründen werden Komponenten wieder in den Kernel integriert, die vorher außerhalb waren.
Windows seit NT 3.1
ReactOS
Apple Mac OS X
DragonFly BSD
Was ist ein Schichten-Modell (Kernel)?
Aufteilung der Komponenten von Betriebssystemen in Schichten.
Die Schichten werden von innen nach außen immer abstrakter.
Reduzierung der Komplexität
Geringere Kopplung und damit mehr Stabilität des Systems
Leichter wartbar und erweiterbar.
Performance. Denn die Anfragen müssen durch alle Schichten laufen.
Codeaufblähung, was zu mehr Speicherplatz führt
Was ist der Unterschied ziwschen einem Monolithischen und einem Mikrokernel?
Windows
Android
Minix
Minix (Mikrokerne)
möglichst wenig Code im Kernelmodus laufen lassen
Reduzieren der Abstürze durch Fehler im Code und damit hohe Ausfallsicherheit.
Realtime Anwendungen und militärische Anwendungen.
Eine Studie zeigte, dass man mit 10 Fehler pro 1000 Zeilen Code rechnet. Bei 5 Millionen Codezeilen für ein Schichtenmodell hat man damit mit ca. 50.000 Fehler zu rechnen.
Open Source (http://www.minix3.org/index.html)
Mikrokern (3200 Zeilen C- und 800 Zeilen Assembler-Code)
Mikrokern stellt Kommunikation zwischen den Services sicher und stellt 35 Kernelaufrufe zur Verfügung
Betriebssysteme
Was bedeutet Modularität und Portierbarkeit bei Betriebssystemen?
Die einzelnen Komponenten sollten modular aufgebaut sein und wohldefinierte Schnittstellen besitzen.
Portierbarkeit bezeichnet die Möglichkeit (den Grad an Arbeitsaufwand), um ein Betriebssystem von einer Hardware-Plattform auf eine andere zu übertragen.
Was bedeutet Erweiterbarkeit bei Betriebssystemen?
Ein Betriebssystem muss im Sinne des technischen Fortschritts „wachsen“ können, es sollte insofern leicht erweiterbar sein.
Dies ist für den Hersteller eine ökonomische Notwendigkeit.
Was bedeutet Konfigurierbarkeit bzw. Rekonfigurierbarkeit bei Betriebssystemen?
Bestimmte Komponenten eines Betriebssystems sollten sich (nach Möglichkeit sogar während des Betriebes) austauschen bzw. anpassen lassen.
Dies betrifft insbesondere die Anpassung an verändert Hardware.
Was bedeutet Skalierbarkeit bei Betriebssystemen?
Darunter wird zum einen verstanden, ein Betriebssystem über verschiedene Rechnerplattformen (z. B. auf PDAs, PCs, Servern/Mainframes) hinweg in gleicher Weise nutzen zu können.
Zum anderen betrifft Skalierbarkeit die Fähigkeit des Betriebssystems, bei mehreren im Rechner vorhandenen und echt parallel arbeitenden Prozessoren die Arbeitslast auf diese aufzuteilen.
Neben klassischen Parallelrechnern betrifft dies auch die PC- bzw. Servertechnik, hier gibt es solche Bezeichnungen wie z. B. „Dual-Prozessor-PC“ oder „4-WegeServer“ u. a
Was bedeutet Zuverlässigkeit und Fehlertoleranz bei Betriebssystemen?
Die Bedeutung dieser Kriterien ergibt sich besonders aus der Tatsache, dass das Betriebssystem die zentrale Steuerungssoftware des gesamten Computers ist
fällt sie aus, können auch die eigentliche Anwendungsprogramme nicht mehr laufen
Was bedeutet Transparenz und Virtualisierung bei Betriebssystemen?
Ein Betriebssystem sollte dem Anwender möglichst viele Details seiner Arbeit und der Hardware verbergen.
Besonders der Mangel an bestimmten Ressourcen (z. B. Hauptspeicher) sollte geschickt verborgen bzw. ausgeglichen oder wenigstens verwaltungstechnisch unterstützt werden.
Last changeda year ago