操作系统——进程和线程管理一节总结(1)

来源:互联网 发布:c 五子棋源码 编辑:程序博客网 时间:2024/06/17 08:48

一.操作系统的特征

并发,共享,虚拟,异步(在本节中还未接触到虚拟和异步)
具备以下功能:
  1. 处理机管理:进程管理
  2. 存储器管理:提高内存利用率
  3. 文件管理
  4. 设备管理

二.os的进程和线程

1 基本概念

进程:进程是程序的一次运行,包含程序段和数据,是程序对数据的操作;
线程:进程下的更细分,目前没有深入了解,目的是更有效的利用计算资源;

1.1 进程的状态和转换

状态:新建、就绪、阻塞、运行、终止

1.2进程控制的基本语句

创建原语、撤销原语、阻塞原语(block)、唤醒原语(wakeup)(阻塞和唤醒成对出现)

1.3进程的切换

处理机调度原则

在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况就在所难免。处理机调度是对处理机进行分配,就是从就绪队列中,按照一定的算法(公平、髙效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。
处理机调度是多道程序操作系统的基础,它是操作系统设计的核心问题。
  1. 满足特定用户的要求(响应时间、等待时间……)
  2. 系统的整体效率(平均周转时间)
  3. 调度算法的开销
通俗来讲,满足客户要求,速度尽可能快,费用尽可能少。
主要的评价准则:
  1. CPU的利用率
  2. 系统吞吐量
  3. 周转时间
  4. 等待时间(等待处理机处理的总的等待时间
  5. 响应时间

2.1 典型的调度算法
我们希望
  1. 先来的进程尽可能先服务
  2. 紧迫性进程先服务
  3. 同时希望系统的效率(CPU,吞吐量等等)更高
(1)先来先服务调度方法(效率低,对短作业不利,满足了1,不满足2,3)
(2)短作业优先调度(长作业吃亏,不满足1)
(3)高响应比优先调度算法——高响应比优先调度算法主要用于作业调度,该算法是对FCFS调度算法和SJF调度算法的一种综合平衡,同时考虑每个作业的等待时间和估计的运行时间。在每次进行作业调度时,先计算后备作业队列中每个作业的响应比,从中选出响应比最高的作业投入运行。(兼顾了1、2,但是运行时间并不好估计)


(4)时间片轮调度算法——先来先执行,每个进程执行固定的时间片时间后轮替。(时间片的大小很难确定)
(5)那么,如果想满足1、2、3,又不想计算时间片大小,怎么办呢?采用如下方法:



0 0