学习记录第二十三天

进程

进程是计算机科学中的一个基本概念,指的是程序在计算机系统中的一个执行实例。当一个程序被启动时,操作系统会为该程序创建一个进程,这个进程拥有自己独立的内存空间,包括代码段、数据段和堆栈等,以及一组系统资源,如文件描述符和网络连接。

栈

堆 //程序运行过程中动态的内存

bss --- 未初始化的数据 |

data --- 初始化了的数据 | 静态区 | ---数据

text --- 正文段(代码段)

进程的特点

1.独立性:每个进程都有自己的地址空间,这意味着一个进程的崩溃或异常不会影响到其他进程。

2.动态性:进程是程序的动态执行,从创建到终止是一个动态的过程。

3.并发性:操作系统允许多个进程同时存在,且在多任务操作系统中,这些进程可以并发执行,即在宏观上同时运行,但在微观上,它们是交替运行的。

4.调度性:进程由操作系统进行调度,决定哪个进程在哪个时刻使用处理器资源。

5.异步性:进程的执行速度和时间是不可预知的,取决于操作系统调度策略和系统资源的可用性。

进程的状态

进程在其生命周期中可能会处于以下几种状态:

1.运行态:进程正在使用CPU执行指令。

2.就绪态:进程已准备好运行,等待CPU资源。

3.阻塞态:进程等待某个事件(如I/O操作完成)而无法运行。

进程间的通信(IPC)

由于每个进程都有自己的独立内存空间,进程之间需要通过特定的机制进行通信,这被称为进程间通信(IPC)。常见的IPC机制包括管道、消息队列、共享内存、信号量等。

进程的创建

在操作系统中,通常通过调用fork系统调用来创建一个新进程,新进程称为子进程,而调用fork的进程称为父进程。fork会复制父进程的上下文,包括代码、数据和打开的文件描述符等,但每个进程都有独立的地址空间。

fork

在Linux系统编程中,fork()函数用于创建一个新的进程,称为子进程,它是调用fork()的原始进程的副本。子进程继承父进程的大部分状态,包括代码段、数据段、堆栈、环境变量和打开的文件描述符。然而,子进程有自己独立的进程标识符(PID)。

fork()函数的返回值

fork()函数在父进程和子进程中都会返回,但返回的值不同:

1.在父进程中,fork()返回子进程的PID。

2.在子进程中,fork()返回0。

进程的管理

操作系统负责进程的管理,包括进程的创建、调度、同步、通信和终止等。操作系统通过进程控制块(PCB)来跟踪和管理进程的状态和属性。

总之,进程是操作系统中程序执行的基本单位,具有独立性和并发性,是现代操作系统实现多任务处理和资源管理的核心概念。

程序与进程的关系

程序是静态的代码,而进程是程序执行的动态实体。当程序被加载到内存中并开始执行时,它就转变为一个或多个进程。这些进程可以并发执行,即在同一时间段内由单个或多个CPU处理。

进程和程序的区别

程序:静态

存储在硬盘中代码,数据的集合

进程:动态

程序执行的过程,包括进程的创建、调度、消亡

.c ----> a.out-----> process(pid)

1)程序是永存,进程是暂时的

2)进程有程序状态的变化,程序没有

3)进程可以并发,程序无并发

4)进程与进程会存在竞争计算机的资源

5)一个程序可以运行多次,变成多个进程

一个进程可以运行一个或多个程序

进程的一生:

创建进程

执行任务

(1).跟父进程相同的任务 比如: 淘宝 fork

(2).有自己的任务要做 比如: shell执行命令 fork + exec

进程结束

exit()

(1).孤儿进程 --- 没有父亲

(2).僵尸进程 --- 有父亲,但是自己先挂了

相关推荐
欣欣之王来了9 小时前
Python入门:Jupyter Notebook安装与使用指南
学习·架构·面向对象·项目·python教程
倔强的石头1069 小时前
【Linux指南】动静态库系列(十二):库工程发布与错误排查:从能跑到可维护
linux·运维·服务器
JWASX9 小时前
Java 转 go 学习 - kitex(2)
学习·golang
wdfk_prog9 小时前
LWIP教程 03:从 `low_level_input()` 到 `pbuf_free()`——`pbuf` 的数据视图、Chain 与引用计数
运维·网络·笔记·学习
掉进电商坑三年没爬出来的东叔9 小时前
云服务器搭建个人网站实战:从零到公网访问,含域名HTTPS
运维·服务器·https
xiaoye-duck9 小时前
《Linux 网络编程》深入理解 epoll(上):从接口到底层内核工作机制剖析
linux·网络
IT大白鼠9 小时前
彭大帅的AI运维助手跨出 Linux:全面接管 Windows 服务器
运维·服务器·人工智能
我命由我123459 小时前
Photoshop - Photoshop 设计概念
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法
reasonsummer9 小时前
【办公类-131-05】20261007中2班周计划制作(原资料Word单元格不统一 失败)
运维·服务器
白猫不黑10 小时前
网络安全专业:从入门到进阶的完整学习路线
学习·安全·web安全·计算机·网络安全·信息安全·编程