并发编程——进程——理论知识

一、什么是进程

程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

简单的说,进程就是一个正在进行的一个过程或者说一个任务,负责执行任务的人是CPU。

打个比方,我打开了QQ应用程序,然后跟我女朋友聊天,这就是一个进程。

二、进程与程序的区别

程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。

写代码,其实就是写程序,也就是说,程序仅仅是一大堆代码而已,而进程,指的是运行这段程序的运行过程。

另外,需要强调的是:同一个程序执行两次,那也是两个进程。

还是打开QQ聊天,虽然是同一个软件,但是可以开两个聊天窗口,一个跟女朋友聊天,一个跟老板汇报工作。

三、进程的创建

进程需要由操作系统创建,也就是说,只要有操作系统,就有进程的概念。

有一些操作系统只为一个应用程序设计,比如台灯中的控制器,打开台灯之后所有的进程就都已经存在了。

比较常见的还是通用系统,我们的笔记本、服务器都是通用系统,可以运行很多应用程序。

对于通用系统来说,需要有在系统运行过程中创建和销毁进程的能力。

操作系统创建进程有四种方式:

1.系统初始化

2.正在运行的进程开启子进程

3.用户请求交互而创建的新进程

4.批处理作业的初始化

新进程的创建都是由一个已存在的进程执行一个创建进程的程序而创建的。

在Windows系统中,操作系统调用CreatProcess处理进程的创建并把相应的程序读入新进程。

在UNIX系统中,操作系统调用fork,创建一个与父进程一模一样的副本。

父进程和子进程有各自不同的地址空间,

猜你喜欢

转载自blog.csdn.net/weixin_43336281/article/details/104193487