Tekkaman

导航

 

2013年3月19日

摘要: 【x86之寄存器详解】 1、在32位x86下,CS(代码段寄存器)、SS(栈寄存器)、DS(数据寄存器)、ES(附加寄存器)依旧是16位。在实模式下(16位模式),这些寄存器表示实际的地址,在保护模式下(32位模式),这些寄存器表示LDT中的偏移。 LDTR的装载:LDTR由程序员可见的16位的选择器和程序员不可见的8字节描述符高速缓存组成。在初始化或任务切换过程中,把描述符对应任务LDT的选择器装入LDTR可见部分,然后从GDT中取出LDT描述符,填充在LDTR不可见的高速缓存中。 2、其它寄存器 3、累加器 4、指示器 4、标志寄存器EFLAGS 阅读全文
posted @ 2013-03-19 23:46 Tekkaman 阅读(2208) 评论(0) 推荐(0)
 
摘要: 【x86之描述符表寄存器】 1、x86有4个描述符表寄存器 1)全局描述符表寄存器(GDTR):32(基址) + 16(边界) 位 2)中断描述符表寄存器(IDTR):32(基址) + 16(边界) 位 3)局部描述符表寄存器(LDTR):16(选择器) + 64 (16(属性)+32(基址)+16(边界))位 4)任务寄存器(TR):16(选择器) + 64 (16(属性)+32(基址)+16(边界))位 注:上图LDT、TR寄存器字段分配错误。对于每一个段,边界字段是20bit,1MB。 2、GDT和IDT 3、LDT和TSS 阅读全文
posted @ 2013-03-19 23:05 Tekkaman 阅读(473) 评论(0) 推荐(0)
 
摘要: 【x86之段描述符】 1、在保护模式下,把有关一个段的信息,即段基址、限长、类型、访问权限及其它属性信息放在一个8字节长的数据结构中,这种数据结构称为段描述符,简称描述符。 2、为了查找和识别,把系统中的描述符按线性表的形式来组织,即构成描述符表。描述符表由操作系统建议,并由操作系统维护。有三种类型的描述符表: 1)全局描述符表(Global Descriptor Table, GDT):GDT最大64KB,每个描述符8字节,故最多涵64kb/8=8192个描述符。 2)局部描述符表(Local Descriptor Table, LDT):LDT同GDT。 3)中断描述符表(Inter... 阅读全文
posted @ 2013-03-19 22:54 Tekkaman 阅读(573) 评论(0) 推荐(0)
 
摘要: 【NodeJS】 1、NodeJS入门教程:http://www.nodebeginner.org/index-zh-cn.html 模块的引入与导出 url的模块 2、NodeJS搭建静态服务器:http://cnodejs.org/topic/4f16442ccae1f4aa27001071 3 阅读全文
posted @ 2013-03-19 17:25 Tekkaman 阅读(680) 评论(0) 推荐(0)
 
摘要: 【HTTP之Range】 1、什么是Range? 当用户在听一首歌的时候,如果听到一半(网络下载了一半),网络断掉了,用户需要继续听的时候,文件服务器不支持断点的话,则用户需要重新下载这个文件。而Range支持的话,客户端应该记录了之前已经读取的文件范围,网络恢复之后,则向服务器发送读取剩余Range的请求,服务端只需要发送客户端请求的那部分内容,而不用整个文件发送回客户端,以此节省网络带宽。 2、HTTP1.1规范的Range是怎样一个约定呢? 如果Server支持Range,首先就要告诉客户端,咱支持Range,之后客户端才可能发起带Range的请求。这里套用唐僧的一句话,你不说我怎么.. 阅读全文
posted @ 2013-03-19 17:17 Tekkaman 阅读(17812) 评论(0) 推荐(3)
 
摘要: 【Know what functions C++ silently writes and calls】 1、如果自己没有声明,编译器就会为类生成一个copy构造函数、 一个copy assignment操作符函数和一个析构函数、default构造函数。所有这些函数是public且是inline。 2、例: 3、惟有这些函数被需要,他们才会被创建出来。 4、copy构造函数、copy assignment操作符函数只是简单地将来源对象每一个成员变量拷贝到目标对象。 5、当类中包含引用变量、常量时,编译器拒绝生成copy构造函数、copy assignment函数,如要需要,需自己手工实现。 .. 阅读全文
posted @ 2013-03-19 12:49 Tekkaman 阅读(168) 评论(0) 推荐(0)