news 2026/10/20 11:28:40

操作系统到底在做什么?从三大角色到五大核心抽象:CS162 Note1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
操作系统到底在做什么?从三大角色到五大核心抽象:CS162 Note1
  • 为应用程序提供统一的硬件接口,隐藏底层差异# Operating System
    首先我们要清楚的是,操作系统并没有一个统一接受的权威定义:
  • 有一种的广义定义:“操作系统是厂商随计算机一并提供的所有软件的集合”,但不同系统之间差异又非常大
  • 还有一种狭义定义:操作系统是计算机上始终运行的一个程序,是一个内核( kernel ),其余为系统程序或应用程序

总的来说,核心理解是:
OS is the special software layer between hardware and applications.它位于硬件和应用程序之间,负责向上提供抽象,向下管理硬件

OS的三个角色

1.Referee( 管理者 )

OS 要负责管理资源,并防止不同程序互相干扰,其中核心任务包括了:

  • protection(保护)
  • isolation(隔离)
  • sharing(共享)
  • resource allocation(资源分配)
  • communication(通信管理)
    OS在这里起到了协调各个程序之间冲突的功能,防止应用程序之间的互相干扰

2.Illusionist( 幻象制造者 )

这里的含义是OS会让程序感觉自己面对的是一个更简单,更干净的机器世界。OS在这个过程中把底层复杂,难用的硬件包装成了简单易使用的抽象

  • 明明物理内存有限,但程序像在使用“很大的连续内存”
  • 明明 CPU 要同时跑很多程序,但每个程序都像“独占 CPU”
  • 明明底层是磁盘块、控制器、中断,但程序看到的是“文件”
  • 明明底层是网卡、协议栈、缓冲区,但程序看到的是“socket”
    这个过程叫做Virtualization(虚拟化),本质就是在用抽象掩盖底层复杂性和限制

3.Glue( 粘合剂 )

OS会给很多应用提供很多公共服务,把整个系统粘合起来,主要包括了:

  • Storage
  • Window system
  • Networking
  • Sharing
  • Authorization
    从用户和应用角度看,操作系统往往承担一整套公共基础设施的角色。

Hardware Interface And Software Interface

首先考虑一个问题: 什么是抽象 :抽象为应用程序提供统一的硬件接口,隐藏底层差异
OS 夹在硬件和程序之间,所以有两个接口层次:

  • Physical Machine Interface:硬件本来的接口
  • Abstract Machine Interface:OS 提供给程序的抽象接口
    对于任何OS子领域,都要问两个问题:
  1. 底层真实硬件接口是什么?
  2. OS希望给软件提供更好的抽象?

例如:

  • 物理处理器( Processor ) → OS 抽象成Thread
  • 物理内存( Memory ) → OS 抽象成Address space
  • 磁盘 / SSD( Disks/SSDs ) → OS 抽象成Files
  • 网络硬件( Networks ) → OS 抽象成Sockets
  • 整台机器资源( Machines ) → OS 抽象成Processes

操作系统核心抽象

1.进程( Process )

我们把进程定义为:

Process: Execution environment with restricted rights provided by OS
进程是 OS 提供的一种“受限权限的执行环境”。

一个进程包含了:

  • Address Space( 地址空间 )
  • One or more threads of control
  • 以及附加系统状态,例如:
    • Open files
    • Open sockets
      我们一定要注意一下Program还有Process的区别: 一个程序可以启动多个进程,同时每个进程都是一个独立运行实体。简单来说Process是动态的,是程序运行起来后的实例。而Program是静态的,它是一个可执行文件/代码。

2.线程( Thread )

这一讲没有进行过多的展开讲解,线程是进程内部的执行流,同时一个进程可以有一个或多个线程去掌控

3.地址空间( Address Space )

地址空间是OS提供给进程的内存视图,程序看到的是自己所占有的地址空间,而不是整个物理内存的真实分布状态.。通过这样可以实现如下的作用:

  • 让程序觉得自己有一块连续、私有的内存
  • 实现进程之间的隔离
  • 支持保护和虚拟内存机制

4.文件系统( File System )

文件是对持久化存储的抽象。 底层其实是磁盘块、SSD 页面、控制器、缓存等复杂机制,但程序使用的是“打开文件、读写文件、关闭文件”这种简单接口.

5. 套接字( Socket )

socket 是对网络通信的抽象。 底层涉及网卡、协议栈、缓冲区、IP、端口等复杂内容,但 OS 抽象成统一通信接口。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/20 11:27:38

​office word mondo 2016-出现突然退出,好在自动保存了大家遇到过吗?这种Word 2016突然闪退自动退出的情况非常普遍,是该版本的高频经典故障——ctrl+c和ctrl+v出现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/20 11:26:09

AgentScope实战:多智能体协作与标准化消息机制全解析

先说结论:如果你今年在折腾多智能体应用,AgentScope 是一个值得认真对待的框架。它的核心不是“又封装了一个大模型调用接口”,而是把智能体之间的交互协议、消息传递、上下文管理这些最容易写乱的底层逻辑,用一套相对标准化的机制…

作者头像 李华
网站建设 2026/10/20 11:26:05

梯级水电与火电联合调度的多目标优化:基于NSGA-Ⅲ的建模与实现

1. 课题拆解:梯级水电与火电联合调度到底在解决什么问题1.1 被标题掩盖的三个核心难点接手这个课题前,我一直以为“多目标调度”就是把两个目标函数扔进优化算法里跑一跑、出一张Pareto前沿图就完事了。真做起来才发现,这个课题的关键根本不在…

作者头像 李华
网站建设 2026/10/20 11:24:21

Halcon景深合成实战:从原理、算子参数到工业检测应用

简介:面向机器视觉与自动化检测领域的开发者,这份资源聚焦 Halcon 景深合成技术,通过整合不同焦距下的多幅图像生成清晰且具有深度信息的合成图,尤其适合产品缺陷识别、精密装配等需要高精度检测的场景,也解决了单一焦…

作者头像 李华
网站建设 2026/10/20 11:23:49

教你删掉采集数据里的脚本和注释代码

爬完一批网页正文&#xff0c;导出一看全是看不懂的内容&#xff1a;一堆 <script> 包裹的代码块、<!-- --> 形式的开发备注&#xff0c;还有 class、id 这类挂在标签上的属性&#xff0c;直接拿去入库或者发布根本没法用。其实这类隐藏内容不用手动清除&#xff0…

作者头像 李华
网站建设 2026/10/20 11:22:50

OCP Open Rack V3 48V 5.5kW PSU设计规范解析

AI数据中心电源这个话题&#xff0c;最近两年基本绕不开OCP Open Rack V3和48V架构。你只要打开任何一个算力机房的配电拓扑图&#xff0c;几乎都能看到一排排基于ORv3规范的电源模块在机架顶部工作。我做电源设计这些年&#xff0c;眼看着单颗GPU的功耗从300W一路冲到700W以上…

作者头像 李华