随笔分类 -  操作系统笔记

极客时间--操作系统实战45讲https://time.geekbang.org/column/article/369502
摘要:###抛转引玉 在上节建造了我们自己的“计算机”,并且在上面安装了GRUB,GRUB不是已经把我们的操作系统加载到了内存中了吗?为什么还需要二级引导器这个东西呢? 二级引导器作为操作系统的先驱,它需要收集机器信息,确定这个计算机能不能运行我们的操作系统,对CPU、内存、显卡进行一些初级配置,放置好内 阅读全文
posted @ 2022-05-28 22:12 牛犁heart 阅读(520) 评论(0) 推荐(0)
摘要:###创建虚拟硬盘 dd创建创建虚拟镜像文件 dd bs=512 if=/dev/zero of=hd.img count=204800 ;bs:表示块大小,这里是512字节 ;if:表示输入文件,/dev/zero就是Linux下专门返回0数据的设备文件,读取它就返回0 ;of:表示输出文件,即我 阅读全文
posted @ 2022-05-28 16:36 牛犁heart 阅读(247) 评论(0) 推荐(0)
摘要:在让机器跑起来之前,要先弄清楚数据同步的问题,如果不解决数据同步的问题,后面机器跑来了,就会出现很多不可预知的结果。 ###非预期结果的全局变量 int a = 0; void interrupt_handle() { a++; } void thread_func() { a++; } 这段代码描 阅读全文
posted @ 2022-05-27 23:01 牛犁heart 阅读(481) 评论(0) 推荐(0)
摘要:###程序局部原理性 CPU大多数时间在执行相同的指令或者与此相邻的指令,这就是程序局部性原理,依据此原理用来缓解CPU和内存之间的性能瓶颈。 ###内存 内存,从专业角度来讲,内存应该叫做DRAM,即动态随机存储器,内存存储颗粒芯片中的存储单元是由电容和相关元件做成,电容存储电荷的多、少代表数字信 阅读全文
posted @ 2022-05-27 21:27 牛犁heart 阅读(1352) 评论(0) 推荐(1)
摘要:###为什么需要虚拟地址 (多程序并发场景)如果一台计算机内存中运行一个程序A,内存中又放了一道程序B,程序A和程序B各自运行一秒,如此循环,直到其中之一结束,这个场景下就会产生一些问题(此处只关心内存相关的几个核心问题) 1、谁来保证程序A跟程序B没有内存地址的冲突?换句话说,就是程序 A、B 各 阅读全文
posted @ 2022-05-22 22:10 牛犁heart 阅读(3189) 评论(0) 推荐(2)
摘要:###1、计算机是如何将系统起起来的?-- PC机的引导流程 PC机BIOS固件是固化在PC机主板上的ROM芯片中,断电也能保存,PC机上电后的第一条指令就是在BIOS固件中,**它负责检测和初始化CPU、内存和主板平台,**然后加载引导设备(大概率是硬盘)中的第一个扇区数据,到0x7c00地址开始 阅读全文
posted @ 2022-05-22 10:39 牛犁heart 阅读(183) 评论(0) 推荐(0)