ldt

oslab oranges 一个操作系统的实现 实验二 认识保护模式

南楼画角 提交于 2021-02-09 10:01:44
https://github.com/yyu/osfs00 实验目的: 理解 x86架构下的段式内存管理 掌握实模式和保护模式下段式寻址的组织方式、 关键数据结构、代码组织方式 掌握实模式与保护模式的切换 掌握特权级的概念,以及不同特权之间的转移 实验内容: 1. 认真阅读章节资料,掌握什么是保护模式,弄清关键数据结构: GDT、descriptor、selector、GDTR, 及其之间关系,阅读 pm.inc文件中数据结构以及含义,写出对宏Descriptor的分析 2. 调试代码,/a/ 掌握从实模式到保护模式的基本方法,画出代码 流程图,如果代码 /a/中,第71行有dword前缀和没有前缀,编 译出来的代码有区别么,为什么,请调试截图。 3. 调试代码,/b/,掌握GDT的构造与切换,从保护模式切换回实 模式方法 4. 调试代码,/c/,掌握LDT切换 5. 调试代码,/d/掌握一致代码段、非一致代码段、数据段的权限 访问规则,掌握 CPL、DPL、RPL之间关系,以及段间切换的基 本方法 6. 调试代码,/e/掌握利用调用门进行特权级变换的转移 代码对应 iso中chapter3 实验解决问题与课后动手改: 1. GDT、Descriptor、Selector、GDTR结构,及其含义是什么?他 们的关联关系如何? pm.inc所定义的宏怎么使用? 2.

自制操作系统

牧云@^-^@ 提交于 2020-11-30 05:52:35
自制操作系统Antz day09——实现内核 (下) 实现图形化界面 https://www.cnblogs.com/LexMoon/p/antz09.html Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址: https://www.cnblogs.com/LexMoon/category/1267413.html Github项目地址: https://github.com/CasterWx/AntzOS   在前几天的任务中,我们已经简单实现了MBR,直接操作显示器和硬盘操作来加载其他扇区的程序,如今已经可以进入保护模式了,并且编写了我们自己的内核程序,接下来我们要完成界面的图形化,在显示屏中显示鼠标字符桌面,并显示一个终端界面。   效果如下:      现在我们已经简单实现了半终端半桌面的显示,虽然说非常Low,但也是Antz的一大步了。 封装函数   在前几天我们已经说明了屏幕显示的原理,也就是在显存固定位置写入数据,这对于显卡来说就是像素点。   如果屏幕显示原理不清楚的可以参考第三天的: http://www.cnblogs.com/LexMoon/p/antz03.html   为了方便实现图像化,我将显卡写入的代码使用C语言封装成了函数,颜色定义为数组

专访泛生子CEO王思振:肿瘤NGS行业将迎来进阶发展

ⅰ亾dé卋堺 提交于 2020-10-24 06:57:21
  北京时间 8 月 6 日晚间,泛生子公布了其 2020 年二季度未经审计的财务报告:二季度总营收 1.017 亿元人民币,相比 2019 年同期增长 40.3%;诊断和监测业务收入 9,390 万元人民币,比去年同期增长 52.1%;毛利率提升至 63.1%,去年同期为 47.8%。这是自泛生子在美国纳斯达克上市后,首次发布财报。   在季报发布的同时,泛生子联合创始人兼 CEO 王思振表示:“2020 年二季度,得益于整体疫情的有效防控,国内经济和人民生活逐步恢复正常,泛生子的业务也实现反弹。然而,北京在季度末出现了二次疫情爆发,对我们的业务产生了一定的冲击。尽管我们面临诸多挑战,但泛生子仍交出了一份令人满意的答卷,公司营收增长强劲,毛利率表现优异,与此同时费用结构也实现优化,展示了泛生子团队卓越的执行力以及公司业务的韧性。”   “展望 2020 年下半年,由于新冠疫情发展的不确定性,整个行业依然面临很大挑战,但我们相信公司业务会持续向好。得益于在美国纳斯达克的成功上市,公司的资产负债表得到显著强化,泛生子也将继续坚定执行长期战略方针,同时保持灵活敏捷,以应对快速变化的市场环境。我们计划不断丰富公司的诊断和监测产品组合,开发高临床价值的早筛产品管线,并推动与更多药企的合作。泛生子将专注于扩大精准医疗的市场覆盖和渗透,为股东创造长期价值。”      图 | 泛生子创始人兼

LRU和LFU算法以及其在Redis中的实现

