分时操作系统的分类

分时操作系统,主要分为三类:单道分时操作系统,多道分时操作系统,具有前台和后台的分时操作系统。

分时操作系统是一个多用户交互式操作系统。

简介(time-sharing

system)——70年代中期至今

“分时”的含义:分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。

分时操作系统是指:在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。

工作方式

分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命令。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。

分时操作系统的特点

1.多路性:即众多联机用户可以同时使用同一台计算机;

2.独占性:各终端用户感觉到自己独占了计算机;

3.交互性:用户与计算机之间可进行“会话”。

4.及时性:用户的请求能在短时间内得到响应。

常见的通用操作系统是分时系统与的结合。其原则是:分时优先,批处理在后。“前台”响应需频繁交互的作业,如终端的要求;“后台”处理时间性要求不强的作业。

即CPU分配给各个程序的时间,每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。而不会造成CPU资源浪费。在宏观上:我们可以同时打开多个应用程序,每个程序并行不悖,同时运行。但在微观上:由于只有一个CPU,一次只能处理程序要求的一部分,如何处理公平,一种方法就是引入时间片,每个程序轮流执行。

举例

你同时输入两篇文档:A.txt和B.txt;

你在A中输入一个字之后,再在B中输入一个字,轮流输入,直至完成。总的看来你似乎在同时进行两篇文章的录入,你可以说我一边写A一边写B。但是具体到某个字时,就是沿着时间的前进,AB交替进行了。而你每个字输入所占用的这段时间,我们就可以称之为时间片。

举个程序的例子,说明时间片是怎样工作的(java)

如上:

由此可见:两个线程是交替执行的(数字的变化),从宏观上(同时输出)。

其他资料

时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。

时间片轮转调度中唯一有趣的一点是时间片的长度。从一个进程切换到另一个进程是需要一定时间的--保存和装入寄存器值及内存映像,更新各种表格和队列等。假如进程切换(process

switch) -有时称为上下文切换(context switch),需要5毫秒,再假设时间片设为20毫秒,则在做完20毫秒有用的工作之后,CPU将花费5毫秒来进行进程切换。CPU时间的20%被浪费在了管理开销上。

为了提高CPU效率,我们可以将时间片设为500毫秒。这时浪费的时间只有1%。但考虑在一个中,如果有十个交互用户几乎同时按下回车键,将发生什么情况?假设所有其他进程都用足它们的时间片的话,最后一个不幸的进程不得不等待5秒钟才获得运行机会。多数用户无法忍受一条简短命令要5秒钟才能做出响应。同样的问题在一台支持多道程序的个人计算机上也会发生。

结论可以归结如下:时间片设得太短会导致过多的进程切换,降低了CPU效率;而设得太长又可能引起对短的交互请求的响应变差。将时间片设为100毫秒通常是一个比较合理的折衷。

实时系统(Real-time operating system,RTOS)

实时系统(Real-time operating

system,RTOS)的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。实时系统能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。因此实时系统应该在事先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。

实时系统的特点

一、时间约束性

实时系统的任务具有一定的时间约束(截止时间)。根据截止时间,实时系统的实时性分为“硬实时”和“软实时”。硬实时是指应用的时间需求能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如在航空航天、军事、核工业等一些关键领域中的应用。软实时是指某些应用虽然提出时间需求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如监控系统等和信息采集系统等。

二、可预测性

可预测性是指系统能够对实时任务的执行时间进行判断,确定是否能够满足任务的时限要求。由于实时系统对时间约束要求的严格性,使可预测性称为实时系统的一项重要性能要求。除了要求硬件延迟的可预测性以外,还要求软件系统的可预测性,包括应用程序的是可预测的,即在有限的时间内完成必须的工作;以及操作系统的可预测性,即实时原语、调度函数等运行开销应是有界的,以保证应用程序执行时间的有界性。

三、可靠性

大多数实时系统要求有较高的。在一些重要的实时应用中,任何不可靠因素和计算机的一个微小故障,或某些特定强实时任务(又叫关键任务)超过时限,都可能引起难以预测的严重后果。为此,系统需要采用和保留资源的方法及冗余配置,使系统在最坏情况下都能正常工作或避免损失。可靠性已成为衡量实时系统性能不可缺少的重要指标。

四、与外部环境的交互作用性

实时系统通常运行在一定的环境下,外部环境是实时系统不可缺少的一个组成部分。计算机子系统一般是,它必须在规定的时间内对外部请求做出反应。外部物理环境往往是被控子系统,两者互相作用构成完整的实时系统。大多数控制子系统必须连续运转以保证子系统的正常工作或准备对任何异常行为采取行动。

实时系统的新特点

早期的实时系统功能简单,包括、,以及简单的等,其调度过程相对简单。随着实时系统应用范围的不断扩大,系统复杂性不断提高,实时系统具有以下新特点。

1、多任务类型

在实时系统中,不但包括、偶发任务、非周期任务,还包括非实时任务。实时任务要求要满足时限,而非实时任务要求要使其响应时间尽可能的短。多种类型任务的混合,使系统的可调度性分析更加困难。

2、约束的复杂性

