并发编程 ~~~ 多进程

一 进程

  1. 程序: 一堆静态的代码文件

  2. 进程: 一个正在运行的程序 (由操作系统操控调用交于CPU运行)

  3. 串行: 所有的任务一个一个的完成

  4. 并行: 多个CPU执行多个任务,真正的同时进行

  5. 并发: 一个CPU完成多个任务,看起来像是同时进行

  6. 阻塞: CPU遇到I/O就是阻塞

  7. 非阻塞: 没有I/O

  8. 进程的创建:

    一个子进程必须依赖于一个主进程才可以开启

    一个主进程可以开启多个子进程

    Unix: fork创建子进程

    Unix(linux,mac): 创建一个子进程会完完全全复制一个主进程所有的资源,初始资源不变

    Windows: 操作系统调用CreateProcess处理进程的创建.

    Windows: 创建一个子进程会复制主进程所有的资源,但会改变一些资源

  9. 进程的状态: 就绪 运行 阻塞

二 操作系统

操作系统: 管理控制协调计算机中硬件与软件的关系.

操作系统的作用:

  1. 将一些对硬件操作的复杂丑陋的接口变成简单美丽的接口
  2. 多个进程抢占一个(CPU)资源时,操作系统会将你的执行变得合理有序

多道技术: 解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

  1. 空间上的复用: 将内存分区域,一个内存可以同时加载多个进程.
  2. 时间上的复用: 实现将CPU在多个进程之间来回切换,并且保留状态.

猜你喜欢

转载自www.cnblogs.com/lav3nder/p/11802220.html