操作系统的概念


  • 分时操作系统

  • 实时操作系统

  • 批处理系统

  • 多道程序系统


分时系统(Time-sharing System)
将CPU的执行时间分成一个个的时间片(time slice),多用户中的每个用户轮转时间片,适合交互型作业

Memory sharing(存储共享)+time sharing(时间共享)-> multiprogramming(多道系统)+interaction(交互)
分时系统是一个通用的系统,不 限制任务的 数目和状态。
分时的特点:

  1. 交互性强,主要为交互型作业设计;
  2. 多道路性;
  3. 独占性;
  4. 及时性;

影响分时操作系统性能的因素:

  1. 用户数目;
  2. 时间片大小;
  3. 每次时间片切换是对换是数据量;

实时系统(Real-Time System)
实时系统主要用于专业系统(used in dedicated application),有非常严格的时间要求(well-defined fixed-time constraints)。

–软实时(实时Linux)
一个任务能够得到有确保的处理时间,达到系统的事件也能够在截至期限到来之前来理,但违法截至期限并不会带来致命的错误。

–硬实时(VxWorks等实时系统)

硬实时系统指系统要有确保的最坏情况下的服务时间,即对于事件的响应时间的截止期限是无论如何都必须得到满足。

举一个经常使用的实例,中高档汽车中使用的气囊。当报告车辆碰撞的传感器中断CPU后,操作系统应快速地分配展开气囊的任务,并且不允许任何其他非实时处理进行干扰,晚一秒钟展开气囊比没有气囊的情况更糟糕,这就是一个典型的必须使用硬实时的系统。


批处理系统(Batch OS)
批处理系统主要用于大型系统,用于提高作业吞吐量(Throughout,单位时间内执行作业的数量)的系统。
批处理中基本无交互,存在两种调度:

  1. Job Schedule(作业调度),即将所要做的作业放到内存上,主要负责工作的道数,属于高级调度。
  2. CPU Schedule(进程调度),即在内存中CPU选择执行某个工作,属于低级调度。

进程的三个状态:就绪(Ready),运行(Running),等待(Waiting)/阻塞(Blocking)


多道程序系统(Multiprogramming System)

优点:

  1. Improve CPU utilization 2% –> 100%(in theory)
    注:但程序道数越多,系统消耗(overhead)越高,会造成CPU有效利用率降低
  2. Improve memory and I/O device utilization.
  3. Increase system throughout.
    特点:
  4. 多道
  5. 无序(unordered),执行是无序的,即用户不知道进程状态,但系统知道当前进程的状态
  6. 调度性(scheduling)

缺点:
交互性低