操作系统的体系结构

操作系统的体系结构

分层结构

特性:内核分多层,每层可单向调用更低一层的接口。

优点:便于调试和验证,自底向上逐层调试验证。

缺点:效率低,不可跨层调用,系统调用执行时间长。

模块化

特性:将内核划分为多个模块,各模块之间相互协作。

内核=主模块+可加载内核模块

主模块只负责核心功能,如进程调度、内存管理

优点:支持动态加载新的内核模块,增强OS适应性。

任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高。

缺点:模块间相互依赖,更难调试和验证。

大内核

特性:所有的系统功能都放在内核里。

优点:性能高,内核内部各种功能都可以直接相互调用

缺点:内核庞大功能复杂,难以维护。

大内核中某个功能模块出错,就可能导致整个系统崩溃。

微内核

特性:只把最核心的功能放入内核,进程管理、文件管理、设备管理等功能以用户进程的形式运行在用户态。

优点:内核小功能少、易于维护,内核可靠性高。

内核外的某个功能模块出错不会导致整个系统崩溃。

缺点:性能低,需要频繁的切换用户态、核心态。用户态下的各功能模块不可用直接相互调用,只能通过内核的”消息传递“来间接通信。

外核

特性:内核负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全。

优点:外核可直接给用户进程分配“不虚拟、不抽象”的硬件资源,使用户进程可以更灵活的使用硬件资源。

减少了虚拟硬件资源的“映射层”,提升效率。

缺点:降低了系统的一致性,使系统变得更复杂。

posted @   宣哲  阅读(318)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-02-03 指针的基础进阶
点击右上角即可分享
微信分享提示