多任务编程 理论

多任务编程
  意义 : 充分利用计算机的资源提高程序的运行效率
  定义 : 通过应用程序利用计算机的多个核心达到同时执行多个任务的目的,一次提高计算机运行效率。

实施方案 : 多进程  多线程
  并行 :  多个计算机核心在同时处理多个任务,这时多个任务间是并行关系。
        

  并发 :  同时处理多个任务,内核在多个任务间不断的切换,达到好像都在处理运行的效果。但实际一个时间点内核只能处理其中一个任务。

进程(process)
  定义 :程序在计算机中的一次运行过程
  
程序 :是一个可执行的文件。是静态的占有磁盘空间,不占有计算机的运行资源。
进程 :进程是一个动态过程的描述,占有计算机的资源,有一定的生命周期。
  * 同一个程序的不同运行过程是不同的进程。占用资源和生命周期都不一样

  进程的创建流程
    1 用户空间通过运行程序或者调用接口发起创建进程
    2 操作系统接收用户请求,开始创建进程
    3 操作系统分配计算机资源,确实进程状态,开辟进程空间等工作
    4 操作系统将创建好的进程提供给应用程序使用
  进程特征
    1 进程之间运行互不影响,各自独立运行
    2 进程是操作系统资源分配的最小单位
    3 每个进程空间独立,各自占有一定的虚拟内存

cpu时间片
  如果一个进程占有计算机核心,我们称为该进程占有计算机CPU时间片。
  * 多个任务之间是争夺cpu的关系
  * 谁占有cpu最终是操作系统决定

PCB(进程控制块)
  在内存中开辟的一块空间,用来记录进程的信息
  * 进程控制块是操作系统查找识别进程的标志
查看进程信息 : ps -aux
PID(process ID) : 在操作系统中每个进程都有一个唯一的ID号用来区别于其他进程。ID号由操作系统自动分配,是一个大于0 的整数
父子进程 : 在系统中除了初始化进程,每一个进程都有一个父进程,可能有0个或者多个子进程,由此形成父子进程关系。
  ps -aux  查看进程的信息
  ps -ajx  可查看父进程的PID,字段【PPID】
  pstree  查看进程树结构    
        

进程的状态
  三态
    * 就绪态:进程具备执行条件,等待系统分配资源
    * 运行态:进程占有CPU处于运行状态
    * 等待态:进程暂时不具备执行条件,阻塞等待满足条件后再执行
       


  五态(三态基础上增加新建态,终止态)
    * 新建态: 创建一个新的进程,获取资源的过程
    * 终止态: 进程执行结束,资源释放回收的过程
      


 
 
 

猜你喜欢

转载自www.cnblogs.com/Skyda/p/9619841.html