当前位置: 首页 > news >正文

第1章 计算机系统概述

1、操作系统的定义

操作系统(OS)控制和管理整个计算机系统的硬件和软件资源,合理组织调度计算机的工作和资源分配的系统软件

  1. 操作系统是系统资源的管理者;
  2. 提供用户和其他软件方便的接口和环境;
  3. 是最接近硬件的一层软件。
image-20250912193610344

2、操作系统的功能和目标

1)作为系统资源的管理者

  1. 提供功能
    • 处理机管理(CPU)
    • 存储器管理(内存)
      • 执行一个程序前需要将该程序放到内存中,才能被CPU处理。
    • 文件管理
    • 设备管理
  2. 目标
    • 安全、高效

2)向上层提供方便易用的服务

  1. 封装思想:将硬件功能封装成简单易用的服务
  2. 提供以下接口:
    • GUI(图形用户界面)
    • 命令接口
      1. 联机命令接口(交互式)
        • 例如:命令行。
      2. 脱机命令接口(批处理式)
        • 例如:.bat文件。
    • 程序接口(系统调用(广义指令)):供程序员通过代码调用

3)作为最接近硬件的层次

  1. 实现对硬件机器的扩展;
  2. 将裸机改造成虚拟机,功能更强、使用更方便。

3、操作系统的特征

并发和共享是两个最基本的特征,二者互为存在条件;没有并发和共享,就没有虚拟和异步。

1)并发

  1. 指多个事件在同一时间间隔内发生(宏观同时,微观交替)。
  2. 并行:指多个事件在同一时刻发生。
  3. 单核CPU只能并发,多核CPU可以并行

2)共享

  1. 资源可供多个并发进程共同使用。
  2. 两种共享方式:
    • 互斥共享:如摄像头、打印机。
    • 同时共享:如硬盘(宏观同时,微观交替)。

3)虚拟

  1. 将一个物理实体变为多个逻辑实体。
  2. 两种虚拟技术:
    • 空分复用技术:如虚拟内存。
    • 时分复用技术:如虚拟处理器(CPU分时复用)。

4)异步

  1. 进程执行走走停停,速度不可预知。
  2. 原因:资源有限,进程竞争资源。

4、操作系统的发展和分类

本小节主要关注1-4的操作手段的优缺点

操作系统的发展历程(手工→批处理→分时→实时)。

1)手工操作阶段

  1. 缺点:人机速度矛盾,资源利用率低。

2)批处理阶段

①单道批处理系统
  1. 引入脱机输入/输出技术和监督程序。
  2. 优点:缓解人机速度矛盾。
  3. 缺点:资源利用率低,CPU等待I/O。
②多道批处理系统
  1. 操作系统正式诞生,支持多道程序并发。
  2. 优点:资源利用率高,系统吞吐量大
  3. 缺点:无人机交互,用户不能干预作业。

3)分时操作系统

  1. 时间片轮流为用户服务。
  2. 优点:提供人机交互,多用户独立使用。
  3. 缺点:不能处理紧急任务

4)实时操作系统

  1. 优点:能优先响应紧急任务
  2. 分类:
    • 硬实时系统:必须严格按时完成(如导弹控制)。
    • 软实时系统:可偶尔违反时间规定(如12306)。

5)其他操作系统

  1. 网络操作系统:实现资源共享和通信(如Windows NT)。
  2. 分布式操作系统:多机协同,并行处理。
  3. 个人计算机操作系统:如Windows、macOS。

5、操作系统的运行机制

1) 两种指令

  1. 特权指令:如内存清零、修改程序状态字(PSW)等,仅内核程序可使用。
  2. 非特权指令:如加减乘除等,应用程序和内核程序均可使用。

2) 两种处理器状态

  1. 内核态(核心态/管态):运行内核程序,可执行所有指令。
  2. 用户态(目态):运行应用程序,只能执行非特权指令。

3) 内核程序 vs. 应用程序

  1. 内核程序:操作系统核心部分,管理资源,运行在内核态。
  2. 应用程序:普通程序,运行在用户态,需通过系统调用请求内核服务。

4)状态切换(变态)

  1. 用户态 → 内核态:通过中断实现,硬件自动完成。
  2. 内核态 → 用户态:通过执行修改PSW的特权指令实现。

6、中断和异常

1)中断的作用

  1. 是操作系统夺回CPU控制权的唯一途径
  2. 实现用户态到内核态的转换

2)中断的类型

①内中断(异常、例外)
  • 与当前指令相关,信号来自CPU内部
    1. 陷入(trap):故意引发,如系统调用;
    2. 故障(fault):可修复,如缺页;
    3. 终止(abort):不可修复,如除0、非法指令。
