《操作系统之哲学原理》读书笔记
《操作系统之哲学原理》读书笔记
大雄_RE
一个热爱逆向,喜爱学习、分享的猿。
展开
-
操作系统之哲学原理14----多核原理
多核体系结构多核体系结构分4个演变阶段:多处理器结构(主板上两个CPU):一个总线上挂多个处理器 根据处理器的角色分:对称多处理器结构(SMP)、非对称多处理器结构(AMP)多线程结构(一核两线程):由于单处理器的性能没有得到全部发挥,让一个处理器同时执行多个线程。 在处理器上多加入一个逻辑处理单元指针。 共享:ALU、浮点运算单元、二级缓存、某些MSR 不共享:本地APIC、通用寄存器、一级缓存、 需要芯片和操作系统都支持:Windows XP、Linux 2.4以后都支持多线原创 2022-01-29 16:17:19 · 921 阅读 · 0 评论 -
操作系统之哲学原理13----输入输出
作为魔术师的操作系统,提供一个统一的界面屏蔽掉输入输出设备的差异。作为管理者的操作系统,管理输入输出设备,独享、共享、缓存等。分为:块设备:以块为单位传输数据 字符设备:以字节为单位传输数据许多设备都有设备控制器,操作系统不与设备直接打交道,而是与设备控制器打交道。根据CPU与设备控制器沟通方式与内存的关系,分为:专用通道IO:IO与内存完全脱离,每个控制器的寄存器赋予一个IO端口。IO端口的地址与内存地址无关。访问IO端口需要通过专用的IO指令。 内存映射IO:将控制原创 2022-01-29 16:13:26 · 90 阅读 · 0 评论 -
操作系统之哲学原理12----文件原理
文件是操作系统为磁盘提供的抽象。磁盘原理磁盘就是形状像盘子的磁性存储介质。磁盘的结构:磁盘由多个盘片组成,每个盘片有两个盘面,正反两面都可以存放数据。每个盘面一个读写磁头,所有读写磁头连在一根共享的磁臂上。盘面的结构:每个盘面分为磁道和扇区。磁道是一个个同心环。磁道又分为扇区。数据以扇区为单位进行存储。数据访问时间=寻道时间+旋转时间+传输时间寻道时间:磁头转到要求的磁道的平均时间。旋转时间:磁头到达磁道后,扇区旋转到磁头下面的时间。传输时间:读、原创 2022-01-29 16:12:02 · 1263 阅读 · 0 评论 -
操作系统之哲学原理11----页面更换算法
问题:需要将一个页面读入物理内存时,如果物理内存已满,如何挑选某个已经使用过的页面进行替换。解决页面来回更换的问题。页面更换目标:降低随后发生缺页中断的次数。 选择的页面随后相当长时间内应该不会被访问。 优先选择没有被修改的页面,不会写回磁盘分为公平算法、非公平算法两类。公平算法:对所有页面一视同仁。 随机算法:随机选择一个换出。 先来先出算法:更换最早进入内存的页面。 第二次机会算法: 改进先来先出算法,除了考虑先进入内存,还要考虑最近是否被访问过。 从最先进原创 2022-01-29 16:09:19 · 89 阅读 · 0 评论 -
操作系统之哲学原理10----页式内存管理
基址+上限模式之前基本内存管理章节中,讲的内存管理方法有两个主要特点:将一块连续内存空间给进程 通过基址+上限两个值描述这块空间地址翻译:基址+虚拟地址=物理地址越界检查:虚拟地址>上限存在问题:空间浪费:随着给进程分配和回收内存,内存空间将变得碎片化。将变成大量小尺寸内存块,这些小尺寸内存块无法满足程序需要,将一直被搁置。定期进行内存块整理,将耗费大量时间。 程序大小受限:程序大小不能超过物理内存。解决办法:问题一:内存碎片化的原因是每次分配的大小不一样。如果每次分配原创 2022-01-29 16:07:30 · 1010 阅读 · 0 评论 -
操作系统之哲学原理9----基本内存管理
内存管理最初程序在纸带上,边读纸带边运行程序。这样极不灵活,无法执行调度策略。从而引入内存,出现将程序读到内存中的情况。存储架构:缓存-主存-磁盘-磁带内存管理提供一个抽象:让每个进程都独占一块大虚拟内存空间,相互之间不能干扰对方的空间。 让进程访问内存时,只需关注要访问独占的虚拟空间中的哪个地址,不用关心具体保存在共享的物理内存的哪个位置。因为物理内存大家在共用,你能用的地址总是在变化。虚拟内存将所有要运行的程序都加载进物理内存,从成本上说不现实。虚拟内存将物理原创 2022-01-29 16:04:50 · 391 阅读 · 0 评论 -
操作系统之哲学原理8----线程同步
为什么要同步保证线程间正确合作。出现问题的原因:共享全局资源 线程间的执行顺序是不确定的第一个原因无法消除,所有资源都不共享了,就没必要发明线程了。所以只能通过消除第二个原因来解决问题,也就是线程的同步。同步的目的让线程按照一定规则执行,不管线程的执行如何被调度,其运行结果都是正确的。同步的实现两个或多个线程执行同一段代码或访问同一资源的现象称为竞争。造成竞争的共享代码或资源称为临界区。任何时刻,只能有一个线程再临界区内,称为互斥。要实现同步,必须要硬原创 2022-01-29 16:02:38 · 848 阅读 · 0 评论 -
操作系统之哲学原理7----线程
线程解决的问题在共享部分资源的基础上,进行协作。进程是隔离的,不利于协作。在进程内实现并发,是线程出现的动机。目的比进程更好地协作。有效利用多核。三级并发:流水线:指令并发。 线程:完成同一任务的多个协作的流程 进程:完成不同任务的多个协作的流程线程管理登记信息:TCB(线程控制块)共享进程内的资源,但有独立的执行上下文。同一进程中,线程共享的东西放在PCB中,线程不共享的东西放在TCB中。同一进程内线程共享:地址空间 全局变量 打开的文..原创 2022-01-29 15:47:19 · 234 阅读 · 0 评论 -
操作系统之哲学原理6----进程通信
管道、命名管道一方发、一方收。本质上,在某存储介质划分一片空间,给一个进程写的权限,给另一个进程读的权限。必须先建立连接。管道需要指定建立连接的目标进程。命名管道创建时无需指定目标进程。命名管道与文件系统共享一个命名空间。套接字双方各创建一个套接字,一个为服务器,一个为客户机。通过对套接字进行读写,实现通信。信号无需建立连接,节省时间。必须立即回应,套接字和管道的信息发送方无法强迫接收方必须回应。共享内存不限于一方发一方收访问方式是随机的,可以从任意位原创 2022-01-29 15:44:38 · 893 阅读 · 0 评论 -
操作系统之哲学原理5----进程调度
调度的任务:选择下一个要运行的进程。程序分为计算密集型输入输出密集型平衡型调度目标极小化系统响应时间(用户发出命令到看到结果的时间)、极大化系统吞吐率(单位事件完成的工作数)、貌似公平批处理系统:吞吐率重要。用户不坐在电脑前,响应时间不重要。交互系统:响应时间要考虑 。实时系统:截止时间前完成。调度算法FCFS,先来后到。缺点:短工作排在后面导致响应时间长。时间片轮转:周期切换进程。改善短程序的响应时间。缺点:进程切换有时间开销。短任务优先..原创 2022-01-29 08:59:47 · 98 阅读 · 0 评论 -
操作系统之哲学原理4----进程
进程概论进程=程序+执行进程是人根据需要发明的。单一操作员单一控制端(等待人输入命令)、批处理(等待IO操作)均存在效率低下问题,故将多个程序同时加载到计算机内,这些同时加载进内存的程序就是进程。进程模型从存储角度看,进程就是内存的某片空间。从逻辑角度看,进程可以执行、也可以挂起。为了记住执行位置,每个进程有程序计数器。进程是提供的一种抽象,目的是通过并发提高效率。进程的物理基础是程序。多个进程共享同一物理内存,需要内存管理。多个进程共享同一CPU,需要进原创 2022-01-18 09:40:11 · 346 阅读 · 0 评论 -
操作系统之哲学原理3----操作系统基本概念
“差不多”精神数学是一门严谨的学科,以精确为追求。软件没有精确可言,是十足的“差不多”学科。没有对错,只有好坏。无法精确计算可靠性、健壮性、成本、算法强弱,只能估算。计算机硬件基础知识总体看:所有设备通过一条总线连接起来,通过总线实现控制、通信。流水线:将指令的执行过程拆分为多个步骤,就行工厂里制造一个产品的流水线。指令读取->指令译码->读操作数->指令执行->写结果多道程序:...原创 2022-01-11 08:35:08 · 124 阅读 · 0 评论 -
操作系统之哲学原理2----操作系统历史
操作系统不断发展和改善的三个驱动因素: 硬件成本不断下降 计算机不断变复杂 操作系统与攻击者之间的博弈(近些年新引入) 第一阶段:状态机操作系统(~1940)一种状态转换程序。第二阶段:单一操作员单一控制端(20世纪40年代)操作系统提供一些命令,操作员使用命令。第三阶段:批处理操作系统(20世界50年代)解决操作系统等待人输入命令的时间消耗。所有人先想好要运行的命令,列出一个清单,交给一个工作人员。工作人员将一批任务交给操作系统,操..原创 2022-01-04 08:20:43 · 240 阅读 · 0 评论 -
操作系统之哲学原理1----操作系统导论
人造与神造计算机属于“人造物”,即根本特征是“人造”。人造科学特点:不精确、具有相对性:没有对错,只有好坏、有意义无意义。从对人类活动的观察得到灵感依赖于人的主观判断力:不同人观察同样现象,得出不同结论。最终以多数人得出的结论为主。通常符合人的直觉:原理与人的直觉呼应。神造的学科特点:精确、绝对从对自然存在的观察中得到不依赖于人的主观判断力通常违反人的直觉什么是操作系统操作系统指的就是掌控局势的一种系统。掌控计算机里发生的一切事情。计算机越来越复杂原创 2021-12-27 09:57:50 · 419 阅读 · 0 评论 -
操作系统之哲学原理----前言
操作系统的奥秘要理解操作系统,就要找到操作系统的设计师,让他们告诉我们操作系统所蕴涵的所有秘密。这里的设计师指的是一种抽象,一种所有设计师所共有的人生哲学,因为设计师在设计操作系统时会不自觉地将自己的思维或人生追求构造在操作系统里,从而赋予操作系统以心智。操作系统之哲学原理这本书就是试图从这些哲学原理(也就是人类生活哲学)的视角来阐述操作系统,从而揭开操作系统的神秘面纱。资源管理也好,保证自身的正确性也好,都存在着根本的线索。这条根本线索就是人类在长期的生活实践中摸索出来的管理社会和原创 2021-12-21 09:21:57 · 387 阅读 · 0 评论