操作系统学习笔记——进程与线程联系与区别

Fortify SCA 24.4 最新可用版 Fortify Static Code Analyzer(Fortify SCA) 是一款由 Micro Focus(原惠普旗下)开发的 静态应用安全测试(SAST)工具,专注于在软件开发早期通过分析源代码或编译后的二进制文件,识别潜在的安全漏洞、代码缺陷和合规性问题。以下是其核心特点与功能:核心功能 静态代码分析 在不运行程序的情况下,通过语法、语义分析检测代码中的安全漏洞(如 SQL 注入、跨站脚本(XSS)、缓冲区溢出等)和代码质量问题。 阅读详情

此篇博客是博主在学习操作系统过程中的笔记,通过写博客加深对进程和线程的理解,贴出来希望和大家共同进步。进程和线程是操作系统的重点和难点内容,也是互联网面试高频考点,学好进程和线程的相关问题,有利于后续的多线程编程。

 

 

进程的定义:

进程可以定位为一个数据结构及能在其上进行操作的一个程序,百话点,就是程序的一次执行过程。

线程的定义:

线程是进程内的一个执行单元,是进程内的一个相对独立、可调度实体

 

进程的特点:

1、动态性:进程是程序的一次动态执行过程,表现在创建而生,调度执行,撤销而亡。

2、并发性:引入进程目的就是为了使程序能与其他程序并发执行,以便提高资源利用率。

3、独立性:进程是一个能独立运行的基本单位,是系统进行资源分配和调度的基本单位:

4、异步性:进程运行时各自独立。

5、结构性:进程=PCB(程序控制块)+程序段+数据段

 

 

下面讲讲引入进程和线程概念的原因

在多道程序的环境下,程序的执行属于并发执行,这时候封闭性将消失,并具有间断性和不可再现性,由于程序执行结果的不可预测性,程序是不能参与并发执行的。为了能够是的程序并发执行,并且能够对程序加以描述和控制,引入了进程的概念。

 

系统在创建进程和撤销进程需要系统位置分配和回收资源,为了减少程序并发执行过程中所付出的时空开销,是操作系统具有更好的并发性,引入了线程的概念。

 

从以下四个方面对线程和进程进行比较

1、调度性:在传统的操作系统中,进程是拥有资源和独立调度的基本单位;而引入线程的操作系统中,进程的调度功能交给线程,线程成为独立调度的基本单位,这时候进程是资源拥有的基本单位。在同一个进程中,线程的切换不会造成进程的切换,而在不同进程中,线程的切换会导致进程的切换。

2、并发性:引入线程后,进程之间可以并发执行,线程之间也可以并发执行。

3、拥有资源:进程是拥有资源的基本单位,在引入线程的操作系统中,线程不拥有资源,但是可以访问其所在进程的资源。

4、系统开销:系统在创建进程和撤销进程需要系统位置分配和回收资源,操作系统所付出的开销远大于穿件和撤销线程时的开销。在进程切换,涉及到整个CPU环境保存以及新调度到进程的CPU的环境设置;在线程切换时,只需要保留和设置少量寄存器内容,开销较小。另外,由于线程共享进程的地址空间,因此线程同步较容易实现,甚至不需要操作系统来干预。

基于 YOLOv26 的食品包装缺陷检测系统:智能视觉质检方案 本文提出了一种基于YOLOv26深度学习的食品包装缺陷智能检测系统。该系统能够自动识别多种常见包装缺陷,包括密封不良、破损、污染、标签错误等8类问题。相比传统人工检测方法,该系统具有高精度、多类别分类、实时推理等优势。文章详细介绍了系统架构,包含数据采集、预处理、YOLOv26检测模型和后处理四个核心模块,并提供了完整的环境配置和数据处理代码实现。该系统为食品包装行业提供了一种高效、准确的智能视觉质检解决方案。 阅读详情

相关推荐

Outlook总是提示登录微软,怎么办?

Outlook 2021反复弹出Microsoft登录窗口,可能是由于Modern Authentication身份验证机制或凭据问题导致。解决方案包括:1)通过注册表关闭Modern Authentication(适用于本地Exchange);2)清理Windows凭据管理器中的旧认证信息;3)手动配置Exchange服务器地址;4)通过注册表阻止Microsoft登录窗口弹出(适用于非M365环境)。建议按顺序尝试,尤其前两步通常能解决问题。经测试,步骤1和2已有效解决该问题。

剪刀石头布 4679

一句话+一张图说清楚——银行家算法

本文试图用一句话+一张图说清楚操作系统中的银行家算法。我相信用一句话可以讲清楚一个算法的核心思想,一张图可以描述整个算法的操作步骤。但本人能力有限,错误之处望大家指出,多谢。 一句话: 当一个进程申请使用资源的时候,银行家算法通过先 试探 分配给该进程资源,然后通过安全性算法判断分配后的系统是否处于安全状态,若不安全则试探分配作废,让该进程继续等待。 那么此时会有一个问题,...

土豆洋芋山药蛋的博客 19万+