外中断(中断)
  • 与当前指令无关,信号来自CPU外部
    1. 时钟中断:时间片到期;
    2. I/O中断:设备完成任务。

3) 中断处理流程

  1. 检测中断信号;
  2. 查询中断向量表,找到中断处理程序;
  3. 执行中断处理程序(运行在内核态)。

7、系统调用

1) 什么是系统调用?

  1. 操作系统提供给应用程序的接口,用于请求内核服务
  2. 通过陷入指令(trap/访管指令) 触发。

2)系统调用 vs 库函数

  1. 系统调用:内核提供,需陷入内核态执行;
  2. 库函数:可能封装系统调用,也可能独立实现(如取绝对值)。
image-20250912214213239

3)为什么需要系统调用?

  1. 保证资源共享的安全性系统稳定性
  2. 防止应用程序直接操作硬件或资源。

4)系统调用的分类

  1. 设备管理:如请求/释放设备;
  2. 文件管理:如创建/删除/读写文件;
  3. 进程控制:如创建/终止进程;
  4. 进程通信:如消息传递;
  5. 内存管理:如内存分配。

5)系统调用过程

  1. 传递参数(通过寄存器);
  2. 执行陷入指令(用户态);
  3. CPU切换到内核态,执行相应内核程序;
  4. 返回用户态,继续执行应用程序。

​ 下图中,应用程序会有一条trap指令,交由CPU执行,此时,由内核程序接管CPU的控制,假设需要应用程序需要用到fork系统调用的处理程序,那么则会将该处理程序交由CPU执行,执行完毕后,将控制权交由应用程序继续执行其他指令。

image-20250912213926802

8、操作系统体系结构

1)内核

  • 操作系统最核心的部分,包含:
    1. 时钟管理中断处理原语(原子操作);
    2. 进程管理存储管理设备管理
image-20250912214819175

2)体系结构分类

①大内核(宏内核/单内核)
  • 所有功能模块都在内核中。
  • 优点:高性能,模块间直接调用。
  • 缺点:内核庞大,难以维护。
  • 例子:Linux、UNIX。
②微内核
  • 仅最基本功能在内核中,其他功能以服务形式运行在用户态。
  • 优点:结构清晰,易于维护,可靠性高。
  • 缺点:性能低,需频繁切换状态。
  • 例子:Windows NT。
image-20250912215018720

变态的过程是有成本的,要消耗不少时间,频繁地变态会降低系统性能

③分层结构
  • 内核分为多层,每层只能调用下一层。
  • 优点:易于调试和维护。
  • 缺点:效率低,层间调用受限。
④模块化
  • 内核划分为独立模块,可动态加载。
  • 优点:灵活性强,易于扩展。
  • 缺点:模块间依赖复杂。
⑤外核(Exokernel)
  • 直接分配硬件资源给应用程序,减少抽象层。
  • 优点:高效、灵活。
  • 缺点:系统复杂性高,一致性差。

操作系统体系结构对比表

  • 表示表中重点内容
  • 🟡 表示表中新增重点内容
结构类型特性与思想优点缺点
分层结构内核分多层,每层可单向调用更低一层提供的接口⭐1. 便于调试和验证,自底向上逐层调试验证;
2. 易扩充和易维护,各层之间调用接口清晰固定
1. 仅可调用相邻底层,难以合理定义各层的边界;
⭐2. 效率低,不可跨层调用,系统调用执行时间长
模块化将内核划分为多个模块,各模块之间相互协作;
⭐内核 = 主模块 + 可加载内核模块
1. 模块间逻辑清晰易于维护,确定接口后可多模块同时开发;
⭐2. 支持动态加载新模块,增强OS适应性;
⭐3. 模块可直接调用,效率高。
1. 模块间的接口定义未必合理、实用;
2. 模块间相互依赖,更难调试和验证。
宏内核所有系统功能都放在内核中(常采用模块化设计)🟡1. 性能高,内核内部功能可直接相互调用🟡1. 内核庞大功能复杂,难以维护;
🟡2. 某个功能模块出错可能导致整个系统崩溃
微内核仅最核心功能(中断、原语、进程通信等)在内核中,其余功能以用户进程形式运行🟡1. 内核小功能少,易于维护,可靠性高;
2. 内核外功能模块出错不会导致整个系统崩溃
🟡1. 性能低,需频繁切换用户态/核心态;
🟡2. 用户态功能模块不能直接调用,需通过内核消息传递间接通信
外核⭐内核负责进程调度、通信等;外核负责为用户进程分配未经抽象的硬件资源并保证安全⭐1. 可直接分配非虚拟化资源,更灵活;
⭐2. 减少映射层,提升效率
1. 降低了系统的一致性;
2. 使系统变得更复杂。
  • 分层结构
image-20250912221305000
  • 模块化
