分时系统(Time-sharing System)
将CPU的执行时间分成一个个的时间片(time slice),多用户中的每个用户轮转时间片,适合交互型作业
Memory sharing(存储共享)+time sharing(时间共享)-> multiprogramming(多道系统)+interaction(交互)
分时系统是一个通用的系统,不 限制任务的 数目和状态。
分时的特点:
- 交互性强,主要为交互型作业设计;
- 多道路性;
- 独占性;
- 及时性;
影响分时操作系统性能的因素:
- 用户数目;
- 时间片大小;
- 每次时间片切换是对换是数据量;
实时系统(Real-Time System)
实时系统主要用于专业系统(used in dedicated application),有非常严格的时间要求(well-defined fixed-time constraints)。
–软实时(实时Linux)
一个任务能够得到有确保的处理时间,达到系统的事件也能够在截至期限到来之前来理,但违法截至期限并不会带来致命的错误。
–硬实时(VxWorks等实时系统)
硬实时系统指系统要有确保的最坏情况下的服务时间,即对于事件的响应时间的截止期限是无论如何都必须得到满足。
举一个经常使用的实例,中高档汽车中使用的气囊。当报告车辆碰撞的传感器中断CPU后,操作系统应快速地分配展开气囊的任务,并且不允许任何其他非实时处理进行干扰,晚一秒钟展开气囊比没有气囊的情况更糟糕,这就是一个典型的必须使用硬实时的系统。
批处理系统(Batch OS)
批处理系统主要用于大型系统,用于提高作业吞吐量(Throughout,单位时间内执行作业的数量)的系统。
批处理中基本无交互,存在两种调度:
- Job Schedule(作业调度),即将所要做的作业放到内存上,主要负责工作的道数,属于高级调度。
- CPU Schedule(进程调度),即在内存中CPU选择执行某个工作,属于低级调度。
进程的三个状态:就绪(Ready),运行(Running),等待(Waiting)/阻塞(Blocking)
多道程序系统(Multiprogramming System)
优点:
- Improve CPU utilization 2% –> 100%(in theory)
注:但程序道数越多,系统消耗(overhead)越高,会造成CPU有效利用率降低 - Improve memory and I/O device utilization.
- Increase system throughout.
特点: - 多道
- 无序(unordered),执行是无序的,即用户不知道进程状态,但系统知道当前进程的状态
- 调度性(scheduling)
缺点:
交互性低