自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 编程珠玑ch02

三个问题1.给定一个包含32位整数的顺序文件,它至多只能包含40亿个这样的整数,并且整数的次序是随机的。请查找一个此文件中不存在的32位整数。在有足够主存的情况下,你会如何解决这个问题?如果你可以使用若干外部临时文件但可用主存却只有上百字节,你会如何解决这个问题呢? 情形一:32位整数,从0到232−12^32-1,用一个bit来表示一个整数是否存在于此顺序文件中。 一共需要232bit=229

2016-05-01 22:59:13 311

转载 二分查找

假设:递增数组,无相同元素基本实现在数组arr中查找元素target,若找到,则返回元素的位置,否则返回-1int bSearch(vector<int> arr, int target) { int low=0, high=arr.size()-1; while(low<high) { int mid=low+((high-low)>>1); if(

2016-04-27 12:30:00 259

原创 编程珠玑ch01

笔记问题描述: 输入:一个文件,至多包含n个正整数,每个正整数都要小于n,n=10710^7,如果输入时某一个整数出现了两次,就会产生一个致命的错误。这些整数与其他任何数据都不关联。 输出:以增序形式输出经过排序的整数列表。 约束:至多只有1MB的可用主存;但是可用磁盘空间非常充足。运行时间至多允许几分钟;10秒钟是最适宜的运行时间。 分析: 方案一: 每个数32位,在1MB空间中保存2

2016-04-26 22:59:16 239

原创 页表管理

在不支持PAE的x86机器上,两层页表已足够。中间页目录(PMD)被定义成大小为1,它在系统初始化时直接映射为全局页目录(PGD),并在编译时间以外的时段进行优化。描述页目录每个进程都有一个指向其自己PGD的指针(mm_struct->pgd),它其实就是一个物理页面帧。该帧包括了一个pgd_t类型的数组。在x86结构中,进程页表的载入是通过把mm_struct->pgd复制到cr3寄存器完成,这种

2016-04-24 22:55:37 1653

原创 描述物理内存

在VM中首要的普遍概念就是NUMA,对于大型机器而言,内存会分成许多簇,依据簇与处理器“距离”的不同,访问不同的簇会有不同的代价。Linux中的struct pg_data_t 体现了这一概念,在UMA体系结构中亦是如此。系统中每个节点链接到一个以NULL结尾的pgdat_list 链表中。对于UMA结构的机器,只是用了一个contig_page_data 的静态pg_data_t 结构。在内存中,

2016-04-24 00:34:25 334

转载 NUMA

产生非统一内存访问(NUMA)(Non Uniform Memory Access Architecture)是为了解决传统的对称多处理器(SMP)系统中的可扩展性问题而产生的。基本概念在SMP中,多处理器共享北桥中的内存控制器来达到共同访问外部内存和IO的目的,随着更多的处理器被添加到SMP系统中,总线竞争将会越来越大,系统的性能也必随之大打折扣。SMP系统的示意图如下: 在NUMA系统中,

2016-04-23 20:06:04 235

转载 select、poll、epoll区别对比

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户

2016-04-19 20:37:18 177

转载 epoll总结

基本知识epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关心的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。epoll函数#include <sys/epoll.h>int epoll_create(int si

2016-04-19 20:26:00 195

原创 poll总结

poll函数#include <poll.h>int poll(struct pollfd fd[], unsigned int nfds, int timeout);返回值:就绪文件描述符个数;超时返回0;失败返回-1fd:一组待监视的文件描述符nfds:待监视的文件描述符个数timeout:等待的毫秒数pollfd结构体每个pollfd结构体指定一个待监视的文件描述符struct p

2016-04-19 20:07:25 206

原创 select总结

基本概念select是一种IO多路复用技术。当同时要对多个IO进行操作,监视各个IO的状态时,使用IO多路复用技术。select函数#include <sys/select.h>#include <sys/time.h>int select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct

2016-04-19 19:46:44 285

原创 欢迎使用CSDN-markdown编辑器

Linux内核设计与实现Linux进程调度

2016-04-14 21:40:55 214

单片机原理及应用技术

这是一部很好的关于描述单片机的入门书籍,而且是文字版。

2012-02-22

空空如也

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

TA关注的人

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