进程(同步) 线程 超线程 以及上下文等一些相关OS基础

线程与进程

进程是资源共享的最小单位,线程是内存调度的最小单位。

进程:可以理解成一个程序,是占有一定Cpu资源、它是系统进行资源分配和调度的一个独立单位,重点在系统调度和单独的单位,也就是说进程是可以独 立运行的一段程序。比如说,运行Chrome浏览器,那这个浏览器程序,就是一个进程。
线程:一个进程至少有一个线程。线程是CPU的实际调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源。比如说Chrome浏览器,它就有很多的线程,每一个标签就是一个新的线程,这些线程共享占用着进程所占有的系统资源。

两者系统开销:

进程在创建和销毁的时候,系统都要为之分配或者回收资源,如内存空间、i/o设备等。
在进行进程切换的时候,涉及到整个当前进程的CPU环境的保存以及新被调用运行的进程CPU环境的设置。
而线程的切换只需要保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作。
由于同一进程中的多个线程具有相同的地址空间,所以他们之间的同步和通信的实现变得相对容易。

超线程

超线程:假如说我有个单核的CPU,我要是想要运行一个多线程的程序,通常情况下,只能是由Cpu在线程之间来回调度,但是当我开启了超线程,我可以在一个线程执行整数指令集的时候,而恰好在这个时候,另一个线程执行浮点指令集,而这两个指令集分数由整数指令单元和浮点指令单元来执行。那么我就可以同时执行这两个线程,这就叫超线程。而且实际上,是有大量资源被闲置着的。超线程技术允许两个线程同时不冲突地使用CPU中的资源。
指令单元闲置,可以通过超线程的技术来达到提高利用率。这叫做硬件多线程技术。

下面详细介绍一次进程(进程同步)和线程(用户级和内核级线程)相关知识

进程

先简单说一下进程的几种常见状态和转换
在这里插入图片描述

进程同步

进程同步的目的是:对多个相关的进程在执行次序上进行协调,是并发执行的诸个进程之间有效的共享资

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
进程上下文是指在一个进程执行期间,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容的总和。它包括用户级上下文和系统级上下文。用户级上下文包括用户的程序块、数据块、运行时的堆和用户栈等组成的用户空间信息。而系统级上下文包括进程标识信息、进程现场信息、进程控制信息(包含进程表、页表、打开文件表等)和系统内核栈等组成的内核空间信息。 线程上下文进程上下文类似,但是线程之间共享同一进程的地址空间,所以在切换线程上下文时,不需要切换地址空间,只需要切换线程的寄存器状态即可。一次线程上下文切换发生在一个进程内的不同线程之间。 中断上下文是发生在CPU响应硬件中断时,保存当前正在执行的上下文,然后切换到中断处理程序的上下文。中断上下文保存了中断前的进程上下文信息,以及中断处理程序执行所需要的寄存器和堆栈等。 中断上下文的切换是由硬件自动完成的,它会保存当前正在执行的进程线程上下文,切换到中断服务程序的上下文,等中断处理完成后再切换回原来的上下文。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux:上下文进程上下文和中断上下文概念,上下文切换](https://blog.csdn.net/W546556/article/details/126300300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [系统调用,上下文切换(cpu上下文进程上下文线程上下文,中断上下文进程切换,线程切换)](https://blog.csdn.net/aa541850383/article/details/125363264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值