
计算机系统
深入理解计算机操作系统——笔记
鹿灏楷silves
不要人夸颜色好,只留清气满乾坤
展开
-
现代操作系统——死锁
先明确两个概念:可抢占资源:可以从拥有它的进程中抢占而不会产生任何副作用。不可抢占资源:在不引起相关的计算失败的情况下,无法把它从占有它的进程中抢占过来。死锁检测每种类型一个资源将资源和需要它们的进程做出一个图,如果这张图包含了一个及一个以上的环就会发生死锁每种多个类型出现死锁基于矩阵算法来实现检测,有现有资源向量矩阵,可用资源向量矩阵,当前分配矩阵,请求矩阵,可以通过这三个矩阵来判断是否会出现死锁,如果出现任何个资源其中的可分配资源不足以满足任何一个进程的使用,则会发生死锁。死锁的恢复利原创 2021-10-18 13:31:59 · 455 阅读 · 0 评论 -
现代操作系统——磁盘
磁盘被组织成的结构:磁盘被组织成柱面,每一个柱面包含多个磁道,磁道数与垂直堆叠的磁头个数相同。磁道又被划分为多个扇区。磁盘的格式化每个磁道包含若干个扇区,扇区之间存在短的间隙,一个磁盘的扇区包括:前导码,数据,ECC。前导码:包含柱面与扇区号以及某些其他信息。数据:存储的数据ECC:包含冗余信息,可以用来恢复数据通常来说内侧的第0号扇区相对于外侧的第0号扇区在旋转的方向之后,因为如果磁头进行更改磁道,需要一定的时间,但是这个时间之内磁盘会转动,所以提高读写速度,里外侧的第0号位置会有相对的偏原创 2021-10-18 12:47:44 · 552 阅读 · 0 评论 -
操作系统——内存管理——虚拟内存
考虑一种情况,如果需要运行一个程序,按照之前学习,应该是将该进程全部装入内存中,但是,如果进程所占内存过大,内存不够使用,怎么办?使用虚拟内存。虚拟内存:每个程序拥有自己的地址空间,这个空间被分割成多块,每一块称作一页,或者页面,每一页有连续的地址范围。这些页被映射到物理地址空间中。如果运行程序时,没有在内存中找到该页,由操作系统负责将缺失的部分装入物理内存,并重新执行。分页程序产生的地址被称为虚拟地址,程序运行时,使用虚拟地址通过mmu映射到物理地址。虚拟内存对应的物理单元被称为页框。使用分页时原创 2021-10-11 21:36:30 · 467 阅读 · 0 评论 -
操作系统——内存管理(一)
在不使用存储器抽象的情况下运行多个程序,内存会同时装载多个程序,但是,在编写程序时每个程序都有自身的相对地址,如果装载多个程序在内存中,地址不变,就会导致,程序地址错误。基址寄存器与界限寄存器我们可以使用一张表来记录程序的起始地址和程序的长度装载到界限寄存器中。通过程序段的原始地址,加上基地址得到实际内存地址。内存管理使用位图进行内存管理内存被划分为多个存储单元,每一个存储单元都是链表中一个元素,如果需要内存,就会查找位图,碰到能装下进程的位置,就会占有该位置。使用链表的存储管理管理方法是维原创 2021-10-11 14:00:56 · 401 阅读 · 0 评论 -
现代操作系统——进程间调度
不用操作系统有不同的目标批处理操作系统吞吐量周转时间cpu利用率交互系统相应时间均衡性实时系统满足截止时间可预测性调度算法批处理操作系统先来先服务(FIFO)将所有进程添加至队列中,一个进程执行结束之后,执行下一个进程最短作业优先将现有的、同等重要的作业按照执行时间由小到大进行排序。最短剩余时间优先将所有程序运行时间进行比较,按照执行时间由小到大进行排序。执行时间最短的程序先运行。它与最短作业优先不同的地方在于,如果现有最小执行时间的程序正在运行,当进入一个比现有运行程序原创 2021-10-11 13:36:39 · 452 阅读 · 0 评论 -
现代操作系统——进程间通信
数据竞争多个进程之间可能会出现访问相同的数据,但是如果两个进程同时写数据,就可能造成数据丢失,等其他情况。对共享内存进行访问的程序片段称作临界区域。忙等待的互斥避免造成数据竞争的一些方法。屏蔽中断屏蔽中断也是最简单的方法,是每个进程刚刚进入到临界区域之后,立即屏蔽所有中断。屏蔽中断后,时钟中断也会被屏蔽,...原创 2021-10-07 16:05:08 · 302 阅读 · 0 评论 -
现代操作系统——进程和线程
定义计算机上所有可运行的软件,通常也包括操作系统,被组织成若干顺序进程,简称进程。cpu在进程原创 2021-10-01 17:59:31 · 330 阅读 · 0 评论 -
计算机网络——web页面请求历程
我们假设主机第一次连接到此网络,并且路由器作为DHCP服务器准备:DHCP、UDP、IP和以太网当一台机器连接到一个网络时,主机会将自身的MAC地址等其他自身信息,通过网络进行传播,目的地址使用的是广播ip地址,目的mac地址也是广播地址。路由器接收到DHCP请求之后,DHCP服务器生成包含ip分配的ip地址以及dns服务器的ip地址默认王网关路由器的ip地址和子网块的一个报文,进行回传,注意,回传时,目的mac地址为请求的源mac地址,并不是广播地址。主机接收到DHCP的响应之后,会发送一个广播数原创 2021-09-10 15:54:16 · 667 阅读 · 0 评论 -
深入理解计算机系统——缓存溢出、对抗缓存溢出的攻击、支持变长栈帧
内存越界引用和缓冲区溢出c语言对数组不进行边界检查,可能会导致,数组越界访问,导致存储越界,将数组的数据写入其他缓冲区。导致数据丢失、错误。出现问题的原因:图片来源https://blog.youkuaiyun.com/snowq/article/details/1749087栈的存储,按照地址从大到小进行存储,先进后出的规则,也就是说后进入的数据存储的地址,要比先进入的数据存储的地址要小。当给数组分配一个内存时,先将地址做减法,然后每存储一个数据,指针做加法。如果我们声明一个数组,然后进行存储数据,当数原创 2021-07-31 15:44:34 · 981 阅读 · 0 评论 -
深入理解计算机操作系统——第一章
原创 2021-07-10 21:21:44 · 563 阅读 · 0 评论 -
深入理解计算机系统——无符号数和有符号数相互转换
背景知识:一般来说,有符号数值使用补码表示,无符号的数值使用原码来表示。直接将二进制补码转化为十进制补码的首位是符号位,如果为1则为负,所以-1 * 2^w为表示的数值。例如:-3二进制补码1101直接将补码转化为十进制:-1 *2^3 + 1 * 2^2 + 0 * 2 ^ 1 +1 * 2^0有符号数值转化为无符号数值首先有符号数值使用补码表示,例如,-3的补码1101。将有符号数值改变为无符号数值,不会将二进制数更改,我们改变对二进制位的解释。比如-3,表示时使用补码是1101,我们原创 2021-07-14 21:18:11 · 3421 阅读 · 0 评论 -
深入理解计算机系统——无符号数与有符号数相互转化,数的扩展和截断
无符号数转化为有符号数有符号数转化为无符号数有符号数的扩展无符号数的扩展有符号数的截断无符号数的截断无符号数转化为有符号数一般来说无符号数使用的是原码表示,有符号数使用的是补码表示。无符号数转化为有符号数就是将原码位不变,将原码按照补码的解释方法来解释,也就是说位模式不变,改变的是位的解释,补码的解释方式与原码不同的位置是权重最大的位原码解释为2^w-1,但是补码的解释方式是-1*2 ^ w-1。(正变负)有符号数转化为无符号数与上一个相似,有符号的数转化为无符号的数,位模式不变,改变.原创 2021-07-16 13:47:40 · 2571 阅读 · 0 评论 -
将一个十进制小数转化为IEEE754编码的小数
首先,我们熟悉IEEE754小数的编码符号位:0为正,1为负阶码位:将二的指数加127(如果是6位编码表示阶码的数)小数位:省略第一位的1。拿一个例子举例:12345,二进制编码为11000000111001,转化为小数乘以一个以2为底的小数,1.1000000111001*2^13首先看符号位:为正所以符号位为0。阶码,13+127=140所以阶码为140。小数位,首先将小数点左侧的1省略,剩下的为小数部分:1000000111001。然后规定是小数部分是23位,位数不够在右侧补0,所以为10原创 2021-07-22 21:22:22 · 2727 阅读 · 0 评论 -
深入理解计算机系统——向偶数舍入
首先,我们看十进制向偶数舍入的方法:比如1.4、1.6、1.5、2.5、-1.5,将这些数舍入到整数1.4,在1和2中间,1和2中间的数是1.5,1.4比1.5小,所以直接舍掉。1.6,在1和2中间,中间的数是1.5,1.6比1.5大,所以进位。1.5,在1和2中间,中间的数是1.5,相等,则判断最低有效位是奇数还是偶数,如果奇数则进位,如果为偶数,则不变。以此类推我们再看二进制数,怎样判断的。先判断需要舍入或者舍掉的位数,比如10.010只保留小数点后一位,则要舍掉或舍入两位,判断中间值:(原创 2021-07-23 10:29:36 · 4771 阅读 · 0 评论 -
深入理解计算机系统——程序编码、访问信息、算数逻辑操作、控制
程序编码1:程序编码大概四个步骤预处理阶段,将c语言所用的包、函数,进行插入到文件编译阶段,将c代码编译为汇编代码汇编阶段,将汇编代码转化为机器语言链接阶段,将目标代码与实现库的函数进行整合2:机器级编程两种重要的抽象指令集体系结构或指令集架构,定义机器级程序的行为和格式,定义处理器的状态,指令格式,以及每条指令对状态的影响。机器使用的地址是虚拟地址,通过映射,将虚拟地址映射到物理地址。3:Intel用术语“字”表示16位数据类型。访问信息1:如果将一个值复制到寄存器中如果原创 2021-07-26 17:58:04 · 664 阅读 · 0 评论