任务的约束包括时间约束、资源约束、执行顺序约束和。时间约束是任何实时系统都固有的约束。资源约束是指多个实时任务共享有限的资源时,必须按照一定的资源访问控制协议进行同步,以避免死锁和高优先级任务被低优先级任务堵塞的时间(即优先级倒置时间)不可预测。执行顺序约束是指各任务的启动和执行必须满足一定的时间和顺序约束。例如,在分布式端到端(end-to-end)实时系统很重,同一任务的各子任务之间存在前驱/后驱约束关系,需要执行同步协议来管理子任务的启动和控制子任务的执行,使它们满足时间约束和系统可调度要求。性能约束是指必须满足如可靠性、可用性、可预测性、服务质量(Quality of Service,QoS)等性能指标。

3、具有短暂超载的特点

在实时系统中,即使一个功能设计合理、资源充足的系统也可能由于一下原因超载:

1)系统元件出现老化,外围设备错误或系统发生故障。随着系统运行时间的增长,系统元件出现老化,系统部件可能发生故障,导致系统可用资源降低,不能满足实时任务的时间约束要求。

2)环境的动态变化。由于不能对未来的环境、系统状态进行正确有效地预测,因此不能从整体角度上对任务进行调度,可能导致系统超载。

3)应用规模的扩大。原先满足实时任务时限要求的系统,随着应用规模的增大,可能出现不能满足任务时限要求的情况,而重新设计、重建系统在时间和经济上又不允许。

实时系统调度

为了精确管理“时间”资源,已达到实时性和与预测性要求,并能够满足是实时系统的新要求,需用实时调度理论对任务进行调度和可调度性分析。任务调度技术包括调度策略和可调度性分析方法,两者是紧密结合的。任务调度技术研究的范围包括任务使用系统资源(包括、、、等资源)的策略和机制,以及提供判断系统性能是否可预测的方法和手段。例如,什么时候调度任务运行、在哪运行(当系统为多处理机系统或分布式系统时)、运行多长时间等等;以及判断分析用一定参数描述的实时任务能否被系统正确调度。

给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是调度。在非实时系统中,调度的主要目的是缩短系统平均响应时间,提高系统资源利用率,或优化某一项指标;而实时系统中调度的目的则是要尽可能地保证每个任务满足他们的时间约束,及时对外部请求做出响应。实时调度技术通常有多种划分方法,常用以下两种。

抢占式调度和非抢占式调度

1)抢占式调度通常是优先级驱动的调度。每个任务都有优先级,任何时候具有最高优先级且已启动的任务先执行。一个正在执行的任务放弃处理器的条件为:自愿放弃处理器(等待资源或执行完毕);有高优先级任务启动,该高优先级任务将抢占其执行。除了共享资源的临界段之外,高优先级任务一旦准备就绪,可在任何时候抢占低优先级任务的执行。抢占式调度的优点是实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点是上下文切换多。而非抢占式调度是指不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃。其优点是上下文切换少;缺点是在一般情况下,处理器有效资源利用率低,可调度性不好。

静态表驱动策略和优先级驱动策略

2)静态表驱动策略(Static Table-Driven Scheduling)是一种离线调度策略,指在系统运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表。这张运行时刻表与列车运行时刻表类似,指明了各任务的起始运行时刻及运行时间。运行时刻表一旦生成就不再发生变化了。在系统运行时,调度器只需根据这张时刻表启动相应的任务即可。由于所有调度策略在离线情况下指定,因此调度器的功能被弱化,只具有分派器(Dispatcher)的功能。

优先级驱动策略指按照任务优先级的高低确定任务的高低确定任务的执行顺序。优先级驱动策略又分为静态优先级调度策略。静态优先级调度是指任务的优先级分配好之后,在任务的运行过程中,优先级不会发生改变。静态优先级调度又称为固态优先级调度。动态优先级调度是指任务的优先级可以随着时间或系统状态的变化而发生变化。

实时系统分类

实时系统主要分为以下两类。

强实时系统

强实时系统(Hard Real-Time):在航空航天、军事、核工业等一些关键领域中,应用时间需求应能够得到完全满足,否则就造成如飞机失事等重大地安全事故,造成重大地生命财产损失和生态破坏。因此,在这类系统的设计和实现过程中,应采用各种分析、模拟及形式化验证方法对系统进行严格的检验,以保证在各种情况下应用的时间需求和功能需求都能够得到满足。

弱实时系统

弱实时系统(Soft Real-Time):某些应用虽然提出了时间需求,但实时任务偶尔违反这种需求对系统的运行以及环境不会造成严重影响,如(Video-On-Demand,)系统、信息采集与检索系统就是典型的弱实时系统。在VOD系统中,系统只需保证绝大多数情况下视频数据能够及时传输给用户即可,偶尔的数据传输延迟对用户不会造成很大影响,也不会造成像飞机失事一样严重的后果。

同时兼有批处理、分时、实时处理的功能,或同时兼有其中两个以上功能的操作系统称为通用操作系统.

