zoukankan      html  css  js  c++  java
  • 1.1 宏内核

    什么是宏内核

    首先要知道什么是宏内核,用过电脑的都知道电脑上有操作系统和应用程序。而操作系统的核心是内核,应用程序的本质是”服务进程“。于是一个功能到底由内核实现还是由服务进程实现,也就是功能的划分问题。

    实际上内核只需要保留的功能只有进程间通信,其它功能都可以划分给服务进程,于是内核的大小便得以进行调整,划分进内核的功能(如文件系统,网络等)越多便是宏内核,划分得少便是微内核。


    宏内核 对比 微内核

    起初计算机由于性能受限,主要采取微内核。后来由于硬件性能的提升,系统所需服务面的扩大以及对于安全性能的要求,大部分计算机采取了宏内核。事实上,linux就是宏内核。

    当然对于微内核的系统,考虑到用户态和内核态之间的切换开销,每一次变态的过程都是有成本的,要消耗不少时间,频繁地变态会降低系统性能,这也就是我们常说微内核的运行效率低的原因所在。

    但是对于很多嵌入式系统,都保留了微内核,因为硬件限制,服务单一。


    如何向宏内核中添加设备(服务)

    传统Unix 编写驱动->改变内核相应数据结构->重新编译内核->重新引导整个系统
    Linux 1. 如传统方式一样,将驱动静态编译进内核中
    2. 允许“模块”动态地进行安装,模块能在内核运行时进行安装和卸载,不需要重新编译内核
  • 相关阅读:
    【Linux常用命令】 cat
    【Linux常用命令】 chmod
    【2012.4.22】北京植物园&卧佛寺
    【Linux常用命令】 重定向输出 > 和 >>
    一些话
    linux下查看用户个数和具体名字
    【Linux常用命令】 ls
    Ethernet frame
    防止修改类和方法
    redis数据批量导入导出
  • 原文地址:https://www.cnblogs.com/friedCoder/p/12767258.html
Copyright © 2011-2022 走看看