操作系统的体系结构
操作系统的体系结构
分层结构
特性:内核分多层,每层可单向调用更低一层的接口。
优点:便于调试和验证,自底向上逐层调试验证。
缺点:效率低,不可跨层调用,系统调用执行时间长。
模块化
特性:将内核划分为多个模块,各模块之间相互协作。
内核=主模块+可加载内核模块
主模块只负责核心功能,如进程调度、内存管理
优点:支持动态加载新的内核模块,增强OS适应性。
任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高。
缺点:模块间相互依赖,更难调试和验证。
大内核
特性:所有的系统功能都放在内核里。
优点:性能高,内核内部各种功能都可以直接相互调用
缺点:内核庞大功能复杂,难以维护。
大内核中某个功能模块出错,就可能导致整个系统崩溃。
微内核
特性:只把最核心的功能放入内核,进程管理、文件管理、设备管理等功能以用户进程的形式运行在用户态。
优点:内核小功能少、易于维护,内核可靠性高。
内核外的某个功能模块出错不会导致整个系统崩溃。
缺点:性能低,需要频繁的切换用户态、核心态。用户态下的各功能模块不可用直接相互调用,只能通过内核的”消息传递“来间接通信。
外核
特性:内核负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全。
优点:外核可直接给用户进程分配“不虚拟、不抽象”的硬件资源,使用户进程可以更灵活的使用硬件资源。
减少了虚拟硬件资源的“映射层”,提升效率。
缺点:降低了系统的一致性,使系统变得更复杂。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-02-03 指针的基础进阶