ZHAW BSY 2020

Lernkarten zu den Lernzielfragen. Informatik, BSY, ZHAW, 2020

Lernkarten zu den Lernzielfragen. Informatik, BSY, ZHAW, 2020


Kartei Details

Karten 111
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 09.06.2020 / 20.06.2022
Weblink
https://card2brain.ch/box/20200609_zhaw_bsy_2020
Einbinden
<iframe src="https://card2brain.ch/box/20200609_zhaw_bsy_2020/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Diskutieren Sie den Unterschied zwischenDeadlock PreventionundDeadlock Avoidance.

Verhindern: daf ̈ur sorgen, dass mindestens eine der vier Deadlock Bedingungen nicht eintrifft.Vermeiden: Ressource wird nur vergeben, wenn kein Deadlock entstehen kann.

Nennen Sie die drei Bedingungen, die einen Deadlock m ̈oglich machen. Welche vierte Bedingungmuss auftreten, damit ein Deadlock ensteht?

Gegenseitiger Ausschluss, Hold and Wait (Task gibt belegteRessource nicht frei), no preemption(Ressource kann dem Task nicht weggenommen werden, Circular Wait: Kreis von Anforderungenund Alloktaion besteht

Wie l ̈asst sich beim Anfordern von Ressourcen einCircular Waitverhindern?

Ressourcen immer in der gleichen Reihenfolge anfordern.

Nennen und diskutieren Sie Gr ̈unde, wieso mehrere Tasks gemeinsam eine Aufgabe l ̈osen sollen

Parallelverrabeitung: Leistungssteigerung, Benutzerfreundlichkeit: Print-Spooling, gleichzeitigmehrere Aufgaben l ̈osen, Informationsaustausch, etc.

Was ist der Unterschied zwischen Interprozesskommunikation und Synchronisation?

Interprozesskommunikation: Austausch von Daten, Synchronisation: Austausch von Kontrollin-formation.

Erl ̈aren und und diskutieren Sie eine m ̈ogliche Klassifizierung der Kommunikationsmodelle.

Message Passing: Austausch von Meldungen, implizite Synchronisation, Shared Objects: Zugriffauf gemeinsame Objekte (gemeinsamer Adressraum): meist explizite Synchronisation, ObjectStreams: Daten str ̈omen vom Sender zum Empf ̈anger (Daten ein bis mehrere Bytes).

Erkl ̈aren und diskutieren Sie im Zusammenhang mit Message Passing die BegriffeasynchroneKommunikation,synchrone KommunikationundRendez-Vous

Asynchron: Sender und Empf ̈anger blockieren nicht, Synchron: Sender oder Empf ̈anger blockiert,Rendez-Vous: Sender und Empf ̈anger blockieren.

Wie sind Messages (Nachrichten) grunds ̈atzlich aufgebaut?

Header und Daten, Header: Sender, Empf ̈anger, Steuerinformation, Typ, L ̈ange.

Welche M ̈oglichkeiten f ̈ur die indirekte Adressierung gibt es bei Message Passing? Was ist derUnterschied zwischenPortundMailbox? Wer istBesitzereiner Mailbox oder eines Ports?

one to one, one to many, many to one, many to many, Port: X to one,Mailbox: X to many.Port geh ̈ort i.d.R. dem Empf ̈anger, Mailboxes oft dem Betriebssystem.

Erkl ̈aren und diskutiere Sie, wie unter Unix/Linux eine Posix Message Queue aufgesetzt wirdund wie der Kernel die Queues verwaltet.

message queue descriptor mit mqopen() undNamenerzeugen, der Kernel f ̈uhrt Tabelle mitqueue-Eintr ̈agen, Verwaltung wie bei File Systemen.

Wie kann mit Hilfe von Message Passing ein Mutex realisiert werden? Diskutieren Sie dieseM ̈oglichkeit

Alle involvierten Prozesse kommunizieren mit einer Mailbox, inder nur eine Meldung, dasSynchronisationstoken abgelegt wird: der Besitzer des Tokenhat Zugriff auf die gemeinsamenDaten, muss nach Nutzung zur ̈uckgelegt werden.

Wie werden Posix Interprozesskommunktions-Ressourcen unter Unix/Liunx verwaltet? Erkl ̈arenSie wie eine solche Ressourcen grunds ̈atzlich erzeugt werden kann und wie andere ProzesseZugang erhalten.

Verwaltung ̈uber ein virtuelles File System, angelegt in /dev, andere Prozessen ̈offnen Ressourcen ̈uber Namen.

Erkl ̈aren und diskutiere Sie, wie unter Unix/Linux ein Shared Memory aufgesetzt wird und wieder Kernel die Shared Memory Region verwaltet (Posix).

Zu allgemeione Frage. Posix wird erklärt in Vorlesung 6 IPC, Seite 18

Was sind Signale unter Unix/Linux? Wie k ̈onnen Sie abgefangen werden? Wie reagiert einProzess auf ein Signal, f ̈ur das er keinen Handler installiert hat?

Signale verhalten sich wie Interrupts und rufen Handler auf, Verarbeitung aber erst nach einemRescheduling des Prozesses.

Was ist eine Pipe? Wie wird sie eingerichtet? Erkl ̈aren Sie die Zugriffssemantik. Was ist eineNamed Pipe ?

Pipe: ein Fifo Buffer→byte stream, wird oft zwischen verwandten Prozessen verwendet (wirdbei fork() vererbt). Named Pipe: Pipe mit Namen, die zwischen nicht verwandten Prozessenaufgebaut werden kann ( ̈uber den Namen).

Was sind Sockets und welche zwei grundlegenden Typen gibt es? Wenn ein Socket eingerichtetist, wie kann der Anwender auf den Socket zugreifen?

Kommunikations-Schnittstelle zwischen vernetzten Rechnern. Typen: TCP/IP und Unix Do-main, etc.

Z ̈ahlen Sie verschiedenste Interprozesskommunkationsmechanismen unter Unix/Linux und Win-dows auf. Wo liegen die wesentlichen Unterschiede?

Pipes, Shared Memory, Message Queues, Winsocks, RPC, etc., sehr ̈ahnliche Semantik, Aufset-zen→File Handle”, meist viele Parameter.

Wieso kann Speicherschutz nicht schon zur Kompilationszeit erreicht werden?

Der Speicherbedarf ist zur Kompilationszeit in den meisten F ̈allen nicht bekannt: dynamischeSpeicherallokation, Stack, etc

Was ist der Unterschied zwischen interner und externer Fragmentierung?

Interne Fragmentierung: Speicher wird in Bl ̈ocke gleicher Gr ̈osse aufgeteilt: ein solcher dieserBl ̈ocke wird nicht vollst ̈andig genutzt.

Was ist der Unterschied zwischen logischer und physikalischer Adresse?

Der Prozessore erzeugt logische Adressen→werden von Memory Managment Unit in physika-lische Adressen (zeigen auf real existierende Speicherpl ̈atze) abgebildet.

Aus welchen Gr ̈unden wollen mehrere Programme auf gleiche Speicherbereiche zugreifen?

Zusammenarbeit, Koordination

Was ist der Unterschied zwischenPageundFrame?

Logischer Adressraum wird in Pages aufgeteilt, physikalischer Adressraum wird in Frames auf-geteilt: Page und Frame sind gleich gross, Pages werden von MMU auf Frames abgebildet

Was ist der Unterschied zwischenPageundSegment?

Ein Segment enth ̈alt einen logischen Programmbereich (Code, Daten bzw. Stack).

Erkl ̈aren Sie den Unterschied zwischen einfachem Paging und Virtual Memory Paging

Bei einfachem Paging steht der ganze Prozess im Hauptspeicher,bei Virtual Memory Pagingwerden nur die gerade ben ̈otigten Pages in den Speicher geladen→Prozess kann gr ̈osser seinals phys. Speicher zur Verf ̈ugung steht.

Wieso hat das Lokalit ̈atsprinzip einen sehr grossen Einfluss auf das Virtual Memory Manage-ment?

Wenn Pages nicht ̈uber l ̈angere Zeit verwendet w ̈urden, m ̈ussten dauernd Pages in den phys.Speicher geladen werden→thrashing

Welche Eintr ̈age finden sich typischerweise in einer Page Table?

Zuweisung Page→Frame, Zugriffsrechte, present, modified, etc.

Erkl ̈aren und diskutieren Sie, um was es beim Translation Lookaside Buffer geht. Wie ist ertypischerweise organisiert?

Der TLB ist ein Cache f ̈ur Page Tabellen, typischerweise assoziativ organisiert.

Was ist der Unterschied zwischenResident SetundWorking Set?

Der Resident Set beinhaltet die Menge die Frames, die einem Prozess aktuell zugewiesen wurden,der Working Set ist die Menge der Frames, auf die der Prozess innerhalb eines Zeitfensters Wgegegriffen hat

Nennen und diskutieren Sie drei I/O-Techniken

Programmed IO, Interrupt Driven, DMA

Erkl ̈aren Sie den Unterschied zwischen logischem I/O und Ger ̈ate-I/O.

Logisch: einheitliche API-Schnittstelle (Kernel), Operationen zur Ansteuerung der physikalischenGer ̈ate (meist im Treiber).

Wieso gibt es Block- und Charkterger ̈ate? Erkl ̈aren und diskutieren Sie den Unterschied undnennen Sie Beispiele.

Bilden ”Funktionsweise” der wichtigsten I/O Ger ̈ate ab: sequentielle Datenstr ̈ome (character)und Block-Ger ̈ate (z.B. Disks

Wieso steigert Double-Buffering die I/O-Performance?

Zugriff f ̈ur ”lesen” und ”schreiben” parallel auf unterschiedlichen Datenbereichen.

Erkl ̈aren und diskutieren Sie den Zugriff auf Disks (rotierend). Welche Komponenten bestimmenmassgebend die Zugriffszeit, wie sind sie definiert?

Positionierung Kopf, warten auf Sektor, Daten lesen, siehe auch Folien.

Erkl ̈aren und diskutieren Sie RAIDs? Erkl ̈aren Sie speziell Level 0, 1 und 5

Verwendung mehrerer Disks mit Ziel schnellerer Zugriff (Level 0) oder redudanter, fehlertole-ranter bzw. sicherer Speicherung der Daten. Level 0 verteilt Daten auf meherere Disk: parallelerZugriff→schneller, Level 1 spiegelt Daten: 2-fach Speicherung→sicherer, Level 5, vertielteParity, weniger Aufwand f ̈ur Redundanz als Level 1

Wie sinnvoll sind Software-Raids? Was ist bei RAID-Systemen trotz redundanter Datenspeiche-rung zu beachten?

SW-Raids mit Vorsicht benutzen: keine redundante HW. Sch ̈utzt nur vor Ausf ̈allen bei einzelnenDisks: ganzes System kann ausfallen, Wassereinbr ̈uche und ̈ahnliche Ereignisse→Totalausfall

Erkl ̈aren und diskutieren Sie das Linux-Treiber Modell. Wie werden in Linux Module verwaltet?Wie werden Treiber f ̈ur den Anwender verf ̈ugbar gemacht?

Linux Treiber sind ladbare Kernel Module mit definierter Schnittstelle: read, write, open, close,seek, etc. Verf ̈ugbar ̈uber Eintrag im dev-Filesystem und Major/Minor Nummer.

Wieso braucht es Files? Nennen Sie die wichtigsten Operationen auf Files.

Files sind logische Speichereinheiten, die auf sekund ̈aren Speichermedien abgelegt sind un-abh ̈angig von den physikalischen Eigenschaften der Medien. Zugriff ̈uber Namen und einigewenige Funktionen: read(), write(), seek(), open(), close(), delete()

Was ist der Unterschied zwischen einem Feld und einem Record (Datensatz)?

Ein Feld ist kleineste speicherbare Einheit (oft ein Byte), Record: Sammlung von mehrerenzusammengeh ̈origen Feldern, bzw. Datenentit ̈aten.

Was sind typische Operationen, die auf Verzeichnissen ausgef ̈uhrt werden k ̈onnen?

Files suche, listen, erzeugen, loeschen, umbenennen, Filesytem durchlaufen

Diskutieren und erkl ̈aren Sie den Begriffpathim Zusammenhang mit Files.

Jedes File hat einen eineindeutigen Namen: ausgehend vom Root-Verzeichnis werden alle Namender Unterverzeichnisse inkl. Filename zusammengefasst: z.B. /home/meier/tmp/tst.txt”