进程管理1

115 阅读3分钟

「这是我参与2022首次更文挑战的第38天,活动详情查看:2022首次更文挑战」。

进程与线程

这个进程与线程当是计算机中的比较重要的一个东西,它们操控着计算机的运行,给各个程序合理分配资源,调度空间,没有进程和线程,就没有现如今的计算机。

进程

进程是进程实体的运行过程,是系统资源进行分配和调度的一个独立单位。

PCB(进程控制块)是进程存在的唯一标志。

PID(进程标识符)、UID(用户标识符)
进程管理者所需的数据都在PCB中。
进程三种状态:就绪、阻塞、运行。

资源分配清单:正在使用哪些文件、正在使用哪些内存区域、正在使用哪些I/O设备。

程序段相同的进程,其PCB、数据段各不相同。
程序段、数据段是给进程自己用的,与进程自身的运行逻辑有关。

进程的四大特征:动态性,并发性,异步性,结构性。

  • 进程的链接方式是按照进程状态将PCB分为多个队列、操作系统持有指向各个队列的指针。
  • 进程的索引方式是根据进程状态的不同,建立几张索引表,操作系统持有指向各个索引表的指针。

进程控制

就是要实现进程状态的转换,用原语实现。原语用关/开中断实现,其是一种特殊的程序,必须一气呵成,不能中断。

进程控制原语需要更新PCB中相关信息,将PCB插入合适的队列,分配/回收资源。

进程通信

共享存储要互斥的访问共享空间
管道通信写满时不能再写,读空时不能再读,一个管道只能实现半双工通信。
消息传递有直接和间接两种通信方式,能传递结构化的消息。

线程

引入线程的原因:增加并发度,减少并发带来的系统开销。

线程的资源分配、调度:传统进程机制中,进程是资源分配调度的基本单位 引入线程后,进程是资源分配的基本单位,线程是CPU调度的基本单位。

线程的并发性:传统进程机制中,只能进程间并发 引入线程后,各线程间也能并发,提高了并发度。

线程的系统开销:传统的进程间并发,需要切换进程的运行环境,系统开销大 线程间并发,如果是同一个进程内的线程切换,则不需要切换 引入线程后,并发带来的系统开销减小。

线程的特点:线程是处理机调度的单位,进程是资源分配的单位,同一进程的各线程共享拥有的资源,线程切换时不会导致进程切换。

多线程模型多对一一对一多对多
优点进程管理开销小,效率高进程管理开销大集二者之所长
缺点一个线程被阻塞会导致整个进程被阻塞各个线程可分配到多核处理机并行执行,并发度高---------