拥有操作系统标签的文章

linux几种创建进程的方法

在Linux中主要提供了fork、vfork、clone三个进程创建方法。 在linux源码中这三个调用的执行过程是执行fork(),vfork(),clone()时,通过一个系统调用表映射到sys_fork(),sys_vfork(),sys_clone(),再在这三个函数中去调用do_fork()去做具体的创建进程工作。 fork fork创建一个进程时,子进程只是完全...
阅读全文

unix进程间的通信方式

1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。(3)信号(Signal):信号是比较复杂的通信...
阅读全文

进程、挂起、线程、死锁、中断、陷入······

进程:程序的一次执行过程。进程是动态的,而程序是静态的。进程有五种状态,三种基本状态,四种特征,是系统资源分配和调度的独立单位。程序段,相关数据段,进程控制块(存了四种信息)构成了进程实体。挂起为了系统和用户观察和分析进程的需要,还需引用挂起操作:如果进程正在执行,它将暂停执行,暂不接受调度。与挂起操作对应的是激活操作。挂起的引入有四种原因。线程:引入原因:提高资源利用率和系统...
阅读全文

多线程同步的方法

线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。1)互斥锁(mutex)通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。```cint pthread_mutex_init(pthread_mutex_t mutex,const pthread_m...
阅读全文

进程与线程

一、线程与进程的区别先简单说说线程与进程的概念: (1)进程是指一个内存中运行的应用程序,比如在Windows系统中,一个运行的exe就是一个进程。 (2)线程是指进程中的一个执行流程。区别:一个程序至少有一个进程,而一个进程至少有一个线程。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。而线程则是指进程中的一个执行...
阅读全文