Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 5 » Allgemein   (Übersicht)

Dies ist eine alte Version des Dokuments!


Allgemein

Prüfung wurde im Büro von Dr. Wilke abgelegt, mit Beisatz von Prof. Brune. Die Prüfung wurde in einen Teil COBOL (durch Wilke geprüft) und den restlichen Teil (durch Brune geprüft) gegliedert. Circa 8 Minuten von den 30 Minuten wurden durch Wilke gefragt, der Rest durch Brune. Es lag ein Blatt Papier, sowie Stifte vor einem und eine Tastatur mit Computer. Stift und Papier dienten zur Untermalung oder zum Zeichnung, Tastatur für den Computer für bspw. Eingaben im TSO.

Fragen

Wilke Herr Wilke startete mit der Frage, was allgemein in dem Kurs behandelt wurde.

Die 8 Blöcke aufgezählt und zu jedem Thema 1-2 Stichworte gesagt.

Anschließend wurde ich gefragt, wie ich denn Java Klassen in COBOL umsetzen könne.

Auf die Stufenhierarchie von COBOL eingegangen, dass damit im Endeffekt einzelne Elemente der Klasse abgebildet werden können.

Ich solle doch bitte mal eine Java Klasse hin schreiben.

Habe eine Klasse „student“ mit einem String Namen und einer ToString() Methode aufgeschrieben.

Ich solle diese Klasse doch nun bitte in COBOL übersetzen.

Habe anschließend die 3 Divisions, die gebraucht werden aufgeschrieben (Habe einen Fehler gemacht, diesen aber noch selbst gemerkt und nach kurzer Zeit ausgebessert, war sehr gut!), die Variable angelegt (zuerst falsch, weil 77 nicht richtig ist, anschließend die richtige Stufe zugewiesen). Im Teil des Anlegens der Methode bin ich vollkommen aufgelaufen, weil ich nicht mehr wusste wie das ging, hier haben wir dann den COBOL Teil abgebrochen.

Brune Herr Brune hat übernommen und von hinten angefangen. Zuerst einmal solle ich erklären, was denn Java Beans sind.

3 Arten genannt

Was sind denn Entity Beans und wie verwendet man sie?

Darauf eingegangen, dass sie inzwischen nicht mehr verwendet werden und nur noch Entities verwendet werden und das sie im Endeffekt Nutzerbezogene Informationen bspw darstellen

Wie ich denn Entity Beans in Java kennzeichnen würde?

Per Annotation in/über der Klasse

Okay, ich solle bitte einmal eine Klasse (diktierte mir die Klasse) hinschreiben und aus dieser eine Session Bean machen.

Klasse hingepinselt, Fehler gemacht, weil die Session Beans nur als @Stateless oder @Stateful dargestellt werden.

Wieso ist denn diese Klasse (War irgendetwas mit einer Buchung, nur die Klasse und eine Methode ohne Variablen) Stateless?

Weil die Methode alle wichtigen Parameter bekommt und das damit generierte Objekt danach sofort wieder vernachlässigt werden kann.

Was bringen mir denn diese Beans?

Kapselungsschicht, die es für den Entwickler wesentlich leichter macht. Transaktionen…

– Den Teil des Gesprächs weiß ich nicht mehr genau, er hat darauf abgezielt, dass in den Beans alles eine einzelne Transaktion ist, diese automatisch ACID erfüllen und der Entwickler sich um nichts kümmern muss. Wir sind dann auf verteilte Transaktionen gekommen Verteilte Transaktionen, wie funktionieren die denn?

Erklärt, dass das lauter kleine Transaktionen auf Komponenten sind, man etwas wie einen CICS braucht um diese gut zu organisieren. Der CICS schaut zB, dass der 2-Phasen-Commit durchgeführt wird.

Wie funktioniert denn der 2-Phasen-Commit?

BoT, Datenoperationen, Prepare for commit (habe ich sehr genau erklärt!), EoT

Sehr gut, dann machen wir mal weiter mit USS, was ist das denn?

Erklärt, dass es ein Wrapper ist, um UNIX ähnliches (habe zuerst Linux gesagt, shame on me…) Dateisystem bereitzustellen und UNIX Befehle interpretieren zu können.

Wie funktioniert das denn? Zeigen sie mir das mal.

Ich habe mich per MOVS (Oder wie auch immer der Befehl heißt…) im TSO angemeldet. Habe dann gesagt, dass wir hier jetzt eine UNIX ähnliche Oberfläche haben mit Befehlen (Habe demonstrativ „ls“ eingegeben) die auch so funktioniert.

Wie würde ich hier denn jetzt etwas unter Java erstellen?

Naja, wir haben hier jetzt kein Java drauf, weil keine Dateien drauf sind, aber ich würde mir eine entsprechende Klasse erstellen und aus dem Java Ordner den Kompiler benutzen.