新出的智谱GLM-4.7很牛逼?

Zhipu AI(智谱)最近发布的 GLM-4.7 再次刷新了开源大模型的天花板。作为一款约 400B 参数规模的 MoE 模型,它不仅在传统的代码与推理任务上超越了 DeepSeek-V3.2 和 Kimi-K2 等强力对手,更通过**“保留思考(Preserved Thinking)”和“交错思考(Interleaved Thinking)”**等架构级创新,重新定义了 Agentic Workflow 的设计范式。

kakaZhui的博客 2399

银行家算法

银行家算法(Banker’s Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。长度为m的一维数组Available 表示还有多少可用资源nm矩阵Max 表示各进程对资源的最大需求数nm矩阵Allocation表示已经给各进程分配了多少资源Max-Allocation=Need 矩阵表示各进程最多还需要多少资源。

不积跬步,无以至千里 2万+

基于PLC的矿用排水控制系统设计【附代码】

(3)矿用排水控制系统的软件设计 研究设计了矿用排水控制系统的软件,包括PLC程序的编写和上位机监控画面的设计。(2)矿用排水控制系统的硬件设计 研究对矿用排水控制系统的硬件进行了选型和设计,包括矿用多级耐磨离心泵、三相异步防爆电机等执行设备的选型,以及控制系统所需用到的各类型传感器、PLC的I/O点分配及选型。(1)矿用排水控制系统的现状分析 研究首先对矿井排水系统的现状进行了分析,指出了现有系统存在的问题,如自动化程度低、劳动强度大、设备维护困难等。✅ 具体问题可以私信或查看文章底部二维码。

lagougongzuoshi的博客 1175

手把手教你用Anaconda安装李沐d2l-zh包(附常见报错解决方案)

本文提供了一份详尽的Anaconda环境下安装李沐d2l-zh包的实战指南。文章从创建虚拟环境、配置国内镜像源加速下载入手,分步讲解核心依赖的预安装策略,并重点剖析了安装过程中常见的报错及其解决方法,旨在帮助初学者和开发者高效、稳定地搭建深度学习实验环境。

efc1234567的博客 1011

操作系统实验报告

利用C++设计实现银行家算法的基本过程。

m0_70350178的博客 3763

基因家族Motif 分析

MEME

hgz2020的博客 6323

进程与线程的区别和联系

程序并不能单独执行,只有将程序加载到内存中,系统为他分配资源后才能够执行,这种执行的程序称之为进程,也就是说进程是系统进行资源分配和调度的一个独立单位,每个进程都有自己单独的地址空间。所以说程序与进程的区别在于,程序是指令的集合,是进程运行的静态描述文本,而进程则是程序在系统上顺序执行时的动态活动。 但是进程存在着很多缺陷,主要集中在两点: (1).进程只能在同一时间干一件事情,如果想同时干两件...

qq_37791134的博客 1万+

实战|基于Kappa架构的用户行为实时分析平台搭建教程

数据源:用Kafka存储全量数据(实时+历史),作为“事实来源”;处理引擎:用Flink等流处理引擎,读取Kafka中的数据,执行清洗、转换、聚合等操作;存储层:将处理结果写入实时存储(如Elasticsearch)或批量存储(如Hive);消费层:用可视化工具(如Kibana)展示结果,或提供API供业务系统调用。Kappa架构的关键设计原则全量数据存于Kafka:Kafka的“无限 retention”特性(默认保留7天,可配置更长)让它成为全量数据的存储介质;用流处理引擎处理所有数据。

Java大师兄的博客 798

DeiT详解:知识蒸馏的Transformer

DeiT模型(8600万参数)仅用一台 GPU 服务器在 53 hours train,20 hours finetune,仅使用 ImageNet 就达到了 84.2 top-1 准确性,而无需使用任何外部数据进行训练,性能与最先进的卷积神经网络(CNN)可以抗衡。其核心是提出了针对 ViT 的教师-学生蒸馏训练策略,并提出了方法,使得在视觉领域训练得又快又好。

走在深度学习前沿的小宋 2637

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

本篇文章将介绍计算机操作系统的相关内容,主要内容有进程,进程调度,并行与并发的概念,进程间通信,进程与线程的区别。

未见花闻的博客 2367

AI绘画与医疗可视化:用AI生成医学插图的实践

医疗可视化是医学教育、临床沟通和学术研究的核心工具。传统医学插图依赖手工绘制或专业3D建模,存在制作周期长、成本高、更新迭代慢等问题。随着深度学习技术的发展,AI绘画工具(如Stable Diffusion、DALL-E)展现出强大的图像生成能力,但医疗领域对插图的解剖准确性、标注规范性和语义完整性有极高要求,通用AI模型难以直接应用。本文聚焦AI技术与医疗领域的交叉创新,系统阐述如何通过数据预处理、模型定制化训练和后处理校验,构建符合医疗标准的插图生成系统。

大模型应用工坊 1788

操作系统 - 进程与线程的区别[超详解]

线程就是我们所谓的"跑起来的程序",那什么是可以跑起来的程序呢?就是类似我们在桌面上创建的对应软件的快捷方式,右击软件点击打开文件所在位置我们就可以看到xxx.exe文件,这样exe的文件我们统称为可执行文件当我们不想启动软件时,这些文件就会静静的"呆在"硬盘上,在我们双击之前是不会对系统有任何影响.

积跬步以至千里 1549

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

深入了解进程,线程,以及它们之间的区别与联系

1.进程包含线程2.每个线程是一个独立的执行流,可以执行代码,并且单独参与到cpu的调度中去.(状态,上下文,优先级,每个线程都单独有一份)3.每个进程都有自己的资源,线程可以共同使用这些资源进程是分配资源的基本单位,线程是执行调度的基本单位4.进程与进程不会互相影响,但一个进程中的一个线程出现问题,则可能影响到其他线程5.同一个进程中的线程可能会相互影响,引起线程安全问题.6.线程不是越多越好,线程多了会影响PCB的调度。

a13931329858的博客 2247

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【001 操作系统】什么是线程、进程?线程进程的区别是什么?

进程是资源分配的基本单位,它是程序执行时的一个实例,在程序运行时创建。在Linux环境下,每个进程有自己各自独立的 4G 地址空间,大家互不干扰对方,如果两个进程之间通信的话,还需要借助第三方进程间通信工具 IPC 才能完成。不同的进程通过页表映射,映射到物理内存上各自独立的存储空间,在操作系统的调度下,分别轮流占用CPU去运行,互不干扰、互不影响,甚至相互都不知道对方。

kashine的博客 7337

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

进程和线程有什么区别?

进程是操作系统分配资源的基本单位,而线程是操作系统调度的基本单位。一个进程中至少包含一个线程,线程不能独立于进程而存在。进程不能共享资源,而线程可以。线程可以看作是轻量级的进程,它们的主要区别体现在:从属关系、描述侧重点、共享资源、上下文切换速度和操纵对象等不同。​。...

zhaohuodian的博客 1万+

线程进程傻傻分不清?一文带你了解线程与进程的区别与联系| 操作系统| 进程| 线程

在操作系统中,进程和线程是两个重要的概念。它们都用于描述程序的执行过程,但它们之间也存在一些区别。本文将详细介绍线程和进程的概念,以及它们之间的区别和联系。线程和进程是操作系统中重要的概念,它们都用于描述程序的执行过程。线程是进程内部的最小执行单元,它可以共享进程的资源,并且可以同时执行。进程是操作系统中最小的资源分配单位,它拥有自己的地址空间、文件句柄等资源。进程和线程之间存在着密切的联系,一个进程可以包含多个线程,这些线程可以相互协作,共同完成一个任务。

2301_77611317的博客 1023

《操作系统》——进程与线程

进程与线程的基本介绍

m0_56069910的博客 2395

操作系统的基础——进程与线程

本文主要介绍操作系统中最基础的概念——进程与线程,希望通过这篇文章,带大家熟悉和掌握进程与线程的相关知识。

qq_15898739的博客 2764

操作系统——进程和线程区别与联系

进程、线程、进程与线程、区别与联系、CPU、资源、系统资源

b19839356939的博客 1126

线程与进程的区别

多线程共存于应用程序中是现代操作系统中的基本特征和重要标志。用过UNIX操作系统的读者知道进程,在UNIX操作系统中,每个应用程序的执行都在操作系统内核中登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配,但进程和线程有什么区别呢?进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:线程的划分尺度小

Piggy and Jery 's GOLB 2万+

操作系统——进程和线程的区别

操作系统——进程和线程的区别 最近学习了操作系统中的进程和线程这两个知识点,昨天老师给我们出了一道题:进程和线程的区别。听完题目后一脸懵逼,只想到了进程的一部分概念,回来之后就查书,找到了答案。 1.进程和线程的主要区别在于它们是操作系统不同的资源管理方式; 2.进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径; 3.线程有自己的堆栈和局...

weixin_45683851的博客 4087

经典面试题—操作系统进程与线程的区别?

NOTE]多个进程在运行过程中因争夺资源而造成的一种僵局。当一个进程请求资源时,如果该资源不能立即获得,那么进程就会进入等待状态。如果一个处于等待状态的进程 P1,由于所等待的资源被另一个处于等待状态的进程 p2 所占有,而 p2 所请求的资源又被 p1 占有,这样它们所请求的资源都不会获得,两进程一直处于等待状态,形成死锁。

小牛itbull的博客 1272

操作系统中进程与线程、任务的区别

进程与线程的定义 进程、线程二者的区别和联系 FreeRTOS中进程,线程与任务的关系

青渡QAQ的博客 3549

操作系统-进程与线程

操作系统用来保护系统资源和提高稳定性的重要机制。

LDM的博客 930
上一篇: MySQL学习笔记——MySQL性能优化方法简述
下一篇: Eclipse配置安装Tomcat插件教程
versencoder
博客等级 码龄10年 30粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值