
Linux
文章平均质量分 80
cong1024
知其然更要知其所以然
展开
-
Linux虚拟地址空间分布
Linux虚拟地址空间分布原创 2017-06-16 23:35:40 · 3841 阅读 · 0 评论 -
Linux基础总结
1.linux版本 内核版本 1991,芬兰大学生 www.kernel.org 发行版本 公司对内核版本进行软件/操作集成,更方便使用 选最稳定的版本2.linux基本命令 目录: cd 切换目录 pwd 显示当前路径 mkdir 创建目录 rmdir 删除目录 文件: cp 拷贝文件 mv 粘贴/重命名文件 vi 打开文件编译器 more f原创 2017-07-21 16:58:45 · 696 阅读 · 2 评论 -
epoll源码剖析
epoll的实现主要依赖于一个文件系统eventpoll。 epoll使用中有三个重要的函数:epoll_create(), epoll_ctl(), epoll_wait epoll有四个重要的数据结构:struct eventpoll, struct epitem,struct epoll_event, struct eppoll_entrystruct eventpoll { rw原创 2017-08-02 22:35:10 · 850 阅读 · 0 评论 -
select源码剖析
select只有一个系统调用 select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *expectfds, struct timeval *timeout);nfds指定被监听文件描述符的总数,一般为socket监听的所有文件描述符中的最大值+1。readfds, writefds, expectfds分别指向可读可写异常事件的文件描原创 2017-08-04 13:52:47 · 698 阅读 · 0 评论 -
fork源码剖析
大家一定听过这样一段话: 调用fork(),创建子进程; 调用pthread_create()创建子线程; 如果你要创建一个立刻执行exec()函数的进程,就使用vfork()。说法没有错误,在我平时编写多进程/多线程项目时的确是这样使用的。那请问:为什么?它们有什么区别?既然在Linux系统上有进程、内核线程和用户线程之分,那调用不同的函数,分别创建的是什么?如果你能回答这些问题,本文章不是原创 2017-07-29 22:31:34 · 831 阅读 · 0 评论 -
为什么epoll比select更高效?
1.select和epoll有什么不同? <1>**select可以监听文件描述符是有限的**,由FD_SETSIZE设置,默认是1024,可以通过修改这个宏来增加可监听文件描述符的个数,但资料同时指出这样修改将导致不可预期的效果。 **epoll可监听的文件描述符的个数为进程可打开的文件的个数**。 <2>select中,当有事件就绪时,内核修改参数以通知用户,用户需要遍历所有的fd判断是哪个fd就绪,**原创 2017-08-04 15:57:25 · 4392 阅读 · 1 评论