操作系统(二):操作系统结构

21. 什么是内核呢?内核有哪些功能?内核是怎么工作的?

(1)内核是应用与硬件设备之间连接的桥梁,应用程序只需关心与内核交互,不用关心硬件的细节。
(2)现代操作系统的内核一般具有以下4个功能:

  • 管理进程、线程,决定哪个进程、线程使用CPU,也就是进程调度的能力;
  • 管理内存,决定内存的分配和回收,也就是内存管理的能力;
  • 管理硬件设备,为进程与硬件设备之间提供通信能力,也就是硬件通信能力;
  • 提供系统调用,如果应用程序要运行更高权限的服务,那么就需要有系统调用,它是用户程序与操作系统之间的接口。

(3)大部分操作系统,把内存分成了两个区域:

  • 内核空间,只有内核程序才能访问;
  • 用户空间,专门给应用程序使用。

内核程序执行在内核态,用户程序执行在用户态。应用程序如果需要进入内核空间,就需要通过系统调用,当应用程序使用系统调用时,会产生一个中断。发生中断后,CPU会中断当前正在执行的程序,转而跳转到中断处理程序,也就是开始执行内核程序。内核程序执行完成后,主动触发中断,把CPU执行权限交回给应用程序,回到用户态继续执行程序。


22. Linux和Windows系统的设计理念

  • Linux:MultiTask 多任务、SMP 对称多处理、 ELF 可执行文件链接格式、Monolithic Kernel 宏内核;
  • Windows:MultiTask多任务、SMP对称多处理、PE 可执行文件格式、混合型内核。

23. 内核的架构分为哪几种?

对于内核的架构一般分为以下三种类型:

  • 宏内核,包含多个模块,整个内核像一个完整的程序;
  • 微内核,有一个最小版本的内核,一些模块和服务则由用户态管理;
  • 混合内核,是宏内核和微内核的结合体,内核中抽象出了微内核的概念,也就是内核中会有一个小型的内核,其他模块就在这个基础上搭建,整个内核是个完整的程序。

Linux的内核设计上采用了宏内核,Windows的内核设计上则采用了混合内核。
这两个操作系统的可执行文件格式也不一样,Linux可执行文件格式叫作ELF,Windows 可执行文件格式叫作PE。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值