在(18条消息) 进程调度的基本过程_Y君的进化史的博客-CSDN博客一文中,我们初步了解了关于进程的知识,本文重点讲解进程和线程的区别和联系。
一个线程就是一个“执行流”。
目录
前言
一、组织方式
二、包含关系
三、区别(面试常考)
结语
在前文中,我们学习了PCB这个进程控制块,操作系统使用双向链表来组织PCB。
PCB中包含一些属性,使得PCB在底层是用一个结构体实现的。
在Windows系统上,描述进程和线程是用不同的结构体,也就是进程是使用PCB,但是线程不是。
在Linux系统上,进程和线程都是使用PCB这个结构体。
一个进程在创建时,会自动生成一个线程,也就是说,每个进程至少包含一个线程,即主线程。
同时,一个PCB对应一个线程,也就是多个PCB对应一个进程。
在同一个进程的多个PCB里,内存指针(虚拟地址空间(内存资源))、文件描述符表(硬盘资源)都是相同的。
不同线程,也就是不同PCB中,上下文、状态、优先级、记账信息等都是不同的。
这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位点赞评论收藏⭐,谢谢!!!