image-20250912221541979
  • 外核
image-20250912221438183

9、操作系统引导(Boot)

1)引导过程

  1. CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进行硬件自检,再开机),即BIOS中的自举程序
  2. 读取磁盘的主引导记录(MBR),执行其中的引导程序。
  3. 扫描分区表,找到活动分区
  4. 读取活动分区的分区引导记录(PBR)
  5. 加载操作系统初始化程序(如Windows的Boot Manager)。
  6. 完成启动。

2)相关概念

  1. MBR:包含引导程序和分区表。
  2. PBR:活动分区的引导记录。
  3. BIOS:基本输入输出系统,存储自举程序。

10、虚拟机

1)虚拟机概念

  1. 通过虚拟化技术,将一台物理机虚拟为多台虚拟机(VM)
  2. 每台VM可运行独立的操作系统。

2)虚拟机监控程序(VMM / Hypervisor)

  • 两类虚拟机管理程序的对比

image-20250912224512157

特性第一类VMM第二类VMM
对物理资源的控制权直接运行在硬件之上,能直接控制和分配物理资源运行在Host OS之上,依赖于Host OS为其分配物理资源
资源分配方式在安装Guest OS时,VMM要在原本的硬盘上自行分配存储空间,类似于"外核"的分配方式,分配未经抽象的物理硬件GuestOS拥有自己的虚拟磁盘,该盘实际上是Host OS文件系统中的一个大文件。GuestOS分配到的内存是虚拟内存
性能性能更好性能更差,需要HostOS作为"中介"
可支持的虚拟机数量更多,不需要和Host OS竞争资源,相同的硬件资源可以支持更多的虚拟机更少,Host OS本身需要使用物理资源,Host OS上运行的其他进程也需要物理资源
虚拟机的可迁移性更差更好,只需导出虚拟机镜像文件即可迁移到另一台HostOS上,商业化应用更广泛
运行模式第一类VMM运行在最高特权级(Ring 0),可以执行最高特权的指令第二类VMM部分运行在用户态、部分运行在内核态。GuestOS发出的系统调用会被VMM截获,并转化为VMM对HostOS的系统调用
  • 支持虚拟化的CPU通常分更多指令等级

    |
    | 可支持的虚拟机数量 | 更多,不需要和Host OS竞争资源,相同的硬件资源可以支持更多的虚拟机 | 更少,Host OS本身需要使用物理资源,Host OS上运行的其他进程也需要物理资源 |
    | 虚拟机的可迁移性 | 更差 | 更好,只需导出虚拟机镜像文件即可迁移到另一台HostOS上,商业化应用更广泛 |
    | 运行模式 | 第一类VMM运行在最高特权级(Ring 0),可以执行最高特权的指令 | 第二类VMM部分运行在用户态、部分运行在内核态。GuestOS发出的系统调用会被VMM截获,并转化为VMM对HostOS的系统调用 |

  • 支持虚拟化的CPU通常分更多指令等级

image-20250912224532867
http://www.dtcms.com/a/403972.html

相关文章:

  • 印刷个性化网站建设的意义残疾人无障碍网站怎么做
  • Linux学习笔记(六)--Linux进程概念
  • C语言自学--数据在内存中的存储
  • 石家庄网站制作哪家好wordpress 优化数据库
  • 《基于Qt的车载系统项目》
  • 有哪些免费推广软件网站seo推广排名
  • 41.传输层协议UDP
  • 优良的定制网站建设提供商c2c模式的网站
  • 记力扣2516.每种字符至少取k个 练习理解
  • 广州站电话科创纵横 网站建设
  • 进程与集群:提升性能
  • 北京建设信源官方网站如何让wordpress文本小工具支持php和简码?
  • NLP算法岗位面试题精讲:深入理解LoRA与QLoRA
  • 基于神经控制微分方程的采集无关深度学习用于定量MRI参数估计|文献速递-文献分享
  • 无锡嘉饰茂建设网站的公司天河区网站制作
  • 应用程序映像(Application Image)是什么?
  • 访问的网站显示建设中wordpress tag伪静态
  • 单调速率调度(RMS)算法
  • 百度智能云一念·智能创作平台
  • 做网站订阅号丰台建设企业网站
  • shell编程:sed - 流编辑器(2)
  • 在Grafana中配置MySQL数据源并创建查询面板
  • 做的比较好的二手交易网站有哪些小学学校网站建设计划书
  • OneSignal v2 PHP手搓请求消息推送-供参考
  • 中国建站公司wordpress主题 下单
  • Qt DPI相关逻辑
  • 约束优化问题的常用解决办法及优缺点、轨迹规划中应用
  • 电子元器件基础知识day1
  • 【C++游记】C++11特性
  • 光子、光量子、量子三者的关系