| Zeile 2: | Zeile 2: | ||
== Aufgaben == | == Aufgaben == | ||
| − | + | Die HAL beinhaltet somit folgende Aufgaben, wobei zu beachten ist, dass das nur mögliche Teile einer HAL sind. Was genau der HAL macht hängt sehr von der Struktur des OS ab. In gewissen Grenzen ist es auch eine Sache der persönlichen/subjektiven Definition ob bestimmte Code-Fragmente vom OS Teil des HAL sind oder einer anderen Komponente zugeordnet werden. | |
| − | Die HAL beinhaltet somit folgende Aufgaben, wobei zu beachten ist, dass das nur mögliche Teile einer HAL sind | ||
=== I/O-Ports === | === I/O-Ports === | ||
| Zeile 26: | Zeile 25: | ||
=== Scheduling === | === Scheduling === | ||
Der [[Scheduler]] hat unter anderem die Aufgabe den Kontext zu wechseln. Dabei müssen Register gesichert und wiederhergestellt werden und außerdem der virtuelle Adressraum gewechselt werden, d. h. dieser Teil des Schedulers ist extrem abhängig von der Architektur und gehört somit auch zur HAL. Außerdem muss der Scheduler von einem Timer – bei [[x86]]/[[x86-64]] die [[PIT]], der [[RTC]], die [[Local APIC]]-Timer oder der [[HPET]] – aufgerufen werden, d. h. der Treiber für diesen Timer könnte auch Teil der HAL sein. | Der [[Scheduler]] hat unter anderem die Aufgabe den Kontext zu wechseln. Dabei müssen Register gesichert und wiederhergestellt werden und außerdem der virtuelle Adressraum gewechselt werden, d. h. dieser Teil des Schedulers ist extrem abhängig von der Architektur und gehört somit auch zur HAL. Außerdem muss der Scheduler von einem Timer – bei [[x86]]/[[x86-64]] die [[PIT]], der [[RTC]], die [[Local APIC]]-Timer oder der [[HPET]] – aufgerufen werden, d. h. der Treiber für diesen Timer könnte auch Teil der HAL sein. | ||
| + | |||
| + | === Plug-and-Play === | ||
| + | Das OS muss oft erst die im System vorhandenen Geräte alle finden und die benutzten (Speicher-/IO-/Interupt-)Ressourcen ermitteln oder selber vergeben. Dazu werden für moderne Hardware-Komponenten üblicherweise die Plug-and-Play-Mechanismen des betreffenden Busses (über den das Gerät dem System zugänglich ist) benutzt. Bei z.B. [[PCI]]-Geräten wird dazu der PCI-Config-Space benutzt und damit nicht alle Treiber selber direkt darauf zugreifen müssen bietet der OS-Kernel üblicherweise passende Funktionen an welche wiederum als Teil des HAL gezählt werden können. | ||
[[Kategorie:Glossar]] | [[Kategorie:Glossar]] | ||
[[Kategorie:Betriebssystemkomponente]] | [[Kategorie:Betriebssystemkomponente]] | ||