python入门开发学习笔记之进程理论
发布日期:2025-05-13 01:23:48 浏览次数:2 分类:精选文章

本文共 1358 字,大约阅读时间需要 4 分钟。

本节重点

掌握什么是进程,掌握并发与并行,了解进程创建的方式,掌握进程的三种状态。


本节时长需控制在30分钟内


一、什么是进程

进程可以被定义为正在运行的任务或过程,而执行这些任务的核心就是CPU。进程是程序执行的具体实例,一个程序可以有多个进程在运行。例如,打开同一个浏览器窗口,播放不同的视频,实际上是两个独立的进程。


二、进程与程序的区别

程序仅仅是一堆代码的集合,而进程是程序运行的具体实例。进程是程序执行的过程,包含程序运行时的状态和资源占用。

举例:
假设一个计算机科学家在厨房里烘制生日蛋糕,他根据食谱(程序)进行操作。原料、烘箱等是输入数据,科学家阅读食谱、取原料并烘制蛋糕的动作构成了进程。同一食谱可以执行多次,但每次都是独立的进程。


三、并发与并行

从用户角度来看,无论是并行还是并发,都是看起来同时运行的。

  • 并发(Pseudoparallelism):

    并发是伪并行,任务看起来是同时运行,但实际上是通过时间片轮转或多道技术来实现的。例如,多任务处理在单核系统中通过多道技术实现并发执行。

  • 并行(True Parallelism):

    并行需要多个核同时执行多个任务,只有具备多个CPU才能实现并行。每个核都可以通过多道技术进一步提升资源利用率。


  • 四、进程的创建

    进程的创建是操作系统的重要功能,主要通过以下方式实现:

  • 系统初始化:
    系统启动时,会预先创建初始进程(如初始进程init),负责启动其他进程。
  • 子进程创建:
    父进程通过调用forkCreateProcess创建子进程。
  • 用户交互:
    用户操作(如双击启动程序)触发进程创建。
  • 批处理作业:
    在大型机的批处理系统中,批处理作业初始化时会直接创建多个进程。

  • 五、进程的终止

    进程终止是操作系统管理的重要功能,主要有以下几种方式:

  • 正常退出:
    进程自愿终止,例如用户点击关闭按钮或程序正常结束。
  • 出错退出:
    进程因错误(如文件不存在)自愿终止。
  • 严重错误:
    进程因非法操作(如越界)被强制终止。
  • 被其他进程杀死:
    进程被外部命令(如kill -9)强制终止。

  • 六、进程的层次结构

    在不同的操作系统中,进程层次结构有所不同:

  • UNIX:

    所有进程都以init进程为根,形成树形结构。父子进程组成进程组,信号会同时通知进程组中的所有成员。

  • Windows:

    Windows操作系统中没有严格的进程层次,进程之间通过句柄进行通信。


  • 七、进程的状态

    进程在运行时可以处于三种状态:

  • 就绪态(Ready):
    进程等待CPU资源或I/O完成。
  • 运行态(Running):
    CPU正在执行进程的指令。
  • 阻塞态(Blocked):
    进程因I/O等待而无法继续执行。
  • 示例:

    执行命令tail -f access.log | grep '404'tailgrep各自开启一个进程。grep在等待输入时处于阻塞状态,无法继续运行。


    八、进程的实现

    进程并发的实现依赖于操作系统的进程调度和多道技术:

  • 进程表(Process Table):
    操作系统维护进程表,存储每个进程的状态和资源信息。
  • 中断机制:
    CPU在处理I/O任务时会暂停当前进程,保存状态,等待I/O完成后重新调度。

  • 通过理解进程的定义、创建方式及其状态,能够更好地掌握操作系统的核心原理。

    上一篇:python入门开发学习笔记封装
    下一篇:python入门开发学习笔记之软件开发目录设计规范

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月18日 10时45分08秒