随笔分类 -  高级环境编程

摘要:多线程专栏:http://blog.csdn.net/column/details/killthreadseries.htmlleader/followers多线程网络模型:http://blog.csdn.net/goldlevi/article/details/7705180以及博客相关内容to... 阅读全文
posted @ 2014-09-14 15:54 johnny_HITWH 阅读(551) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/edwardlulinux/article/details/8604400很多文章分析了mmap的实现原理。从代码的逻辑来分析,总是觉没有把mmap后读写映射区域和普通的read/write联系起来。不得不产生疑问:1,普通的read/write和mmap后... 阅读全文
posted @ 2014-09-09 15:38 johnny_HITWH 阅读(590) 评论(0) 推荐(0)
摘要:http://game-lab.org/posts/posix-thread-cn/ 阅读全文
posted @ 2014-09-08 15:06 johnny_HITWH 阅读(137) 评论(0) 推荐(0)
摘要:进程上下文VS中断上下文内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间。它们代表不同的级别,而对系统资源具有不同的访问权限。内核模块运行在最高级别(内核态),这个级下所有的操作都受系统信任,而应用程序运行在较低级别(用户态)。在这个级别,处理器... 阅读全文
posted @ 2014-07-27 20:35 johnny_HITWH 阅读(494) 评论(0) 推荐(0)
摘要:终于搞懂用户态内核态以及中断、信号的上下文切换关系了,处于内核态的时候用户态的上下文保存在内核栈中,此时如果发生中断或者切换,是不会区分进程处于用户态还是内核态的,直接切之,软中断导致的是内核态和用户态的转化,也即是用户上下文到内核上下文的转化,而中断导致的是用户态或者内核态上下文到中断上下文的转化... 阅读全文
posted @ 2014-07-19 21:30 johnny_HITWH 阅读(247) 评论(0) 推荐(0)
摘要:观察性能/状态的方法:top free netstat /pro/目录下的信息其中/pro/meminfo下的信息相当丰富-------------------------------------------华丽的分割线----------------------------------------... 阅读全文
posted @ 2014-06-24 20:53 johnny_HITWH 阅读(239) 评论(0) 推荐(0)
摘要:疑问:管道应该不是这样实现的,因为这要求修改程序的代码dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的原形如下:C代码#includeintdup(intoldfd);intdup2(into... 阅读全文
posted @ 2014-06-23 12:26 johnny_HITWH 阅读(1001) 评论(0) 推荐(0)
摘要:我们运行如下命令,可看到Linux支持的信号列表:~$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE9) SIGKILL 10) SIGUSR1 11) SIGSEGV... 阅读全文
posted @ 2014-06-21 15:41 johnny_HITWH 阅读(156) 评论(0) 推荐(0)
摘要:http://i.cnblogs.com/EditPosts.aspx?opt=1Two states are associated with sleeping, TASK_INTERRUPTIBLE and TASK_UNINTERRUPTIBLE. They differ only in tha... 阅读全文
posted @ 2014-06-21 15:00 johnny_HITWH 阅读(693) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/dianhuiren/article/details/7291540(博客不错)早期的Unix系统,如果进程在一个‘慢’系统调用中阻塞时,捕获到一个信号,这个系统调用被中断,调用返回错误,设置errno为EINTR。系统调用被分为慢系统调用和其他两大类别。慢... 阅读全文
posted @ 2014-06-21 14:27 johnny_HITWH 阅读(836) 评论(0) 推荐(0)
摘要:http://div.io/topic/457 阅读全文
posted @ 2014-06-19 19:56 johnny_HITWH 阅读(128) 评论(0) 推荐(0)
摘要:exec函数族fork/vfork/clone为什么vfork必须调用_exitclose函数只能使socket引用计数减一,思考多进程共享同一socket的情况,shutdown(howto,SHUT_RDWR||SHUT_WR||SHUT_RD),close同时关闭读和写?SHUT_RD表示不读... 阅读全文
posted @ 2014-06-12 11:44 johnny_HITWH 阅读(206) 评论(0) 推荐(0)
摘要:http://www.360doc.com/content/11/0830/10/1964482_144428042.shtml 阅读全文
posted @ 2014-06-09 00:56 johnny_HITWH 阅读(118) 评论(0) 推荐(0)
摘要:Linux 线程实现机制分析http://www.ibm.com/developerworks/cn/linux/kernel/l-thread/Linux 线程模型的比较:LinuxThreads 和 NPTLhttp://www.ibm.com/developerworks/cn/linux/l... 阅读全文
posted @ 2014-06-04 23:37 johnny_HITWH 阅读(211) 评论(0) 推荐(0)
摘要:http://www.baidu.com/p/cuiruikai?from=wenku 讲系统调用和linux内存管理http://blog.chinaunix.net/uid-14735472-id-2930265.htmlIBM developer linux文档SMP的:http://www-... 阅读全文
posted @ 2014-06-04 10:37 johnny_HITWH 阅读(353) 评论(0) 推荐(0)
摘要:http://blog.chinaunix.net/cp.php?ac=blog中断:是为了设备与CPU之间的通信。典型的有如服务请求,任务完成提醒等。比如我们熟知的时钟中断,硬盘读写服务请求中断。中断的发生与系统处在用户态还是在内核态无关,只决定于EFLAGS寄存器的一个标志位。我们熟悉的sti,... 阅读全文
posted @ 2014-06-03 00:50 johnny_HITWH 阅读(7224) 评论(0) 推荐(0)
摘要:http://blog.sina.com.cn/s/blog_44ab50510100ofor.html(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址)称为中断向量。在Pc/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类型号还有其他的产生方法,如指令... 阅读全文
posted @ 2014-06-03 00:41 johnny_HITWH 阅读(2336) 评论(0) 推荐(0)
摘要:每一个进程(包括普通进程和内核进程)的地址空间都分为用户地址空间和内核地址空间两部分,在32位的x86机器上,用户地址空间的范围是0~3G,内核 地址空间的范围是3G~4G.对于不同的进程,其用户地址空间会随着进程不同而不同,但所有进程的内核地址空间则都是一样的。对于内核进程,由于其始终运 行在内核... 阅读全文
posted @ 2014-06-02 16:24 johnny_HITWH 阅读(565) 评论(0) 推荐(0)
摘要:在Linux中,进程的创建由系统调用fork和vfork完成。它们生成一个子进程并且子进程是父进程的一个复制品。Fork系统调用对应的kernel函数是sys_fork,此函数简单的调用kernel函数do_fork。一个简化版的do_fork执行如下:(1)alloc_pid()。给新的进程分配一... 阅读全文
posted @ 2014-06-02 15:59 johnny_HITWH 阅读(425) 评论(0) 推荐(0)