那年仲夏 提交于 2020-08-12 20:22:23
前言 本文讲述的两个缓存淘汰算法,LRU算法(Least recently used)和LFU算法(Least Frequently used),两者看起来很相似,但我们要明确其区别在于: LRU是按访问时间排序,发生淘汰的时候,把访问时间最旧的淘汰掉。 LFU是按频次排序,一个数据被访问过,把它的频次+1,发生淘汰的时候,把频次低的淘汰掉。 本文旨在描述LRU/LFU算法定义,并给出性能最佳的实现方式,最后再延伸至当前最热门的缓存中间件Redis中二者的实现。 其中,LRU/LFU算法性能最优的实现,也是各大厂技术面的常问题。leetcode上有两个这样的题目,要求是缓存的加入put(),缓存读取get(),都要在O(1)内实现: LRU: https://leetcode.com/problems/lru-cache/description/ 或者 https://leetcode-cn.com/problems/lru-cache/ LFU: https://leetcode.com/problems/lfu-cache/description/ 或者 https://leetcode-cn.com/problems/lfu-cache/ 1 LRU算法 LRU(Least recently used)算法,也叫作 最近最久未使用算法 ,顾名思义,就是哪个是最近不用的

内存访问全过程

本秂侑毒 提交于 2020-08-11 04:39:54
这一篇,是重点!我们将去讲解操作系统根据代码(逻辑)地址去访问真实物理地址的全过程。 将把全面几节的东西全部用上,并完全梳理,完善细节。 前面讲了分段、分页机制,他们都可以实现,从虚拟地址(地址空间)向物理地址的转换。但是,实际使用过程中,使用的是分段+分页机制,段页结合。 段页结合 全过程分析(高能) 我们现在采用边实验边讲解翻译全过程。 写了一段 c 代码,编译,然后在 Linux 0.11 中,进行调试 #include <stdio.h> int i = 0x12345678; int main(void) { printf("The logical/virtual address of i is 0x%08x", &i); fflush(stdout); while (i) ; return 0; } 注意:我们程序中的变量 i 的大小为 0x12345678。 我们想做的是,通过编译,找到变量 i 的逻辑地址,然后经过一系列的地址转换,获得物理地址。通过查看物理地址的内容,是否是 0x12345678。 获得虚拟地址 将运行的代码进行反编译,可以看到 cmp dword ptr 这一部分。这一部分,对应的就是上面c语言的 while(i) 部分。 可以看到熟悉的 ds:0x3004 ,这是什么? 这就是我们之前分段章节里面的间接寻址。也就是说,我们要找到 ds 段的基址

80386学习(二) 80386特权级保护

橙三吉。 提交于 2020-08-05 20:44:15
一、80386特权级保护介绍   80386CPU为了给操作系统提供硬件级的可靠保护,提供了特权级保护功能。80386处于保护模式时,会改变CPU的行为方式,其中便包括开启特权级保护。实现良好的特权级保护是需要软硬件相协调的,CPU提供硬件机制的同时也需要与操作系统相配合,共同实现完善的特权级保护功能。   要较为全面的理解特权级保护的工作原理,需要了解相互关联的各个机制。下面会介绍在80386特权级保护中起到关键作用的: 段描述符和描述符表 、 保护模式下的内存访问方式 、 特权级的不同维度 与 特权级校验规则 等内容。 二、段描述符和描述符表   在8086中,为了能够让程序在内存中浮动的加载装配,通过段地址和段内偏移地址共同组成最终的物理地址。而在保护模式下,段机制依然存在,只不过为了支持特权级保护,在一个段能够被访问之前,需要先进行" 登记注册 "。   用于登记注册一个段详细信息的数据结构被称为 段描述符 ( Segment Descripter ), 固定占8个字节,64位 。在一个多任务系统中会定义很多不同的段,一个段就对应着一个段描述符, 为了统一的进行管理,需要在内存中开辟一段连续的空间集中存放紧密相连的段描述符,而这一段连续的内存空间被称为描述符表。   描述符表有多种类型,如 全局描述符表(Global Descripter Table GDT)、局部描述符

内存分段机制

不羁岁月 提交于 2020-05-08 14:01:53
我们可以写一段简单的c代码(code/memory/segment_1.c): #include <stdio.h> int main() { int a = 1; printf("Hello, World!"); return 0; } 然后将其转为汇编,运行: gcc -S segment_1.c 之后会生成一个.s 文件(code/memory/segment_1.s),不用细看内容。 我们发现,这个汇编代码中,有 .string main .text,反正分为不同的块。 .file "segment_1.c" .text .section .rodata .LC0: .string "Hello, World!" .text .globl main .type main, @function main: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 subq $16, %rsp movl $1, -4(%rbp) leaq .LC0(%rip), %rdi movl $0, %eax call printf@PLT movl $0, %eax leave .cfi_def_cfa 7, 8

