Grin logo
de en es fr
Boutique
GRIN Website
Publier des textes, profitez du service complet
Aller à la page d’accueil de la boutique › Informatique - Informatique appliquée

Scheduling: Theorie und Praxis am Linux Kernel 2.6

Titre: Scheduling: Theorie und Praxis am Linux Kernel 2.6

Thèse Scolaire , 2010 , 22 Pages , Note: 1+

Autor:in: Sven Feldkord (Auteur)

Informatique - Informatique appliquée
Extrait & Résumé des informations   Lire l'ebook
Résumé Extrait Résumé des informations

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.

Extrait


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.

Fin de l'extrait de 22 pages  - haut de page

Résumé des informations

Titre
Scheduling: Theorie und Praxis am Linux Kernel 2.6
Université
Freiherr vom Stein Gymnasium, Bünde
Note
1+
Auteur
Sven Feldkord (Auteur)
Année de publication
2010
Pages
22
N° de catalogue
V169004
ISBN (ebook)
9783640882236
ISBN (Livre)
9783640882090
Langue
allemand
mots-clé
Scheduling Linux Kernel Multithreading
Sécurité des produits
GRIN Publishing GmbH
Citation du texte
Sven Feldkord (Auteur), 2010, Scheduling: Theorie und Praxis am Linux Kernel 2.6, Munich, GRIN Verlag, https://www.grin.com/document/169004
Lire l'ebook
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
  • Si vous voyez ce message, l'image n'a pas pu être chargée et affichée.
Extrait de  22  pages
Grin logo
  • Grin.com
  • Expédition
  • Contact
  • Prot. des données
  • CGV
  • Imprint