进程的概念|学习笔记

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

开发者学堂课程【物联网开发- 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 函数去加载程序代码,这是所谓的进程,是程序执行的过程,进程是什么?

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

 

相关文章
|
3天前
|
Linux Shell 调度
【Linux】7. 进程概念
【Linux】7. 进程概念
44 3
|
3天前
|
消息中间件 存储 算法
【软件设计师备考 专题 】操作系统的内核(中断控制)、进程、线程概念
【软件设计师备考 专题 】操作系统的内核(中断控制)、进程、线程概念
84 0
|
3天前
|
存储 安全 Linux
【Linux】详解进程通信中信号量的本质&&同步和互斥的概念&&临界资源和临界区的概念
【Linux】详解进程通信中信号量的本质&&同步和互斥的概念&&临界资源和临界区的概念
|
3天前
|
存储 Linux Shell
Linux:进程概念
Linux:进程概念
20 8
|
3天前
|
应用服务中间件 调度 数据库
SAP ABAP Update Process(更新进程)的概念和设计动机解析试读版
SAP ABAP Update Process(更新进程)的概念和设计动机解析试读版
24 0
|
3天前
|
消息中间件 安全 调度
Python从入门到精通:3.1.1多线程与多进程——进程和线程的概念
Python从入门到精通:3.1.1多线程与多进程——进程和线程的概念
|
3天前
|
NoSQL Linux 程序员
【linux进程信号(一)】信号的概念以及产生信号的方式
【linux进程信号(一)】信号的概念以及产生信号的方式
|
3天前
|
消息中间件 Linux
【linux进程间通信(二)】共享内存详解以及进程互斥概念
【linux进程间通信(二)】共享内存详解以及进程互斥概念
|
3天前
|
Linux Shell 调度
【linux进程(四)】僵尸进程和孤儿进程概念&进程优先级讲解
【linux进程(四)】僵尸进程和孤儿进程概念&进程优先级讲解
|
3天前
|
存储 Linux Shell
【linux进程(一)】深入理解进程概念--什么是进程?PCB的底层是什么?
【linux进程(一)】深入理解进程概念--什么是进程?PCB的底层是什么?