1.进程定义
1.1进程是资源分配最小单位
1.2当一个可执行程序被系统执行,分配内存等资源,就变成了一个进程
进程定义扩展回答内容
1.程序不能单独运行,只有将它装载到内存中,系统为它分配资源才能运行,这样运行的程序
配称为进程
2程序和进程的区别在于,程序是指令的集合,它是进程运行的静态描述文本,进程是程序的一次
执行活动,属于动态概念
3在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的执行者,可以实现并发执行
4 进程的出现让每个用户可以感觉到独享cpu,因此,进程就是在cpu上实现多道编程而提出的
5 进程之间有自己独立的内存,各进程之间不能相互访问
6创建一个新线程很简单,创建一个新进程需要对父进程进行复制
多道编程概念
多道编程:在计算机内存中同时存放几道相互独立的程序,他们共享资源,相互穿插运行
单道编程:计算机的内存中,只允许一个程序的运行
有了进场为什么还好用线程?
1进程优点:
提供了多道编程,让我们感觉每个人都拥有自己的cpu和其它的资源,可以提高计算机的利用率
2进程的两个重要缺点:
a.第一个缺点,进程只能在一个时间干一件事,如果同时想干两件事,或者多件事进程就无能为力了
b第二个缺点:进程在执行过程中如果阻塞,即使进程中有些工作不依赖于输出的工作,也将无法执行(例如等待输出,整个进程就会被挂起)
进程间互相访问数据的四种方法
注:不同进程间的数据是不能共享的,所以互相之间不能访问对方数据
法1:利用Queues 实现父进程到子进程的数据传递
法2:利用管道pipe实现两个进程间的数据传递
法3:Managers实现很多进程间数据共享
法4:利用redis中间件实现进程间的共享
5 进程和程序的区别
1程序只是一个普通的文件,是一个机器代码指令和数据的集合,所以,程序只是一个静态实体
2而进程是程序运行在数据集上的动态过程,进程是一个动态实体。它应创建而生,应调度执行,应等待资源或事假而被处于等待状态,因完成任务而被取消。
3.进程是系统进行资源分配和调度的一个独立单位
4一个程序有多个进程,一个进程为多个程序服务,两者都是多对多的关系
5.一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一标识每个进程