自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lynn

生活与技术,缺一不可

  • 博客(9)
  • 资源 (18)
  • 收藏
  • 关注

原创 内存管理和地址翻译概述

ps:个人总结与理解,不保证正确性。。。[保护模式中指令地址的理解]     在传统的无保护模式下的地址空间中,在指令中的地址是16位的,段寄存器也是16位的。但当时Intel8086支持的是20位的地址,因此会将指令中的地址与相应的段寄存器中的内容进行操作得到20位的地址。具体的操作是应该是段寄存器中的内容左移4位,然后与指令中的地址求和,这样就得到了新的20位的地址。这样的

2012-11-24 20:52:06 2575

原创 Linux信号系统详解

代码对应linux kernel v0.11[Linux信号系统简介]     在Linux系统中,信号机制是在软件层次上对中断机制的一种模拟。一个进程接收到信号之后,有相应的信号的处理程序,而一个进程也可以给另外一个(或一组)进程发送信号。在内核版本的0.11版本中,每个进程都有一个结构体sigaction的数组,类似于系统的中断描述表(也被称为中断向量表),这个数组可以

2012-11-18 22:25:29 7903

原创 Linux进程状态详解

以下部分的代码示例,来自于Linux内核的0.11版本源码在定义进程的数据结构task_struct时,有一个state字段是用来表示进程状态的,这里总结了下关于state字段的操作关于进程的几个状态值在sched.h中定义如下#define TASK_RUNNING                 0#define TASK_INTERRUPTIBLE

2012-11-17 14:10:36 3040 3

原创 Linux中断详解

这里以linux-kernel 0.11版本为基础整理中断相关知识,目的在于对于中断有一个全面、清晰和简洁的认识1、Linux的中断类型     Linux的各种中断都是由系统负责统一处理的。在响应一个特定的中断的时候,内核会执行一个函数,该函数叫做中断处理函数或中断服务例程。CPU执行完一条指令后,下一条指令的逻辑地址会被放在相应的寄存器中(CS和EIP),在执行新指令之前,

2012-11-14 18:53:32 7431 4

原创 Linux系统的中断、系统调用和调度概述

最近学习Linux操作系统,关于中断系统调用和进程的级别总是感觉有些模糊的地方,特在此做个小结,整理下思路。所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类:1、由计算机硬件异常或故障引起的中断,称为内部异常中断;2、由程序中执行了引起中断的指令而造成的中断,

2012-11-10 21:03:30 4537

原创 C++虚继承小结

虚拟继承是C++语言中一个非常重要但是又比较生僻的存在,它的定义非常简单,但是对于理解C++的继承机制却是非常有用的。笔者最近学习过程中发现对C++的虚拟继承不是很明朗,故在这里对虚继承做个小结。首先说下遇到的问题吧。代码如下(代码来自于何海涛《程序员面试精选100题第32题)。意图是要设计一个不能被继承的类,类似java中的final。但是又可以生成栈对象,可以像一般的C++类一样使用。

2012-11-08 17:58:36 2091 3

原创 AVL树的C++实现

第一棵平衡二叉查找树又被称为AVL树,以它的发现者Adelson-Velskii和Landis命名的。它广泛说明了平衡二叉查找树中使用的各种思想。就是具有附加平衡条件的二叉查找树。任一平衡条件必须是易于维护,并确保树的深度是O(logN)。最简单的思想是要求左子树和右子树具有同样的高度。但是这个要求太严格了,维持平衡的同时插入数据项太困难。而AVL树在这方面找到了一个良好的折中点。

2012-11-04 21:06:22 978

原创 红黑树插入操作的C++实现

红黑树是具有如下顺序属性的二叉查找树1、每个节点要么是红色,要么是黑色2、根是黑色3、所有叶子节点都是黑色(叶子是NIL节点)4、每个红色节点的两个孩子节点都是黑色(从每个叶子到根的所有路径上不能有两个连续的红色节点)5、从根节点到NIL指针的每条路径必须包含相同数目的黑色节点对NIL节点的理解是它不包含数据只充当树在此结束的指示红黑树的插入的时候,把新插入的节

2012-11-04 00:01:47 1158

原创 B-Tree的C++实现

简要说明下B树的性质。用M表示B树的阶数,L表示叶子节点的最大元素个 (性质说明来自于《数据结构与问题求解(C++版)》第19章) 1、数据项保存在叶子中 2、非叶子节点具有M-1个键指导查找的进行;键i代表子树i+1中最小的键 3、根要么是叶子,要么就有2~M个孩子 4、所有非叶子节点,(根除外)都具有[M/2]~M个孩子 5、所有叶子都在同一深度,并且对某一叶子,具

2012-11-03 23:38:13 1467

ThreadLocal测试工程

说明ThreadLocal功能的一个测试工程,eclipse项目

2013-04-21

Linux程序设计第四版

Linux程序设计第四版。内容清晰,索引齐全,英文版

2012-11-23

Virtualization with Xen

内容清晰,带索引。讲解Xen的安装、管理等内容

2012-11-15

Linux内核之旅

属于Linux内核学习书籍中偏中下层的书籍。讲解很全面

2012-11-12

Java API官方文档

方便的java api文档,chm格式,查找和使用相当方便

2012-11-08

程序员面试题精选100题

主要是面向数据结构、C++方面的面试题精选。来自于各大公司的真实面试题目

2012-11-08

平衡树的C++实现

用C++实现的平衡树的插入和删除操作,查询操作没实现。测试数据量比较大,可以根据需要在insert和remove方法里面修改打印的东西

2012-11-04

红黑树的C++实现(只实现插入操作)

实现了红黑树的插入操作,删除操作太复杂未实现。数据量比较大,根据需要可在main中修改测试数据

2012-11-04

b树的C++实现

B树的C++实现,实现了插入和删除操作。数据量比较大,可以根据需要修改main中的测试数组

2012-11-04

linux内核0.11版本源代码

linux内核版本0.11的源代码,配套《Linux内核完全注释》

2012-10-30

MySql权威指南-英文版

MySQL权威指南最新英文版,高清,索引齐全

2012-10-29

INTEL 80386 Programmer's Reference Manual

Intel程序员的开发手册,经典必备,高清英文版

2012-10-26

Unix操作系统设计

非常经典的讲解Unix操作系统内核原理的pdf电子书。不过内容不是高清的那种

2012-10-26

经典Git学习资料ProGit

英文版的Pro Git,详细地讲解Git相关知识。

2012-10-25

VC6.0编程实例精解

VC6.0的编程实例,很完整.实例过程清晰,适用于自学参考

2011-04-06

Essential C++中文版

很不错的一本电子书。详细讲解了C++的一些底层操作内容

2011-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除