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

    什么是宏内核

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

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


    宏内核 对比 微内核

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

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

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


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

    传统Unix 编写驱动->改变内核相应数据结构->重新编译内核->重新引导整个系统
    Linux 1. 如传统方式一样,将驱动静态编译进内核中
    2. 允许“模块”动态地进行安装,模块能在内核运行时进行安装和卸载,不需要重新编译内核
  • 相关阅读:
    垃圾回收于内存优化(摘自网络)
    as3.0 动态改变影片剪辑的颜色
    2进制_8进制_16进制之间快速转换的技巧.txt
    24位真彩色转换为8位灰度图片(完整代码)
    大端模式和小端模式
    如何将真彩色图转换为各种灰度图
    C++图像缩放
    二进制转十进制快速转换方法
    电脑上运行的使用大全
    移位运算符详解
  • 原文地址:https://www.cnblogs.com/friedCoder/p/12767258.html
Copyright © 2011-2022 走看看