设为首页 加入收藏

TOP

第二章 - 进程
2023-07-23 13:26:10 】 浏览:23
Tags:进程

2.1 进程的定义、组成、组织、特征:

2.1.1 进程的定义:

  • 程序:一个指令序列
  1. 定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
  2. 单道程序:
    1. 一次只能处理一个程序,当该程序运行时,cpu、内存、I/O设备都要为它一个程序服务
    2. 程序的代码放在程序段内,程序运行过程处理的数据放在数据段
  3. 多道程序:
    1. 一次可以处理多个程序
    2. 问题?操作系统怎么找到各程序存在内存的位置  
    3. 解决问题:系统为每个程序配置一个数据结构,叫做进程控制块PCB,来扫描进程的各个信息
  4. 进程实体:
    1. 程序段、数据段、PCB组成进程实体(进程映像)
    2. 进程实体,也可以叫做进程

2.1.2 进程的组成:

  • 进程的组成说的是:进程内部由哪些部分构成(和进程的组织要区分开)
  1. PCB:
    1. PCB是进程存在的唯一标识
    2. 进程描述、资源分配等
    3. 记住:PCB进程的管理者,所需的数据全在PCB中
      1. 如:分配进程优先级、进程标识的PID、UID,I/O设备的分配
  2. 程序段:
    1. 存放要执行的代码  
  3. 数据段:
    1. 存放程序运行过程中处理的各种数据

2.1.3 进程的组织:

  • 进程的组织说的是:多个进程之间组织的方式
  • 说的目的是:一个操作系统有非常多个PCB,它们是怎么有效的管理起来这么多个PCB

  1. 链接方式:
    1. 把当前运行的进程分为不同的运行状态
    2. 这些运行状态会通过指针指向不同的PCB
    3. 指向不同的PCB,优先级高的会在前面
  2. 索引方式:
    1. 和链接方式一样,它是通过索引表来指向

 

 2.1.4 进程特征:

 2.1.5 总结:

  1. 什么进程是:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
  2. 进程的组成:PCB、程序段、数据段
    1. PCB是基础存在的唯一标识、基础的管理者
    2. 程序段:放程序执行代码
    3. 数据段:放运行时使用的数据
  3. 组织方式:链接、索引

2.2 进程的状态与转换:

2.2.1 进程的状态:

  1. 三种基本状态:
    1. 运行态、就绪态、阻塞态
  2. 其它两种状态:
    1. 创建态、终止态

2.2.2 进程的转换:

 

 

 2.2.3 总结

  1. 运行态:有cpu有资源
  2. 阻塞态:什么都没有,可能是在等某个IO操作
  3. 就绪态:有处了CPU之外的所有资源
  4. 创建态:进程的创建
  5. 终止态:进程的终止

 

2.3 进程的控制:

  1. 进程的控制用原语进行控制
    1. 原语是要么全执行,要么全不执行
    2. 用关/开中断来实现
  2. 原语的不同操作共性:
    1. 跟新PCB中的信息
    2. 将PCB插入合适的队列
    3. 分配或回收资源
  3. 想关原语:
    1. 创建原语
    2. 终止原语
    3. 阻塞原语 -阻塞和唤醒要成对出现
    4. 唤醒原语 -阻塞和唤醒要成对出现
    5. 切换原语
  4. 各原语的功能:

 

 

 

 

 

 

 

2.9 FCFS、SJF、HRRN调用算法:

2.9.1 先来先服务FCFS:

  • FCFS的调度算法,跟排队买奶茶一样,谁先,谁执行 

 

  •  FCFS概念

 

 

2.9.2 短作业优先(不抢占、抢占)JSF:

  • JSF的调度算法,就是运行时间短的优先(抢占)

 

  • SRTN短作业抢占调用算法,根据运行的时间来互相抢占

 

  •  短作业的算法概念

 

 2.9.3 高响应优先HRRN:

  • 根据响应比来决定优先执行顺序,得出响应比,就可以算周转时间了

 

  • HRRN的概念

 

 2.9.4 三种算法的对比:

 

 2.9.5 总结、细节:

  1. 记住周转时间、带权周转时间、等待时间、和平均时间的公式
  2. 记住HEER的响应比的公式
  3. 细节:带权周转时间,指的是周转时比运行时间大多少倍
  4. 细节:等待时间公式是:等待时间=周转时间-运行时间-(IO设备操作时间-IO时间的减和不减要根据具体来分析)
  5. 大细节-考试会考:JSF算法是平均等待时间,平均周转时间最少(宏观上理解这句话)

   

  

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇如何关闭Win11系统更新 下一篇如何将Windows操作系统用户名的中..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目