Talk:Hardware abstraction layer
![]() | It is requested that a diagram or diagrams be included in this article to improve its quality. Specific illustrations, plots or diagrams can be requested at the Graphic Lab. Please replace this template with a more specific media request template where possible. For more information, refer to discussion on this page and/or the listing at Wikipedia:Requested images. |
Windows has a hybrid kernel (also known as a macrokernel), not a microkernel. Replaced the word "microkernel" with "kernel". Love4Boobies —Preceding undated comment was added at 12:05, 25 September 2008 (UTC).
the article states: "BSD, Linux, MS-DOS and the Windows NT based operating systems also have a HAL."
but does MS-DOS really have any HAL?
maybe someone more competent could either fix the article or confirm the existence of the abstraction layer in ms-dos...
regards, Blueshade 12:01, 14 December 2005 (UTC)
- Well, MS-DOS was designed so that io.sys serves as an HAL, which is analgios to the CP/M BIOS, which also serves as an HAL. See Non-PC compatible x86 computers. Yuhong 00:38, 30 December 2005 (UTC)
CPM was certainly 'ported' to another architecture (m68k) for atari/ GEM development. I know of no examples of DOS running on other architectures - in fact the use of int 21h and its reliance on CPU registers to pass parameters seems to argue against it. Therefore I would argue that DOS has no HAL (i.e. there is no abstraction present). AFAIK (recall) io.sys is just a wrapper around the standard PC BIOS. I would argue that DOS be removed from this list. Djmwlv 16:05, 7 August 2007 (UTC)
- Read IBM_PC_compatible#Compatibility_issues. Also, usually processor ports require more than just a change in HAL. 65.110.28.195 05:38, 12 August 2007 (UTC)
System/38 and AS/400: HAL or bytecode?
"An "extreme" example of a HAL can be found in the System/38 and AS/400 architecture. Most compilers for those systems generate an abstract machine code; the Licensed Internal Code, or LIC, translates this virtual machine code into native code for the processor on which it is running and executes the resulting native code. (The exceptions are compilers that generate the LIC itself; those compilers are not available outside IBM.) This was so successful that application software and operating system software above the LIC layer that were compiled on the original S/38 run without modification and without recompilation on the latest AS/400 systems. This despite the fact that the underlying hardware has been changed dramatically; at least three different types of processors have been in use." It sounds more like bytecode to me, citations anyone? - 121.222.166.72 (talk) 11:57, 27 December 2007 (UTC)
- In the very broad sense of a layer that provides an abstract model hiding the underlying hardware, it qualifies as a HAL - but one could argue that any OS providing some level of device-independence does so as well. I'd say that it doesn't fit the narrower model of a HAL that, for example, the Windows NT HAL, and the equivalent code in various modern Unix-like systems, fit. The "licensed internal code" on the S/38 and AS/400/iSeries/System i systems might well have a HAL in that sense, hiding the details of interrupts, I/O buses, memory management units, etc. from the rest of the LIC, so that the bulk of the LIC doesn't have to be changed if a new System i model comes out using a different I/O architecture. Guy Harris (talk) 21:23, 27 December 2007 (UTC)
Removed sentence about HAL and nanokernels
I've removed the sentence:
Usually, the term HAL is considered close to the nanokernels, though this is not exact.
...as I'm not sure what it means. As far as I can see, HALs have most often been associated with classic kernel architectures.
Maybe this was intended to say something like "Nanokernel architectures usually have a hardware abstraction layer, although this is not always the case" ?--NapoliRoma (talk) 17:23, 22 January 2008 (UTC)
Take a look at this: http://en.wikipedia.org/wiki/Microkernel#Nanokernel It also says that. (#3) JordyD (talk) 14:33, 11 November 2009 (UTC)
How to call this
I wonder know if it's better to call this concept with layer or notCallmejosh (talk) 13:31, 1 July 2008 (UTC)