当前位置: 首页 > Linux

进程,线程,并发,并行

时间:2023-04-06 04:39:19 Linux

进程进程有独立的虚拟地址空间,进程之间不能共享内存,必须使用一些显式的进程间通信(IPC)机制来与其他进程通信。进程控制和IPC开销比较大。多进程执行过程从一个进程到另一个进程的转换由操作系统内核管理。当应用程序需要操作系统进行某些操作时,例如读写文件,它会执行一条特殊的系统调用指令,将控制权交给内核。然后内核执行请求的操作并返回给应用程序。线程一个进程允许有多个线程,线程由内核自动调度,多个线程共享进程的虚拟地址空间。每个线程都有自己的线程上下文,包括唯一的线程ID、堆栈、堆栈指针、程序计数器、通用寄存器和条件代码。线程比进程更高效,多线程在多个处理器工作时可以大大提高运行效率。线程执行模型每个进程都从一个线程开始,称为主线程。在某个时候,主线程创建一个对等线程,之后两个线程并发运行。因为主线程执行一个缓慢的系统调用,例如读取文件或睡眠或者因为系统的间隔定时器被中断,控制通过上下文切换传递给对等线程。对等线程执行一段时间后,控制权返回到主线程,原因相同,依此类推。并发性术语并发性是一个通用概念,指的是同时进行多个活动的系统。并行性术语并行性是指使用并发来使系统运行得更快。并行性可用于计算机系统的多个抽象级别:线程级并发。传统上,这种并发只是模拟的,它是通过在它正在执行的进程之间快速切换来实现的。指令级并行单指令,多数据并行

猜你喜欢