![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OS
MIMOCH
桃李春风一杯酒,江湖夜雨十年灯,未来可期....
展开
-
BIOS启动并加载OS
回顾CPU加电的第一条指令在0xfffffff0处是存放着一条长跳转指令,直接跳到bios可执行代码区,而这些代码都是固化在主板上的rom区里的。0xF0000~0xFFFFF被映射到Bios ROM。BIOS 初始化过程BIOS首先会进行POST(power on self test) 上电自检, 检查硬件的好坏 内存地址为0fff:0000查找并检查显卡等接口卡的BIOS...原创 2019-04-11 18:28:50 · 1725 阅读 · 0 评论 -
操作系统存储管理-非连续内存分配
非连续分配:允许程序使用非连续的的地址空间允许共享代码和数据支持动态加载和动态链接实现物理地址和虚拟地址的转换段式存储管理目的:更精细的粒度和灵活的分离与共享程序:堆堆栈数据段代码段段 : -表示访问方式和存储数据属性相同的一段地址空间每个段对应一个连续的内存"块"进程的地址空间由若干个段组成段地址空间 :段地址+段地址偏移访问先查询段表 存储了基址...原创 2019-04-16 16:42:15 · 532 阅读 · 0 评论 -
CPU加电执行的第一条指令
参考了member82的这篇博客当按下开关时,刚开始电压不稳定,主板会给cpu发出并保持RESET信号,rangCPU自动恢复到初 始状态,当芯片组检测到稳定供电时,便撤去了RESET信号,CPU开始执行第一条指令.2.第一条指令在哪?首先可以肯定的是刚加电是RAM是没有内容的,所以第一条指令一定是在ROM上.cpu想要执行ROM中的代码,靠的就是地址映射,硬件会把EPROM映射在两个...原创 2019-04-10 01:16:14 · 3194 阅读 · 0 评论 -
开机加电的内存分布
常规内存:首先DOS下的"常规内存"只有640KB,640KB指的就是从0~A0000H上位内存区指的就是20位地址线所能寻址到的1M地址空间的上面384K空间,就是从A0001H–100000H这段地址空间...原创 2019-04-10 02:04:43 · 212 阅读 · 0 评论 -
操作系统存储管理-连续内存管理
操作系统存储管理内存最小访问单位字节总线32位,需要进行对齐1. 内存层次2. 操作系统采取的内存管理方式重定位分段分页(最小单位)-***3.地址空间物理地址(32位 0~4G-1)逻辑地址-在CPU运行的进程的地址4.逻辑地址生成时机编译时 假设起始地址已知如果起始地址未知,必须重新编译(类似于功能机原创 2019-04-17 09:26:12 · 411 阅读 · 0 评论 -
虚拟页式存储(非连续存储延续)
计算机内存空间不够用覆盖(overlay):应用程序手动把需要的指令和数据保存在内存中交换(swapping):操作系统自动把暂时不能执行的程序存储到外存中虚拟存储:在有限的内存中,以页为单位自动装入更大的内存中覆盖:将程序划分成若干功能相对独立的模块,将不会同时执行的模块共享同一块内存区域时间换空间交换:将暂时不能运行的程序放到外存换入换出的基本单位:整个进程的地址空间...原创 2019-04-26 18:23:31 · 1154 阅读 · 1 评论 -
页面置换算法 1 -常用置换算法
置换算法:指的是当出现缺页异常,需调入新页面而内存已满是,置换算法选择被置换的物理页面.实现要求: 尽可能地减少页面的调入调出次数.局部页面置换算法最优页面置换算法(OPT)缺页时,计算内存中每个逻辑页面的下一次访问时间,选择未来最长时间不访问的页面实际中无法实现,作为置换算法的性能评价依据先进先出算法(FIFO)选择在内存驻留时间最长的页面进行置换会出现belady...原创 2019-05-05 12:04:01 · 460 阅读 · 0 评论 -
页面置换算法 2-Belady现象与全局页面置换算法
Belady现象采用FIFO等算法时,可能出现分配的物理页面数增加,缺页次数反而升高的现象原因:FIFO算法的置换特征与进程访问内存的动态特征矛盾被它置换出去的页面并不一定是进程近期不会访问的FIFO算法开销小 有Belady现象LRU没有Belady现象 性能好 但是系统开销大Clock算法是它们的折中全局置换算法给进程分配可变数目的物理页面CPU利用率与并发进...原创 2019-05-05 13:37:11 · 1125 阅读 · 0 评论 -
Java实现LRU
Java实现LRU简介LRU(Least Recent Used) 最近最少使用,是经常用在内存的调度算法,在内存不够的情况下,为了载入新内容,不断淘汰旧内容.实现原理使用HashMap 和 双向链表实现 LRUHashMap的 put 和 get 都是接近O(1),用HashMap的vlaue指向双向链表的Node节点的Index.双向链表在这里用来实现LRU存储,head代表头部,...原创 2019-07-29 21:00:37 · 195 阅读 · 0 评论