![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 77
xiongbixb2
这个作者很懒,什么都没留下…
展开
-
unix网络编程(IPC)
本书介绍了4中IPC形式:消息传递(管道,FIFO,消息队列),同步(互斥锁,条件变量,读写锁,文件与记录锁,信号量),共享内存(匿名共享内存,具名共享内存),远程过程调用(solaris门,sun rpc)。读书报告有待下一步更新。原创 2015-05-09 14:54:44 · 223 阅读 · 0 评论 -
大数据量的系统的数据库结构如何设计?
大数据量的系统的数据库结构如何设计?1、把你表中经常查询的和不常用的分开几个表,也就是横向切分2、把不同类型的分成几个表,纵向切分3、常用联接的建索引4、服务器放几个硬盘,把数据、日志、索引分盘存放,这样可以提高IO吞吐率5、用优化器,优化你的查询6、考虑冗余,这样可以减少连接7、可以考虑建立统计表,就是实时生成总计表,这样可以避免每次查询都统计一次转载 2015-08-31 21:52:28 · 1289 阅读 · 0 评论 -
一个进程在内存中的布局
对于一个完整的程序,在内存中分布情况如下图: 值得一提的是:在C#中struct存放在栈区,class存放在堆区,所以一般struct要比class要快的。 堆和栈的比较表(仅针对C++) 栈(Stack)堆(Heap)申请方式由OS自动分配。例如在转载 2015-09-25 09:46:10 · 227 阅读 · 0 评论 -
拥抱开源——Linux C/C++程序员必须熟悉的开源项目
作为一个经验丰富的Linux C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的转载 2015-11-08 10:50:52 · 442 阅读 · 0 评论 -
浅析Linux计算机进程地址空间与内核装载ELF
简介: 本文基于Linux™系统对进程创建与加载进行分析,文中实现了Linux库函数fork、exec,剖析内核态执行过程,并进一步展示进程创建过程中进程控制块字段变化信息及ELF文件加载过程。 一、初识Linux进程转载 2015-11-08 10:54:37 · 394 阅读 · 0 评论 -
写给Linux内核新手-关于Linux内核学习的误区
写给Linux内核新手-关于Linux内核学习的误区 先说句正经的:其实我没资格写这篇文章,因为自己也就一两个月以来才开始有所领悟的。因此,这里与其说是关于Linux内核学习的经验,不如说是自己的教训吧,希望不要扔鸡蛋砸我^_^ 常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面转载 2015-11-08 10:31:58 · 105 阅读 · 0 评论 -
关于linux 内存分配【zz】
Linux内存管理摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨转载 2015-11-08 11:26:42 · 395 阅读 · 0 评论 -
slab着色
看过ULK,LDD和kernel代码后对内存管理的理解加深了不少,但还有一点一直不甚明了,SLAB里面的着色(color)一直不知道什么原理. 关键对CPU CACHE 理解不对.今天仔细搜了搜终于明白一点儿: 比如cache line 32 字节, 字节0-31一次从内存写入/读取, 字节32-63一次从内存写入/读取….. 另外cache对应到内存位置不是任意的Cac转载 2015-11-17 13:36:07 · 471 阅读 · 0 评论 -
《深入理解Linux内核》软中断/tasklet/工作队列
软中断、tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的“下半部”(bottom half)演变而来。下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任务队列的函数都消失了,只剩下了前三者。本文重点在于介绍这三者之间的关系。(函数细节将不会在本文中出现,可以参考文献,点这里)(1)上半部和下半部的区别上半部指的是中断处理程序,下半部则指的转载 2015-11-02 13:03:34 · 424 阅读 · 0 评论 -
epoll源码实现分析
epoll源码实现分析[整理]转载自http://www.cnblogs.com/apprentice89/p/3234677.html epoll用法回顾先简单回顾下如何使用C库封装的3个epoll相关的系统调用。更详细的用法参见http://www.cnblogs.com/apprentice89/archive/2013/05/06/3063039.htmlint转载 2015-07-22 22:44:41 · 315 阅读 · 0 评论 -
tcpip问题(较全)
非阻塞Connect对于select时应注意问题 对于面向连接的socket类型(SOCK_STREAM,SOCK_SEQPACKET)在读写数据之前必须建立连接,首先服务器端socket必须在一个客户端知道的地址进行监听,也就是创建socket之后必须调用bind绑定到一个指定的地址,然后调用int listen(int sockfd, int backlog);进行监转载 2015-07-31 21:04:36 · 723 阅读 · 0 评论 -
进程是如何在内存中分布的
http://kb.cnblogs.com/page/66608/转载 2015-05-11 21:16:43 · 225 阅读 · 0 评论 -
内存分配的原理__进程分配内存有两种方式,分别由两个系统调用完成:brk和mmap(不考虑共享内存)。
如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看。 majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。 这两个数值表示一个进程自启动以来所发生的缺页中断的次数。发成缺页中断后,执行了那些操作?当一个进程发生缺页转载 2015-05-13 10:34:43 · 343 阅读 · 0 评论 -
select函数实现原理分析
Select函数实现原理分析(转载)select需要驱动程序的支持,驱动程序实现fops内的poll函数。select通过每个设备文件对应的poll函数提供的信息判断当前是否有资源可用(如可读或写),如果有的话则返回可用资源的文件描述符个数,没有的话则睡眠,等待有资源变为可用时再被唤醒继续执行。下面我们分两个过程来分析select:1. select的睡眠过程支持阻转载 2015-05-13 11:13:40 · 279 阅读 · 0 评论 -
关于linux学习:地址
有一个大神级博客:http://blog.csdn.net/turkeyzhou/article/details/8609360原创 2015-05-13 11:23:34 · 189 阅读 · 0 评论 -
redis源码分析实践
Redis是一个用ANSI C 编写的开源数据结构服务器。“数据结构服务器”只是对灵巧的key-value存储服务的另外一种称谓。你不仅仅可以存储简单的字符串,还可以存储包括hash(或者map,甚至dicts),list,set,sorted set。我们在Top10 中大量应用了Redis,大部分为了根据用户搜索的日期和酒店的空房情况和价格建立索引。我发现Redis的代码非常容易读懂,甚至是对转载 2015-07-05 11:28:25 · 485 阅读 · 0 评论 -
NoSQL数据库:Redis适用场景及产品定位
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 2.Mem转载 2015-07-28 17:20:42 · 360 阅读 · 0 评论 -
centsOs(Linux) memcache 安装教程
安装Linux:centOs5.4安装libevent库[java] view plaincopyprint?cd /usr/local/src wget http://monkey.org/~provos/libevent-1.3b.tar.gz tar zxvf libevent-1.3b.tar.gz cd libevent-1.3b ./co转载 2015-07-31 11:07:08 · 232 阅读 · 0 评论 -
探讨read的返回值的三种情况
作者:gfree.wind@gmail.com博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net 本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。===================转载 2015-07-31 20:14:02 · 294 阅读 · 0 评论 -
工作队列(workqueue)
项目需要,在驱动模块里用内核计时器timer_list实现了一个状态机。郁闷的是,运行时总报错“Scheduling while atomic”,网上搜了一下:"Scheduling while atomic" indicates that you've tried to sleep somewhere that you shouldn't - like within a spinlo转载 2015-11-02 13:06:38 · 354 阅读 · 0 评论