- 博客(14)
- 资源 (17)
- 收藏
- 关注
原创 32位代码段和16位代码段切换的实例
实例功能是:以十六进制数和ASCII字符两种形式显示从内存地址100000H开始的16个字节的内容。 从功能上看,本实例类似于上个实例,但在实现方法上却有了改变,它更能反映出实模式和保护模式切换的情况。具体实现步骤是:(1)作切换到保护方式的准备;(2)切换到保护方式的一个32位代码段;(3)把指定内存区域的内容以字节为单位,转换成对应的十六进制数的ASCII码,并直接填入
2015-03-31 20:16:16 1671
原创 《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(一)
对于“特权级”这个词,你可能任然感到一些陌生,但如果提起DPL,RPL,你应该还是有印象吧,实际上,DPL所代表的Descriptor Privilege Level以及RPL所代表的Request Privilege Level都是用来表示特权级别的。只不过,前面所有的例子都是运行在最高特权级下,所以涉及到的DPL和RPL都是0(最高特权级别)。在IA32的分页机制中特权级别总共有4个特权级
2015-03-31 13:04:01 1171
原创 《Orange's 一个操作系统的实现》学习笔记--LDT
LDT(Local Descriptor Table)它和GDT差不多,都是描述符表(Descriptor Table)区别仅仅在于全局(Global)和局部(Local)的不同。局部描述符表可以有若干张,每个任务可以有一张。LDT和GDT从本质上说是相同的,只是LDT嵌套在GDT之中。LDTR记录局部描述符表的起始位置,与GDTR不同LDTR的内容是一个段选择子。由于LDT本身同样是一段内存
2015-03-29 19:38:18 1440 1
原创 CodeForces 518 D. Ilya and Escalator(概率DP)
Ilya got tired of sports programming, left university and got a job in the subway. He was given the task to determine the escalator load factor. Let's assume that n people stand in the queue for t
2015-03-28 13:02:30 675
原创 寻找最大数--贪心
描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,比如当n=92081346718538,m=10时,则新的最大数是9888 输入第一行输入一个正整数T,表示有T组测试数据每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)输出每组测试数据的输
2015-03-19 21:29:06 448
原创 喷水装置(二)--区间覆盖问题
描述 有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿。请在给出的喷水装置中选择尽量少的喷水装置,把整个草坪全部润湿。输入第一行输入一个正整数N表示共有n次测试数据。每一组测试数据的第一行有三个整数n,w,h,n表示共有n个喷水装置,w表示草坪的横向长度,h表示
2015-03-18 16:32:17 629
原创 实方式和保护方式切换的实例分析
实方式和保护方式切换的实例 <80X86汇编语言程序设计教程 杨季文>程序逻辑功能是:先往内存地址110000H开始的256个字节写入数据(66h)然后以十六进制数的形式显示从
2015-03-16 16:44:35 770 1
原创 hdu 3790 最短路径问题
Problem Description给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。 Input输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为
2015-03-15 21:11:01 500
原创 《Orange's 一个操作系统的实现》学习笔记--保护模式进阶
我们虽然成功进入了保护模式,但是并没有体验到保护模式给我们带来的便利,上一个例子中打印了一个红色的p,这在实模式中也很容易做到,但是保护模式能做的远不止如此,上文我们提到在保护模式下的寻址空间可以到达4G,首先实验一下读大地址内存,在前面程序的基础上,新建一个段,这个段是以5MB为基址,远远超过了实模式下1MB的限制,我们先读出开始处8字节的内容,然后写入一个字符串,再从中读出8个字节的内容,如果
2015-03-14 12:51:13 1852
原创 《Orange's 一个操作系统的实现》学习笔记--保护模式理论初步(二)
一、存储段描述符用于表示上述定义段的三个参数的数据结构称为描述符。每个描述符长8 个字节。在保护方式下,每一个段都有一个相应的描述符来描述。按描述符所描述的对象来划分,描述符可分为如下三类:存储段描述符、系统段描述符、门描述符(控制描述符)。下面先介绍存储段描述符。1.存储段描述符的格式存储段是存放可由程序直接进行访问的代码和数据的段。存储段描述符描述存储段,所以存储段描述符也被称
2015-03-12 19:21:05 1146
原创 《Orange's 一个操作系统的实现》学习笔记--保护模式理论初步(一)
一、保护机制为了支持多任务,对个任务实施保护是必须的,从80286开始处理器就具备了保护机制。保护机制能有效地实现不同任务之间的保护和同一任务内的保护。1.不同任务之间的保护通过把每个任务放在不同的虚拟地址空间的方法来实现任务与任务的隔离,达到应用程序之间保护的目的,虚拟地址到物理地址的映射函数在每个任务中进行定义,随着任务切换,映射函数也切换,任务A的虚拟地址空间映射到物理地址空间的
2015-03-12 16:45:31 1994 1
原创 《Orange's 一个操作系统的实现》学习笔记--一个简单的引导扇区
《Orange's 一个操作系统的实现》于渊《Orange's 一个操作系统的实现》很早以前就晓得这本书了,当时还真没有打算仔细看的,随着后来了解的东西逐渐多起来后,我感觉上层的应用程序也好,还是更高级的的高级语言也好,都是按照格式来编程,根本不知道为什么,各种各样的调用(鄙人愚钝),当然也没有说高级语言不好,只是自己不喜欢在不明白为什么的情况下进行‘瞎’编程,当时在刚上大学前
2015-03-11 16:42:31 2579
原创 强化--16位汇编课程设计
编写一个可以自行启动的计算机,不需要在现有操作系统环境中运行的程序王爽汇编语言 课程设计2一、相关资料二、设计思路(1)首先思考引导程序是干什么的?答:引导计算机找到用户代码(引导程序就是把用户代码读到相应内存中,因为软(硬)盘的第一个扇区只有512个字节,有些稍大的程序不可能一次性就能放到第一扇区里面的
2015-03-10 14:34:36 1328
TCP-IP详解卷1:协议
2015-10-15
nasm中文手册
2015-03-12
STL源码剖析简体中文完整版清晰
2014-11-11
C++标准程序库
2014-11-10
ACM培训-动态规划
2014-11-10
取石子游戏_博弈
2014-11-10
白话经典算法之七大排序第2版
2014-11-10
背包问题九讲
2014-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人