现代操作系统读书笔记 2
第一章
抽象是管理复杂性的一个关键。
1 计算及主要部件
多数计算机有两种运行模式:内核态和用户态。内核态:操作系统具有对所有硬件的完全访问权限,可以执行机器能够运行的任何指令。
在用户态下,只使用了机器指令中的一个子集。
用户接口程序:允许用户运行其他程序,诸如:音乐播放器等
操作系统处于硬件之上,为所有其他软件提供基础的运行环境。
在内核态中运行的必然是操作系统的一部分,但一些内核外运行的程序也有争议的被认为是操作系统的一部分,或者至少与操作系统密切相关。
资源管理包括两种不同方式的复用:时间上复用和空间上复用。
时间复用:不同程序或用户轮流使用它。
空间复用:每个客户得到资源的一部分,取代客户排队。
PSW 中有一个二进制位控制着用户态和内核态两种模式,。
GPU 是指由成千上万个微核组成的处理器,他们擅长处理大量并行的简单计算。他们不太能胜任串行任务,并且很难编程。
- 存储器
顶层是在cpu中的寄存器,与 cpu 的材料相同,和cpu一样快。
下一层是高速缓存。高速缓存命中就不需要通过总线发送请求到主存
2 上下文切换
在多道程序系统中,从一个程序切换到另一个程序,有时称为上下文切换,有必要对来自缓存的所有修改过的块进行写回磁盘操作,并修改MMU中的映像寄存器。
3 进程:本质上是正在执行的一个程序。与每个进程相关的是地址空间,这是某个最小值的存储位置到最大值的存储位置的列表。该地址空间中存放有可执行程序、程序的数据、以及程序堆栈。与进程相关的还有资源集,通常包括寄存器、打开文件清单、有关进程清单,以及运行该程序所需要的所有其他程序。
在许多操作系统中,与一个进程相关的所有信息,除了该进程自身地址空间的内容以外,均存放在操作系统的一张表中,称为进程表。
每个进程有一个工作目录,对于没有斜线开头给出的绝对地址的路径,将在这个工作目录下找。进程可以通过使用系统调用来改变工作目录。
4 操作系统具有两种功能:为用户程序提供抽象和管理计算机资源。
5 在unix 中进程将其存储空间划分为三段:正文段(如程序代码)、数据段(如变量)、堆栈段
如果觉得有用,想赞助一下请移步赞助页面:赞助一下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2018-08-07 webstorm 设置js或者html文件自动缩进为4个空格不生效
2017-08-07 资源加载说明