• 进程


    1.进程

    #进程定义:
    1.进程是资源分配最小单位
    2.当一个可执行程序被系统执行(分配内存等资源)就变成了一个进程
    

    进程定义拓展回答内容

    1.程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,这种执行的程序就称之为进程。
    
    2.程序和进程的区别:程序是指令的集合,他是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。
    
    3.在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。
    
    4.进程的出现让每个用户感觉到自己独享CPU,因此,进程就是为了在CPU上实现多道编程而提出的。
    
    5.进程之间有自己独立的内存,各进程之间不能互相访问。
    
    6.创建一个线程很简单,创建新进程需要对父进程进行复制
    

    多道编程概念

    多道编程:在计算机内存中同时存放几道相互独立的程序,他们共享系统资源,互相穿插运行
    单到编程:计算机内存中值允许一个的程序运行
    

    2.为什么有了进程还要线程?

    2.1进程优点:
    提供了多道编程,让我们感觉每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率
    
    2.2进程的两个重要缺点:
    a. 第一点:进程只能在一个时间干一件事,如果想同时干两件事或多件事,进程就无能为力了。
    
    b. 第二点:进程在执行的过程中,如果发生阻塞,即使进程中有些工作不依赖于输入的数据,也将无法执行(例如等待输入,整个进程就会挂起)。
    如果这两个缺点理解比较困难的话,举个现实的例子也许你就清楚了:如果把我们上课的过程看成一个进程的话,那么我们要做的是耳朵听老师讲课,手上还要记笔记,脑子还要思考问题,这样才能高效的完成听课的任务。而如果只提供进程这个机制的话,上面这三件事将不能同时执行,同一时间只能做一件事,听的时候就不能记笔记,也不能用脑子思考,这是其一;如果老师在黑板上写演算过程,我们开始记笔记,而老师突然有一步推不下去了,阻塞住了,他在那边思考着,而 我们呢,也不能干其他事,即使你想趁此时思考一下刚才没听懂的一个问题都不行,这是其二。
    
    现在你应该明白了进程的缺陷了,而解决的办法很简单,我们完全可以让听、写、思三个独立的过程,并行起来,这样很明显可以提高听课的效率。而实际的操作系统中,也同样引入了这种类似的机制——线程。
    

    3.进程之间互相访问数据的四种方法

    ps:不同进程间内存是不共享的,所以互相之间不能访问对方的数据
    法1:利用Queues 实现父进程到子进程(或子进程间)的数据传递
    
    法2:利用管道pipe实现两个进程间数据传递
    
    法3:Managers 实现多进程数据共享
    
    法4:借助redis 中间件进行数据共享
    

    4.进程和程序的区别

    1.程序只是一个普通文件,是一个机器代码指令和数据的集合,所以,程序是一个静态的实体。
    
    2.进程是程序运行在数据集上的动态过程,进程是一个动态实体,它应创建而生,应调度执行因等待资源或事件而被处于等待状态,因完成任务而被撤消。
    
    3.进程是系统进行资源分配和调度的一个独立单位。
    
    4.一个程序对应多个进程,一个进程为多个程序服务(两者是多对多的关系)。
    
    5.一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一标识每个进程。
  • 相关阅读:
    时序数据库入门
    MySQL执行计划extra中的using index 和 using where using index 的区别
    ETL的详细解释定义
    六种 主流ETL 工具的比较(DataPipeline,Kettle,Talend,Informatica,Datax ,Oracle Goldengate)
    使用 IntraWeb (37)
    使用 IntraWeb (36)
    使用 IntraWeb (35)
    使用 IntraWeb (34)
    使用 IntraWeb (33)
    使用 IntraWeb (32)
  • 原文地址:https://www.cnblogs.com/wonderlandlove/p/12805666.html
Copyright © 2020-2023  润新知