操作系统内核是个什么东西?
什么是内核内核是操作系统的最核心最重要的模块,是操作系统首先加载到内存的部分,在保证尽可能小的内存使用的同时要尽可能多的为操作系统的应用程序以及其他部分提供基本的服务,内核代码通常是被加载到内存的保护区域,从而防止应用直接访问内核的内存区域,起到应用和内核隔离的作用,保证了操作系统的可靠稳定 。严格地说,内核并不是计算机操作系统中必要的组成部分,但是为了抽象出统一的硬件操作接口,几乎每个操作系统都会有一个内核,比如Linux内核就被广泛的使用在Linux,FreeBSD,Android等操作系统上 。
【应用程序之间的接口是,操作系统内核】内核负责哪些内容内核是连接硬件和应用的桥梁 。通常来说,内核负责的内容包括:内存管理进程和任务管理设备管理IO通信中断处理文件系统等等两个主要内核架构1 宏内核架构(Monolithic Kernel)在此类内核架构的早期阶段,所有基本的系统服务(如进程和内存管理,中断处理等)都打包到内核空间中的单个模块中 。
这种类型的体系结构存在一些严重的缺点,例如:内核的大小非常大;可维护性很差;修复一个错误或添加某个新功能可能导致重新编译整个内核,耗费数小时 。在现代的宏内核架构中,内核由可以动态加载和卸载的不同模块组成 。这种模块化方法可以轻松扩展操作系统的功能 。内核的可维护性变得非常容易,因为每当特定模块中发生更改或错误修复后,只需要加载和卸载相关的模块 。
没有必要重新编译整个内核 。此外,这种动态加载模块的方式为各种平台(例如嵌入式设备等)裁剪内核变得非常容易,因为我们可以轻松卸载我们不想要的模块 。我们熟知的Linux内核就是宏内核 。2 微内核架构(Micro Kernel)这种内核架构主要为了解决不断增长的内核代码大小的问题,因为在宏内核中不能很有效的进行控制 。
微内核架构允许在用户空间运行设备驱动程序,协议栈,文件系统等基本服务 。这减少了内核代码的大小,并且还提高了操作系统的安全性和稳定性,因为我们只在内核中运行最少的代码 。假如网络服务等基本服务因缓冲区溢出而崩溃,那么只有网络服务的内存会被破坏,系统的其余部分仍然可以运行 。在微内核架构中,操作系统所有基础的服务都作为户空间的一部分,系统中的其他程序通过进程间通信(IPC)使用这些服务 。
例如:有用于设备管理的驱动,网络协议栈,文件系统,图形管理等服务 。微内核服务本质上是一些守护进程,除了内核授予它们中的一些特权来与物理内存的某些部分进行交互,否则大多数程序都不能与这些部分进行交互 。授予特权的服务(尤其是设备驱动服务)可以直接与硬件交互 。那么,微内核架构在内核空间中推荐的最低限度是什么,或者说最基本的微内核需要包括什么?内存保护进程调度进程间通信(IPC)除此之外,所有其他基本服务都可以成为用户空间的一部分,并且可以以服务的形式运行 。
推荐阅读
- 3.1通话界面
- 开票与纳税之间是什么关系,发票和缴税有什么关系
- 为什么知网查重率低,知网查重为什么是百分之零
- 人世间电视剧全集免费观看,rs
- 日本三十年房价,房价长跌30年
- 汕头房价为什么那么低,为什么房价却那么高
- 龙之女神怎么玩战斗力比较高,8090龙之女神攻略
- 亚运会后之江的房价,杭州亚运会即将来临
- 英魂之刃黑桃出什么,聚侠英魂之刃专区
- 大皇帝三个重弩配合什么技能,万万没想到之大皇帝各类阵容搭配推荐