八股系列|操作系统|结构
文章目录
系统结构
什么是内核与操作系统?
- 内核属于操作系统,是操作系统最核心的部分,是用户和系统硬件的桥梁
- 操作系统是管理计算机系统资源的软件
内核具备什么功能?
- 管理进程、线程,具备进程调度能力
- 管理内存,决定内存分配与回收
- 管理硬件设备
- 提供系统调用。应用程序运行内核指令时,都是需要中断并陷入内核态,内核去指向
内核是怎么工作的?
计算机系统内存被划分为用户空间和内核空间,分别代表用户态和内核态。
- 用户态:应用程序可以执行一些非特权指令和访问局部内存空间
- 内核态:如果需要执行特权指令,需要由内核来完成。并且可以访问所有内存空间。
所以,一般来说,程序在用户态执行,就是指程序在用户空间执行;而程序在内核空间时,就是指内核态执行
当用户需要执行内核指令的时候,通过执行系统调用trap,然后cpu中断当前应用程序,由内核执行系统调用,完成后再次触发中断,把执行权交给用户态。
对于内核的架构一般有这三种类型:
- 宏内核,包含多个模块,整个内核像一个完整的程序;
- 微内核,有一个最小版本的内核,一些模块和服务则由用户态管理;
- 混合内核,是宏内核和微内核的结合体,内核中抽象出了微内核的概念,也就是内核中会有一个小型的内核,其他模块就在这个基础上搭建,整个内核是个完整的程序;
Linux 的内核设计是采用了宏内核,Window 的内核设计则是采用了混合内核。
这两个操作系统的可执行文件格式也不一样, Linux 可执行文件格式叫作 ELF,Windows 可执行文件格式叫作 PE。
文章作者 cold-bin
上次更新 2023-08-23