进程的概念|学习笔记

简介: 快速学习进程的概念

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频进程的概念】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/10981


进程的概念

 

内容简介:

一、程序的概念

二、进程的定义

三、小结

 

一、程序的概念

先看一下进程的概念,即什么是进程?

程序是存放在存储介质上的一个可执行文件,相当于什么?

比如以下代码:

[01_day]1s

Gaa.txt dest.txt my_cp my_cp.c read read.c test.txt wanqi.txt

[01_day]

其中 my_cp 是源代码, my_cp  my_cp.c 生成一个可执行程序,这就是程序,此程序是存放在磁盘上的,是一些指令的集合,这是程序的概念。

 

二、进程的定义

进程是程序执行的实例,包括程序计数器、寄存器和变量的当前值等等,其实所谓的进程就是正在运行的程序

举例:

[01_day]1s

Gaa.txt dest.txt my_cp my_cp.c read read.c test.txt wanqi.txt

[01_day]ps

PID TTY            TIM CMD

6044 pts/0    00:00:00 bash

6273 pts/0    00:00:00 pa

[01_day]

上述代码它的进程号是6044,在当前终端下边正在运行的 bash ,是等待获取命令,然后等获取了之后执行命令,

如下代码所示:

[01_day]1s

Gaa.txt dest.txt my_cp my_cp.c read read.c test.txt wanqi.txt

这个是一个进程,是一个正在运行的程序。

2、程序与进程

程序是静态的、进程是动态的,程序是存放在磁盘上的一个文件,指令的集合,而进程是它运行的过程,即把它执行起来。

进程的状态是变化的,其包括进程的创建,在点斜杠运行程序的时候相当于是它要创建一个进程,然后还包括调度, CPU 要执行这一个进程的指令,以及最后进程执行完了之后,它要消亡,系统要回收它的资源。

3、进程的概念

在 Linux 系统当中,进程是管理事务的基本单元,进程拥有自己独立的处理环境和系统资源,处理环境就是环境变量,系统资源就包括处理器、存储器、 I/O 设备、数据、程序,如果要执行一个程序,必须要创建一个进程,在 Linux Windows 下也有进程,之前执行了一个 WPS 软件,然后右击转到进程,那么 wps.exe *32 就是它对应的进程,正在运行的程序就被称为进程。

4、执行程序时的进程

在平常的时候注意执行一个程序,把它变成进程时,都是点斜杠(./)去执行的,其实在点斜杠的时候,shell命令显示器要去调用 exe.c函数, exec 函数有六个,其实就是调了一个函数,通过函数去启动的一个进程,点斜杠在执行时,这个  shell 的显示器应该会去创建一个进程,它怎么创建的?

它用 fork 创建的进程,然后用 exec替代进程的内容,注意创建进程的方法只有两种,一个是 fork ,另一个是 vfork ,然后在点斜杠时,它肯定要执行程序的时候,首先要建进程,建成之后它再去替代进程的内容,用其内的代码去替代进程的内容,注意创建进程使用的 fork ,而不是 exec ,等有了进程之后再通过 exec 将程序读入内存。

 

三、小结

总结一下什么是进程,进程就是程序执行的过程,程序就是一些指令的集合,是存放在磁盘上的一些程序的集合,是一个文件,进程是程序执行的过程,若要想运行一个程序,必须创建一个进程,有了进程在进程当中就是跑运行的一个程序的代码,进程有自己的处理环境和系统资源,进程是管理事务的基本单元,“可使用 exec 函数由内核将程序读入内存,使其执行起来成为一个进程”这句话有问题,应该使用 fork 或者 vfork 创建进程,在进程中通过 exec 函数加载程序运行代码,运行。

注意创建进程的方法只有这两种,然后有了进程之后,便要执行代码,再去通过 exec 函数去加载程序代码,这是所谓的进程,是程序执行的过程,进程是什么?

是处理管理事务的基本单元,进程是操作系统分配资源的基本单位,比如每个进程都有自己的内存,等等一些资源,进程是操作系统分配资源的基本单位,单位执行一个程序的时候,必须要创建一个进程,这是进程的一个概念。

 

相关文章
|
10月前
|
存储 Linux API
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
|
7月前
|
Unix Linux
对于Linux的进程概念以及进程状态的理解和解析
现在,我们已经了解了Linux进程的基础知识和进程状态的理解了。这就像我们理解了城市中行人的行走和行为模式!希望这个形象的例子能帮助我们更好地理解这个重要的概念,并在实际应用中发挥作用。
145 20
|
6月前
|
存储 Linux Shell
Linux进程概念-详细版(二)
在Linux进程概念-详细版(一)中我们解释了什么是进程,以及进程的各种状态,已经对进程有了一定的认识,那么这篇文章将会继续补全上篇文章剩余没有说到的,进程优先级,环境变量,程序地址空间,进程地址空间,以及调度队列。
134 0
|
6月前
|
Linux 调度 C语言
Linux进程概念-详细版(一)
子进程与父进程代码共享,其子进程直接用父进程的代码,其自己本身无代码,所以子进程无法改动代码,平时所说的修改是修改的数据。为什么要创建子进程:为了让其父子进程执行不同的代码块。子进程的数据相对于父进程是会进行写时拷贝(COW)。
185 0
|
Go 调度 开发者
[go 面试] 深入理解进程、线程和协程的概念及区别
[go 面试] 深入理解进程、线程和协程的概念及区别
|
9月前
|
存储 Linux 调度
【Linux】进程概念和进程状态
本文详细介绍了Linux系统中进程的核心概念与管理机制。从进程的定义出发,阐述了其作为操作系统资源管理的基本单位的重要性,并深入解析了task_struct结构体的内容及其在进程管理中的作用。同时,文章讲解了进程的基本操作(如获取PID、查看进程信息等)、父进程与子进程的关系(重点分析fork函数)、以及进程的三种主要状态(运行、阻塞、挂起)。此外,还探讨了Linux特有的进程状态表示和孤儿进程的处理方式。通过学习这些内容,读者可以更好地理解Linux进程的运行原理并优化系统性能。
360 4
|
9月前
|
存储 算法 数据处理
进程基础:概念、状态与生命周期
进程是操作系统进行资源分配和调度的基本单位,由程序段、数据段和进程控制块(PCB)组成。线程是进程中更小的执行单元,能独立运行且共享进程资源,具有轻量级和并发性特点。进程状态包括就绪、运行和阻塞,其生命周期分为创建、就绪、运行、阻塞和终止阶段。
565 2
|
分布式计算 JavaScript 前端开发
多线程、多进程、协程的概念、区别与联系
多线程、多进程、协程的概念、区别与联系
399 1
|
调度 开发者
核心概念解析:进程与线程的对比分析
在操作系统和计算机编程领域,进程和线程是两个基本而核心的概念。它们是程序执行和资源管理的基础,但它们之间存在显著的差异。本文将深入探讨进程与线程的区别,并分析它们在现代软件开发中的应用和重要性。
464 4
|
存储 Linux Shell
Linux进程概念(上)
冯·诺依曼体系结构概述,包括存储程序概念,程序控制及五大组件(运算器、控制器、存储器、输入设备、输出设备)。程序和数据混合存储,通过内存执行指令。现代计算机以此为基础,但面临速度瓶颈问题,如缓存层次结构解决内存访问速度问题。操作系统作为核心管理软件,负责资源分配,包括进程、内存、文件和驱动管理。进程是程序执行实例,拥有进程控制块(PCB),如Linux中的task_struct。创建和管理进程涉及系统调用,如fork()用于创建新进程。
325 3
Linux进程概念(上)

热门文章

最新文章