Was ist ein Berechnungszeitraum?

536
Darien Springer

In meinem Lehrbuch Operating Systems: Internals and Design Principles (Seventh Edition)von William Stallingsbin ich verwirrt darüber, was das erste Problem (# 2.1) auf Seite 104 mit "Punkt" bedeutet. Hier ist der Problemtext von Seite 104:

2.1 Angenommen, wir haben einen Computer mit mehreren Programmen, bei dem jeder Job identische Eigenschaften aufweist. In einem Berechnungszeitraum T für einen Job wird die Hälfte der Zeit für E / A und die andere Hälfte für die Prozessoraktivität aufgewendet. Jeder Job läuft insgesamt N Perioden. Angenommen, es wird eine einfache Round-Robin-Zeitplanung verwendet, und die E / A-Vorgänge können sich mit der Prozessoroperation überschneiden. Definieren Sie die folgenden Größen: • Bearbeitungszeit = tatsächliche Zeit zum Abschließen eines Jobs • Durchsatz = durchschnittliche Anzahl der pro Zeitraum T abgeschlossenen Jobs • • Prozessorauslastung = Prozentsatz der Zeit, während der der Prozessor aktiv ist (nicht wartet). Berechnen Sie diese Mengen für eins, zwei und vier gleichzeitige Jobs, unter der Annahme, dass die Periode T auf jede der folgenden Arten verteilt ist: a. E / A-erste Hälfte, zweite Hälfte des Prozessors b. I / O erstes und viertes Quartal,

Bezieht sich eine Periode auf die Zeit, die ein Prozessor oder eine E / A ausgeführt wird, bevor das Betriebssystem die Ressourcen der CPU auf den Prozessor oder die E / A umschaltet? (Wenn der Prozessor ausgeführt wird und die E / A unterbrochen wird, wechselt er zur E / A; wenn die E / A auf die Datenübertragung wartet, wechselt sie zum Prozessor). Mir war nur unklar, was diese Frage mit einer "Periode" meinte, da ich im Lehrbuch oder online nirgends eine Definition davon finden konnte. (Wenn ich in Google nach "Berechnungszeitraum" schaue, bekomme ich meistens viele Ergebnisse im Zusammenhang mit dem Ruhestand).

-1
eine Periode könnte 1 Prozessortakt sein, oder 1 Berechnungsperiode könnte 100 Taktzyklen sein usw. Solar Mike vor 6 Jahren 4
Klingt nach dem Zeitintervall (auch bekannt als Time Slice), das ein Scheduler jedem Job in einem Round-Robin-Schema zuordnen würde. sawdust vor 6 Jahren 1
Es ist nur eine Zeitspanne. Sie lesen viel mehr in diesen Begriff, als es tatsächlich bedeutet. Dh für jeden Berechnungszeitraum passiert x, y, z ... djsmiley2k vor 6 Jahren 2
@ djsmiley2k nein, Zeitraum T ist eine bestimmte Sache. T = 1 / f. Es ist Sekunden für einen Taktzyklus. barlop vor 6 Jahren 0
Sie haben eine völlig falsche Antwort akzeptiert, siehe meine Kommentare zu dieser Antwort. barlop vor 6 Jahren 0
Ich glaube, Sie bekommen eher konstruktive Antworten zu [cs.se]. Toby Speight vor 6 Jahren 1

2 Antworten auf die Frage

5
Seth

What a computation period is, would depend on the system and OS. It could either be a fixed value like a certain amount of CPU cycles or milliseconds or it could be another metric.

It doesn't matter what length a period has, the important part here is that it's the period something is active. In that question its really about whenever you understood how that specific scheduling works and what processes do when I/O etc. happens.

Woher kamen Sie auf die Idee, dass ein Berechnungszeitraum eine bestimmte Anzahl von CPU-Zyklen sein kann? Ich bezweifle das ernsthaft. Ich habe noch nie gesehen, dass eine Quelle einen Zeitraum definiert hat, der sich auf mehr als einen Zyklus bezieht. barlop vor 6 Jahren 0
Es hat absolut nichts mit OS zu tun (CPU FE Cycle hat offensichtlich nichts mit OS zu tun), so dass selbst der erste Satz falsch ist, zusätzlich zu dem zweiten Satz, der wie oben beschrieben falsch ist barlop vor 6 Jahren 0
Ich weiß es nicht, aber hier ist das Buch - es legt nicht fest, was der Begriff irgendwo bedeutet. Also nahm ich es für bare Münze. http://www.vandemataramcollege.com/app/webroot/files/notes/Operating_Systems-FY.IT.pdf djsmiley2k vor 6 Jahren 0
@barlop Wie definierst du einen Zyklus? Ein CPU-Zyklus oder ein fester Zeitwert? Darüber hinaus hat es mit Ihrem Betriebssystem zu tun, da Sie beispielsweise ein Betriebssystem [kooperatives Multitasking] (https://en.wikipedia.org/wiki/Cooperative_multitasking) haben, in dem Ihre "Zyklen" nichts als eine Anwendung wert sind kann nur die Kontrolle behalten und wird nicht unterbrochen. Der Punkt ist außerdem, dass die Definition einer Periode für die Frage keine Rolle spielt. Eine beliebige Zahl, von der Sie beginnen, ohne Einheit zu zählen, ist ausreichend (Zyklus 0,1,2,3,4 ...). Echtzeit-Systeme verwenden beispielsweise andere Metriken. Seth vor 6 Jahren 0
@Seth Das Wort "Zyklus" erscheint nicht einmal auf der Seite, mit der Sie verlinkt haben. Die in CS verwendete Definition stimmt mit der in der Physik verwendeten überein. Dieselbe Definition für das Entwurf digitaler Systeme, bei denen Sie einen Prozessor haben, siehe http://www.edaboard.com/thread258987.html oder https://simple.wikipedia.org/. wiki / Period_ (Physics) Obwohl er in diesem Fall ein IO-Element enthält, das ich nicht gewöhnt bin. Ich denke, es ist immer noch ein einzelner Zyklus, obwohl es nicht unbedingt ein Prozessor-FE-Zyklus ist. aber ein Zyklus von Prozessor und IO-Betrieb. Der Zeitraum bezieht sich immer auf einen Zyklus. barlop vor 6 Jahren 0
Ich stimme mit Ihnen überein, dass eine Periode in den meisten Fällen an die CPU gebunden sein wird. Aber der eigentliche Punkt ist immer noch, dass es für die vorliegende Frage keine Rolle spielt. Besonders wenn Sie über einen CS-Hintergrund verfügen, sollten Sie sich dessen bewusst sein. Es spielt keine Rolle, wann es auf der Frequenz oder einer anderen Metrik basiert oder sogar auf welcher Länge. Für die Frage ist nur wichtig, dass sie existieren und dass sie einheitlich sind. Dass der Coop-Artikel Zyklen oder Perioden nicht einmal erwähnt, war der Punkt, an dem er verlinkt wurde. Dies zeigt, dass der Planungsmechanismus unabhängig von der Hardware wichtig ist. Fühlen Sie sich immer noch als falsch? Senden Sie eine Bearbeitung. Seth vor 6 Jahren 0
1
barlop

That is one of the best books I ever read, but I read it a long time ago and didn't do the exercises.. Nevertheless, I recall the terms cycle and frequency and period very frequently when I was studying CS(computer science), probably from other sources too.

Frequency is number of cycles per second. Measured in Hz (eg some GigaHertz)

Period / Time period, is seconds for a cycle. And is the inverse of frequency. It is represented by the letter T. Measured in s(seconds) (eg some nanoseconds).

Cycle is an FE cycle, a fetch and execute cycle.

See here for example regarding Clock Period (represented by T, and T=1/F) (same thing) http://www.edaboard.com/thread258987.html

This is in physics too if you look up frequency and period and time period the terms are used with waves. An FE cycle can be depicted as a digital wave.

an example here http://cs.nyu.edu/~gottlieb/courses/2000s/2000-01-fall/arch/figs/clock.png

I have a background in computer science but this is the same in physics, and the concept comes from physics and doesn't change anything.

https://simple.wikipedia.org/wiki/Period_(physics)

A Time period (denoted by 'T' ) is the time needed for one complete cycle......Frequency and time Period are in a reciprocal relationship that can be expressed mathematically as: T = 1/f or as: f = 1/T.

In this case Stalling includes an IO element that i'm not used to. I think it's still one single cycle though perhaps not necessarily a processor FE cycle. but one cycle of processor and IO operation. Time period relates to one cycle, always.