文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(9)——页面置换算法

一、缺⻚异常(缺⻚中断)缺⻚异常(缺⻚中断)当 CPU 访问的⻚⾯不在物理内存时,便会产⽣⼀个缺⻚中断,请求操作系统将所缺⻚调⼊到物理内存。就需要「⻚⾯置换算法」选择⼀个物理⻚,把它换出到磁盘,最后把正在访问的⻚⾯装⼊到这个物理⻚中。 ⻚⾯置换算法的功能是,当出现缺⻚异常,需调⼊新⻚⾯⽽内存已满时,选择被置换的物理⻚⾯,也就是说选择⼀个物理⻚⾯换出到磁盘,然后把需要访问的⻚⾯换⼊到物理⻚。二、最....

文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(8)——死锁

一、死锁多线程为了防止竞争共享资源⽽导致数据错乱,都会在操作共享资源之前加上互斥锁,只有成功获得到锁的线程,才能操作共享资源,获取不到锁的线程就只能等待,直到锁被释放。当两个线程为了保护两个不同的共享资源⽽使⽤了两个互斥锁,那应⽤不当的时候,可能会造成两个线程都在等待对⽅释放锁,这种情况就是发⽣了死锁。说白了就是我有你需要的东西,你也有我需要的东西,但是我们2个谁都不肯放手,就导致了死锁死锁只有....

文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(7)——进程通信

一、进程通信每个进程的⽤户地址空间都是独⽴的,⼀般⽽⾔是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。信号什么是信号呢?我们可以通过 kill -l 命令,查看所有的信号:linux 的 kill 命令是向进程发送信号,kill 不是杀死的意思,-9 表示无条件退出,但由进程自行决定是否退出,这就是为什么 kill -9 终止不了系统进程和守护进程的原因。运⾏在 ....

计算机操作系统学习笔记(7)——进程通信
文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(6)——进程和线程

一、用户空间和内核空间如果有⼤量处于阻塞状态的进程,会占⽤着物理内存空间,显然不是我们所希望的,所以,在虚拟内存管理的操作系统中,通常会把阻塞状态的进程的物理内存空间换出到硬盘,等需要再次运⾏的时候,再从硬盘换⼊到物理内存。那么,就需要⼀个新的状态,描述进程没有占⽤实际的物理内存空间的情况,这个状态就是挂起状态。以下方式可以使进程挂起:通过 sleep 让进程间歇性挂起,其⼯作原理是设置⼀个定时....

计算机操作系统学习笔记(6)——进程和线程
文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(5)——内存管理

一、用户空间和内核空间内核具有很⾼的权限,可以控制 cpu、内存、硬盘等硬件,⽽应⽤程序具有的权限很⼩,因此⼤多数操作系统,把内存分成了两个区域。内核空间,这个内存空间只有内核程序可以访问;⽤户空间,这个内存空间专⻔给应⽤程序使⽤;⽤户空间的代码只能访问⼀个局部的内存空间,⽽内核空间的代码可以访问所有内存空间。因此,当程序使⽤⽤户空间时,我们常说该程序在⽤户态执⾏,⽽当程序使内核空间时,程序则在....

计算机操作系统学习笔记(5)——内存管理
文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(4)——伪共享

一、伪共享当多线程修改互相独立的变量时,如果这些变量共享同一个缓存行,就会无意中影响彼此的性能,这就是伪共享。伪共享只是影响性能,并不会带来程序上的错误伪共享被称为并发编程的隐形杀手,因为开发者很难感知伪共享问题对于多个线程共享的热点数据,即经常会修改的数据,应该避免这些数据刚好在同⼀个 Cache Line 中,否则就会出现为伪共享的问题。其实很简单,就是2个线程x和y分别操作2个变量A和B,....

计算机操作系统学习笔记(4)——伪共享
文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(3)——CPU缓存一致性

一、CPU Cache写回内存之前说的CPU Cache缓存块实际分为:头标志Tag和数据块Data Block前面说的直接映射,取模运算有可能发生冲突,发生了冲突就用Tag去标记。组标记(Tag)。这个组标记会记录当前 CPU Line 中存储的数据对应的内存块,我们可以⽤这个组标记来区分不同的内存块。Cache里的数据总要写回内存的,那在什么时机才把 Cache 中的数据写回到内存呢?这里有....

计算机操作系统学习笔记(3)——CPU缓存一致性
文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(2)——存储器结构

一、存储器结构内存的数据会被加载到 CPU 的寄存器和 Cache 中CPU Cache也在CPU里,称为CPU高速缓存,分L1,L2和L3。L1体积最小,离的最近。L1可分为数据缓存和指令缓存CPU Cache ⽤的是⼀种叫 SRAM(Static Random-Access Memory,静态随机存储器)的芯⽚。SRAM 之所以叫「静态」存储器,是因为只要有电,数据就可以保持存在,⽽⼀旦断电....

计算机操作系统学习笔记(2)——存储器结构
文章 2023-08-15 来自:开发者社区

计算机操作系统学习笔记(1)——硬件结构

一、冯诺依曼模型冯诺依曼模型分为5个组成部分:中央处理器(CPU)内存输⼊设备输出设备总线CPU可以分为:控制单元,逻辑运算单元和寄存器。其中,控制单元负责控制 CPU ⼯作,逻辑运算单元负责计算,⽽寄存器可以分为多种类,每种寄存器的功能⼜不尽相同。寄存器又可以分为:指令寄存器,通用寄存器和程序计数器等总线可以分为:控制总线,地址总线和数据总线。地址总线传的是内存中的地址,数据总线传的是对应地址....

计算机操作系统学习笔记(1)——硬件结构
文章 2023-08-06 来自:开发者社区

[计算机操作系统(慕课版)]第二章 进程的描述与控制(学习笔记)

2.1 前驱图和程序执行2.1.1 前驱图前驱图是指一个有向无循环图可记为DAG前驱图用于描述进程之间执行的先后顺序。前驱图的每个节点用来表示一个进程或程序段乃至一条语句节点间的有向边表示两个节点之间存在的偏序或前驱关系。进程或程序之间的前驱关系可用→来表示。如果进程Pi和Pj存在前驱关系,可表示为(Pi,Pj)∈→,也可写成Pi→Pj,表示Pj开始执行之前Pi必须完成。Pj是Pif的直接前驱,....

[计算机操作系统(慕课版)]第二章 进程的描述与控制(学习笔记)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

龙蜥操作系统

龙蜥社区(OpenAnolis)是面向国际的 Linux 服务器操作系统开源根社区及创新平台,秉承“平等、开放、协作、创新”的原则,理事会由阿里云、统信软件、龙芯、Arm 、Intel 等 24 家国内外头部企业共同组成,有超过 1000 家来自芯片厂商、软件厂商、整机厂商、操作系统厂商等覆盖操作系统全产业链的合作伙伴参与生态共建。

+关注
相关镜像