Grin logo
de en es fr
Shop
GRIN Website
Publicación mundial de textos académicos
Go to shop › Ciencias de la computación - Aplicada

Scheduling: Theorie und Praxis am Linux Kernel 2.6

Título: Scheduling: Theorie und Praxis am Linux Kernel 2.6

Trabajo de Investigación (Colegio) , 2010 , 22 Páginas , Calificación: 1+

Autor:in: Sven Feldkord (Autor)

Ciencias de la computación - Aplicada
Extracto de texto & Detalles   Leer eBook
Resumen Extracto de texto Detalles

In der heutigen Zeit ist es für Computer unabdingbar, mehrere Aufgaben gleichzeitig zu bearbeiten.
Die CPU (Central Processing Unit) verarbeitet nacheinander Instruktionen und bearbeitet somit diese Aufgaben. Hierbei ist insbesondere das „nacheinander“ zu betonen, da eine einzelne CPU nicht mehrere Instruktionen gleichzeitig ausführen kann und lediglich durch einen schnellen Wechsel zwischen den Aufgaben (Prozessen) Parallelität vorgaukelt. Diese Wechsel werden durch ein Verwaltungssystem organisiert, welche die Laufzeit aufteilt, sodass sich verschiedene Aufgaben bei der Nutzung der CPU abwechseln. Dieses System ist, wie sämtliche die Hardware betreffende Verwaltungsaufgaben, ein Teil des Kernels und wird Scheduler genannt.
Diese Facharbeit wird verschiedene Scheduling-Algorithmen und die Implementation des Linux-Kernels 2.6 erläutern. Zur Vereinfachung beziehen sich sämtliche Modelle auf Einprozessorsysteme, sofern nicht explizit auf die Verwendung des Modells bei Mehrprozessorsystemen hingewiesen wird.

Extracto


Struktur der Facharbeit

Vorwort

Kapitel 1: Einleitung in Kernel und Scheduler

Kapitel 2: Kernel-Architekturen

Kapitel 3: Scheduling-Modelle

3.1: FIFO-Scheduling

3.2: RR-Scheduling

3.2.1: Präemptives und nicht-präemptives Scheduling

3.2.2: Timeslices

3.2.3: Prozessdeskriptoren

3.2.4: Prozesszustände und die Waitqueue

3.2.5: Ereignis-basierte Waitqueues

3.3: Prioritäten-basiertes Scheduling

Kapitel 4: Interrupts

4.1: Definition eines Interrupts

4.2: Präemptive und nicht-präemptive Kernel-Architekturen

Kapitel 5: Scheduling in Linux

5.1: Einführung in das Schedulingverfahren des Linux-Kernels

5.2: Epochen-Modell

5.3: Echtzeitprozesse

5.3.1: Schedulingverfahren von Echtzeitprozessen

5.4: Normale Prozesse

5.4.1: Nice-Level

5.4.2: IO-Bonus

5.4.3: Berechnung der Prioritätsklasse

5.4.4: Berechnung der Timeslices

5.5: Goodness

Fazit

Zielsetzung & Themen

Das Hauptziel dieser Arbeit besteht darin, die theoretischen Grundlagen von Scheduling-Modellen in Betriebssystemen zu erläutern und deren praktische Anwendung sowie Implementierung im Linux-Kernel 2.6 zu analysieren.

  • Grundlegende Funktionsweise und Arten von Kernel-Architekturen.
  • Unterscheidung zwischen präemptiven und nicht-präemptiven Scheduling-Verfahren.
  • Die Rolle von Prozessdeskriptoren und Waitqueues bei der Verwaltung von Prozessen.
  • Detaillierte Analyse des Linux-Schedulers inklusive Prioritätsklassen und Epochen-Modell.
  • Bewertung des Linux-Schedulers hinsichtlich seiner Echtzeitfähigkeit und Performance.

Auszug aus dem Buch

3.2.3: Prozessdeskriptoren

Bei der parallelen Verarbeitung von mehreren Prozessen wird es notwendig, eine Datenstruktur einzuführen, welche alle notwendigen Informationen über einen Prozess beinhaltet, damit dieser, wenn er auf die CPU kommt den Zustand herstellen kann, der vor seiner Verdrängung herrschte. Diese Datenstruktur, welcher Prozessdeskriptor genannt wird, enthält folgende Elemente:

1. PID (Prozess-ID): Jeder Prozess bekommt bei der Erzeugung eine im System einmalig vorhandene Nummer zugewiesen, über welche er identifiziert werden kann.

2. Befehlszähler: Jedes Programm besteht aus einer Folge von Instruktionen. Der Befehlszähler beinhaltet die Adresse der Instruktion, welche als nächstes vom Prozessor verarbeitet werden soll. Dies wird benötigt, damit ein Prozess nach Wiedererlangen der CPU dort mit der Abarbeitung fortfahren kann, wo er vor seiner Verdrängung stehen geblieben ist.

