zoukankan      html  css  js  c++  java
  • 多任务编程 -- 进程

    进程(process)

    进程理论基础

    1. 定义:程序在计算机中的一次运行。
      1. 程序是一个可执行的文件,是静态的占有磁盘
      2. 进程是一个动态的过程描述,占有计算机运行资源,有一定的生命周期
    2. 系统中如何产生一个进程
      1. 用户空间通过调用程序接口或者命令,发起请求
      2. 操作系统接收用户请求,开始创建进程
      3. 操作系统调配计算机资源,确定进程状态等
      4. 操作系统将创建的进程提供给用户使用
    3. 进程基本概念
      1. CPU时间片:如果一个进程占有CPU内核,则称这个进程在CPU时间片上。
      2. PCB(进程控制块):在内存中开辟的一块空间,用于存放进程的基本信息,也用于系统查找识别进程。
      3. 进程ID:系统为每个进程分配的一个大于0的整数,作为进程ID。每个进程ID不重复。
        1. Linux查看进程ID:ps -aux
      4. 父子进程:系统中每一个进程(除了系统初始化进程)都有唯一的父进程,可以有0个或多个子进程。父进程关系便于进程管理
    4. 查看进程树:pstree
    5. 进程状态
      1. 三态:
        1. 就绪态:进程具备执行条件,等待分配CPU资源
        2. 运行态:进程占有CPU时间片,正在运行
        3. 等待态:进程暂时停止运行,让出CPU
    6. 状态查看命令:ps -aux (STAT这一列)
      1. S:等待态
      2. R:执行态
      3. D:等待态
      4. T:等待态
      5. Z:僵尸
      6. <:较高优先级
      7. N:优先级较低
      8. +:前台进程
      9. s:会话组组长
      10. l:有多线程的
    7. 进程的运行特征
      1. 进程可以使用计算机多核资源;
      2. 进程是计算机分配资源的最小单位;
      3. 进程之间的运行互不影响,各自独立;
      4. 每个进程拥有独立的空间,各自使用自己空间资源
    8. fork:详见 多任务编程 -- 基于fork的多进程编程
    9. 进程相关函数多任务编程 -- 进程相关函数 os.getpid()、os.getppid()、os._exit()、sys.exit()
    10. 孤儿和僵尸进程多任务编程 -- 孤儿进程和僵尸进程
  • 相关阅读:
    ajax的基础知识
    前端必备的php的基础知识点
    关于事件的简单汇总
    Django rest-framework(目录)
    Django(目录)
    前端(目录)
    数据库知识(目录)
    数据库基础
    并发编程(目录)
    网络编程
  • 原文地址:https://www.cnblogs.com/gengyufei/p/12902601.html
Copyright © 2011-2022 走看看