GTI-Grundlagen der technischen Informatik
Sämtliche Themen, welche relevant sind um die technische Informatik zu erlernen.
Sämtliche Themen, welche relevant sind um die technische Informatik zu erlernen.
Set of flashcards Details
Flashcards | 178 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | Other |
Created / Updated | 16.11.2020 / 24.09.2023 |
Weblink |
https://card2brain.ch/box/20201116_gtigrundlagen_der_technischen_informatik
|
Embed |
<iframe src="https://card2brain.ch/box/20201116_gtigrundlagen_der_technischen_informatik/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was ist eine Interrupt Service Routine (ISR)?
Das ist die Routine, welche dann ausgeführt wird, wenn der Interrupt kommt.
Was ist swapping.
Unter Swapping versteht man das Aus- bzw. Einlagern eines kompletten Prozesses.
Was ist Paging?
Unter Paging versteht man das Ein- bzw. Auslagern von Teilen eines Prozesses.
Was ist ein Stack?
Eine Datenstruktur. Der Stack dient zum Ablegen von Daten.
Jedoch können nur immer auf die obersten Daten zugegriffen werden.
FILO Prinzip (First in Last out)
Dazu dienen die Operationen;
Push (etwas in den Stack legen)
Pop/Pull (oberstes Element aus dem Stack nehmen)
Peek (oberstes Element lesen)
Was sind logische Adressen?
Adressen aus Sicht des Programms/Prozesses
Auf dieser Ebene arbeitet das Programm
Was ist die physikalische Adresse?
Definiert durch Adressbusbreite und physikalischer Speicher
Hardwarespeicher z.B 32-Bit gleich max 4 GB
Was ist der virtuelle Adressraum?
Ist eine logische Adressierung zur effizienten Nutzung des physikalischen Speichers.
Was ist die MMU?
Memory Management Unit. Dient zur Umsetzung zwischen
logischen und physikalischen Adressen (address translation)
Was ist ein Prozess und was Charakterisiert diesen?
• Ein Prozess wird vom Betriebssytem erzeugt, wenn ein Programm gestartet wird.
• Ein Prozess besteht aus mehr als nur Code.
• Ein Prozess braucht Ressourcen wie Speicher, E/A Geräte, CPU usw.
• Mehrere Prozesse können quasi Parallel laufen. Der CPU wird geteilt. Bei Multikern Prozessoren werden die Prozesse auf mehreren Prozessoren verteilt.
• Der Status eines Prozesses muss überwacht werden.
Die Integrität des Speicherbereichs eines Prozesses muss gewährleistet werden, d.h. ein Prozess hat seinen eigenen Adressraum und kann nicht durch anderen Prozesen überschrieben werden. Die Variablen eines Prozesses sollen nicht von einem anderen Prozesses überschrieben werden.
• Laufende Prozesse (d.h. Programme + ihre Laufzeitumgebung) sind im Hauptspeicher geladen, damit der CPU die Befehle eines Programms adressieren kann.
• Das Data Segment eines Prozesses enthält die globalen Variablen eines Programms
Der Heap ist ein Speicherbereich, der vom Prozess benutzt werden kann um Speicher für Objekte, Arrays, usw. zur Laufzeit dynamisch zu allozieren. Der Prozess weiss nicht im Voraus, wie viel Speicher für den Heap benutzt wird. Ein Defaultgrösse wird reserviert. Der Heap kann zur Laufzeit wachsen und schrumpfen.
Was ist ein process control block (PCB)?
- Datenstruktur, der im Kern platziert wird.
-enthält:
-Prozesscharakteristika (prozesskennung, name)
-Zustandsinformationen (Befehlszähler, stapelzeiger, registerinhalte)
-Verwaltungsdaten (priorität, rechte, Statistikdaten)
Ein PCB ist eine Datenstruktur, die von Betriebssystemen zum Speichern aller Informationen über einen Prozess verwendet wird. Es wird auch als Prozessdeskriptor bezeichnet. Wenn ein Prozess erzeugt wird, erstellt das Betriebssystem einen entsprechenden PCB.
Ein PCB enthält wichtige Information über einen laufenden Prozess wie eine Prozess-ID (PID), einen Status und Kontrollinformationen. Die PID ist wichtig, damit der Prozessverwaltungsprozess des Betriebssystems jeden Prozess eindeutig identifizieren kann und entsprechend handeln kann.
Was sind Threads?
Ein Thread ist Teil eines Prozesses - eine nebenläufige Ausführungseinheit (preemptable execution unit) eines Prozesses Ein Prozess besteht aus mindestens einem Thread, kann aber aus mehreren Threads aufgeteilt werden, je nach Aufgabenstellung des Programms. Threads innerhalb eines Prozesses teilen dem gleichen Adressraum, die globalen Variablen werden gemeinsamgenutzt. Threads können unterscheidliche Prioritäten haben Thread-Kontext – Ein Thread erbt alle offenen Datein und Netzwerkverbindungen eines Prozesses Sie verfügen über einen eigenen Threadkontext, eigene Register und Befehlszähler – TCB – Thread Controlblock. Leichtgewichtig – weniger Kontextinformation brauchen, weniger Overhead für das Betriebssystem
Warum Prozesse in Threads unterteilen?
In Multikernsysteme, gibt es eine echte Parallelität. Diese Eigenschaft soll in der Software ausgenützt werden, um die Effizienz des Rechners zu optimieren Threads ermöglichen einen schnelleren Kontextwechsel, da weniger Information (z.B. gemeinsame Daten) gelesen und geschrieben werden muss. Eine Kommunikation kann auf Bas.is von Shared Memory zwischen Threads implementiert werden Dafür mussen die Zugriffe auf die Datem synchronisiert (z.B. mittels Locks) - Eine unvorsichtige Programmierung könnte zu Race Conditions führen.
https://www.youtube.com/watch?v=TGgUEamLvGs
Welche CPU-Scheduling Strategien gibt es?
Round Robin (RR
Shortest Job First (SJF)
Shortest Running Time (SRTN)
First in First Out (FIFO)
Round Robin mit Prioritäten
Erklären Sie First Come First Served Scheduling
Beim FCFS-Algorithmus werden die Aufträge in der Reihenfolge zugeteilt und abgewickelt, wie sie eingegangen sind. Zuerst eingehende Aufträge werden auch zuerst bedient. Bezogen auf die Steuerung der Schreib-/Leseköpfe von Festplatten bedeutet dies, dass die Daten beliebig auf der Festplatte positioniert werden können, ohne größeren Zeitverlust.
Was ist ein Hostbetriebssystem?
Im Hostbetriebssystem läuft eine virtualisierende Systemsoft- ware, die als Virtual Machine Monitor (VMM) oder Hypervisor bezeichnet wird.1
Was ist das Gastbetriebssystem?
Das Gastbetriebssystem arbeitet so, als ob es über die volle Kontrolle der Hard- ware verfügt. In Wirklichkeit wird die Hardware aber vom Hostsystem kontrol- liert und verwaltet. Sofern sich die Befehlssätze von Host und Gast unterscheiden, wird durch den VMM auch eine Emulation der Befehle durchgeführt.
Was ist Servervirtualisierung
Bei diesem Ansatz werden serverseitig eingesetzte Rechnersysteme mit dem Ziel virtualisiert, die Anzahl der Serverrechner im Unternehmen zu reduzieren. Man spricht in diesem Zusammenhang auch von einer virtuellen Infrastruktur, von der man sich neben Kosteneinspa- rungen (Energie-, Hardware-, Lizenzeinsparung) auch eine einfachere Ad- ministrierbarkeit verspricht.
Was ist Desktopvirtualisierung?
Hier werden ganze Arbeitsplatzrechner einschließlich aller Anwendungen und Konfigurationen virtualisiert. Ziele sind ebenfalls eine einfachere Administrierbarkeit der Arbeitsplätze sowie eine Einsparung der Hardwareausstattung für den Arbeitsplatz.
Was ist Anwendungsvirtualisierung?
Bei dieser Art der Virtualsierung, bei der es sich im eigentlichen Sinne nicht um eine Betriebssystemvirtualisierung handelt, werden Anwendungen und deren Umgebungen virtualisiert.
Was ist Onlinevirtualisierung?
Die Onlinevirtualisierung entspricht im Wesentlichen dem Konzept des Terminalserver-Betriebs (Kapitel 2), in dem die clientseiti- gen Anwendungen vollständig in sog. Serverfarmen ablaufen und nur noch die Präsentationsinformation zu den Arbeitsplatzrechnern übertragen wird. Auch hier wird nicht das Betriebssystem virtualisiert. Die Anwendungen laufen vielmehr zentral wie in der klassischen Mainframes-Technologie ab, was einen wesentlichen Vorteil bei der Administration mit sich bringt, da die Softwareverteilung auf die Serverseite beschränkt wird.
Was sind Vorteile der Virtualisierungssoftware?
Es ist weniger Hardware bei günstiger Hardwareauslastung erforderlich
– Weniger Leistungsaufnahme für Rechner und Klimatisierung (Stromver-
brauch niedriger)
– Hohe Flexibilität beim Aufbau einer Infrastruktur durch schnelle Bereitstel-
lung neuer VMs. Virtuelle Systeme sind auch nahezu beliebig verviel- fältigbar und archivierbar. Zudem ist die Migration von Betriebssystemen auf andere Rechnersysteme sowie ein Technologiewechsel ohne Betriebsun- terbrechung möglich
– Virtualisierung ermöglicht eine vereinfachte Wartung der kompakteren Hardware
– Virtualisierung unterstützt Verfügbarkeits- und Ausfallsicherheitskonzepte
– Virtualisierung unterstützt auch historische Anwendungen mit älteren Be-
triebssystemversionen
Was sind Nachteile der Virtualisierung?
Nachteilig ist u. a. eine etwas geringere Leistung als bei realer Hardware. Man rechnet mit einem Overhead von 5 bis 10 Prozent für die Virtualisierung (Baun 2009). Auch die Virtualisierung von spezieller Hardware, z. B. Hardware-Dongles und spezieller Grafikkarten ist schwierig. Hinzu kommt, dass bei Ausfall eines Serverrechners gleich mehrere virtuelle Rechner ausfallen, wodurch hohe Anfor- derungen an die Ausfallsicherheit der Hardware gestellt werden.
Was ist eine vollständige Virtualisierung ?
Man spricht von einer vollständigen Virtualisierung oder Vollvirtualisierung, wenn die Gastbetriebssysteme nicht verändert werden müssen, um in der Virtualisierungsumgebung zum Ablauf zu kommen. IBM- Prozessoren (System z) unterstützen z. B. vollständige Virtualisierbarkeit. Ist keine Vollvirtualisierung möglich, müssen die Gastbetriebssysteme angepasst werden.
Was ist der Benutzermodus?
Im Benutzermodus (Usermodus) laufen üblicherweise Anwendungsprogram- me ab. In diesem Modus ist ein Zugriff auf kernelspezifische Code- und Da- tenbereiche nicht möglich
Was ist der Kernelmodus?
Im Kernelmodus (privilegierter Modus) werden Programmteile des Betriebs- systems ausgeführt, die einem gewissen Schutz unterliegen. Damit kann das Betriebssystem auch eine Abschottung von Datenstrukturen und Codeteilen des Betriebssystems vor Zugriffen aus Anwendungsprogrammen heraus vornehmen
Was ist ein privilegierter Befehl?
Ein Maschinenbefehl ist dann privilegiert, wenn er eine Ausnahme und damit einen Trap in den höher privilegierten Modus erzeugt, sofern er im Benutzermodus aufgerufen wird. Wird ein privilegierter Befehl im Kernelmodus aufgerufen, löst er keine Ausnahme aus.
Was ist ein nicht privilegierter Befehl?
Nicht privilegierte Befehle können in allen Modi, ohne eine Ausnahme zu erzeu- gen, ausgeführt werden.
Was sind sensitive Befehle?
Befehle, die entweder zustandsverändernd sind oder sich je nach Modus, in dem sie ausgeführt werden, unterschiedlich verhalten. Hierzu gehören z. B. Befehle für den Zugriff auf I/O-Geräte oder auf spezielle interne Adress- und Steu- erregister. Sensitive Befehle sollten eine Teilmenge der privilegierten Befehle sein und bei einem Aufruf in einem nicht privilegierten Betriebsmodus eine Ausnahme und damit einen Sprung in einen privilegierten Betriebsmodus erzwingen.
Was sind kritische Befehle?
Diese sind sensitiv, aber nicht privilegiert (siehe Abbildung 9-2). Sie lösen bei Aufruf im Benutzermodus keinen Trap aus und können somit von einer VMM nicht abgefangen werden. Die kritischen Befehle stellen, wie die Bezeichnung schon andeutet, ein Problem dar.
Welche Virtualisierungsarten gibt es?
Server-Virtualisierung
Desktop-Virtualisierung
Application-Virtualisierung
Netzwerk-Virtualisierung
Software-Defined-Storage
Was ist eine virtuelle Maschine?
Antwort Foto
. Was ist der Unterschied zwischen Polling und interruptgesteuerter Verarbeitung?
Unter Polling versteht man das zyklische Abfragen von einer Ereignisquelle bzw. mehreren Ereignisquellen (z. B. E/A-Geräte), um deren Kommunikationsbereitschaft festzustellen bzw. um anliegende Ereignisse oder Kommunikationswünsche der Ereignisquelle abzufragen.
Im Gegensatz zu Polling sind Interrupts (Unterbrechungen) sog. Betriebssystembedingungen oder asynchrone Ereignisse, die den Prozessor veranlassen, einen vordefinierten Code auszuführen, der außerhalb des normalen Programmflusses liegt. Überwachte Ereignisquellen müssen nicht ständig abgefragt werden, sondern die Ereignisquellen melden sich beim Auftreten eines Ereignisses, das behandelt werden muss.
Was ist der Nachteil bei Polling?
Polling hat den Nachteil, dass die CPU ständig 11 Lösungen zu den Übungsaufgaben 326 arbeiten muss und damit die Effizienz eines Systems beeinträchtigt ist. Die meiste Zeit wird umsonst nachgefragt.
Was ist der Unterschied zwischen den Exception-Typen Fault und Trap? Nennen Sie jeweils ein Beispiel!
Faults sind Unterbrechungen vor der Befehsausführung wie z. B. Seitenfehler. Traps sind Unterbrechungen nach der Befehlsausführung, die z. B. bei einer Division durch 0 auftreten.
Wozu dient ein Systemcall und wie wird er üblicherweise von einem Betriebssystem wie Windows oder Unix ausgeführt?
Ein Systemcall ist ein synchroner, also ein vorhersehbarer und reproduzierbarer Interrupt und wird auch als Software-Interrupt bezeichnet. Ein Systemcall ist ein Dienstaufruf an das Betriebssystem, bei dessen Ausführung in den Kernelmodus gewechselt wird. Der Kontrollfluss wird dabei meist von einem Anwendungsprogramm an den Kernel übergeben.
Was bedeutet „Maskierung“ von Unterbrechungsanforderungen?
Eine Maskierung ist das explizite Ausschalten eines Interrupts für ein bestimmtes Gerät. Die Maskierung erfolgt für gewöhnlich über ein Maskenregister (Interrupt Mask Register). Für jede Interrupt-Quelle wird in dem Register ein Maskierungsbit verwaltet. Wird das Bit auf 1 gesetzt, ist der Interrupt ausgeschaltet.