-3

In micro kernel system structure,hardware is not interact with the micro kernel. So I want to know why micro-kernel of Windows NT doesn't directly interact with the hardware layer?

here is diagram what I am talking about Mico kernel System structure

DevAra
  • 531
  • 3
  • 10
  • 35
  • What in that diagram makes you think it doesn't? – dxiv Jul 10 '16 at 04:55
  • no any diagrams I saw it interact with micro kernel. – DevAra Jul 10 '16 at 04:57
  • Not sure what other `any diagrams` you are talking about. It helped if you added that into your question. The NT drivers that *interact* with the hardware are somewhere in the area labeled `micro kernel` in the diagram you posted - though I should point that's a very rough sketch, and even calling it *micro-kernel* is open to argument. – dxiv Jul 10 '16 at 05:05
  • thanks for the reply dxiv, I said that I don't know any other diagrams about this. this is a question gave me in my class.My sir ask this question from that picture I added in my question. – DevAra Jul 10 '16 at 05:27
  • Why members vote this as unclear or not useful question.Here is the question what I am found – DevAra Jul 10 '16 at 05:33
  • `I said that I don't know any other diagrams about this` Sorry but that was easy to misread. In casual English, what you wrote sounded like you've seen *many* other diagrams, and none showed the kernel interacting with the hardware. See for example the diagram at the top right of [Architecture of Windows NT](https://en.wikipedia.org/wiki/Architecture_of_Windows_NT) which shows pretty clearly that the kernel-mode layer *does* in fact interact directly with the hardware. Also note that the *micro-kernel* in that diagram is only a *sub*-part of the kernel-mode layer. – dxiv Jul 10 '16 at 05:48
  • thanks a lot dxiv I already read it and got some knowledge about this.So I think this happen because Windows NT device drivers control a device directly.Is it correct?? – DevAra Jul 10 '16 at 07:04
  • `NT device drivers control a device directly` Some do, some don't "*directly*", some don't at all. Really, this is too broad a question, borderly off-topic on SO, and you won't get satisfactory answers unless you add a *lot* more context ot it - such as your background level in OS internals, and what exactly you mean to ask. – dxiv Jul 10 '16 at 07:17
  • that's means is it wrong? :D anyway can you please tell me Why do we need to open a file before read or modify it? – DevAra Jul 10 '16 at 07:51
  • It was originally designed as a micro-kernel but that did not last long, only 2 years. The transition back to userland was too expensive. That diagram is grossly outdated. But back then they also had versions that ran on a Alpha and MIPS processor. The HAL (hardware abstraction layer) hides the hardware differences. – Hans Passant Jul 10 '16 at 08:39
  • sorry I didn't get it – DevAra Jul 10 '16 at 08:54

1 Answers1

-1

In a word: Portability

The NT microkernel is written in terms of the HAL (Hardware Abstraction Layer) to make it easy to port to mulitple target harware architectures. Now for the most part the HAL is very low level, and where possible compiles away to nothing (so the actual microkernel code is running directly on the hardware), or minimal inline asembly code.

Chris Dodd
  • 119,907
  • 13
  • 134
  • 226