第4章 进程

来源:互联网 发布:linux 打压缩包 编辑:程序博客网 时间:2024/06/06 21:38

4.1 什么是进程(process)

  • 进程 = 程序 + 运行   ----> 最早的OS中进程又叫job,其实质就是运行中的程序
  • 为了提高cpu的利用率,实现多道编程,产生进程的概念;可以单机多进程(实例)的工作
  • 进程有三个状态:阻塞、就绪、运行

4.2 进程的创立

  • 分配资源(进程控制块、寄存器资源、内存资源、程序计数器)
  • 将程序代码(依赖的数据,不是必须的;程序代码是必须的)从磁盘读入到内存
  • 设置程序计数器:跳转到程序的起始地址


4.3 进程与地址空间

进程空间也叫地址空间,就是进程所需要的所有资源;地址空间只是资源,是被动的不能自己采取任何action,需要有有一个角色来进行各种action;
这个角色就是线程;【地址空间就类似舞台上的各种道具,线程就类似于演员】

  • 进程的所有信息用 进程表来管理,下面是进程表的信息:
  • 进程ID、创建进程userid、创建时间
  • 子进程、父进程、祖父进程的指针
  • 寄存器、栈指针、当前持有句柄

4.4 进程管理

进程管理最大的任务是资源管理和效率:
  • 资源管理要公平: 不同的用户、不同的进程获取资源的方式要公平;
  • 效率也是同样重要的: 一个进程的阻塞,即使给他再多的cpu,也是在等待,所以整体的效率、利用率也非常重要

4.5 进程的缺陷

  • 一个process 在同一个时间只能干一件事情(多线程可以解决这个问题:一个线程处理http 服务,一个线程处理数据 .....;多个任务并发)
  • 一个process 阻塞(比如等待I/O) 那这个进程就不能干其他事情了,只能等待阻塞的资源ready
  • 为了解决上面2个问题,我们引入了线程的概念


0 0