#1
|
|||
|
|||
Is the 'HAL dll' the lowest level file?
The HAL (Hardware Abstraction Layer) has a dll in windows called 'hal.dll'. This is even below the kernel level. It's the lowest level file on a windows box isn't it?
Is it even below the 'hardware bus driver'? ... Another low-level thing is 'IRQL levels'. IRQL is like a hierarchy within ring-0. Just how low-level can things get? i.e (When do you hit the absolute basement)? Last edited by Rhodium; 06-10-2004 at 16:55. |
#2
|
|||
|
|||
I would say so. Drivers uses HAL to perform I/O as well. And apparently you can replace just the HAL to port WinNT to a different platform.
Aur Quote:
|
#3
|
|||
|
|||
What about the 0x1F Interrupt?
That is pretty low-level. Last edited by Rhodium; 06-11-2004 at 02:38. |
#4
|
|||
|
|||
IMHO the HAL is the lowest level you get. Lowest in the sense that it doesn't rely on any layer to access the "important stuff" in the hardware, such as changing IRQL status, for instance.
If you get the intel manuals and look at the code in the hal, you'll see it using the reserved memory ranges mentioned, the interrupts, etc. You can replace just the HAL to make it work on another "platform". Not a different cpu (with different opcodes), only a different architecture (such as multi-processor instead of uniprocessor) but with the same instruction set. |
#5
|
|||
|
|||
It's just a function layer providing a uniform interface on port access or hardware register access ...
It does not stand for any hardware, just hiding various differences of hardwares. Any devices and any buses need their own device drivers, these drivers will use the common routines provided by HAL.dll to function the real hardware ... Just my understanding |
#6
|
|||
|
|||
In an architectural view of the windows operating system, the HAL(hardware abstraction layer) is indeed the bottom layer of operating system, the kernel (ntoskrnl) sits on top of HAL. Hal presents the kernel a transparent view of underlying hardware interfaces, for example, your keyboard and mouse. Also included are busses, interrupts, timers, DMA, memory cache control, other I/O devices, etc. The HAL take care of all gory details of interacting with all the various hardware interfaces and the kernel doesn't have to burden itself with the details.
In conclusion, HAL is the last layer of software, beneath it it's all hardware or almost! :P Now onto your 2nd question, from the intel ia32 manual, highest -> lowest seen by the CPU, 9 levels hardware reset and machine checks trap on task switch external hardware interventions traps on the previous instruction external interrupts code breakpoint fault faults from fetching next instruction faults from decoding next instruction faults from instruction execution Windows kernel maintains a separate but related IRQL that is 5 bits long (0->31 highest), the user level request is always 0 (passive). There is another form of P.L., inside the IDT descriptor, however this one is related to interrupt handler execution priviledge level (2 bit, ring0 and ring3). So the lowest of the low is the hardware reset or machine check signal sent to CPU/OS. Last edited by homersux; 08-12-2004 at 22:19. |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
about level | Utshiha | General Discussion | 2 | 09-26-2014 15:20 |
How to?-How to mark a file at the OS level | SOLAR | General Discussion | 7 | 05-30-2005 21:28 |
where are second level dll functions | raygun | General Discussion | 2 | 01-24-2005 05:56 |