简述宏内核与微内核

11-20| http://www.dianzi6.com | arm嵌入式|人气:551

简述宏内核与微内核

  自然的做法:凡是为进程服务的模块就应放在操作系统的内核中。例如:文件管理模块是为进程服务的,所以应放在内核中;设各驱动模块是为进程服务的,所以要放在内核中;进程管理模块当然也要放在内核中。随着进程对服务需求的增加,操作系统的内核就越来越大,随之也出现了一系列问题。

  首先,由于内核是常驻内存的,因此大内核占用的存储空间就大,这样在硬件系统比较小,存储器资源比较紧张的系统中就不太适用;其次,是维护起来也比较困难,假如内核中的某一个服务模块进行了修改,那么在修改之后就必须对整个系统进行一次编译,显得极不方便;再次,就是使得处理器在内核运行的时间变长,从而不适合在速度要求较高的场合下应用。

  总之,操作系统的内核大到一定程度之后,会出现一系列因为大而产生的诸多问题。为了解决这些问题,人们想了一系列的办法试图在满足应用程序所需服务的前提下把内核做小。其中一个有效的办法是,把内核各个服务程序模块中的部分内容移到内核的外面作为一个进程来看待,在内核中只保留内核服务与用户进程的接口,或者说只保留一个“壳”。在用户进程需要该服务时,由这个“壳”通过发送消息的方法与服务进程进行联系,当与这个服务相关的服务进程接收到这个信息时就马上启动这个服务。这样,内核中保留的只是一些服务模块的“壳”.或耆说是消息的转送站,于是内核就可以大大变小了。这种内核就叫做“微内核”,具有微内核的操作系统叫做微内核操作系统。

  因此,在操作系统内核的设计上有两种结构:宏内核结构和微内核结构。

  宏内核的内部可被分为若干模块(或者是层次或其他)。但是在运行时,它是一个独立的二进制大映像。模块间的通信不是通过消息传递,而是通过直接调用其他模块中的函数来实现的。

  在微内核中,用以完成系统调用功能的程序模块通常只进行简短的处理,而把其余工作通过消息传递交给内核之外的进程来处理。在典型情况下,每个系统调用程序模块都有一个与之对应的进程,微内核部分经常只不过是一个消息转发站,这种方式有助于实现模块间的隔离。这种内核设计的最根本思想就是要保持操作系统的内核尽可能小,因为内核是直接与计算机硬件相关的,内核越小,就越便于在不同的硬件系统间进行移植。微内核结构的另外一个优点是,可以使不需要的模块不加载到内存中,因此,微内核就可以更有效地利用内存。

  



   如果觉得 简述宏内核与微内核这篇文章不错,可以推荐给朋友分享哦。
本文Tags:arm嵌入式系统,arm系统,arm开发,arm嵌入式,
相关arm嵌入式资料


温馨提示; 本站的资料全部免费下载,为方便下次找到本站记得将本站加入收藏夹哦,牢记网址http://www.dianzi6.com

此页提供简述宏内核与微内核arm嵌入式系统,arm系统,arm开发, arm嵌入式参考。本站还有更多的arm嵌入式相关资料分享。
Copyright© www.dianzi6.com Inc. All rights reserved 。 1 2 3 4 5 6 7 8