摘要:
进程间通信一,管道,管道的限制:(1)半双工,数据只能在一个方向上流动(2)管道一般只在具有公共祖先的进程之间使用,通常一个管道由一个进程创建,然后该进程调用fork()函数,此后父子进程可以使用该管道管道的创建:[cpp]view plaincopy#includeintpipe(intfiled... 阅读全文
摘要:
15,守护进程概念:守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程的特点:守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从... 阅读全文
摘要:
14,进程调度:进程调度概念:进程调度程序决定哪个进程投入运行,何时运行以及运行多长时间。linux是抢占式多任务操作系统,linux在2.6.23内核中采用的是“完全公平调度算法”简称CFS进程调度前提:cpu一个处理器在同一时刻只能运行一个进程进程响应快,后台吞吐量大,避免进程饥饿等linux进... 阅读全文
摘要:
11,进程的创建linux的进程创建可以分为两个步骤,分别为fork()和exec()函数,fork()负责创建一个子进程,和父进程的差别仅仅是PID PPID以及一些统计量,exec()函数负责读取可执行文件载入地址空间运行。fork()函数原型pid_t fork(void); 子进程返回0,父... 阅读全文
摘要:
9,linux进程切换进程切换:基本概念:进程上下文:当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容被称为该进程的上下文。当内核需要切换到另一个进程时,它需要保存当前进程的所有状态,即保存当前进程的上下文,运行于进程上下文的进程是可以被抢占的。硬件上下文:进程恢复执行前必须... 阅读全文
摘要:
7,linux进程命名空间的概念关于命名空间具体可以参考深入linux内核架构2.3.2章节linux的命名空间属于操作系统级虚拟化,各个命名空间互相隔离,互相不可见,不同命名空间的进程PID可以相同,因此从操作系统层面看可能有相同的uid和pid,父命名空间同时还可以包含子命名空间,子命名空间不知... 阅读全文
摘要:
1,进程的基本概念简单来说进程就是执行期的程序,但是同时进程也不至于此,它还包括了其它资源(如打开的文件,挂起的信号等等)Linux是一个多任务多用户操作系统,一个任务(task)就是一个进程(process),即进程=任务,在linux系统中,进程和线程共享一系列的资源(地址空间,文件,信号,名字... 阅读全文