python进程基础

Posted Hear7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python进程基础相关的知识,希望对你有一定的参考价值。

 #   理论知识
#操作系统基础知识
#顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象
#进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最
#古老也是最重要的抽象概念之一.操作系统的其他所有内容都是围绕进程的概念
#展开的>
#ps:利用cpu自有一个,也能保证支持并发的能力.将一个单独的cpu变成多个虚拟的cpu
    #(多道技术:时间多路复用和空间多路复用+硬件隔离),没有进程的抽象,现代计算机将不复存在.

#  必备基础理论:
        #操作系统的作用:
            #1.隐藏丑陋复杂的硬件接口,提供良好的抽象接口
            #2.管理,调度进程,并且将多个进程对硬件的竞争变的有序
        #多道技术:
            #1.生成背景:针对单核,实现并发
            #2.空间上的复用:如内存中同时有多道程序
            #3.时间上的复用:复用一个cpu的时间片(来回切换)
#  什么是进程
#进程是(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配
#和调度的基本单位,是操作系统结构的基础.在早期,进程是程序的基本执行实体,在当代,进程是线程的
#容器.程序是指令,数据及其组织形式的描叙,进程是程序的实体.
#狭义定义:进程是正在运行的程序的实例>

#广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.他是操作系统动态执行的
    #基本单元,在传统的操作系统中,进程即是基本的分配单元,也是基本的执行单元.

#进程的概念:
        #1.进程是一个实体.每一个进程都有它自己的地址空间,一般情况下,包括三个:文本区域,数据,推栈
          # 文本区域就是代码,数据区域就是存储变量和执行期间使用的动态分配的内存,
           # 堆栈区域存储着活动调用的指令和本地变量

        #2.进程是一个执行中的程序.程序是没有生命的实体,只有处理器赋予程序生命时
            #它才能成为一个活动的实体,我们称为进程/

#操作系统引入进程概念的原因:
    #从理论角度看,是对正在运行的程序过程的抽象;
    # 从实现角度看,是一种数据结构,目的在于清晰地刻画动态系统的内在规律,
    # 有效管理和调度进入计算机系统主存储器运行的程序。

#进程的特征:
    #动态性:实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消忙
    #并发性:任何进程都可以同其它进程一起并发执行.
    #独立性: 进程是一个独立运行的基本单位,同时也是系统调度和分配资源的独立单位
    #异步性: 进程间的相互制约,使进程具有执行的间断性,即进程按各自独立,不可预知的速度向前推动
    #结构特征: 程序,数据,进程控制块

#进程和程序中的区别:
    #程序是指令和数据的有序集合,是一个静态概念
    #而进程是程序在处理器上的一次执行过程,它是一个动态概念
    #程序可以作为一种软件资料永久保存,而进程是有一定的生命周期.
    #程序的永久的,进程是短暂的.


#进程的调度:
    #当多个程序交替运行时,操作系统必须对这些进程进行调度,这个调度也不是随机的,而是要遵循一定的原则
        #先来先服务调度算法:
        #短作业优先调度算法:
        #时间片轮转法:
        #多级反馈队列:

#进程的并发和并行:

    #并发:只资源有限的情况下,两者交替使用资源(比如单核cpu)    #并行:两者同时执行

    #注意两者区别:
        #并行是从微观上,在一个精准的时间,有不同的程序执行
        #并发是从宏观上,在一段时间上看出是同时执行


#同步异步阻塞和非阻塞
#创建--->提交---> 就绪(除了cpu分配到了其他所有必须的资源)---->>进程调度-->>运行--->>释放>..退出
#                                                 --------<<时间片到<<运行
#
                              # 阻塞


# 就绪状态:进程分配到了程序除cpu以外的所有必须资源,只要获得cpu,立即执行.
# 执行状态:程序在处理器上执行的状态
# 阻塞状态:正在执行的程序,由于等待某件事情发生而无法执行,便放弃处理器而处于阻塞状态,如i/o 等待信号等


#  同步和异步

#同步:一个任务的完成必需依赖另外一个任务是,只有等待被依赖的任务完成,依赖的任务才算完成,这是一种可
   #靠的任务序列.同时成功,或者同时失败,两个任务的状态可以保持一致.

#异步: 不需要依赖等待的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行
    #只要自己的任务完成整个任务完成,至于被依赖的任务是否完成,无法确定,它是不可靠的任务序列


#阻塞和非阻塞:
    #阻塞和非阻塞这两个概念与程序(线程)等待消息通知(无所谓同步或者异步)时的状态有关。
    #也就是说阻塞与非阻塞主要是程序(线程)等待消息通知时的状态角度来说的

#同步/异步与阻塞/非阻塞
    #1.同步阻塞形式:效率低,就是专心排队,什么别的事情都不做
    #2.异步阻塞形式:银行的人办业务,一个人领到一张排队字条,这个人只能等待不能去做其它事情
    #3.同步非阻塞形式:一边打电话和一边观察排队(两者来回切换),效率低下
    #4.异步非阻塞形式:效率高.一边打电话等待的事情,一边等待银行叫号等待通知,两种不同操作中来回切换

 #进程的创建和结束

 #进程的创建
    #凡是硬件都需操作系统去管理,只要有操作系统,就有进程的概念,就需要去创建进程,
        # 主要有四种创建方式:
            #1.系统初始化
            #2.一个进程在运行过程中开启子进程
            #3.用户的交互请求,而创建一个新jinc
            #4.一个批处理作业的初始化(在大型机的批处理系统中应用)
#进程的结束
    #1.正常退出
    #2.出错退出
    #3.严重错误
    #4.被其他进程杀死

  

以上是关于python进程基础的主要内容,如果未能解决你的问题,请参考以下文章

python多线程

python基础===多进程

python基础:多进程讲解

[Python3] 043 多线程 简介

java 简单的代码片段,展示如何将javaagent附加到运行JVM进程

代码片段:Shell脚本实现重复执行和多进程