Micro kernel 和 Monolithic kernel

1、内核概述 Kernel是OS的核心,提供了硬件级的抽象,它向外部提供了对计算机设备的核心管理调用。我们将操作系统的代 码分成2部分。内核所在的地址空间称作内核空间。而在内核以外的统称为外部管理程序,它们大部分是对外围设备的管理和界面操作。外部管理程序与用户进程所 占据的地址空间称为外部空间。 通常,一个程序会跨越两个空间。当执行到内核空间的一段代码时,我们称程序处于内核态,而当程序执行到外部空间代码时,我们 称程序处于用户态。 内核的结构往往可分为单内核(monolithic kernel),微内核(microkernel),超微内核(nanokernel),以及外核(exokernel)等。超微内核与外内核等其他结构是在二十世纪末的时候在理论界发展起来的,大部分时候在实验室里生存;而自二十世纪八十年代起, 大部分理论研究都集中在以微内核为首的“新兴”结构之上;同时,在应用领域之中,以单内核结构为基础的操作系统却一直占据着主导地位。

2、Monolithic kernel 宏内核,也称单内核。操作系统中所有的系统相关功能都被封装在内核中,它们与外部程序处于不同的内存地址空间中,并通过各种方式(在Intel IA-32体系中采用386保护模式)防止 外部程序直接访问内核结构。程序只有通过一套称作系统调用(system call)的界面访问内核结构。 虽然Linux是单一内核体系,但是它与传统的单一内核UNIX操作系统不同。在普通的单一内核系统中,所有的内核代码都是被静态编译联入的,而在 Linux中,可以动态装入和卸载内核中的部分代码。Linux将这些代码段称为模块(module),并对模块给予了强有力的支持。在Linux中,可 以在需要时自动装入和卸载模块。 样例:Linux,Windows

3、Micro kernel 微内核的基本原理是,只有最基本的操作系统功能才能放在内核中。不是最基本的服务和应用程序在微内核之上构造,并在用户模式下运行。 微内核结构用一个水平分层的结构代替了传统的纵向分层的结构。在微内核外部的操作系统部件被当作server进程来实现,用来处理每个特定的任务,它们可以通过微内核用IPC进行通信。 1986年,Tanenbaum提出Mach kernel,而后,他的minix和GNU的Hurd操作系统更是微内核系统的典范。 优点:一致接口 缺点:性能问题,进程间互相通信的开销较大 样例:苹果公司的操作系统

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值