Wie würde ich denn jetzt eine neue Java Klasse hier anlegen?

Keine Ahnung… (Habe etwas von Editor, was richtig war, gefaselt, aber bin nicht auf die richtige Antwort gekommen)

Okay, kommen wir zur Mainframe Architektur. Da haben wir ja den z/OS Kernel. Was kann der denn?

Hier wusste ich zuerst überhaupt nichts auf die Frage. Er hat mir ein bisschen geholfen, indem er verallgemeinert hat, was denn jeder Kernel können muss. Somit bin ich auf CPU Scheduling, Peripherie steuern, Adressraumverwaltung usw gekommen (War dann noch zufriedenstellend die Antwort).

Ob ich ihm denn mal den Aufbau vom z/OS aufmalen könne?

Habe die Grafik aus dem z/OS Überblick aufgemalt mit dem Kernel ganz unten, den Access Methods darüber und dem USS/TSO/JES/CICS auf oberster Ebene (und dazu natürlich bisschen erzählt)

Wofür denn das TSO verwendet wird?

Wurde damals für den Multinutzerbetrieb entworfen, mehrere Entwickler konnten hier gleichzeitig entwickeln, was eine Neuerung war.

Und das JES?

Offline Stapelverarbeitung. Bin zurück auf die Beans gekommen, die ja online und mit Webservern agieren und habe das ganze gegenübergestellt.

(Die Überleitung hier hin weiß ich nicht mehr. Es ging im Endeffekt um die BCD Arithmetik, dass diese gesondert auf den Prozessoren durch ihre ALU umgesetzt ist) Wie ist denn eine PU aufgebaut?

Das folgende war im Endeffekt meine Paradedisziplin, die glaube ich viel ausgemacht hat: Habe ihm das Bild von den Registern hingemalt.

Was ist denn das PSW? Und die anderen Register?

Kurz erklärt, aktueller Punkt im Programm steht im PSW, die Flags dazu im PSW Flags Register usw und so fort.

Als letztes kommen wir noch zu den Befehlssätzen. Was ist denn das besondere bei Mainframe Prozessoren?

Unterschied RISC und CISC erklärt, wieso CISC damals verwendet wurde und heute noch wird auf dem Mainframe (Abwärtskompatibilität und Redundanz von Befehlen).

Wieso Redundanz?

Alte Architekturen in den Zusammenhang gebracht, damals verschiedene Wortbreiten, mit denen Befehle ausgeführt wurden und die Adressierung dazu.

Wieso benutzten wir damals CISC?

Speicher war knapp

Nebenfrage, welche Prozessoren nutzen denn RISC?

ARM

Thema Speicher, wie funktioniert denn das mit dem Speicher beim Mainframe?

Komplette Addressauflösung auswendig aufgeschrieben mit dem Segment Table, Page Table, Displacement (War ein kleiner Fehler drinnen) und erklärt wie das ganze funktioniert.

Wie funktioniert das dann mit dem ESA?

Das leitet halt nochmal auf einen speziellen Data Only Adressbereich.

Wo war das mit ESA?

Bei der ESA, also der Maschine von '80.

Dann war die Zeit um. Es sind leider nicht mehr alle Fragen, es waren auch mal kleine Teilfragen drinnen, bei denen er genau einen Begriff hören wollte (Bspw BCD-Arithmetik).

Vorbereitung

Zur Vorbereitung auf die Klausur bin ich sämtliche Vorlesungsvideos von Herrn Brune noch einmal durchgegangen. COBOL ein bisschen selbst programmiert. Knapp eine Woche hat sehr gut gereicht, aber auch nur weil ich mit Komilitonen gelernt habe und wir uns gegenseitig circa 3 Tage lang nur noch abgefragt haben.

Prüfung Allgemein & Bewertung

Die Prüfung allgemein war sehr angenehm, die Einstiegsfrage vollkommen in Ordnung, keine arg fiesen Fragen oder ähnliches. Wenn Herr Brune gemerkt hat, dass ich bei einem Themengebiet nicht 100% sicher bin, oder eventuell nicht weiter weiß, wurde das Thema gewechselt, was ich sehr nett fand. Ähnliches galt für Herrn Wilke, der einen korrigierte und Hilfe zur Selbsthilfe anbot (außer man wusste WIRKLICH nicht mehr weiter. Zur Bewertung ist zu sagen, dass sie absolut fair war, wenn nicht sogar begünstigend für den Studenten war. Ich habe bei der ein oder anderen Sache gesagt „Ich habe keine Ahnung, tut mir Leid“ und trotzdem eine 1,3 bekommen, die auch nur durch das Versagen im COBOL Teil begründet war. Es war in meinen Augen überaus fair, nicht auf die Schwächen einzugehen und auch ein „Ich kann das leider nicht perfekt“ gelten zu lassen und die Punkte in anderen Themen (bei mir bspw die Speicherverwaltung) wieder rein holen zu lassen.