首页 > 系统相关 >计算机操作系统之 进程 线程

计算机操作系统之 进程 线程

时间:2024-03-08 14:13:25浏览次数:28  
标签:操作系统 任务 线程 切换 进程 执行 CPU 计算机

 

一、并行和并发

在介绍进程、线程和协程这三个概念之前,有两个操作系统中的相关概念需要简单解释一下:并行和并发。

并行:同一时刻,指多个任务同时执行

并发:指在一个时间段内,多个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行(即多个任务在同一处理机上交替执行)。

对单核CPU,因为一个CPU一次只能执行一条指令,是无法做到并行,只能做到并发。

二、进程

2.1 什么是进程

进程(process)是一个程序在一个数据集中的一次动态执行过程,可以简单理解为“正在执行的程序”,它是系统进行资源分配和调度的基本单位。我们日常使用电脑和手机打开的应用程序就属于进程 。

进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。

2.2 进程出现的原因

进程的出现是为了更充分的利用CPU的资源使得能够并发执行任务。假设有两个任务,一个是IO操作,一个是计算任务。如果一个任务接一个任务的执行,CPU在执行IO操作时需要等待数据读取完关闭文件后才能执行下一个计算任务,会使得CPU得不到充分的利用。如果在等待数据读取时让空闲的CPU切换到另一个任务去执行,等数据读取完后再切换回去就可以使CPU得到更充分的利用。要做到任务切换,需要能够识别任务以及保存和恢复任务的状态,而且不同的任务通常需要不同的系统资源,为此进程就被发明出来。系统正是通过进程分配资源、标识任务的。

2.3 进程的优缺点

优点:相对比较稳定安全(进程拥有独立的系统资源,进程间不容易相互影响)

缺点:

  • 进程切换的时空开销比较(涉及到很多系统资源的切换)
  • 进程间通信(IPC)较为复杂和耗时

三、线程

3.1 什么是线程

线程(thread)是在进程之后发展出来的概念。线程包含在进程中,也叫轻量级进程。线程是进程中一个单一顺序的控制流,像“线”一样(或许是其译名的由来),它是系统进行运算调度(即如何分配CPU去执行不同任务)的基本单位,一个进程的多个线程在执行不同任务的同时共享进程的系统资源(如虚拟地址空间,文件描述符等),如果把进程比作一个正在生产产品的车间,那么线程就好比是车间里面执行不同任务的工人,也可把进程比作道路,而线程就好比是并行的车道。线程由相关堆栈寄存器和线程控制块组成。一个进程里包含多个线程

3.2 线程出现的原因

线程的出现是为了减少任务切换的消耗,提高系统的并发性,实现让一个进程也能执行多个任务。例如一个文本程序需要获取键盘输入、显示文本内容并将文本内容保存到磁盘。如果使用多个进程来执行这些任务,需要频繁的进行上下文切换和进程间通信。考虑到这些任务是相互关联且共享资源的(它们都要用到文本内容),用一个进程中的多个线程执行可以减少上下文切换和进程间通信的消耗

3.3 线程的优缺点

优点:线程切换的开销比进程切换的开销小,减少了任务切换的消耗,提高了操作系统的并发性能。

缺点:相比进程不够稳定,多线程在操作共享数据时容易出错(比如丢失数据、产生死锁)

标签:操作系统,任务,线程,切换,进程,执行,CPU,计算机
From: https://www.cnblogs.com/chenxiaomeng/p/18060836

相关文章

  • FFU、WIM、ESD、VHD和VHDX都是与Windows操作系统部署、备份和虚拟化相关的文件格式。
    FFU(FullFlashUpdate)文件格式是微软开发的,用于在Windows设备上进行固件更新和完整系统部署的一种映像文件格式。FFU文件包含了设备的完整磁盘映像,包括所有分区、文件系统和数据。这种格式允许精确复制存储设备的内容,提供了一种高效且可靠的方式来恢复、更新或部署设备。下面是对F......
  • Unity3D 多线程定时器的原理与实现详解
    Unity3D提供了丰富的功能和工具,让开发者可以轻松地创建各种类型的游戏。其中,定时器是一个非常重要的功能,在游戏开发中经常会被使用到。Unity3D中并没有提供原生的多线程定时器功能,但我们可以通过一些技巧和方法来实现一个多线程定时器。对啦!这里有个游戏开发交流小组里面聚集了......
  • 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告
     首页政策法规考试介绍考试安排考试用书考试研究与对外交流各地联系方式2024年03月08日 丨回到首页 当前位置:首页>工作动态关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告2024-01-22 来源:中国计算机技术职业资格网关于2023年......
  • 2024年度计算机技术与软件专业技术资格(水平)考试工作计划
     首页政策法规考试介绍考试安排考试用书考试研究与对外交流各地联系方式2024年03月08日 丨回到首页 当前位置:首页>考试安排2024年度计算机技术与软件专业技术资格(水平)考试工作计划2024-03-05 来源:中国计算机技术职业资格网声明:本网(www.rua......
  • WHU计算机图形学-Asg2
    配置GLUT环境参照:https://zhuanlan.zhihu.com/p/575651057壹调试项目unmAngelprogCh02simple-main+display直接运行有报错freeglutERROR:Function<glutCreateWindow>calledwithoutfirstcalling'glutInit'.在程序头调用glutInitglutInit(&argc,argv);对于......
  • C++保证线程安全的方式
    1、互斥量可以确保同一时间只有一个线程访问临界区,防止出现竞态条件。2、原子操作std::atomic<int>mutex(1);对原子变量的操作是线程安全的。3、读写锁std::shared_mutexmutex;//读者:共享锁定mutex.lock_shared();mutex.unlock_shared();//写者:独占锁定mutex.lock......
  • CPU可视化:开启计算机智慧之源的新篇章
    在数字化飞速发展的今天,中央处理器(CPU)作为计算机的心脏,其复杂度和重要性不言而喻。 中央处理器,这个小小的芯片,却承载着计算机运行的所有指令和数据处理任务。它的内部构造复杂而精密,每一个晶体管、每一个电路都像是精心编织的密码,共同构成了计算机的智慧之源。 然而对于大多......
  • 【VMware ESXi】如何在独立的ESXi主机上配置vTPM并安装Windows 11操作系统。
    根据微软发布的Windows11操作系统要求,这个版本的系统需要硬件支持受信任的平台模块(TPM)才能进行安装和使用,不然就会提示你“这台电脑无法运行Windows11。这台电脑不符合安装此版本的Windows所需的最低系统要求。有关详细信息,请访问https://aka.ms/WindowsSysReq”错误。关于受......
  • 进程和线程
    进程的概念,组成和特征进程状态转换进程控制进程通信......
  • SDI 通常指的是“System Deployment Image”,即系统部署映像。这是一个包含操作系统、
    SDI通常指的是“SystemDeploymentImage”,即系统部署映像。这是一个包含操作系统、应用程序和设置的映像文件,用于在多台计算机上进行相同配置的系统部署。如果您想要在Windows上读取用户的SDI文件,您可以按照以下步骤进行操作:使用DISM工具:Windows提供了一个名为DIS......