Systemprogrammierung Grundlagen von Betriebssystemen
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Systemprogrammierung Grundlagen von Betriebssystemen Teil A – I. Organisation Jürgen Kleinöder Wolfgang Schröder-Preikschat 15. April 2021 Dozenten Lehrstuhl für Verteilte Systeme und Betriebssysteme Jürgen Kleinöder Wolfgang Schröder-Preikschat © wosch SP (SS 2021, A – I) I/2
Agenda Einleitung Konzept Lehrkanon Lehrziele Vorkenntnisse Arrangement Veranstaltungsbetrieb Leistungsnachweise Ausklang © wosch SP (SS 2021, A – I) 1. Einleitung I/3 Gliederung Einleitung Konzept Lehrkanon Lehrziele Vorkenntnisse Arrangement Veranstaltungsbetrieb Leistungsnachweise Ausklang © wosch SP (SS 2021, A – I) 1. Einleitung I/4
Softwaregetriebe Infrastruktur Quelle: fotalia.com © wosch SP (SS 2021, A – I) 1. Einleitung I/5 Systemnahe Software Bindeglied Definition (Systemprogrammierung) Erstellen von Softwareprogrammen, die Teile eines Betriebssystems sind beziehungsweise mit einem Betriebssystem direkt interagieren oder die Hardware (genauer: Zentraleinheita und Peripherieb ) eines Rechensystems betreiben müssen. a central processing unit (CPU), ein-/mehrfach, ein-, mehr- oder vielkernig. b Geräte zur Ein-/Ausgabe oder Steuerung/Regelung „externer Prozesse“. Auch schon mal zwischen zwei Stühlen sitzend: Anwendungssoftware („oben“) einerseits ermöglichen, unterstützen, nicht entgegenwirken Plattformsysteme („unten“) andererseits anwendungsspezifisch verfügbar machen problemorientiert betreiben, bedingt verbergen nachteilige Eigenschaften versuchen zu kaschieren Quelle: arcadja.com, Franz Kott © wosch SP (SS 2021, A – I) 1. Einleitung I/6
Programmierwerkbank Arbeitstisch und Werkzeuge Quelle: https://www.bell-labs.com/usr/dmr/www © wosch SP (SS 2021, A – I) 1. Einleitung I/7 Gliederung Einleitung Konzept Lehrkanon Lehrziele Vorkenntnisse Arrangement Veranstaltungsbetrieb Leistungsnachweise Ausklang © wosch SP (SS 2021, A – I) 2. Konzept I/8
Lehreportfolio von Informatik 4 Bachelorstudium ##$# !% .#%$# # !" ! &#$# "! # !%! $! $ & !% )! ' ! ! # - '( )#$ * + ,# + © wosch SP (SS 2021, A – I) 2.1 Konzept – Lehrkanon I/9 Module SP (10 ECTS) und GSP (5 ECTS) Systemprogrammierung (SP) ∼ geteiltes Modul ,→ Systemprogrammierung I (SP1) 7→ Teile A und B 5 ECTS ,→ Systemprogrammierung II (SP2) 7→ Teil C 5 ECTS SP1 geht in die Breite, liefert einen funktionalen Überblick SP2 geht in die Tiefe, behandelt ausgewählte Funktionen im Detail beide Hälften sind Grundlage vor allem der „Betriebssysteme“-Säule Grundlagen der Systemprogrammierung (GSP) ,→ Systemprogrammierung I (SP1) 5 ECTS Export für Studiengänge, die Stoffausbau durch SP2 nicht erfordern © wosch SP (SS 2021, A – I) 2.1 Konzept – Lehrkanon I/10
Studiengänge und Zuordnung Abschluss Studiengang SP1 SP2 Bachelor Informatik × × Informations- und Kommunikationstechnik × × Computational Engineering × × Wirtschaftsinformatik × × Informatik, 2-Fach Bachelor × Medizintechnik GSP Lehramt Informatik, Gymnasium × × Alternative zu Systemnahe Programmierung in C (SPiC): Abschluss Studiengang SP1 SP2 Bachelor Mathematik, Nebenfach Informatik × Technomathematik × © wosch SP (SS 2021, A – I) 2.1 Konzept – Lehrkanon I/11 Lernziele Vorgänge innerhalb von Rechensystemen ganzheitlich verstehen Hardware ↔ Software .. . Zusammenspiel Anwendung ↔ Betriebssystem begreifen .. . Treiber ↔ Gerät imperative Systemprogrammierung (in C) in Grundzügen kennenlernen im Kleinen für Dienstprogramme praktizieren im Großen durch Betriebssysteme erfahren Beziehungen zwischen funktionalen und nicht-funktionalen Systemmerkmalen erfassen Quelle: fotalia.com © wosch SP (SS 2021, A – I) 2.2 Konzept – Lehrziele I/12
Lehrveranstaltungsformen Vorlesung — Vorstellung und detaillierte Behandlung des Lehrstoffs Lehrveranstaltung an einer Universität, Hochschule, bei der ein Dozent, eine Dozentin über ein bestimmtes Thema im Zusammenhang vorträgt. [2] Organisation (der Systemsoftware) von Rechensystemen Grundlagen von Betriebssystemen maschinennahe Programme Übung — Vertiefung, Aufgabenbesprechung, Tafelübungen Lehrveranstaltung an der Hochschule, in der etwas, besonders das Anwen- den von Grundkenntnissen, von den Studierenden geübt wird. [2] Systemprogrammierung in C Systemprogramme, -aufrufe, -funktionen von UNIX Rechnerarbeit — Programmierung, Fehlersuche/-beseitigung UNIX (Linux), CLI (shell), GNU (gcc, gdb, make), vi. . . © wosch SP (SS 2021, A – I) 2.2 Konzept – Lehrziele I/13 Inhaltsüberblick Kapitelzuordnung und -folge I. Lehrveranstaltungsüberblick Teil C ∼ Vertiefung IX. Prozessverwaltung Teil A ∼ C-Programmierung Einplanung II. Einführung in C Einlastung III. Programm 7→ Prozess X. Koordinierung Teil B ∼ Grundlagen Synchronisation IV. Einleitung XI. Betriebsmittelverwaltung V. Rechnerorganisation XII. Speicherverwaltung VI. Abstraktionen (UNIX) Adressräume VII. Betriebsarten Arbeitsspeicher XIII. Dateisysteme VIII. Zwischenbilanz SP1 Speicherung XIV. Fragestunde SP1 & SP2 Fehlererholung © wosch SP (SS 2021, A – I) 2.2 Konzept – Lehrziele I/14
Voraussetzungen zum Verständnis des Lehrstoffs obligatorisch: Grundlagen der Programmierung 7→ AuD Datentypen, Kontrollkonstrukte, Prozeduren statische und dynamische Datenstrukturen „Programmierung im Kleinen“ ,→ vor allem für die Übung, weniger für die Vorlesung wünschenswert: Technische Informatik 7→ GTI, GRA „Von-Neumann-Architektur“ Operationsbefehle, Befehlsoperanden, Adressierungsarten Unterbrechungssteuerung (Pegel kontra Flanke) Assemblerprogrammierung Pseudo- und Maschinenbefehle (IA32) Binär-, Oktal-, Hexadezimalkode CPU, DMA, FPU, IRQ, MCU, MMU, NMI, PIC, TLB altbewährte und nach wie vor aktuelle Sekundärliteratur Wirth [4, 5]: Algorithmen, Datenstrukturen, Programmierung Tanenbaum [3]: Rechnerorganisation © wosch SP (SS 2021, A – I) 2.3 Konzept – Vorkenntnisse I/15 Abhängigkeiten zwischen den Vorlesungsteilen Systemprogammierung I Teil A setzt grundlegende Programmierkenntnisse voraus vermittelt Grundlagen der Programmierung in C Teil B setzt grundlegende Programmierkenntnisse in C voraus vermittelt Operationsprinzipien von Betriebssystemen Systemprogrammierung II Teil C setzt Kenntnisse dieser Operationsprinzipien voraus vermittelt interne Funktionsweisen von Betriebssystemen Erlangung der benötigten Vorkenntnisse: i durch Vorlesungsteilnahme empfohlene sequentielle Belegung der Vorlesungsteile ii durch Lehrbuchlektüre, aus anderen Lehrveranstaltungen, . . . © wosch SP (SS 2021, A – I) 2.3 Konzept – Vorkenntnisse I/16
Gliederung Einleitung Konzept Lehrkanon Lehrziele Vorkenntnisse Arrangement Veranstaltungsbetrieb Leistungsnachweise Ausklang © wosch SP (SS 2021, A – I) 3. Arrangement I/17 Unterrichtstermine und -sprache Vorlesungs-, Übungs- und Rechnerzeiten: auf www4.cs.fau.de dem Reiter „Lehre“ folgen Sondertermine am Semesteranfang für den Crash-Kurs über C Unterrichtssprache: Vorlesung und Übung Fachbegriffe Sachwortverzeichnis (in Arbeit und Überarbeitung) www4.cs.fau.de/~wosch/glossar.pdf © wosch SP (SS 2021, A – I) 3.1 Arrangement – Veranstaltungsbetrieb I/18
Vorlesung Kumulatives Lernen Aneignung von neuem Wissen selbständig die jeweils nächste Vorlesung vorbereiten an der Präsentation teilnehmen, ihr zuhören, Fragen stellen behandelte Themen untereinander diskutieren, Lehrstoff nachbereiten mit bisherigem/anderem Wissen in Beziehung bringen: AuD Grundlagen der Programmierung in einer Hochsprache PFP Grundlagen der parallelen Programmierung GRA Rechnerorganisation oder -architektur Grundlagen der Programmierung in Assembliersprache im Hörsaal präsentiertes Lehrmaterial: Vorlesungsfolien1 stehen animiert und in Handzettelform elektronisch zur Verfügung PDF: auf www4.cs.fau.de dem Reiter „Lehre“ folgen Anzahl und „Füllungsdichte“ sind bewusst eher hoch gehalten: i obligatorischer und optionaler (Anhang) Vorlesungsstoff ii schriftlich fixierte Gedankenstränge als Hilfe zur Nachbearbeitung Anhänge und ergänzende Materialien sind keine Klausuraufgaben 1 Bildschirmaufzeichnungen der Jahre 2020/21 über fau.tv verfügbar. © wosch SP (SS 2021, A – I) 3.1 Arrangement – Veranstaltungsbetrieb I/19 Übung Lernen durch Handeln Wissen durch direkte Erfahrung vertiefen Tugendhaftes Verhalten und fachliches Können wird weniger durch einfache Belehrung als durch praktisches Nachmachen, Üben, Anwenden erlernt. (Aristoteles [1]) Diskussion der Übungsaufgaben, Lösungsansätze ausarbeiten Vorlesungsstoff festigen, offene Fragen klären Tafelübung unter Anleitung einer/s Übungsleiterin/s Anmeldung durch waffel2 (URL siehe Webseite von SP) Übungsaufgaben sind in Gruppen zu bearbeiten: Kannvorschrift ist abhängig von der Teilnehmeranzahl Gruppenpartner müssen in derselben Übung sein Rechnerarbeit in Eigenverantwortung ohne Anmeldung, reservierte Arbeitsplätze stehen zur Verfügung bei Fragen sich an die Übungsleiter/innen von SP wenden 2 Abk. Webanmeldefrickelformular Enterprise Logic © wosch SP (SS 2021, A – I) 3.1 Arrangement – Veranstaltungsbetrieb I/20
Studien- und Prüfungsleistungen 2 SWS Theorie 2 SWS V Klausur 5 ECTS SP1 90Min. 1 SWS Ü Bonus− 2 SWS Praxis punkte Übung 1 SWS P 2 SWS Theorie 2 SWS V Testat Bonus− Klausur SP2 punkte 10 ECTS 1 SWS Ü 120Min. 2 SWS Praxis Übung 1 SWS P © wosch SP (SS 2021, A – I) 3.2 Arrangement – Leistungsnachweise I/21 Kür Übungsaufgaben: 6 (SP1) + 5 (SP2) Programmieraufgaben abgegebene Programme werden korrigiert und mit Punkten bewertet unzureichende Erklärung der vorgestellten Lösung ergibt 0 Punkte Nichtanwesenheit impliziert, die Lösung nur unzureichend erklären zu können ein Antestat3 (auch: „Miniklausur“) zum Aufwärmen für SP2 geprüft wird Stoff von Vorlesung und Übung, 30 Minuten Fragen zu Teil A und Teil B der Vorlesung Trockenaufgabe als Lückentest in der Programmiersprache C mit Aufgabenanteilen als Mehrfachauswahl (multiple choice) Notenbonus für die Klausur (auch: „Maxiklausur“) bei 50 % der Punkte aus „Übungsaufgaben + Testat“ Punkte darüberhinaus gehen in die Bonusberechnung ein maximal ist ein Notenbonus von 0,7 erreichbar 3 Allgemein eine mündliche oder schriftliche Prüfung in naturwissenschaftlichen Studienfächern am Anfang eines Semesters. Schriftlich ausgeführt im Fall von SP. © wosch SP (SS 2021, A – I) 3.2 Arrangement – Leistungsnachweise I/22
Kür und Pflicht Notenbonus nur auf Basis der Übungen des laufenden SP-Moduls beeinflusst die Punkte-Notenskala der Klausur nicht, er wird allerdings bei bestandener Klausur auf die Klausurnote angewendet (abgezogen) kann die Note einer bestandenen Klausur verbessern, nicht jedoch den Ausschlag zum Bestehen der Klausur geben ,→ Erreichen der Bestehensgrenze muss also immer mit regulär erworbenen Klausurpunkten erfolgen Klausur: Termin noch offen, Anfang vorlesungsfreie Zeit GSP Struktur analog Testat (S. 22), jedoch 90 Minuten Dauer SP Struktur analog GSP, jedoch 120 Minuten Dauer zusätzlich Fragen zu Teil C der Vorlesung Präsenz und aktive Mitarbeit machen die Klausur „leicht“ ,→ Besuch der Vorlesung, zuhören und Fragen stellen ,→ Teilnahme an den Tafelübungen, Übungsaufgaben bearbeiten ,→ Programme im Team entwickeln, aber selbst zum Laufen bringen © wosch SP (SS 2021, A – I) 3.2 Arrangement – Leistungsnachweise I/23 Gliederung Einleitung Konzept Lehrkanon Lehrziele Vorkenntnisse Arrangement Veranstaltungsbetrieb Leistungsnachweise Ausklang © wosch SP (SS 2021, A – I) 4. Ausklang I/24
www4.cs.fau.de/* Dozenten Jürgen Kleinöder (~jklein) Wolfgang Schröder-Preikschat (~wosch) Mitarbeiter Dustin Nguyen (~nguyen) www.augsburger-puppenkiste.de Jonas Rabenstein (~rabenstein) Tutoren © wosch SP (SS 2021, A – I) 4.1 Ausklang – Kontakt I/25 Fragen. . . Quelle: qmediasolutions.com © wosch SP (SS 2021, A – I) 4.1 Ausklang – Kontakt I/26
Literaturverzeichnis [1] Aristoteles: Nikomachische Ethik. c. 334 BC [2] Bibliographisches Institut GmbH: Duden online. http://www.duden.de, 2013 [3] Tanenbaum, A. S.: Structured Computer Organization. Prentice-Hall, Inc., 1979. – 443 S. – ISBN 0–130–95990–1 [4] Wirth, N. : Systematisches Programmieren. Teubner-Studienbücher, 1972. – 160 S. – ISBN 3–519–02375–X [5] Wirth, N. : Algorithmen und Datenstrukturen. Teubner-Studienbücher, 1975. – 376 S. – ISBN 3–519–02330–X © wosch SP (SS 2021, A – I) 4.2 Ausklang – Bibliographie I/27
Sie können auch lesen