Wirtschaftsinformatik (Bachelor-Studiengang): Rechnerarchitketur & Betriebssysteme (1. Semester)
Sie sind hier: Startseite › Wirtschaftsinformatik › Rechnerarchitektur/Betriebssysteme: Antworten Fragebögen
BM / CM, Kurs vom 01.04.2002 - 30.09.2002
- Fragebogen 1 (Repräsentation von Daten)
- Fragebogen 2 (CPU, RAM und Bus)
- Fragebogen 3 (Massenspeicher)
- Fragebogen 4 (Periphere Geräte)
- Fragebogen 5 (Maschinen-Ebenen)
- Fragebogen 6 (Betriebssysteme / Virtueller Speicher)
- Fragebogen 7 (Prozesse)
- Fragebogen 8 (Dateisysteme)
Fragebogen 1 (Repräsentation von Daten)
Nennen Sie mindestens drei Axiome oder grundlegende Sätze der Aussagenlogik.
Satz vom ausgeschlossenen Dritten, Satz vom Widerspruch, Satz von der doppelten Verneinung, Sätze von De Morgan, Kontrapositionssatz, Distributivsätze ...
Was ist der Unterschied zwischen einem Schaltnetz und einem Schaltwerk?
Schaltnetz: Komponente, die Werte entsprechend den Funktionen aus einer oder mehreren Variablen bestimmt, ohne dabei vorherigen Werte zu benutzen. Jeder Funktionswert wird sofort, ohne die Vorgeschichte zu beachten - also ohne einen "Speicher" -, aus den Variablen nach einem unveränderbaren Schema bestimmt.
Schaltwerk: Rückgekoppeltes Schaltnetz mit Speicher, dessen Zustände in die Funktion eingehen; d.h. der Funktionswert hängt von den Eingangsvariablen und vom inneren Zustand ab.
Was ist ein Flip Flop? Wozu dient es? Welchen Sinn hat der Takt?
Nur wenn der Takt auf 1 ist, wird der Wert am Data-Eingang übernommen.
Was ist ein Bit? Und was ist ein bit?
Bit = Abstrakte Begriff von einen Speicher, der nur zwei Zustände bzw. Werte annehmen kann. Bit = Binary digit. Die Informationsmenge einer Nachricht wird in bit gemessen. Hier ist bit die quantitative Einheit, mit der der "Umfang" einer Information gemessen wird.
Wieviele Bits sind 1 KByte? Wieviele Bytes sind 1 MByte? Was kann alles unter 10 MB verstanden werden?
Speicher wird organisiert in Einheiten von
8 Bits = 1 Byte
1 KB = 1024 byte, 1 MB
Was legt der ASCII-Code fest? Was wird unter einem Code allgemein verstanden?
Code = Zuordnung zwischen Repräsentationen (Bitkombinationen) und Werten eines Symbols.
Worin besteht der Unterschied zwischen dem 1er- und dem 2er-Komplement? Welches der beiden Komplemente kommt in der Praxis am meisten vor?
In der Praxis kommen nur Maschinen mit 2er-Komplement vor.
Der Arbeitsspeicher wird auch als RAM bezeichnet. Was bedeutet diese Abkürzung und worauf weist diese hin?
RAM = Speicher zur Ablage von Daten, die mit
einer Adresse
angesprochen werden.
RAM = Random Access Memory
= Speicher mit wahlfreiem Zugriff.
Die Speicherzellen bei RAM werden in Form einer Matrix angeordnet. Mit welchem Mechanismus werden die einzelnen Zellen angesprochen.
Da sehr viele Bits in möglichst kleinen Ausmaßen benötigt werden, werden keine Flip Flops, sondern spezielle Transistor-Schaltungen benutzt.
Was ist ein flüchtiger und was ein nicht-flüchtiger Speicher?
Alle RAM gehören zu den flüchtigen Speichern, die ihren Inhalt bei Verlust der Spannungsversorgung verlieren. Nicht-flüchtige Speicher behalten ihren Inhalt auch nach Spannungsverlust.
Wie groß ist der maximale Wertebereich einer vorzeichenlosen 16-bit-Integerzahl. Geben Sie die beiden Grenzwerte an. Geben Sie die Grenzwerte einer vorzeichenbehafteten Integerzahl im 1er- und im 2er-Komplement an.
16 bit (short): 0 ... 65535
Was ist eine Festkomma- (oder Festpunktzahl) und was eine Gleitkomma-Zahl?
Festkomma: Es wird eine bestimmte Bitanzahl für den Wert
vor und dem nach dem Komma festgelegt.
Gleitkomma: Neben einem Vorzeichenbit und der Mantisse wird ein
Exponent samt eigenem Vorzeichen benutzt.
Beschreiben Sie den typischen Aufbau einer Gleitkomma-Zahl mit Exponenten.
Vorzeichenbit, Binärzahl der Mantisse, Vorzeichenbit, Binärzahl des Exponenten.
Fragebogen 2 (CPU, RAM und Bus)
Aus welchen Teilen besteht eine Instruktion? Beschreiben Sie deren Funktion.
Jede Instruktion enthält neben dem Opcode (Alle Puffer werden durchnumeriert, wobei die Nummer die Codierung in den Instruktionen bildet: Operationscode, kurz: Opcode genannt.) die Adresse eines Operanden.
In welcher Architektur wird für den Programm- und den Datenspeicher jeweils ein getrennter Speicher vorgesehen?
Harvard-Architektur
Wie sieht die grundsätzliche Architektur eines von-Neumann-Rechners aus? Welche Vorteile und welche Nachteile hat eine derartige Architektur?
Der RAM mit den Instruktionen wird mit dem
RAM der Daten
zusammengelegt, was zu längeren Adressen oder zur
Verkleinerung des Speichers für den Programmcode
führt.
Der "untere" Bus zum Laden der In-Puffer wird mit dem
"oberen" Bus zum Speichern in den Daten-RAM
zusammengelegt; damit wird dieses Bus bidirektional (abwechselnd in
beiden Richtungen) betrieben.
Nachteile: Bus als zentraler Kommunikationsweg ist Nadelöhr
Beschreiben Sie die grundsätzliche Register-Struktur einer CPU.
Programm Counter (PC) enthält die Adresse der nächsten Instruktion. Status Register (SR) enthält Resultate der letzten Instruktion sowie globale Zustände, wie z.B. Previlegien. Instruction Register (IR) enthält die gerade auszuführende Instruktion (nicht per Software ansprechbar). Datenregister als universell verwendbares Register für Zwischenergebnisse. Adressregister als Register für Adressen in den Arbeitsspeicher, teilweise mit reservierter Bedeutung.
Was ist ein Bus? Aus welchen Bestandteilen besteht er üblicherweise?
Datenleitungen. Adress-, Daten- und Kontrollbus.
Nennen Sie mindestens zwei Funktionen des Control-Busses.
- Zuteilung des Busses an ein Partner, der dann Master wird.
- Mitteilung des Wunsches, Master zu werden.
- Mitteilung von Unterbrechungen und Reset-Signale.
- Synchronisation zwischen den Partnern. Anzeige, wann die Signale einen stabilen Pegel haben, Takt, Bestätigungen, Flusskontrolle.
Was ist ein Master und was ein Slave? Wie wird ein I/O-Gerät Master?
Der Master belegt den Bus und bestimmt Adressen sowie Kommunikationsrichtung. Die vom Master angesprochenen Partner sind Slaves, alle anderen sind unbeteiligt. Wie Master: Anmeldung am Bus.
Was ist DMA? Wie sieht der grundsätzliche Ablauf einer DMA-Kommunikation aus?
DMA = Direct Memory Access. Ablauf: 1. Auftrag, 2. Daten.
Was ist Memory Mapped I/O?
Adressen der I/O-Register befinden sich innerhalb des Bus-Adressraums. Zugriff mit normalen Instruktionen.
Kann ein PROM mehrfach beschrieben werden? Verliert ein EEPROM seinen Inhalt nach Ausfall der Stromversorgung?
PROM: einmal beschreibbar, also nein. EEPROM: Nein.
Worin besteht der wesentliche Unterschied zwischen statischen und dynamischen RAM? Was wird unter Zugriffszeit und was unter Zykluszeit verstanden?
Zugriffszeit: Zeit bis zum Abliefern des Inhalts nach
Anforderung
Zykluszeit: Zeit bis zur erneuten Bereitschaft nach Anforderung
Was ist ein Dual-Port-RAM?
RAM, der in der Lage ist, gleichzeitig einen Bereich zu lesen und zu beschreiben.
Was ist ein Speichermodul? Was bedeuten SIMM und DIMM? Lassen sich SIMM und DIMM beliebig kombinieren?
Mehrere RAM-Chips samt Controller werden auf
kleinen Karten (PCB
= Printed Circuit Board) montiert, die Speichermodule (auch
"Riegel") genannt werden.
SIMM: Single In-line Memory Module
DIMM: Double In-line Memory Module
Was wird unter ECC verstanden? Ist das wichtig?
Es gibt die Möglichkeit der automatischen Fehlererkennung und Korrektur (ECC = Error Correction Code = Fehlerkorrekturcode).
Was ist ein Cache? Was ist ein L1-Cache, was ein L2-Cache und was ein L3-Cache?
Cache ist ein schneller
Zwischenspeicher, in dem Daten bzw.
Instruktionen gehalten werden, von denen gehofft wird, dass auf
diese bald zugegriffen wird.
Level 2 (L2) Cache: 2. Cache auf CPU-Module (in
unmittelbarer
Nähe der CPU)
Level 3 (L3) Cache zwischen
CPU und Bus
Unter welchen Bedingungen führen Cache nur zu minimaler Beschleunigung? Und unter welchen zu maximaler?
Trashing:
Trashing ist ein Effekt, bei dem die Daten, die als
nächstes benötigt werden vor diesem Zugriff aus dem Cache entfernt werden, so dass der
Cache wenig Effekt hat.
Cache-Kohärenz
(Übereinstimmung mit RAM): Der Cache muss immer die "wahren",
tatsächlichen Daten enthalten, auf keinem Fall veraltete.
Dieses Problem tritt bei Mehr-Prozessoranlagen sowie bei I/O auf.
In diesen Fällen schreibt Hardware unter Umgehung des Cache etwas in den RAM.
Umgekehrt muss auch der RAM die wahren Daten
haben, z.B. wenn der Cache die aktuellen hat. Auch dies
betrifft
andere Prozessoren und I/O.
Nennen Sie die Glieder der Speicherhierarchie. Welchen Sinn hat dieses Modell?
Register, Cache,
Arbeitsspeicher, Festplatte und Magnetband.
Ziele der Technik: Durch Software - basierend auf korrekten
Modellen der Speicherbenutzung - werden die Daten auf der
Hierarchie zum richtigen Zeitpunkt nach oben
bzw. nach unten
kopiert. An der Spitze werden die Daten verarbeitet und befinden
sich in flüchtigen Speichern, an der Basis werden die Daten
langfristig aufbewahrt und zur späteren Bearbeitung
vorbereitet.
Was ist das Motherboard? Gibt es PC ohne dieses Board?
Motherboard = Mutterplatine = Platine/Karte mit CPU, RAM, Bus und optional den Schnittstellen zur Ein-/Ausgabe. PC ohne? Nein!
Welche Aufgaben hat ein Chipsatz?
Der Chipsatz steuert die einzelnen Komponenten. Dessen Leistungsfähigkeit hat einen erheblichen Einfluss auf die gesamte Performance des Rechners.
Was heißt PCI? Wird der Speicher über den PCI angesteuert?
Peripheral Component Interconnect. PC-Bus auf Motherboard.
Was ist der Front Side Bus (FSB)? Welche Taktraten sind üblich? Warum sollte der RAM möglichst mit der Geschwindigkeit des FSB arbeiten?
CPU mit dem Chip-Satz. 66 MHz (veraltet), 100 MHz (üblich), 133 MHz (neu). Wenn RAM langsamer, dann Geschwindigkeitsverlust (Performance!).
Warum ist es nicht so schlimm, dass der FSB eine viel niedrigerer Taktrate als die CPU hat? Nennen Sie mindestens zwei Gründe.
Taktwerte (siehe 28.) gelten für den Front Side Bus (FSB), auf den die RAM abgestimmt sind: PC66, PC100, PC133 (z.B.).
Was wird unter Pipelining verstanden? Was unter Super-Pipelining? Und was unter Super-Skalar Pipelining?
Pipelining: Verfahren, bei dem Phasen der
Instruktionsausführung verschiedener hintereinander
auszuführender Befehle parallel ausgeführt werden, ohne
dass Phasen gleicher Art parallel ablaufen.
Super-Pipelining: Pipelining-Verfahren, bei
dem auch Phasen gleicher
Art (teil-)parallel ablaufen.
Super Skalar Pipelining: Pipelining-Verfahren,
bei dem mehrere
Instruktionen (teil-)parallel ablaufen.
Welchen Sinn hat Pipelining?
Versuch so viele Phasen der Befehlsausführung wie möglich trotz sequenzieller Programme parallel auszuführen.
Was wird unter CISC und was unter RISC verstanden? Nennen Sie CPU-Beispiele für CISC und RISC? Welche Vorteile sollen RISC-Rechner gegenüber CISC-Rechner haben?
CISC = Complex Instruction Set
Computer (M68000, Intel x86)
RISC = Reduced Instruction Set
Computer (PowerPC, Alpha, SPARC)
Versuch in den 80er Jahre, durch Vereinfachung der
Instruktionscodierung, Reduktion des Funktionsumfangs (Anzahl der
Instruktionen) und Aufteilung in Datentransport- (Load/Store) und
Verarbeitungsinstruktionen Platz auf dem Chip zu erhalten, um einen
größeren Cache zu
benutzen.
Fragebogen 3 (Massenspeicher)
Wie werden die Device Register (Geräte-Register), die über den Bus von der CPU angesprochen werden, realisiert?
Durch Software innerhalb des Betriebssystems, die Treiber (Device Driver).
Was bewirkt ein Beschreiben der Geräte-Register? Wie heißt die Software-Komponente, die den direkten Zugang zu den Geräte-Registern benötigt?
Die CPU gibt dem Gerät Kommandos, indem sie die entsprechenden Register über den Bus beschreibt. Die CPU erfährt das Ergebnis von Kommandos, indem sie die entsprechenden Register ausliest. (siehe 2.)
Was ist eine Floppy und was eine Floppy Disc?
Floppy = Laufwerk und Floppy Disk = Diskette.
In welchen physikalischen Größen wurden übliche Disketten hergestellt? Wie hoch sind die typischen Kapazitäten bei einer doppelseitige Diskette?
8", 5 ¼" und 3 ½". 1.440 KB.
Was ist eine Spur? Was ist ein Track? Und was ein Zylinder?
Spur = Track = konzentrischer Kreis.
Was ist ein Sektor? Was ein logischer Sektor (Block)?
Sektor = Block. Bereiche auf der Diskette. Per Software werden alle Blöcke wie in einem Feld über die ganze Diskette nummeriert. Dann wird von Blöcken (blocks) gesprochen. Block = logischer Sektor.
Welche Arten der Formatierung gibt es? Wann werden üblicherweise welche Arten durchgeführt?
Low-Level-Formatierung und High-Level-Formatierung.
Welchen Sinn hat die Prüfsumme (CRC) im low-level-Format auf der Diskette bzw. Platte?
Es wird eine mathematische Funktion basierend auf einem Polynom über alle Bits eines Blocks an Informationen gebildet. Diese Funktion ist so geschickt gewählt, dass sie einen anderen Wert liefert, wenn auch nur wenige Änderungen an den Informationen vorhanden sind - sie ist gegenüber Variationen sehr empfindlich. Beim Schreiben wird der CRC berechnet und geschrieben. Bei jedem Lesen wird er erneut berechnet und mit dem abgespeicherten verglichen. Bei Gleichheit: alles ok, sonst Lesefehler.
Welche Aufgabe hat die Servoinformation bei den zip-Medien?
Positionierung.
In welchen physikalischen Größen werden Festplatten hergestellt? Wieviele Scheiben kann eine Festplatte haben?
2 ½", 3 ½", 5 ¼".
Was ist ein Aktuator?
Aktuator ist ein kammartiger Arm mit Schreib-/Lese-Köpfen an den Enden, der radial (senkrecht zu Mittelpunkt) über einen Schritt- oder Linearmotor auf die richtige Spur bewegt wird.
Was wird bei einer Festplatte unter Zugriffszeit, Latenzzeit und Positionierungszeit verstanden?
Zugriffszeit: Positionierungszeit + Latenzzeit (Typisch: 4-12
ms).
Latenzzeit: Zeitraum des Wartens bis der gesuchte Sektor am
Aktuator "angekommen" ist (z.B. 3.600 Umdrehungen/Minute -> 16 ms
für eine Umdrehung).
Positionierungszeit: Zeitraum, der für das Bewegen des
Aktuators von einer zufälligen Spur auf eine neue
benötigt wird (Typisch: 2-3 ms).
Was ist ein Benchmark? Wozu dienen Benchmarks?
Spezielle Programme, die bestimmte als typisch angesehene Benutzungsprofile simulieren.
Was wird unter einen Interleaving Faktor 2 verstanden?
Interleaving Faktor 2 bedeutet, dass nach einem Sektor 1 Sektor übersprungen wird.
Was ist das Ziel der Zonenaufzeichnung (Zone recording)?
Da der Umfang eines Kreissegments am Rande länger als an
der Innenseite ist, können am Rande mehr Sektoren liegen als
im inneren Bereich. Die Platte wird daher in Zonen mit jeweils
eigener Sektorenzahl pro Spur eingeteilt. Dies führt bis zu
30% mehr Kapazität.
Der Controller auf der Platte macht die Umrechnung von Sektoren
nach logischen Sektoren (Blöcken), so dass die Software, z.B. BIOS, sich nicht darum
zu
kümmern braucht.
Welches Ziel wird beim Bad Sector Mapping verfolgt?
Wird vom Controller festgestellt, dass ein Sektor nicht zugreifbar ist (bzw. immer wieder Fehler hat), so wird dieser Sektor durch einen anderen ersetzt. Dazu werden bisher unbenutzte Sektoren aus dafür reservierten Spuren belegt. In einer Tabelle wird vermerkt, welche "guten" Sektoren welche "schlechten" ersetzt haben. Diese Tabelle wird für den Zugriff benutzt. Dieser Mechanismus ist gegenüber der Software transparent und läuft "innerhalb" der Platte ab.
Welche Arten der CD gibt es üblicherweise? Nennen Sie mindestens vier.
CD-DA, CD-ROM, CD-ROM/XA,CD-I, CD-I Ready, CD Bridge Disc, Photo CD.
Was ist bei der CD-DA ein Pit und was ein Land? Wie wird eine logische 1 und wie eine logische 0 dargestellt?
Erhöhungen (Lands) und Vertiefungen (Pits). Der Übergang zwischen Land und Pit bzw. umgekehrt codiert eine 1 - Land bzw. Pit allein eine 0.
Wodurch wird bei einer CD-DA ein Pit von einem Land unterschieden?
Hab' ich das nicht gerade gesagt?
Wieviele Spuren hat eine CD? Wird eine CD sich immer gleichschnell bewegt?
Es gibt nur eine Spur, die sich als Spirale von Innen nach Außen windet. Ältere Laufwerke variieren die Rotationsgeschwindigkeit in Abhängigkeit von der Entfernung zum Innenring. Neuere Laufwerke arbeiten mit konstanter Umdrehungsgeschwindigkeit.
Warum wird bei der CD ein Byte durch 14 bit codiert?
Pits und Lands dürfen nicht zu dicht aufeinander folgen bzw. es können nur begrenzt lange 11...-Folgen realisiert werden: Es müssen immer min. 2 Lands und 2 Pits in Folge auftreten (zwischen 2 Einsen befinden sich mindestens 2 Nullen). Pits und Lands selbst dürfen nicht zu lang sein, da dann die Leseeinheit "außer Takt" geraten kann: max. 10 Nullen. Daher werden 8 Datenbits in 14 bit codiert. Einem Byte entsprechen 14 Bits auf der CD (Scrambling).
Was wird im Lead-In und was im Lead-Out abgelegt?
Lead-in-Bereich: Inhaltsverzeichnis mit Angaben der Beginn der
(logischen) Tracks.
Lead-out-Bereich: Markierung des Endes, 90 s
Stille.
Bei der CD-ROM gibt es Blöcke oberhalb der Struktur der Frames. Wozu?
In Blöcken werden zusätzliche Informationen, wie z.B. Inhaltsverzeichnisse und Permissions neben den Dateien bzw. Daten abgelegt. Diese Struktur wird Dateisystem (file system) genannt.
Wie wird eine CD-DA industriell gefertigt?
- Premastering
- Berechnung der EDC/ECC-Bereiche
- Einfügen von Synchronsationsbits
- Erstellung von Verzeichnissen
- Mastering
- Nach Premaster-Image wird ein Glasmaster mit Laser belichtet
- Belichtete Stellen (spätere Pits) werden entwickelt und ausgewaschen
- Bedampfen mit Silberschicht und Qualitätsprüfung
- Herstellung der Matrizen (Stamper, Negative des Glasmasters)
- Pressen der CD mit den Stamper
- Bedrucken und Verpacken
Worin besteht der wichtigste Unterschied zwischen einer CD-DA und einer CD-R? Was ist bei einer CD-RW anders?
CD-DA/CD-ROM
werden industriell durch "Pressen" mit
Matrizen gefertigt, danach können sie nur noch gelesen werden.
CD-R können einmal beschrieben werden
(brennen): Dies erfolgt
innerhalb einer vorher eingravierten Spur (pre-engraved, pre
groove). Der Laser verändert unabänderbar das
Reflexionsverhalten einer Absorptionsschicht, die sich zwischen
Substrat (Polykarbonat) und der Reflexionsschicht befindet, so dass
das Licht bei einem Pit (gebrannte Stelle) schlecht und bei einem
Land gut reflektiert wird. Das erfolgt durch Erhitzung auf
über 250°C. Also: Bei CD-R gibt es
keine Höhen und
Tiefen, sondern nur unterschiedliches Reflektionsverhalten.
CD-RW theoretisch bis zu 1000 mal
beschreibbar. Reflektierende Schicht
ist eine Silber-Indium-Antimonium-Tellurium-Legierung, die folgende
Zustände annehmen kann: Kristallin und gut reflektierend
(ursprünglicher Zustand) oder Amorph und schlecht
reflektierend. Diese reflektierende Schicht wird mit einem Laser
auf 500-700°C erwärmt und wird flüssig, wobei der
kristalline Zustand in den amorphen übergeht (Pit). Wird diese
Stelle später mit 200°C erwärmt, so bleibt die Stelle
fest, geht aber in die kristalline Struktur wieder zurück
(gute Reflektion, Land).
Was wird unter einer Session bei einer CD-R verstanden?
Session = Sitzung. Geschriebener Bereich bestehend aus einem Lead-In, Programm (Information) und Lead-Out.
Wie arbeiten magnetisch-optische Speicher?
Schreiben: Erhitzen auf über 150°C (Curie-Temperatur)
mit konstantem Magnetfeld zum Löschen, dann noch einmal
Magnetisieren in Richtung: Nordpol unten ist Pit, Nordpol oben ist
Land.
Lesen: Laser (polarisiertes Licht) wird vom Material direkt oder
gedreht reflektiert; daran wird ein Pit bzw.
Land erkannt.
Was ist bei den DVD grundsätzlich anders als bei den CD?
- Kleinere Pits, höhere Track-Dichte, vergrößerter Datenbereich, effizientere Bitcodierung als bei der CD.
- Codierung: für 1 byte jetzt 16 bit (statt 17 bit: 14+3)
- Lead-In und Lead-Out etwas kleiner als bei der CD.
- Doppelseitige DVD möglich, zur Zeit ist zum Oberflächenwechsel die DVD manuell umzudrehen.
- Jede Seite kann zwei Schichten haben, die von der Unterseite getrennt fokussierbar sind.
Wie wird bei der DVD es erreicht, dass zwei übereinander liegende Schichten gelesen werden können?
Die vordere Reflexionsschicht ist semireflektiv, die zweite vollständig reflektiv.
Was soll mit dem Regional-Code bei den DVD bezweckt werden? Wird es auch erreicht?
Bestimmte Bitmuster sollen Dekoder das Darstellen von Videodaten auf bestimmte Bereichen der Erde beschränken.
Fragebogen 4 (Periphere Geräte)
Worin besteht der wesentliche Unterschied zwischen einem CRT und einem LCD? Nennen Sie Vorteile von CRT gegenüber LCD, und Nachteile gegenüber LCD.
CRT: Cathode Ray Tube
(Kathodenstrahlröhre)
LCD: Liquid Cristal Display
Eigenschaften von LCD: Kontrast und Farbe hängen
vom
Blickwinkel ab, Gute LCD haben Blinkwinkel
von 140°, Geringerer
Energieverbrauch, Geringes Gewicht, Flimmerfrei, Strahlungsfrei,
Standard in Laptops, Notebooks und Palmtops.
Was besagt das RGB-Modell? Was soll damit erreicht werden? Lassen sich alle mit dem Auge wahrnehmbaren Farben nach dem RGB-Modell darstellen? Falls nicht, was passiert dann mit den nicht darstellbaren Farben?
RGB-Modell (Rot-Grün-Blau): drei Signale bzw. Punkte formen zusammen alle darzustellenden Farben nach dem additiven Prinzip. Es lassen sich nicht alle wahrnehmbaren Farben darstellen. In diesem Falle erfolgt eine maximale Annäherung an die gewünschte Farbe.
Was ist das additive und was das subtraktive Farbmodell? Wo werden diese technisch angewendet?
Das additive Modell beruht auf Überlagerung dreier
Farblichtstrahlen, deren Mischung jeweils die einzelnen Farben
ergeben. Die Summe aller drei Strahlen ergibt Weiß.
Anwendung: CRT, LCD,
Beamer.
Das subtraktive Modell funktioniert analog zum additiven, wobei
jetzt das Reflektionsverhalten bei Bestrahlen mit weißem
Licht die Farbe ergibt. Die Summe aller drei Grundfarben ergibt
hier Schwarz. Anwendung: Drucker.
Was wird unter Farbtiefe verstanden? Was ist der Farbton und was dessen Helligkeit?
Farbtiefe: Anzahl der verschiedenen Farben
(Repräsentation).
Farbton: Eigentliche Farbe.
Helligkeit: Beimischung von Weiß.
Was wird unter einem Pixel verstanden? Was bedeutet Auflösung?
Pixel: Picture Elements = dot = Bildpunkt.
Auflösung: Anzahl der Pixel pro Entfernungseinheit. Gemessen
in dpi: dots per inch (Zoll, 2,54 cm). Bildschirme haben eine
Auflösung von 71 bis 96 dpi. Gemessen über
gesamte
Fläche, z.B. 640x480.
Welche Aufgaben hat der VRAM bei der Ansteuerung des Monitors?
Der VRAM wird auch Bildschirmspeicher genannt. Besondere Eigenschaften: Eine Schnittstelle zum Schreiben (vom Bus aus) und eine Schnittstelle zum parallelen Auslesen zur Darstellung (Attributinformationen an Attributdekoder, Zeichencode an Zeichendecoder).
Wofür steht LCD? Worauf basiert die Steuerung der Helligkeit eines Pixels bei einem LCD? Gehen Sie bei der Beantwortung von TFT-Displays aus. Was bedeutet TFT?
LCD: Liquid Cristal Display.
Licht der Hintergrundbeleuchtung
(von unten in der Abbildung) wird über ein Polarisationsfilter
polarisiert. Transistoren bauen entsprechend für jedes Pixel
ein gewünschtes Feld auf, das die Kristalle bewegt, die
Polarisationsebene zu drehen. Ein zweites Polarisationsfilter
lässt nur Licht in einer bestimmten Ebene durch. Bei den
Normally-White-Displays sind die beiden Polfilter so aufeinander
abgestimmt, das ohne angesteuerten Transistor der Pixel leuchtet,
bei angesteuerten dunkel ist. Zusätzlich gibt es noch ein
Farbfilter, das die Pixelfarbe bestimmt.
TFT: Thin Film Transistor.
Für jeden Bildpunkt gibt es einen
Transistor, der individuell angesteuert wird.
Nennen Sie die Tastengruppen einer MF2-Tastatur.
MF2-Tastatur: 102 Tasten mit 3 Sondertasten für Windows ("Normale" Tasten, abgesetzter Ziffernblock, Funktionstasten, Cursor-Tasten).
Was ist ein Tastaturprozessor? Was ist ein Scan-Code?
Unter allen Tasten liegen in einer Matrix Leitungen, die durch das Drücken der Taste kurzgeschlossen werden. Ein Tastaturprozessor (in der Tastatur) wartet eine gewisse Zeit (Prellzeit) ab und liest anhand der Leitungen die "Koordinaten" der Taste. Dann stellt er über die Schnittstelle einen Code, der die gedrückte Taste identifiziert, bereit: Scan-Code. Dadurch wird zwischen einer Ziffer im normalen Teil und einer im Ziffernblock unterschieden. Dies erfolgt beim Niederdrücken (make-codes) und Loslassen (break-codes) aller Tasten, auch Shift usw. Das Betriebssystem wandelt dann die gedrückte Tastenkombination in einen internen Code, meistens ASCII um. Dies können mehrere Bytes sein.
Nennen Sie vier Beispiele für Pointing Devices.
Pointing Devices sind Geräte zum Zeigen auf Objekte auf dem Bildschirm, wobei die Software das Objekt oder zumindest den Punkt, auf den gezeigt wird, identifiziert.
- Mouse (Maus)
- Trackball ("Umgekehrte" Maus)
- Tablett (Leitungsmatrix mit Stift)
- Drucksensibler Monitor (Arbeiten mit Finger)
- Monitor mit Lichtschranken (Arbeiten mit Finger)
- Lichtgriffel (nur bei Röhren)
- Joystick
Was ist eine mechanische Maus? Und was ist eine optische Maus?
Mechanische Maus: Rollende Kugel, deren Drehung durch zwei
Rädchen abgetastet wird, Probleme: Verdreckt leicht.
Optische Maus: Leuchtdiode sendet Licht, das von einer Fläche
reflektiert und durch eine Fotodiode aufgenommen wird. Anhand der
Änderungen wird die Bewegung erkannt.
Für welche Anwendungen werden Magnetbänder benutzt? Was ist ein Streamer?
Magnetbänder: Einsatz in großen Rechenzentren.
Größere Datenbestände. (seit 1965, Kapazität:
1..10000 MB, Länge: 100 ... 1200 m,
Beispiel: 3590-Format,
16 Spuren, bis 10 GB)
Bandlaufwerke = Streamer.
Wofür steht QIC und wofür DAT? Wenn Sie das Aufzeichnungsverfahren betrachten, wodurch unterscheiden diese sich?
Quarter Inch Cartridge (QIC):
1/4 Zoll-breite Bänder (6
mm), Datenkassetten bis zu 460 m Band, bis zu 144 Spuren, bis zu 13
GB unkomprimiert, geplant bis 50 GB,
gute Marktdurchdringung:
ca. 14 Mio. Laufwerke, ca. 200 Mio. Medien; aber: lange
Übertragungsgeschwindigkeiten.
Digital Audio Tape (DAT):
Herkunft von der Audio-Kassette,
Treibende Kräfte: Sony und Hewlett-Packard, Bandbreite 4 mm
(DAT) und 8 mm
(Exabyte), Schrägspuraufzeichnung (Helical
Scan), Milliarden schräger 23 mm langer Spuren.
Lesen/Schreiben: Vorbeiführen des Bandes an eine schräg
rotierende Trommel. Aber: Gefahr der Dejustierung der Köpfe
und damit Probleme beim Lesen alter Bänder! Geringe
Lebensdauer der Köpfe!
Was ist eine Tape-Library?
Um das Bandauflegen zu automatisieren, werden Tape-Roboter bzw. Tape-Libraries benutzt. Tape-Library in einem Gerät gehen bis zu 8 TB. Der Zugriff erfolgt automatisch. Damit lassen sich auch größere Datenbestände automatisiert (über das Netz) kopieren!
Wie arbeitet ein Nadeldrucker und wie ein Tintenstrahldrucker? Lassen sich mit dem letzteren Durchschläge anfertigen?
Nadeldrucker: Ein Satz von Nadeln (9 bis 24) wird elektrisch
über ein Farbband auf das Papier gedrückt. Es sind
Durchschläge möglich. Anzahl der Nadeln bestimmt
Qualität. Technisch veraltet, recht laut.
Tintenstrahldrucker (Inkjet): Druckknopf sprüht feine
Tintentröpfchen (0,3 bis 0,4 mm) auf das Papier.
Piezo-Kristall: Durch elektrisch bewirkte Verformung eines
Piezo-Kristalls wird die Tinte mechanisch herausgedrückt.
Bubble-Jet: Durch Erhitzung (Thermoelement, 300°C) wird mit
einer Blase explositionsartig die Tinte heraus getrieben.
Laser-Drucker: LASER = Light Amplification by Stimulated Emission of Radiation. Mit einem Laser wird
das Bild auf eine
lichtempfindliche Trommel gebracht, die sich entsprechend
elektrostatisch auflädt und dadurch Farbpulver (Toner)
festhält. Dieses Pulver wird auf das Papier gerollt und dort
eingeschmolzen.
Wieviele Katuschen hat ein Farb-Laserdrucker? Für welche Farben sind die Kartuschen zuständig?
4 Katuschen. CMYK: Cyan, Magenta, Yellow und Key (Schwarz).
Wieso wird beim CMYK-Farbmodell die Farbe Schwarz benötigt? Wofür steht CMYK? Arbeitet CMYK nach dem additiven oder nach dem subtraktiven Farbmodell?
Arbeitet nach subtraktiven Farbsystem.
Was ist ein Plotter? Können Plotter durch Drucker ersetzt werden?
Zeichengeräte (Plotter): Führen eines Stiftes (auch
mehrere, farbige) über das Papier, um eine Zeichnung
anzufertigen, keine Treppenstufeneffekte. Stifte: Faser,
Gasdruckminen, Stahlkugelschreiber. Niedrige
Ausgabegeschwindigkeit, aber Präzision.
(Positionierungsgenauigkeit unter 0,1 mm). Auch: Tintenstrahl- und
Lasertechniken. Der Stift und seine Führung wird (u.a. mit
speziellen Programmiersprachen) programmiert. Großformatiges
Papier möglich, z.B. DIN A0.
Plotter = großer Drucker.
Flachbett-Plotter: Das Papier liegt auf einer planen Fläche
und wird manuell aufgelegt bzw.
abgenommen. Der Stift kann beliebig
über das Papier fahren.
Trommel-Plotter: Das Endlospapier ist auf einer Rolle aufgerollt
und wird auf einer relativ kleinen Fläche bemalt; dann wird es
weiter gerollt. Trommelplotter können auch einen automatischen
Schneidemechanismus haben, der das Papier zerschneidet.
Was wird unter Scannen verstanden? Wie arbeitet ein Flachbett-Scanner? Wie arbeitet ein Dia-Scanner?
Scannen = Sequentielles Abtasten von Vorlagen und Umsetzen in
Bitmaps.
Bitmap = Kopie der Vorlage entsprechend Auflösung und
Farbtiefe.
Vorlagen können sein: Papier, Dia-Positive, Filmnegative.
Anzuschließen: Parallelschnittstelle, USB,
SCSI.
Funktionsweise: Lichtquelle bestrahlt die Vorlage. Vorlage
reflektiert das Licht. Reflektiertes Licht wird aufgenommen.
Zerlegung in Farbkomponenten entsprechend dem Farbmodell, meist RGB
(Rot-Grün-Blau). Bei Filmen wird die Vorlage nicht bestrahlt,
sondern durchstrahlt.
Flachbett-Scanner: Analog zu den Plottern: Vorlage wird auf plane
Fläche gelegt und durch Hinüberrollen mit einem Wagen
abgetastet.
Handscanner: Kleines Gerät zum Überstreichen der Vorlage.
Meist "verwackelt" und schief.
Dia-Scanner: Eigene Geräte zum Einsetzen von Diapositiven und
Filmen.
Trommel-Scanner: Original wird auf eine Trommel gebracht, das
während der Rotation abgetastet wird.
Leistungen: Auflösungen 300 - 600 dpi bis 2400
dpi, Farbtiefe
von 8 bit bis 24 bit (16,7 Mio. Farben), Größen: meist
DIN A4. Optionale Mechanik zum Einziehen von Vorlagen.
Wie arbeitet SCSI? Können beliebig viele Geräte angeschlossen werden? Wofür ist der Busterminator gut?
Small Computer System Interface (SCSI):
Bidirektionaler
50-poliger Bus zur Verbindung zwischen Computer und externen
Geräten. Jeder Teilnehmer kann Master werden. Es gibt einen
Schiedsrichter (Arbiter), falls mehrere gleichzeitig Master werden
wollen. Der Bus wird durch alle Geräte durchgeschleift, d.h.
jedes Gerät hat zwei Schnittstellen, die intern miteinander
verbunden sind. Am Ende muss der Bus durch eine spezielle Hardware
(Widerstände) abgeschlossen werden (zur Vermeidung von
Fehlern). In der Praxis zum Anschluss von Platten, CD-ROM,
Bandgeräten und Scanner benutzt.
Funktionsweise: Ist die Verbindung zwischen CPU und Gerät
hergestellt, so sendet die CPU nur noch
Kommandos, die vom
Gerät interpretiert werden. Das Gerät setzt die Kommandos
intern um, so dass die Ansteuer-Software auf Seiten der CPU
für
jede Klasse von Geräten dieselbe ist; es gibt daher keine
gerätespezifische Software. Als Antwort auf die Kommandos
werden die geforderten Informationen gesendet.
Bis zu 7 Geräte.
Wie arbeitet USB? Ist dort ein Terminator nötig? Lassen sich alle Komponenten während des Betriebs zusammenstecken (ohne dass es Probleme gibt)? Gilt das auch für Firewire?
Universal Serial Bus (USB):
max. 127 Geräte,
Geschwindigkeit 12 Mbit/s bzw.
1,5 Mbit/s (1.1), bis 480 Mbit/s
bei
Version 2.0, Anschluss und Konfiguration im laufenden Betrieb,
teilweise Stromversorgung durch das Kabel, Bus-Topologie (4-adriges
Kabel), aber sternförmiger Verdrahtung, an jedem heutigen PC
vorhanden.
Firewire (IEEE
1394): 1995 als Standard verabschiedet, Anschluss
und Konfiguration im laufenden Betrieb. Wie SCSI
wird der Firewire
durch die Gerät geschleift. max.
64 Knoten, max. Abstand
zwischen zwei: 4,5 m. Geschwindigkeit 100/200 bis 400 Mbit/s,
6-poliger Bus ohne Terminatoren.
Serielle Schnittstelle: RS 232-Schnittstelle,
V.90-Modem, Austausch
von Daten mit anderen Geräten,
z.B. Maus.
Parallele Schnittstelle: Anschluss an Drucker, Anschluss an
zip-Geräte.
Fragebogen 5 (Maschinen-Ebenen)
Beschreiben Sie die globale Schichtenstruktur von der Physik beginnend bis zu den Anwendungsprogrammen.
- Physik (Technologien, z.B. DTL, TTL), unterste Ebene
- Hardware (Aufbau der Hardware: CPU, Bus, I/O-Geräte)
- Maschine (CPU-Maschinenprogramme)
- Assembler (Assembler-Maschinenprogramme)
- Compiler (Programme höherer Programmiersprachen)
- Betriebssystem (Realisierte Komponenten des Betriebssystems)
- Anwendungen (Realisierte Anwendungsprogramme), oberste Ebene
Was ist ein Binärprogramm, was ein Objektprogramm und was ein Maschinenprogramm?
Ein direkt von der CPU ausführbares
Programm heißt
Binärprogramm oder Programm im Maschinencode; verkürzt:
Maschinencode.
Objektprogramm: Im Prinzip das gleiche wie Binärprogramm:
aber: nicht zusammengesetztes Binärprogramm.
Was ist ein Zeiger, was ein Pointer und was eine Adresse? Was bedeutet Dereferenzieren?
Pointer = Variable (Speicherzelle) mit den Werten von
Adressen.
Zeiger = Pointer (Deutsche Übersetzung).
Adresse = Nummer einer Speicherzelle im RAM.
Dereferenzieren = Den Inhalt eines Zeigers holen und den Wert der
Variablen an dieser Adresse holen.
Wann sind Adressen gültig? Wie werden ungültige Adresse als Werte von Zeigern gekennzeichnet? Weshalb ist dies erforderlich?
Eine Adresse ist gültig, wenn ein Dereferenzieren sinnvoll
ist - das ist es nur dann, wenn an der Adresse (Wert des Pointer)
eine Variable sich befindet. Ansonsten sind alle Werte eines
Pointer ungültig.
Zur absichtlichen Kennzeichnung ungültiger Pointer-Werte wird
eine bestimmte Adresse (Wert) reserviert. Dieser Wert wird nil
(nichts) oder null genannt. Meistens wird dafür eine 0 benutzt
(daher der Name null). Es kann aber auch eine hohe Adresse
verwendet werden, z.B.
0xFFFF FFFF
.
Die Operation Dereferenzieren ist ungültig, wenn der
Pointer-Wert ungültig ist.
Nennen Sie für eine fiktive CPU einen sinnvollen 1-Adress- und einen 3-Adress-Befehl. Welche Rolle spielt hierbei der Opcode? Was ist ein Opcode?
springe nach (1-Adress-), kopiere von nach (2 Adress-), addiere
1, 2, 3 und schreibe an Stelle 4 (3-Adress).
Repräsentation (Codierung) der Operation durch Opcode
(Operationscode).
Nennen Sie mindestens drei Beispiele für Adressierungsmodi. Was sind Adressierungsmodi?
Adressierungsmodus: Art und Weise, wie ein Operand
ausgedrückt wird.
Modi: Zugriff auf ein Register (clear R1
), RAM-Adresse
löschen (clear 0xFF00
), Register auf 17 stellen,
Immediate (Move R1, #17)
Der Stack Pointer SP ist offensichtlich ein Zeiger, ist dies auch der PC? Worauf würde er denn zeigen?
Programm Counter (PC): Register in der CPU, das die Adresse der nächsten bzw. aktuell ausgeführten Instruktion enthält.
Was wird unter Indizieren von Arrays verstanden? Welche Rolle spielt dabei der Offset oder das Displacement
Indizieren: Berechnen der Adresse eines Elements anhand
Startadresse und Index sowie anschließendes
Dereferenzieren.
Offset =
Displacement: Adressdifferenz
als Abstand von einem bestimmten Adresswert zu einem anderen.
Adresse des Elements = Startadresse + Adressdifferenz
Nennen Sie mindestens zwei Arten von Instruktionen.
arithmetische, kopier-, Sprünge, Subroutinen, Shiften, logische...
Welche Rolle bei Abfragen übernimmt das Status-Register bzw. das Processor-Status-Wort? Erläutern Sie an einem einfachen Beispiel die Zusammenhänge.
Speicherstelle soll abgerufen werden, ob gößer, kleiner Null. Holen in Register. Prüfen der Bits, Kondition-Codes (spiegeln Zustand des letzten Operanden wider). (move Ro, i: if i > 0 then ... else ...)
Welche Aufgaben hat ein Stack? Wie kann dieser organisiert werden? Gibt es zu den in der Vorlesung vorgestellten Konzept noch Alternativen? Falls ja, wie sehen diese aus?
Ein Stack ist eine Organisation eines Stück Speichers, um mit minimalen Aufwand beliebig komplexe arithmetische Ausdrücke sowie das Aufrufen von Unterprogrammen zu realisieren. Die push-Operation bringt einen Wert auf den Stack. Die pop-Operation holt den obersten Wert vom Stack und schreibt ihn in eine Variable. Stack werden in zwei Bereichen angewendet: Ausrechnen von Formeln und organisieren von lokalen Variablen.
Mit dem Stack soll der Ausdruck "a × (b+c)" berechnet werden. Zeichnen Sie die einzelnen Schritte auf dem Stack auf.
Bildbeschreibung "a × (b+c)": Erstens: a hinzufügen. Zweitens: b hinzufügen. Drittens: c hinzufügen. Viertens: b und c addieren. Fünftens: Ergebnis mit a multiplizieren.
Was ist eine Prozedur, was eine Funktion und was eine Subroutine?
Prozedur = Procedure = Routine = Methode = Funktion = Benanntes Stück Code, das angesprungen und ausgeführt werden kann, um am Ende wieder zurückzuspringen [die Begriffe werden später noch etwas differenziert]. Unter einer Subroutine wird hier der Oberbegriff für alle eben genannten Begriffe benutzt.
Worin besteht der wesentliche Unterschied zwischen Subroutinen und Makros?
Ein Makro wird immer dann wenn es aufgerufen wird, in die Stelle hineinkopiert. Eine Subroutine liegt nur ein eiziges mal im Speicher und wird dann immer angesprochen. Makros sind daher schneller.
Was ist ein Parameter und was sind lokale Variablen einer Subroutine?
Parameter: Wenn eine Subroutine zum Ausgeben einer
Integer-Variablen geschrieben werden soll, dann muss es
möglich sein, zu verschiedenen Zeitpunkten auch verschiedene
Integer-Variablen auszugeben. Um derartige Subroutinen schreiben zu
können, werden Parameter benötigt, über die der
Subroutine mitgeteilt wird, was und womit sie ihre Aufgabe
lösen soll. Parameter = Wert einer Variablen aus dem Bereich
der Aufrufenden Subroutine, mit der die aufgerufene Subroutine
arbeiten soll.
Lokale Variablen: Subroutinen benötigen für das Speichern
von Zwischenergebnissen auch Variablen, die aber während der
Subroutinen-Aktivierung vorhanden sein sollen. Diese Variablen
müssen beim Aufruf erzeugt sowie bei der Rückkehr wieder
entfernt werden. Da dies auch bei Schachtelungen
bzw. Rekursion
erfolgen soll, müssen diese Variablen auf den Stack gebracht
werden: So geschachtelt wie die Aufrufe, so geschachtelt sollen
diese Variablen vorhanden sein. Variablen, die während der
gesamten Laufzeit einer Subroutine existieren und mit deren
Beendigung verworfen werden, werden lokale Variablen genannt.
Was wird unter dem Kopf und was unter dem Körper einer Subroutine sowie eines Makros verstanden?
Kopf und Körper einer Subroutine: Kopf = Schnittstelle der
Subroutine nach außen. Körper = Body = Code einer
Subroutine ohne Parameter, d.h.
der Teil nach dem Anlegen der
lokalen Variablen bis zum Entfernen der lokalen Variablen.
Makro = Stück Code, der bei jedem Aufruf an die Stelle des
Aufrufs hineinkopiert wird. Wie eine Subroutine hat auch ein Makro
einen Kopf und einen Körper. Der Kopf definiert den Namen und
die Parameter, der Körper das, was beim Aufruf hinein-kopiert
werden soll. Der Aufruf selbst wird entfernt und stattdessen der
Körper eingesetzt.
Welche Aufgaben hat ein Assembler? Wodurch unterscheidet sich ein Assembler - außer in der Programmiersprache - von einem Compiler?
Assembler: Übersetzer für Programme in einer symbolischen Maschinensprache. Die Sprache Assembler ist für jeden CPU-Typ anders und spiegelt die Eigenarten der CPU-Architektur (Register, Befehlssatz usw.) wieder. Zur Assembler-Sprache gehören
- Befehle (Instruktionen) der CPU
- Makros als Zusammenfassungen mehrerer Befehle
- Anweisungen zur Reservierung von Speicherplatz
- Anweisungen zur Belegung von Speicherplatz
Der Assembler übersetzt das Assembler-Programm in ein
maschinen-codiertes Format, dem Objekt-Format. Diese Dateien
heißen daher Objekt-Dateien.
Höhere Programmiersprachen, wie
z.B. C oder Java, werden
durch Compiler in Maschinensprache übersetzt.
Compiler = Übersetzer für Programme in einer höheren
Programmiersprache, die sich dadurch auszeichnet, dass ein
Statement dieser Sprache in mehrere Befehle in der Maschinensprache
übersetzt werden muss.
Was ist bei einem Compiler ein Pass? Warum werden mehrere Durchläufe benötigt?
Das Übersetzen erfolgt in mehreren Durchläufen (Pass), in denen das gesamte Programm vollständig gelesen und interpretiert wird. Nach jedem Durchlauf wird das Programm in überarbeiteter Form neu in einer speziellen Datei angelegt; diese wird bei dem nächsten Durchlauf benutzt, so dass beginnend vom ursprünglichen Programm über mehrere Dateien am Ende das Maschinenprogramm entsteht.
Welche Aufgaben hat ein Linker (Binder)? Welche Rolle spielen dabei die Objektbibliotheken?
Der Binder (Linker, Linkage Editor) setzt das endgültige Programm unter Verwendung von Binärbibliotheken zusammen und positioniert die globalen Variablen. Erst dessen Ergebnis kann ausgeführt werden. Der Binder durchsucht Objektbibliotheken, um ein unvollständiges Programm mit den nicht selbst programmierten, aber aufgerufenen Subroutinen zu ergänzen. Am Ende ist eine maschinen-ausführbare Datei entstanden.
Was wird unter CISC, und was unter RISC verstanden?
CISC = Complex Instruction Set Computer.
RISC = Reduced Instruction Set Computer.
Fragebogen 6 (Betriebssysteme / Virtueller Speicher)
Betriebssysteme:
Was ist ein Betriebssystem?
Definition Betriebssystem [DIN 44300]: Die Programme eines
digitalen Rechensystems, die zusammen mit den Eigenschaften der
Rechenanlage die Basis der möglichen Betriebsarten [..] bilden
und insbesondere die Abwicklung von Programmen steuern und
überwachen.
An operating system is a set of
programs and routines which guide a computer in the performance of
its tasks and assist the programs (and programmers) with certain
supporting functions. A.P. Sayers (1971)
Aber auch: Ein Betriebssystem ist eine Sammlung von Dingen,
die nicht in eine Programmiersprache passen. Deswegen sollte es
keines geben. Daniel Ingalls (1981)
Welche Aufgaben hat ein Betriebssystem?
- Steuerung und Überwachung der
Programmausführung
Starten und Stoppen von Programmen - Betriebsmittel verwalten und optimiert zuordnen:
Speicher, CPU, Platten, Drucker, periphere Geräte - Kosten der Benutzung erfassen (Accounting)
- Zugang und Berechtigungen prüfen:
Passwortschutz, Zugriffe auf Betriebsmittel - Ausfallschutz realisieren:
z.B. RAID - Verbindungen mit anderen Rechnern bereitstellen
Was ist ein Programm und was ein Prozess?
Programm: Menge von Instruktionen die ausgeführt werden
können.
Prozess = eigenständiges laufendes Programm parallel zu
anderen Programmen.
Können zwei Programme gleichzeitig in einem Prozess ablaufen?
Nein.
Wie gelingt es prinzipiell einem Betriebssystem auf einer CPU mehrere Prozesse quasi gleichzeitig, parallel ablaufen zu lassen?
Beim Mehrprogrammbetrieb sind mehrere gleichzeitig parallel laufende Programme (Prozesse) möglich (Single/Multi Tasking).
Was bedeutet Multi-User-Fähigkeit eines Betriebssystems? Bedeutet dies, dass mehrere Personen gleichzeitig oder auch nacheinander an demselben Rechner arbeiten können?
Beim Mehrbenutzerbetrieb können mehrere Personen getrennt dieselben Betriebsmittel benutzen. Nur bei widersprechender Benutzung derselben Mittel treten Störungen auf (Single/Multi User Mode).
Was wird unter einem Kernel (Kern) verstanden?
Ein Betriebssystem besteht aus einem residenten Teil im
Arbeitsspeicher, dem Kern, einigen ständig laufenden
Programmen und vielen vorhandenen Programmen.
Kernel = Kern = residenter Teil des Betriebssystems.
Nennen Sie zwei Betriebssysteme für PC, die eine individuelle Anmeldung von Benutzern einschließlich einer Abschottung untereinander realisieren.
Unix/Linux, Windows NT (ab 4.0)/ME/2000
Virtueller Speicher:
Für die Kommunikation mit den I/O-Geräten kann Memory-Mapped-I/O benutzt werden. Was bedeutet dies?
Memory-Mapped-I/O: Alle Geräteregister der I/O-Geräte erhalten eine über den Adressbus benutzbare Adresse und sind somit mit allen Instruktionen erreichbar.
Wie sieht bei Memory-Mapped-I/O typischerweise die Belegung des physikalischen Speichers aus?
Der Bereich der Adressen, der über den Adressbus benutzbar ist, wird Physikalischer Adressraum genannt. In der Regel ist dieser Adressraum in folgende Teile von den niedrigen zu den hohen Adressen aufgeteilt: Kernel des Betriebssystems; Bereich für Prozesse bzw. Programme; Lücke, da der gesamte mögliche Adressraum kleiner als die benutzten Adressen ist; Bereich der Geräteregister; Weiterhin gibt es noch den Bereich für den EPROM.
Wie arbeitet prinzipiell eine MMU? Was bedeutet MMU?
Memory Management Unit (MMU):
Die MMU ist ein Filter zwischen
CPU und Bus, das folgende Aufgaben hat: Prüfung,
ob eine
Adresse in dem zulässigen Bereich zwischen 0 und einem
definierten Maximum liegt. Verschiebung der von der CPU
generierten
Adresse auf die richtige Stelle im Adressraum des Busses durch
Addition einer Basisadresse.
Die MMU baut einen "Käfig"
auf, der jeden Zugriff
nach außen unterbindet. Versucht ein Prozess außerhalb
zuzugreifen, wird die Instruktion aufgrund eines Signals von der
MMU abgebrochen. Das Programm terminiert (in
der Regel).
Was ist eine Virtuelle, was eine Reale und was eine Physikalische Adresse?
Adressen der CPU, die von der MMU verarbeitet werden, werden virtuelle Adressen genannt. Die umgerechneten Adressen werden physikalische oder reale Adressen genannt.
Kennen I/O-Geräte Virtuelle Adressen?
Nein. Nur CPU kennt virtuelle Adressen.
Was ist ein Segment? Was ist eine Seite (Page)? Was ist eine Kachel?
Ein Bereich eines Arbeitsspeichers, der virtuell bei 0 beginnt,
wird Segment genannt.
Beim Segmentieren muss immer noch der gesamte Prozess in den
RAM
passen. Um nur die wichtigen Teile in den RAM
einzulagern
und alles andere auf dem Swap-Gerät
zu lassen, wird dieses Segment in gleich große Seiten (Pages, Kacheln) eingeteilt, werden
nur die Seiten, die gebraucht werden, in den RAM
geladen.
Typische Seitengrößen liegen bei 4 bis 8 KB (Seite =
Page = Kachel).
Welche Möglichkeiten für Speicherverletzungen gibt es? Nennen Sie Beispiele. Was passiert, wenn die MMU eine Speicherverletzung der CPU meldet?
Bsp.: Adresse ist zu groß oder negativ. Die CPU versucht was zu tun, MMU meldet: nichts ist. CPU bricht Programm ab, Fehlermeldung (trap).
Was passiert beim Swap Out und was beim Swap In?
Wenn ein Programm ausgeführt werden soll, wird es in den RAM gebracht (Swap in), wenn es pausiert, wird es aus dem RAM ausgelagert (Swap out). Dieses Verlagern wird Swapping genannt.
Was für ein Ziel wird mit dem Swapping erreicht?
- Alle Segmente müssen zusammen in den Arbeitsspeicher passen.
- Das größte Segment (längste Programm) ist auch durch die Größe des Arbeitsspeichers begrenzt.
Um die 1. Eigenschaft zu beseitigen, wird ein Stück
Plattenspeicher als Arbeitsspeichererweiterung benutzt. Dieser
Plattenbereich ist um ein Vielfaches größer als der
Arbeitsspeicher, so dass nun alle Segmente zusammen auf die Platten
passen müssen, aber nicht zusammen in den
Arbeitsspeicher.
weiter siehe 8.
Was ist der Sinn des Paging? Was passiert beim Paging? Ist das Paging dem Swapping überlegen?
Der virtuelle Adressraum wird durch Aufteilung der virtuellen Adresse in zwei Bitfelder in gleich großer Seiten eingeteilt. Jede Seite erhält von der MMU einen eigenen Deskriptor, der jetzt ohne ein Längenfeld auskommen kann, d.h. es gibt jetzt sehr viele Deskriptoren. Ist die Basisadresse im Deskriptor 0, dann ist die Seite ausgelagert, was bei einem Zugriff zum Abbruch der Instruktion führt, ansonsten liegt die Seite an der angegebenen Stelle. Alle Zugriffe auf eingelagerte Seiten passieren ohne Probleme die MMU.
Was bewirkt das Dirty-Bit einer Seite beim Swap Out? Und was beim Swap In?
Bei jedem Schreibzugriff durch die CPU wird eine Seite als modifiziert markiert (Setzen des dirty-Bits). Seiten ohne gesetztes dirty-Bit brauchen beim Auslagern nicht auf das Swap-Gerät geschrieben werden.
Mit welchem Mechanismus kann die CPU die MMU-Register auslesen bzw. beschreiben? Wann muss dies erfolgen? Nennen Sie zwei Beispiele.
Mechanismus: Wie I/O-Gerät, Device Register. Wann: Bei jedem Prozesswechsel.
Werden nicht die Programme durch das Swapping langsamer? Falls ja, wieso wird denn Swapping eingeführt?
Ja.
Fragebogen 7 (Prozesse)
Was wird unter Polling und was unter Busy Waiting verstanden?
Polling: Befragung der
CPU
nach dem Status
Busy Waiting:
Ausschließliches Polling
Welche Aufgaben hat der Scheduler?
Der Scheduler ist ein Prozess bzw. eine Routine innerhalb des Kernel, die für folgende Aufgaben zuständig ist: Mitschreiben, welche Prozesse existieren (in der Prozesstabelle), Vermerken, welcher Prozess zu welchem Anteil die CPU schon bekommen hat, Vermerken des Prozesszustandes, Ändern des Prozesszustands entsprechend der Situation, Zuteilen der CPU den nächsten Prozess.
Prozesse haben aus der Sicht der Scheduler Zustände. Nennen Sie mindestens zwei und beschreiben sie, was sie bedeuten.
- Running: Prozess hat gerade die CPU
- Ready: Prozess wartet auf CPU
- Waiting: Prozess wartet auf Beendigung von I/O
- Sleeping: Prozess benötigt später die CPU
Was ist ein Interrupt? Worin besteht der Unterschied zwischen einem Interrupt und einem Trap?
Wenn ein I/O-Gerät seine Operation beendet hat, sendet es über den Bus ein Signal, das von der CPU als Unterbrechung (Interrupt) behandelt wird.
Welche Möglichkeiten für die Behandlung einer Unterbrechung durch ein I/O-Gerät gibt es? Beschreiben Sie die beiden Verfahren der Interrupt-Handler.
In der ersten Version wird das aktuell laufende Programm lediglich unterbrochen und nach Bearbeiten des Prozesstabelle wieder fortgeführt. Dies hat den Nachteil, dass Prozesse, die auf den Interrupt lange gewartet haben, noch weiter warten müssen.
In der zweiten Version wird direkt nach dem Bearbeiten der Prozesstabelle zum Scheduler gewechselt, der dann entscheidet, mit welchem Prozess es weiter geht. Der Scheduler durchsucht bei jedem seiner Aufrufe die gesamte Prozesstabelle nach Prozessen im Zustand "Ready" bzw. "Running", um einen von diesen auszuwählen. Alle anderen Prozesse werden von ihm ignoriert.
Interrupt-Handler (Unterbrechungsbehandler): Dieser tut folgendes
- Feststellen, welches Gerät den Interrupt signalisierte.
- In der Prozesstabelle alle Prozesse, die auf diesen Interrupt warteten, in den Zustand Ready zu bringen.
Warum sollte eine Interrupt-Handler möglichst schnell arbeiten?
Was passiert, wenn alle Prozesse auf I/O warten? Ganz einfach: dann findet der Scheduler keinen Prozess, den er aktivieren kann und durchsucht in einer Endlosschleife seine Prozesstabelle bis er unterbrochen wird. Dieser Interrupt-Handler setzt dann einen der Prozesse auf "Ready" und kehrt in der 1. Version einfach zurück; dann findet der Scheduler, was er suchte. In der 2. Version würde er ja sowieso aktiviert werden....
Welche Aufgaben hat der Timer bei einem Time-Sharing-Verfahren?
Ein Timer ist ein spezielles I/O-Gerät, das nach einer eingestellten Zeit bzw. in zyklischen Abständen einen speziellen Interrupt sendet. Dieser wird immer mit dem Aktivieren des Scheduler aus dem Handler heraus behandelt.
Was ist eine Zeitscheibe?
Die Dauer zwischen zwei Timer-Interrupts wird Zeitscheibe genannt.
Worin besteht die Round-Robin-Strategie?
Zyklisches FIFO (First In First Out) oder Round-Robin: Den Prozessen wird zirkulär hintereinander die CPU gegeben, wobei die Zeitscheiben in der Regel gleichlang sind.
Nennen Sie zur Round-Robin-Strategie eine alternative Strategie und beschreiben Sie diese.
High Priority First: Alle Prozesse haben eine Priorität. Prozesse mit der höchsten Priorität werden bevorzugt. Prozesse mit niedriger Priorität bekommen nur dann die CPU, wenn höherwertige Prozesse im Status "Waiting" oder nicht vorhanden sind.
Fragebogen 8 (Dateisysteme)
Welche Aufgaben hat ein Gerätetreiber? Muss für jedes auf dem Markt vorhandene Gerät ein eigener Treiber geschrieben werden?
Das Berechnen der Zylinder, Spuren, Sektoren anhand der Blocknummer (sowie der umgekehrte Weg) erledigt ein Treiber (Device Driver) mit einer für alle Geräte gleichen Kernel internen Schnittstelle.
Alle Treiber haben innerhalb des Kernel eine einheitliche Schnittstelle (API), die im Prinzip wie folgt aufgebaut ist:
Init()
- Initialisieren des GerätsOpen()
undRelease()
: Beginn und Ende der VerarbeitungRead()
: Lesen von SektorenWrite()
: Schreiben von SektorenControl()
: Modi, StatuswertePoll()
: Nachfragen, ob I/O-Vorgang beendetLseek()
: Positionieren
Dadurch wird es sehr einfach, unterschiedliche Geräte in den Kernel einzubinden, da alle Besonderheiten der Geräte in den Treibern versteckt sind.
Worin bestehen die Vorteile einer einheitlichen Treiberschnittstelle innerhalb des Kernel? Und welche Nachteile?
Der Kernel ist in zwei Bereiche eingeteilt: 1. Geräte-unabhängiger Teil (dieser ist für alle Geräte gleich; hier ist der globale Algorithmus der Syscalls realisiert), 2. Treiber (geräteabhängig). Die Treiberroutinen sind die, die an die Geräte-Register gehen, den Interrupt-Handler stellen, die DMA-Operationen veranlassen [die Schnittstelle zum Geräte-unabhängigen Teil des Kernel ist in Wirklichkeit etwas komplizierter]. Diese Routinen werden in der Regel von dem Hersteller der I/O-Hardware programmiert und müssen zur Installation des Geräts installiert, d.h. dem Betriebssystem zugänglich gemacht werden.