3. Prozesszustand (siehe 3.2.4)

4. Zeitscheibe (siehe 3.2.2)

5. Nächster und vorheriger Prozess: Prozesse werden in doppelt verketteten Listen verwaltet. Somit stehen in dem Prozessdeskriptoren auch Zeiger auf den nächsten und vorherigen Prozessdeskriptor.

Zusammenfassung der Kapitel

Kapitel 1: Einleitung in Kernel und Scheduler: Definiert die Rolle des Kernels als Abstraktionsschicht zwischen Hardware und Nutzer sowie die grundlegende Aufgabe des Schedulers bei der CPU-Zeitverwaltung.

Kapitel 2: Kernel-Architekturen: Vergleicht monolithische, Mikrokernel- und modulare monolithische Kernel-Architekturen hinsichtlich ihrer Effizienz und Wartbarkeit.

Kapitel 3: Scheduling-Modelle: Erläutert die theoretischen Grundlagen des Scheduling, von einfachem FIFO über Round-Robin bis hin zu prioritätsbasierten Ansätzen.

Kapitel 4: Interrupts: Beschreibt die Bedeutung von Interrupts und Interrupt-Service-Routinen für die Prozesssteuerung und Synchronisation.

Kapitel 5: Scheduling in Linux: Detaillierte Betrachtung der Linux-Implementierung unter Verwendung des Epochen-Modells, Prioritätsklassen sowie Berechnungsweisen für Nice-Level und Goodness.

Fazit: Bewertung des Linux-Scheduling-Verfahrens mit dem Ergebnis, dass es für allgemeine Zwecke sehr effizient ist, jedoch keine harten Echtzeitanforderungen erfüllt.

Schlüsselwörter

Scheduling, Linux-Kernel, Betriebssystem, Prozessmanagement, CPU-Zeit, Round-Robin, Präemption, Echtzeitprozesse, Prioritätsklassen, Interrupts, Kernel-Architektur, Prozessdeskriptor, Epochen-Modell, Goodness, Nice-Level

Häufig gestellte Fragen

Worum geht es in dieser Facharbeit grundsätzlich?

Die Arbeit behandelt die theoretischen Konzepte des Schedulings und deren konkrete praktische Umsetzung im Linux-Kernel der Version 2.6.

Welche zentralen Themenfelder werden bearbeitet?

Die zentralen Felder sind Kernel-Architekturen, verschiedene Scheduling-Modelle, Interrupt-Verarbeitung und die spezifische Prozessverwaltung unter Linux.

Was ist das primäre Ziel der Arbeit?

Das Ziel ist ein fundiertes Verständnis dafür zu schaffen, wie moderne Betriebssysteme wie Linux die CPU-Zeit fair und effizient zwischen verschiedenen Prozessen aufteilen.

Welche wissenschaftliche Methode kommt zum Einsatz?

Es handelt sich um eine fachliche Analyse und deskriptive Darstellung bestehender Betriebssystem-Konzepte und deren technischer Spezifikationen.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in theoretische Scheduling-Grundlagen, die Funktionsweise von Interrupts und eine tiefgehende Analyse der Linux-spezifischen Scheduling-Algorithmen.

Durch welche Schlüsselwörter lässt sich die Arbeit charakterisieren?

Scheduling, Linux-Kernel, Prozessmanagement, Präemption, Echtzeitprozesse und Prioritätsberechnung.

Wie unterscheidet Linux zwischen normalen Prozessen und Echtzeitprozessen?

Echtzeitprozesse haben strikte Vorrangregeln und eigene Prioritätsklassen, während normale Prozesse durch dynamische Prioritäten und einen IO-Bonus verwaltet werden.

Was ist das "Epochen-Modell" im Linux-Kernel?

Es handelt sich um ein Konzept, bei dem die CPU-Zeit in Epochen unterteilt wird, um zu bestimmen, wie viel Rechenzeit (Zeitquanten) ein Prozess innerhalb einer solchen Epoche maximal beanspruchen darf.

Final del extracto de 22 páginas  - subir

Detalles

Título
Scheduling: Theorie und Praxis am Linux Kernel 2.6
Universidad
Freiherr vom Stein Gymnasium, Bünde
Calificación
1+
Autor
Sven Feldkord (Autor)
Año de publicación
2010
Páginas
22
No. de catálogo
V169004
ISBN (Ebook)
9783640882236
ISBN (Libro)
9783640882090
Idioma
Alemán
Etiqueta
Scheduling Linux Kernel Multithreading
Seguridad del producto
GRIN Publishing Ltd.
Citar trabajo
Sven Feldkord (Autor), 2010, Scheduling: Theorie und Praxis am Linux Kernel 2.6, Múnich, GRIN Verlag, https://www.grin.com/document/169004
Leer eBook
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
Extracto de  22  Páginas
Grin logo
  • Grin.com
  • Envío
  • Contacto
  • Privacidad
  • Aviso legal
  • Imprint