摘要: ... Complex Processes - Threads...Some OSes, including otherUnixes, have the seperate concept of aprocessoptionally consisting of several seperatethreads, orlight weight processes. Eachthreadis part of the same program but are scheduled individually.Until comparatively recently Linux just hadprocess 阅读全文
posted @ 2013-05-02 20:18 tangr206 阅读(1455) 评论(0) 推荐(0) 编辑
摘要: linux系统调用fork, vfork, clone:fork()、 vfork()、 clone()的区别 Linux下的进程与线程比较相近:它们都需要相同的数据结构来表示,即task_struct。区别在于一个有独立的用户空间,一个是共享的用户空间(如果完全没有用户空间则是内核线程,不需要)。Linux的用户进程不能直接被创建出来,因为不存在这样的API。它只能从某个进程中复制出来,再通过exec这样的API来切换到实际想要运行的程序文件。复制的API包括三种:fork、clone、vfork。这三个API的内部实际都是调用一个内核内部函数do_fork,只是填写的参数不同而已。而for 阅读全文
posted @ 2013-05-02 19:34 tangr206 阅读(593) 评论(0) 推荐(0) 编辑
摘要: LinuxThread(内核2.0到内核2.4期间) Linux内核只提供了轻量进程的支持,限制了更高效的线程模型的实现,但Linux着重优化了进程的调度开销,一定程度上也弥补了这一缺陷。目前最流行 的线程机制LinuxThreads所采用的就是线程-进程"一对一"模型,调度交给核心,而在用户级实现一个包括信号处理在内的线程管理机制。 Linux-LinuxThreads的运行机制正是本文的描述重点 最初的进程定义都包含程序、资源及其执行三部分,其中:1.程序通常指代码,2.资源通常包括内存资源、IO资源、信号处理等部分,3.程序的执行通常理解为执行上下文,包括对cpu的占 阅读全文
posted @ 2013-05-02 19:02 tangr206 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 字符串分割1 #!/bin/bash 2 pwd=$(dirname $0) && cd ${pwd} 3 4 echo ================ [ $(date "+%F %T") BEGIN ] ======================= 5 6 sms_list="18610489065,13581697175,18600276158,18600574510,18600883672" 8 content="fuck" 9 10 if [[ -n "${content}" ]]; 阅读全文
posted @ 2013-05-02 18:09 tangr206 阅读(227) 评论(0) 推荐(0) 编辑