象/如果没有了你我的生命

江枫思渺然 提交于 2020-05-03 18:24:02
sdfsdf 服务网格作为一个改善服务到服务通信的专用基础设施层,是云原生范畴中最热门的话题。随着容器愈加流行,服务拓扑也频繁变动,这就需要更好的网络性能。服务网格能够通过服务发现、路由、负载均衡、心跳检测和支持可观测性,帮助我们管理网络流量。服务网格试图为无规则的复杂的容器问题提供规范化的解决方案 将供应链搬出中国,似乎成了过去两三个月新冠肺炎疫情衍生出的热门话题。 年初新冠肺炎疫情爆发,让中国供应链的生产活动几乎完全停顿,影响席卷全球:苹果的新 5G 有可能因疫情而延期推出,特斯拉新款芯片无法及时交付、陷入“芯片门”纠纷。其余像三星、小米、索尼等著名跨国企业,均受到供应链停摆的影响。 因此,rjnpinz.answers.yahoo.com/question/index?qid=20200427220348AAM7TDe?ZN3=37vzr=13z answers.yahoo.com/question/index?qid=20200427220401AAYjguT?DV7=15jrt=79b in.answers.yahoo.com/question/index?qid=20200427220401AAYjguT?ND5=91phh=55t malaysia.answers.yahoo.com/question/index?qid=20200427220401AAYjguT

憬装入行囊6、春风清拂盈

时光总嘲笑我的痴心妄想 提交于 2020-05-03 17:44:46
sdfsdf 服务网格作为一个改善服务到服务通信的专用基础设施层,是云原生范畴中最热门的话题。随着容器愈加流行,服务拓扑也频繁变动,这就需要更好的网络性能。服务网格能够通过服务发现、路由、负载均衡、心跳检测和支持可观测性,帮助我们管理网络流量。服务网格试图为无规则的复杂的容器问题提供规范化的解决方案 将供应链搬出中国,似乎成了过去两三个月新冠肺炎疫情衍生出的热门话题。 年初新冠肺炎疫情爆发,让中国供应链的生产活动几乎完全停顿,影响席卷全球:苹果的新 5G 有可能因疫情而延期推出,特斯拉新款芯片无法及时交付、陷入“芯片门”纠纷。其余像三星、小米、索尼等著名跨国企业,均受到供应链停摆的影响。 因此,iujmsmalaysia.answers.yahoo.com/question/index?qid=20200427182356AAw02Dl?PR1=73nhj=51x sg.answers.yahoo.com/question/index?qid=20200427182356AAw02Dl?VX1=51pbd=57r hk.answers.yahoo.com/question/index?qid=20200427182356AAw02Dl?FT9=35dvx=55j answers.yahoo.com/question/index?qid=20200427182356AAw02Dl

重的准备你瞧原野上植物

蹲街弑〆低调 提交于 2020-05-03 16:41:20
sdfsdf 服务网格作为一个改善服务到服务通信的专用基础设施层,是云原生范畴中最热门的话题。随着容器愈加流行,服务拓扑也频繁变动,这就需要更好的网络性能。服务网格能够通过服务发现、路由、负载均衡、心跳检测和支持可观测性,帮助我们管理网络流量。服务网格试图为无规则的复杂的容器问题提供规范化的解决方案 将供应链搬出中国,似乎成了过去两三个月新冠肺炎疫情衍生出的热门话题。 年初新冠肺炎疫情爆发,让中国供应链的生产活动几乎完全停顿,影响席卷全球:苹果的新 5G 有可能因疫情而延期推出,特斯拉新款芯片无法及时交付、陷入“芯片门”纠纷。其余像三星、小米、索尼等著名跨国企业,均受到供应链停摆的影响。 因此,mwzyxnz.answers.yahoo.com/question/index?qid=20200427174516AAwa2Is?NP3=39lxl=97v in.answers.yahoo.com/question/index?qid=20200427174528AA4nwkt?LZ5=11fxj=57l malaysia.answers.yahoo.com/question/index?qid=20200427174528AA4nwkt?TV7=13lph=15t sg.answers.yahoo.com/question/index?qid