<JavaEE> 什么是进程(Process)?进程管理,进程调度,内存管理,进程间通信和多进程编程

目录

一、进程(Process)的概念

二、进程管理

三、进程调度

四、内存管理

五、进程间通信

六、多进程编程


一、进程(Process)的概念

        进程(process)也称为任务(task),是操作系统对一个正在运行的程序的一种抽象,可以把进程看作程序的一次运行过程。同时,在操作系统内部,每个进程在执行过程中,都需要消耗一定的软件和硬件资源,因此进程又是操作系统进行资源分配的基本单位。


二、进程管理

描述进程:

        进程使用进程控制块(PCB)进行描述,计算机内部要管理任何现实事物,都需要将其抽象成一组有关联的、互为一体的数据。

        在不同语言中,可以使用类或结构体的方式来描述事物的特征

        每一个进程控制块(PCB)对象,就代表一个运行着的程序,即进程。

阅读指针 -> 《什么是进程控制块(PCB Process Control Block)?》

<JavaEE> 什么是进程控制块(PCB Process Control Block)?-CSDN博客文章浏览阅读16次。介绍进程控制块和进程控制块的核心属性。进程控制块适用于进程,也适用于线程。https://blog.csdn.net/zzy734437202/article/details/134583750

组织进程:

        操作系统通过线性表、搜索树等数据结构将进程控制块(PCB)进行组织,方便管理时进行增删改查操作。


三、进程调度

        进程调度(Process Scheduling),是对CPU资源进行分配。

        同一时刻,一个CPU核心上,只能有一个进程在运行。但CPU核心少,进程往往非常多,CPU资源不够分配。此时就需要进行进程调度,分时复用,并发执行

        操作系统对CPU资源的分配,采用的时时间模式,即不同的进程在不同的时间段使用CPU资源。


四、内存管理

        内存管理(Memory Manage)也称为内存分配。每个进程的内存是彼此独立,互不干扰的,这也体现了进程的“独立性”。

        进程运行过程中被切换出CPU,此时其消耗的内存空间将暂时存放至硬盘的特定区域(swap空间),直到进程真正执行,

        操作系统对内存资源的分配,采用的是空间模式,即不同进程使用内存中的不同区域,互相之间不会干扰。


五、进程间通信

        进程是操作系统进行资源分配的最小单位,而且进程间具有“独立性”,但有时也需要多个进程之间配合完成某些任务,这就需要系统提供一些公共空间,让多个进程都能访问,进程之间借助公共空间进行数据交互,这就被称为进程间通信(Inter Process Communication)

        主流操作系统提供的进程通信机制包括:管道、共享内存、文件、网络、信号量、信号等。


六、多进程编程

简述并发的概念:

        并发(Concurrency)是一种在同一时间执行多个任务的技术。在计算机领域中,并发通常通过多线程或多进程来实现。多线程可以让程序同时执行多个任务,而多进程则可以让程序同时执行多个独立的程序。

        多个进程在同一个CPU中依次切换执行,当切换速度足够快时,在人的感知中,这些进程就是同时在执行的,这就被称为“并行”。

        当多个进程在多个CPU中依次切换执行时,从微观上看来,这些进程就不再是“依次执行”,而是“同时执行”,这就被称为“并发”。

        在多核CPU中,并行和并发是同时出现的,因此,往往也将并行和并发统称为并发,与之对应的编程方式就称为并发编程。

多进程编程的缺点:

        进程通常可以很好的解决“并发编程”的问题,但在需要频繁创建和销毁进程得情况下,进程表现得不尽如人意。此时使用的多进程编程,会使得系统开销过大。

        系统开销过大的原因在于,进程是操作系统进行资源分配的基本单位,每次创建或销毁进程都需要申请或释放系统资源。

        总结,进程过于“笨重”,在频繁进行创建和销毁时,需要不断地向系统申请和释放资源,开销较大


阅读指针 -> 《什么是线程(Thread)?进程和线程有什么区别?》

<JavaEE> 什么是线程(Thread)?进程和线程有什么区别?-CSDN博客介绍什么是线程(Thread)。进程和线程有什么区别.https://blog.csdn.net/zzy734437202/article/details/134589609

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/212581.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于遗传优化的多属性判决5G-Wifi网络切换算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 .......................................................................... %接收功率、网…

ruoyi-plus使用Statistic统计组件升级element-plus

原本使用的就是gitee上lionli的ruoyi-plus版本的代码。但是在使用过程中作首页数据看板时想使用elementui的Statistic统计组件。结果在浏览器控制台报错找不到组件el-statistic 于是查看elementui的历史版本,发现是在新版中才有这个组件,旧版本是没这个组…

【Leetcode每日一题】mid——6. N 字形变换

题目描述 https://leetcode.cn/problems/zigzag-conversion/description/ 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: 之后&#xff0…

成为AI产品经理——模型构建过程(上)

目录 一、背景 1.对内 2.对外 二、模型构建过程 1.模型设计 2.特征工程 ① 数据清洗 ② 特征提取 数值型数据 标签/描述类数据特征 非结构化数据(处理文本特征) 网络关系型数据 ③ 特征选择 ④ 训练集/测试集 一、背景 虽然产品经理不…

【一文搞定】在Docker中搭建centos7远程桌面环境(Xfce、Gnome两种方式)

目录 前言一、基于GNOME构建远程桌面二、基于Xfce构建远程桌面(轻量级) 前言 本文提供两种安装方式,均自己测试过,最后还是选择了Xfce,因为它比较轻量级,占用资源较少。大家也可以都试试,比较感…

致远M3 反序列化RCE漏洞复现(XVE-2023-24878)

0x01 产品简介 M3移动办公是致远互联打造的一站式智能工作平台,提供全方位的企业移动业务管理,致力于构建以人为中心的智能化移动应用场景,促进人员工作积极性和创造力,提升企业效率和效能,是为企业量身定制的移动智慧…

2023-11-23 LeetCode每日一题(HTML 实体解析器)

2023-11-23每日一题 一、题目编号 1410. HTML 实体解析器二、题目链接 点击跳转到题目位置 三、题目描述 「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们…

HTTPS攻击怎么防御?

HTTPS 简介 超文本传输安全协议( HTTPS )是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。 HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的…

美国大学陪读签证申请条件是什么?

美国大学陪读签证是留学生的家庭成员在美国陪同留学生就读期间的签证类型。申请该签证需要满足一定的条件,这些条件通常包括: 1.申请人身份关系证明:申请人必须是留学生的家庭成员,如配偶或子女,需要提供证明文件&…

接口自动化测试难点:数据库验证解决方案!

接口自动化中的数据库验证:确保数据的一致性和准确性 接口自动化测试是现代软件开发中不可或缺的一环,而数据库验证则是确保接口返回数据与数据库中的数据一致性的重要步骤。本文将介绍接口自动化中的数据库验证的原理、步骤以及示例代码,帮…

CSS特效017:球体涨水的效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…

〖大前端 - 基础入门三大核心之JS篇㊷〗- DOM事件对象及它的属性

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…