system
August 11, 2005, 6:41pm
1
Besprechung von Stelios Antworten auf die FAQ
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Erik
August 11, 2005, 6:41pm
2
[BS] 1 . Erscheinungsformen FAQ (von Stelios)
Ich poste hier die Antworten von Stelios auf die FAQs von Wosch. Die Antworten von Stelios kommen von http://uni.gikas.net/ (sorry, die Formatierungen zerhaut es beim copy & paste)
Vielleicht können wir ja auf diesem Wege unsere Antworten vergleichen. Wenn jemand anderer Meinung zu Antworten ist, bitte posten und mitdiskutieren.
Erscheinungsformen
Für welche Maßnahme mussten erst die Konzepte "DMA“ und "Interrupt“ erfunden werden? Weshalb hat sich daraus als weitere Konsequenz ergeben, Synchronisation im Betriebssystem einzuführen?
DMA ermöglicht I/O Prozessoren eigenständig den Systembus anzufordern und Daten in/aus vereinbarten Hauptspeicherbereichen zu transferieren.
Interruptsteuerung ermöglicht es der Hardware (interrupt-controller) die CPU zu unterbrechen und damit u.a. über die Beendigung eines I/O Auftrages zu informieren. Erfordert neben Hardware sog. Interupt handler (software).
Interupt-vektoren unterstützen eine Vielzahl von Erreignissen, neben I/O, Timer, Hardwarefehler.
Durch den DMA auf den Speicher können konkurierende Zugriffe auf die selben Speicherzellen entstehen was synchronisiert werden muss.
Welcher Nachteil bzw. Schwachpunkt wurde mit Einführung der überlappten Job-Verarbeitung beseitigt? Wie lief diese Verarbeitung ab? Welcher wesentliche Schwachpunkt blieb bestehen, der erst mit Einführung des Mehprogrammbetriebs beseitigt werden konnte?
sequentielle Abarbeitung der Jobs während weitere eingelesen werden
die Trommel/Festplatte ersetzt das Magnetband
das Betriebssystem erhält wahlfreien Zugriff auf die Jobs
die Vergabe/Zuteilung der CPU erfolgt nach einem (dynamischen) Fahrplan
die Einplanung (scheduling ) der Jobs unterliegt einer bestimmten Strategie
Schwachpunkt: Monopolisierung der CPU, Lehrlauf bei E/A
PS.: Leerlauf schreibt sich mit ee - da wird niemanden was beigebracht (ich weiß - schei* copy & paste)
wo stand da was von Threads??
ich denke, Mehrprogrammbetrieb ist Vorraussetzung für interaktive Jobsteuerung. Für die Interaktion sind aber noch Zeitscheiben nötig, damit die Jobs auch wirklich pseudoparallel ablaufen und nicht nur bei E/A (CPU Multiplexing) weggescheduled werden. Außerdem brauchts natülich ein Terminal.
4.Was bedeutet Stapelbetrieb, wozu dient er, welche Vor- und Nachteile sind damit verbunden?
Die Jobs waren dabei auf Lochstreifen oder Lochkarten gespeichert und wurden nacheinander eingelesen und ausgeführt. Die Stapel bestanden z. B. aus einigen Initialisierungskarten zur Auswahl der Ausgabegeräte, die Befehle in den ersten Kontrollsprachen (Job Control Language JCL) enthielten, einer Compile-Anweisung, einem FORTRAN oder ALGOL-Programm und den Karten mit den Eingabedaten. Die Maschine initialisierte das System, kompilierte das Programm und führte es anschließend aus. Die Ausgabe oder eventuelle Programmierfehler wurden meist in Papierform dem Anwender wieder ausgehändigt.
Vorteile: geeignet zur Durchführung von Routine und/oder rechenintensiven Aufgaben
Nachteile: Interaktionslosigkeit.Gibt programm ein und wartet auf ergebnis.
weiterer Vorteil: es gibt kein overhead durch irgendwelche tollen Scheduler / Zeitscheiben. Wenn es doch Interaktion gibt, dann wird gewartet bis was kommt - solang Leerlauf
Erik
August 11, 2005, 6:42pm
3
5.Was bedeutet Zeitscheibenbetrieb, wozu dient er, welche Vor- und Nachteile sind damit verbunden?
Jeder ausgewählte Prozess erhält ein festes Zeitintervall für seine Ausführung (Quantum oder Zeitscheibe). Der Prozess wird während der Zeitscheibe nicht unterbrochen. Die Auswahl der Prozesse erfolgt reihum. Wikipedia - Round Robin Vorteile: geeignet für die tägliche Arbeit : Softwareentwicklung, Textverarbeitung
interaktive Programmabläufe
Nachteile: zwingend Mehrprozessfähigkeit nicht aber Mehrbenutzerfähigkeit.
Vorteile: Scheduling / Prioritäten, Verdrängung bei E/A, pseudoparallele Programmausführung
Nachteile: komplex, overhead durch Verwaltungsstrukturen / scheduler, optimale Strategie fürs Schedulen finden
6.Was bedeutet Echtzeitbetrieb, wozu dient er, welche Vor- und Nachteile sind damit verbunden? Was bedeutet Echtzeitfahigkeit?
Eine Berechnung geschieht in Echtzeit, wenn ihr Ergebnis innerhalb eines gewissen Zeitraumes (dieser entspricht einem Zeitintervall der realen Welt) garantiert vorliegt, das heißt bevor eine bestimmte Zeitschranke erreicht ist.
Man will also, dass die Bereitstellung der Ergebnisse nicht durch Berechnungsschritte verzögert wird. Im Idealfall soll das Ergebnis sofort vorliegen, d.h. die Verzögerung soll vernachlässigbar klein sein.
Ein Echtzeit-System (englisch: real-time system) muss also nicht nur ein Berechnungsergebnis mit dem richtigen Wert, sondern dasselbe auch noch rechtzeitig liefern. Andernfalls hat das System versagt.
Beispiele:
In einem Auto muss das elektronische Motormanagement zu bestimmten Zeitpunkten seine Ergebnisse (einzuspritzende Benzinmenge, Zündzeitpunkt) liefern. Später eintreffende Ergebnisse sind wertlos.
Eine genaue Dauer der Zeitschranke beziehungsweise was rechtzeitig bedeutet, hängt von der Anwendung ab und kann daher nicht allgemein angegeben werden.
Beispiele:
In Maschinen ändert sich die gegenseitige Lage von Werkstück und Werkzeug innerhalb von Millisekunden. Abhängig von der geforderten Fertigungstoleranz muss eine Steuerung innerhalb von Mikrosekunden bis einer Millisekunde auf Abweichungen reagieren, um echtzeit-fähig zu sein.
Die Temperatur eines Apparates in einer verfahrenstechnischen Anlage ändert sich meist nur innerhalb von Minuten. Eine Steuerung, die innerhalb von mehreren Sekunden auf Abweichungen reagiert, kann daher noch als echtzeit-fähig gelten.
Ein Echtzeit-System reagiert also auf alle Ereignisse rechtzeitig und verarbeitet die Daten „schritthaltend“ mit dem technischen Prozess. Es wird sozusagen nicht vom technischen Prozess abgehängt.
Rechner zur Steuerung von technischen Einrichtungen oder Prozessen wie Maschinen, verfahrenstechnische Anlagen oder Verkehrsmitteln sind praktisch immer Echtzeit-Systeme.
Abhängig von den Folgen wird manchmal zwischen harter Echtzeit (englisch: hard real-time) und weicher Echtzeit (englisch: soft real-time) unterschieden. Hierfür gelten jeweils unterschiedliche Echtzeitanforderungen.
Beispiele:
Das elektronische Motormanagement muss harte Echtzeit erfüllen, sonst stottert der Motor oder das Auto bleibt gar ganz stehen, was sogar Unfälle auslösen könnte.
Ein Computer, mit dem man Videos und Filme ohne merkbare Wartezeiten bearbeiten können soll, braucht nur weiche Echtzeit zu erfüllen. Dauert eine einzelne Aktion länger, kann anschließend ohne negative Folgen weitergearbeitet werden.
Echtzeit beschreibt das zeitliche Ein-/Ausgangsverhalten eines Systems, sagt aber nichts über dessen Realisierung aus.
Ein Echtzeit-System kann ein Rechner mit einer geeigneten Software, kann aber auch eine reine Hardware-Lösung sein. Die Software-Lösung eines Echtzeit-Systems erfordert nicht zwingend den Einsatz eines Echtzeitbetriebssystems, ein solches erleichtert aber das Schreiben von echtzeit-fähigen Programmen.
Auch in speicherprogrammierbare Steuerungen (SPS) und Prozessleitsystemen (PLS) werden Echtzeitbetriebssysteme eingesetzt, die aber dem Anwender nicht direkt zugänglich sind.
Um die Echtzeit-Fähigkeit eines mittels Software realisierten Echtzeit-Systems theoretisch nachweisen zu können, müssen die Häufigkeit der externen Ereignisse, die Laufzeit der einzelnen Programmteile und die Zeitschranken bekannt sein.
Bei der Realisierung gibt es zwei Design-Paradigmen: ereignisgesteuert und zeitgesteuert.
Bei der Ereignissteuerung wird auf ein von aussen kommendes Ereignis sofort reagiert, d.h. eine Verarbeitung gestartet. Gegebenenfalls wird eine gerade laufende Verarbeitung dabei unterbrochen. Die Ereignissteuerung hat den Vorteil, daß sie mit lediglich geringem Zeitverlust auf das Ereignis reagiert. Weil sie intuitiv ist, ist sie auch weit verbreitet. Der Hauptnachteil ist, daß es nicht verhinderbar ist, daß mehrere Ereignisse innerhalb kurzer Zeit auftreten können und es damit zu einer Überlastung des Echtzeit-Systems (mit Verlust von Ereignissen und/oder Überschreitung von Zeitlimits) kommen kann.
Bei der Zeitsteuerung werden Verarbeitungen auf Grund eines vorher festgelegten Zeitplans gestartet. Der Vorteil liegt darin, daß Überlastungen grundsätzlich ausgeschlossen werden können. Das Verhalten der Anwendung ist für alle Zeit vorhersagbar, was die Zeitsteuerung für sicherheitskritische Anwendungen eignet. Der Nachteil der Zeitsteuerung ist der höhere Planungsaufwand und der damit verbundene notwendige Werkzeug-Einsatz.
Vorteile: rechtzeitig vorhersagbare Abläufe
zeigt deterministisches Laufzeitverhalten
Nachteile: Man muss die Zeitanforderungen einhalten
meist in eingebettete Systeme
meist Hard-Software aufeinander abgestimmt
dem ist nichts hinzuzufügen
7.Wie grenzen sich Spezialzwecksystem und Allgemeinzwecksystem voneinander ab? Welche Vor- und Nachteile besitzen sie jeweils?
Spezialzwecksystem : Einbenutzersystem, Prozesskontrolsystem, Anfragesystem, Transaktionssystem
Das System ist massgeschneidert für ein klar spezifiziertes einsatzgebiet.
Die Systembauteile sind auf einander abgestimmt
Allgemeinzwecksystem : Ist vorbereitet auf alle Eventualitäten
erzwingt z.b. Scheduling in einer Ein- prozess Umgebung
Schutz programm
Sicherheit benutzer
ist optimiert hinsichtlich des meist wahrscheinlichen Anwendungsfalls
auf Kosten aller von diesem „Standard“ abweichenden Fälle
8.Was ist der Unterschied zwischen Ein- und Mehrbenutzersystem? Welche Gemeinsamkeiten können zwischen beiden Arten bestehen?
Ein Mehrbenutzersystem ist ein Betriebssystem, das für mehrere Benutzer ausgelegt ist. Alle Linux-Distributionen sowie verschiedene Versionen von Microsoft Windows ermöglichen dem Administrator, verschiedenen Personen (Benutzer-) Konten anzulegen, so dass diese sich an dem PC anmelden können.
Als Arbeitsplatzrechner bezeichnet man Computer, die sich als Einbenutzersystem direkt am Arbeitsplatz des Benutzers befinden. Der Hauptzweck ist, Interaktion mit dem Benutzer in Anwendungsprogrammen zu ermöglichen.
Unterschiede:
Am Einbenutzersystem sitzt genau ein Benutzer, beim Mehrbenutzersystem können (!) es auch mehr sein.
Mehrbenutzersysteme müssen Einrichtungen bereitstellen, dass die Benutzer sich nicht gegenseitig stören (Sicherheit) können.
Beide können Mehrprogrammsysteme sein unabhängig wieviele Leute davor sitzen
Einbenutzersystem kann im Mehrprogrammbetrieb laufen (ein Benutzer kann ja mehrere Jobs starten)
Mehrbenutzersystem mit nur einem Programm - sicher - wenn nur ein User einen Job startet
Erik
August 11, 2005, 6:43pm
4
10.Kann ein Einbenutzersystem im Mehrprozessbetrieb bzw. ein Mehrbenutzersystem im Einprozessbetrieb laufen?
Im Gegensatz zum Multitasking stellt der Multiuser-Begriff nicht auf gleichzeitiges Arbeiten ab. Heutige Multiuser-Systeme sind zwar zumeist auch multitaskingfähig. Historisch gab es jedoch durchaus auch Computer, an denen verschiedene Benutzer in eigenen Arbeitsumgebungen zeitlich nacheinander, jedoch nicht gleichzeitig arbeiten konnten.
Systeme, die nicht nur multiuserfähig, sondern auch multitaskingfähig sind, benötigen in der Regel ein Speicherschutzkonzept.
Einbenutzerfähigkeit bedeutet nicht Einprozess,adressraum fähigkeit.
Das System kann mehrer logische Adresräume und pro adressraum mehrere Prozesse Fäden, threads ablaufen lassen
Wieso??? Oder alles falsch??? hab ich die zwei verwechselt???
Einbenutzerfähigkeit bedeutet nicht Einfprozess,adressraumgfähigkeit
das System kann mehrere (logische, virtuelle) Adressräume verwalten
pro Adressraum können mehrere Prozesse (Fäden, threads) ablaufen
Einbenutzersystem im Mehrprozessbetrieb - geht, siehe 9
Mehrbenutzersystem im Einprozessbetrieb - Das BS ist auch ein Prozess, dann bleibt für die User nix mehr übrig - also nein
(vielleicht sollte man nochmal auf den Unterschied Programm / Prozess eingehen)
11.In wie fern muss beim Einsatz eines Allgemeinzwecksystems in einer Spezialzweckumgebung bzw. für eine Spezialzweckanwendung mit überflüssigen Mehraufwand gerechnet werden? In welchem Zusammenhang kann sich Mehraufwand ergeben?
Mehraufwand kann sich dadurch im Spezialzwecksystem ergeben weil alles aufeinander abgestimmt sein muss. Sowohl die Software als auch die Hardware.
Was sollte hier noch drin stehen???
das special purpose system kann sich nicht anpassen (sonst wäre es ja general purpose) - wenn also ein Allgemeinzwecksystem mit Spezialzwecksystemen arbeiten soll, muss sich das Allgemeinzws. an die anderen Spezialzwecksystem anpassen, was zu Mehraufwand bei den Allgemeinzws. führt, da sie ja nicht dafür optimiert sind.