分时操作系统就是计算机将什么的处理,分时、实时操作系统_通用操作系统.相关推荐

  1. 计算机可以按用户观点分吗,2016-2017杭州师范大学操作系统期末考试选择题

    1.操作系统是对(C)进行管理的软件 A.软件 B.硬件 C.计算机资源 D.应用程序 2.从用户的观点看,OS是(A) A.用户与计算机之间的接口 B.控制和管理计算机资源的软件 C.合理地组织计算 ...

  2. 操作系统--01计算机系统概述

    操作系统笔记 第一章 1.1 操作系统的特征 1.2操作系统的发展和分类 1.3操作系统的运行机制和体系结构 1.4 中断和异常 第一章 1.1 操作系统的特征 并发:并发和共享互为存在条件 共享: ...

  3. 沈航计算机考研专业课,2018年沈阳航空航天大学计算机学院811操作系统之计算机操作系统考研基础五套测试题...

    一.填空题 1. 从结构上看每个进程由三部分组成,它们是_____, _____, _____. [答案]程序:数据:进程控制块(PCB ). [解析]考查进程的构成.进程由程序.数据和进程控制块三部 ...

  4. 《计算机操作系统(计算机)》

    在单CPU 多道程序系统中并发运行两道程序P1和P2,它们的执行轨迹如下:P1:I1(25ms).CPU(12ms).O1(10ms):P2:I2(20ms).CPU(10ms).O2(20 ms): ...

  5. 【操作系统】计算机系统概述

    1.1 操作系统的基本概念 知识点 计算机系统自下而上可大致分为四部分:硬件.软件.应用程序和用户. 操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理地组织.调度计算机的工作与资源的分配,进 ...

  6. 我只是在猜想 ——站在云端看操作系统以及计算机的未来

    [b] [size=medium]时下的IT界,物联网和云计算是两个很时髦的概念.如果谁能脱口而出云计算和物联网这样的字眼,总会让人膜拜和崇敬.而人类追求时髦的心永远不死,这不,有好事者将这个东西拉郎 ...

  7. 计算机操作系统属于硬件系统吗,操作系统属于计算机的硬件系统吗

    操作系统属于计算机的硬件系统吗? 不属于,操作系统属于软件. 所谓硬件系统,是指构成计算机的物理设备,即由机械.光.电.磁器件构成的具有计算.控制.存储.输入和输出功能的实体部件.诸如你电脑里的硬盘. ...

  8. 认识计算机操作系统ppt,使用操作系统,认识计算机.ppt

    <使用操作系统,认识计算机.ppt>由会员分享,可在线阅读,更多相关<使用操作系统,认识计算机.ppt(18页珍藏版)>请在人人文库网上搜索. 1.第一台计算机的诞生,世界上第 ...

  9. 王道考研b站操作系统、计算机组成原理、计算机网络课程(课件资料)

    王道考研b站操作系统.计算机组成原理.计算机网络课程(课件资料) 链接:https://pan.baidu.com/s/1pkI_kx6WYSpglijIjMTQiw 提取码:yyds 复制这段内容后 ...

最新文章

  1. 半透明父视图,小程序不透明
  2. 做最好的自己,人生十件事(事业,人生,情感)
  3. 【Android 逆向】Linux 文件分类 ( 普通文件 | 目录文件 | 链接文件 | 字符设备文件 | 管道文件 | 块设备文件 )
  4. 《淘宝店铺装修与促销设计宝典》一6.1 设计全面的店铺客服区
  5. MySQL复制常用拓扑结构详解
  6. 怎么获取php文件,学习猿地-php怎么获取文件修改时间?
  7. 洗礼灵魂,修炼python(42)--巩固篇—type内置函数与类的千丝万缕关系
  8. JDK 环境变量配置
  9. JS~Boxy和JS模版实现一个标准的消息提示框
  10. efcore微软官方文档
  11. python爬虫网页图片显示不出来_网页爬虫 - python下载的图片不显示,无法查看
  12. 什么是台式机主板的“双通道”认知误区?
  13. 多目标应用:多目标蜣螂优化算法求解多旅行商问题(Multiple Traveling Salesman Problem, MTSP)
  14. kettle web 版本 (webspoon) 中文部署 kettle 页面编辑 kettleweb 中文
  15. 高德地图不显示定位点
  16. 什么是jquery?简单的jquery代码
  17. python怎么画人像_教你如何用Python画出心目中的自己
  18. 小冰与小娜:命运交叉的美少女AI
  19. 求是潮android最新版,是谁在暗中观察
  20. matlab可以做影像组学吗,影像组学分析与建模工具综述.PDF

热门文章

  1. 【Python项目实战】基于时间卷积网络(Temporal Convolution Network ,TCN)的发动机剩余寿命预测
  2. 快速关机或重启的快捷键
  3. 关于CSS的学习内容一
  4. Eclipse Rich Client Platform(1)
  5. 神经网络的三种训练方法,深度神经网络训练方法
  6. soundtouch android,SoundTouch APP
  7. git常用命令汇总及文件丢失问题处理
  8. 用友联合7家信创生态伙伴成立“信创领先实践联盟”,助力企业数智化国产替代
  9. matlab 微电网优化,微电网负荷优化分配详解.ppt
  10. 网络管理命令ping的使用