Lab

1

Operating Systems Principles

Linux Kernel


Systems Architecture Group

Ablieferungstermin und erreichbare Punktzahl für diese Aufgabe, sowie Voraussetzungen für die Prüfungszulassung entnehmen Sie bitte http://sar.informatik.hu-berlin.de.

Lab 1 – Linux Kernel

Installieren Sie sich QEmu und laden Sie sich das Image für die virtuelle Maschine runter. Starten und konfigurieren Sie das System, wie es im Praktikum erklärt wurde (pdf).

Implementieren Sie ein Modul sarlkm.ko, welches ein Pseudo-File /proc/sar bereitstellt nachdem es geladen wurde. Das File soll Folgendes enthalten:

<Prompt><Praktikumsgruppe>, <Anzahl Sekunden seit Systemstart>

Den Prompt soll man bereits beim Laden des Moduls setzen können (Modulparameter prompt_param)

./insmod sarlkm.ko prompt_param="value"

Implementieren Sie einen System-Call (kernel.prompt), der den Prompt der vorangegangenen Teilaufgabe setzen kann und den Wert des alten Prompts zurückliefert. Mit dem Unix-Tool "sysctl" soll man den Prompt lesen (sysctl kernel.prompt) und schreiben (sysctl -w kernel.prompt="value") können.

Schreiben Sie ein Programm (hostnamesysctl), welches mit Hilfe eines Systemaufrufes den Hostnamen des Systems ausgibt und setzten kann. Startet man das Programm ohne Parameter, so soll der Hostname ausgegeben werden. Zum Setzen des Hostnamens soll dieser als erster Parameter übergeben werden (hostnamesysctl NeuerHostname).

Erweitern Sie für die Implementierung den vorgegebenen Quellcode. Das Archiv enthält neben dem Quellcode auch ein Makefile und ein Skript (module.sh) zum Bauen des Moduls und des Tools "hostnamesysctl". Zum Testen gibt es ebenfalls ein Skript (test.sh).

  •  Bauen des Moduls: ./module.sh
  •  Bauen des Tools: make tools
  •  Testen: ./test.sh

Die Lösung wird über goya abgegeben. Erzeugen Sie dafür mit Hilfe des Makefiles das Archiv "lab-1.tar" und laden Sie dieses über die Webseite hoch.

  • Archiv erstellen: make pack

Material

Musterlösung


Legal disclaimer. .  © 2024 Humboldt-Universität zu Berlin, Computer Science Department, Systems Architecture Group.Contact: sar@informatik.hu-berlin.de .