学习笔记48-操作系统

基本类型

  1. 批处理系统
    批处理操作系统有三个特点:用户脱机使用,作业分批处理,多道程序运行。用户提交作业之后就不能干预程序的运行,而且作业周转时间长,没有交互。
  2. 分时系统
    分时操作系统也有三个特点:人机交互(联机),多用户同时使用,多用户独立使用。允许多个用户同时使用,而且互不干扰,单个用户感觉不到别人也在使用这台计算机,用户请求能在较短时间内得到响应。
  3. 实时系统
    某些作业或者任务必须在规定的时间内完成,也就是紧急任务不需排队,要求及时性和可靠性,就产生了实时操作系统。

进程调度算法

  1. 先来先服务调度算法(FCFS)
    每次从就绪队列中选择最先进入该队列的进程,将处理机分配给它,属于不可剥夺算法,只能用在批处理系统中,是最简单的调度算法。
  2. 短作业(进程)优先调度算法(SJF)
    可以分为剥夺式的和非剥夺式的,每次从就绪队列中选择估计运行时间最短的进程,该算法对长作业不利,容易产生“饥饿现象”,也就是长作业长期得不到执行。但是它的平均等待时间,平均周转时间最短。
  3. 优先级调度算法
    分为静态优先级和动态优先级。静态优先级主要是根据进程类型,进程对资源的要求,用户类型等。动态优先级主要是根据进程占有CPU的时间和等待CPU的时间等。
  4. 高响应比优先调度算法
    响应比=(等待时间+要求服务时间)/要求服务时间
    这种算法兼顾了短作业和长作业,克服了饥饿现象。
  5. 时间片轮转调度算法
    在先来先服务的基础上,每个进程只能占有CPU相同的时间片,如果时间片内未完成,则重新进入就绪队列排队。保证不会产生饥饿现象。如果时间片足够大,就退化成了先来先服务调度,如果时间片太短,处理机频繁切换,又会导致CPU利用率低。
  6. 多级反馈队列调度算法
    设置了多级的等待队列,优先级越高的队列,时间片越短。当一个进程就绪,先进入第一级队列,如果在该时间片内未完成,就进入第二级队列,依次类推。只有上一级的队列为空时,才调度下一级的队列中的进程,分配处理机。
    该算法能满足各种类型的用户需要。对终端型用户,他们提交的作业大多短小,可以得到及时响应处理;对于短批处理用户,他们的作业会在第二第三级队列中得到处理,周转时间同样较短;对于长作业用户,他们的作业在前面每一级都得到部分处理,不会导致饥饿现象。

进程同步与互斥

进程通信

内存管理

你可能感兴趣的:(操作系统)