操作系统-进程管理-进程的概念(什么是进程?)

本文详细解释了进程的概念、结构、特征,以及与线程的关系,包括线程的引入原因、实现方式,以及进程与线程在定义、资源占用、调度切换、并发性和协作方面的区别。
摘要由CSDN通过智能技术生成

一、什么是进程?

1.1进程的概念(什么是进程?)

概念:进程(Process),是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度的一个独立单位。

要点:
1.进程是程序的一次执行
2.进程是一个程序及其数据在处理机上顺序执行时所发生的活动
3.进程时程序在一个数据集合上运行的过程
4.进程时系统进行资源分配和调度的一个独立单位(或者说基本单位)。

1.2进程的结构

进程的结构:由控制块、数据段、程序段组成(一个进程叫做程序的实体,也叫进程映像)
1.控制块(PCB):进程唯一标识 Process Control Block
2.数据段:存放原始数据,中间数据
3.程序段:存放在文本区域,可被多个进程共享(同一个应用程序的多个进程直接共享程序段)

1.3进程的特征

动态性:有创建而生,由撤销儿亡
并发性:多个进程同时运行
独立性:独立资源(包括内存,CPU,IO)分配
异步性:相互独立,互不干扰

二、进程与线程

2.1线程概念

1.Thread,进程的轻型实体,也叫“轻量级进程”,是一系列活动按事先设定好的顺序依次执行的过程,时一系列指令的集合
2.是一条执行路径,不能单独存在,必须包含在进程中
3.线程时OS中运算调度的最小单位

2.2为什么引入线程?

提高OS的并发性(多个线程并发)
减少了进程的创建,节省了进程的开销成本
(线程还可以分纤程或协程)
线程的属性:
1.轻型实体
2.独立调度和分派的基本单位
3.可并发执行
4.共享进程资源

2.3线程的实现方式

用户级线程(ULT):线程控制块在用户
内核级线程(KLT):线程控制块在内核空间,数据段和程序段还在用户空间

在这里插入图片描述

三、进程与线程的区别

1.定义:
进程:进程是正在运行的程序的实例。它是一个独立的执行环境,包含了程序的代码、数据和资源。
线程:线程是进程中的一个独立执行单元。一个进程可以包含多个线程,每个线程都独立执行特定的任务。

2.资源占用:
进程:每个进程都有独立的内存空间、文件描述符、打开的文件等资源。进程之间的资源是相互隔离的,不同进程之间的通信需要使用特定的机制。
线程:线程是共享同一个进程的资源。线程之间共享内存空间、文件描述符和打开的文件等资源。

3.调度和切换:
进程:进程是操作系统进行调度和分配资源的基本单位。进程之间的切换开销较大,涉及到上下文切换和页表切换等操作。
线程:线程是在进程内部调度的执行单位。线程切换的开销较小,因为线程共享进程的资源,切换时只需要切换线程的上下文。

4.并发性:
进程:不同进程之间是并发执行的,每个进程有自己的执行顺序和状态。
线程:线程是在同一个进程内并发执行的,多个线程之间共享进程的资源,可以实现更高的并发性。

5.协作与通信:
进程:不同进程之间的通信需要使用特定的机制,例如管道、消息队列、共享内存等。
线程:线程可以直接访问同一进程的共享内存,通过共享内存进行线程间的通信和协作。

总的来说,进程是资源分配的基本单位,而线程是执行调度的基本单位。进程之间相互独立,线程之间共享资源。线程的切换开销小,可以实现更高的并发性,但需要注意线程之间的同步和协作问题。

重点:线程相较于进程,大大降低了创建、撤销和切换可执行实体的成本和难度。

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风不归it

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值