转 操作系统几个概念
操作系统几个概念
一、多道批处理系统
所谓批处理(batch processing )就是将作业按照它们的性质分组(或分批),然后再成组(或成批)地提交给计算机系统,由计算机自动完成后再输出结果,从而减少作业建立和结束过程中的时间浪费。根据在内存中允许存放的作业数,批处理系统
来源
在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。为了进一步提高资源的利用率和系统吞吐量,在20世纪60年代中期又引入了多道程序设计技术,由此而形成了多道批处理系统.又分为单道批处理系统和多道批处理系统。在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,成为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。![](//img-blog.csdn.net/20150824143854292?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
特点
多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。
系统的优缺点
系统利用率高。由于在内存中驻留了多道程序,它们共享资源,可保持资源处于忙碌状态,从而使各种资源得以充分利用。
系统吞吐量大。系统吞吐量是指系统在单位时间内所完成的总工作量。能提高系统吞吐量的主要原因可归结为:第一,CPU和其它资源保持“忙碌”状态; 第二,仅当作业完成时或运行不下去时才进行切换,系统开销小。
平均周转时间长。作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。在批处理系统中,由于作业要排队,依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,这对修改和调试程序是极不方便的。
处理机管理问题。在多道程序之间,应如何分配被它们共享的处理机,使得CPU既能满足各程序运行的需要.又有较高的利用率;此外,一旦将CPU分配给某程序后,应何时收回等一系列问题,属于处理机管理问题。
内存管理问题。应如何为每道程序分配必要的内存空间,使它们“各得其所”且不致因相互重叠而丢失信息,以及应如何防止因某道程序出现异常情况而破坏其它程序等问题,就是内存管理问题。
I/O设备管理问题。系统中可能有多种类型的I/O设备供多道程序共享,应如何分配这些I/O设备,如何做到既方便用户的使用,又能提高设备的利用率,这就是I/O设备管理问题。
文件管理问题。在现代计算机系统中,通常都存在着大量的程序和数据,应如何组织它们才便于用户使用;此外,还有信息保存的安全性和一致性问题,这些属于文件管理问题。
作业管理问题。对于系统中的各种应用程序,它们有的属于计算型,有的属于I/O型,有些既重要又紧迫;而有些作业又要求系统能及时响应,这时系统应如何组织和安排这些作业,这便是作业管理问题。
平均周转时间长。作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。在批处理系统中,由于作业要排队,依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,这对修改和调试程序是极不方便的。
待解决问题
多道批处理系统是一种有效、但十分复杂的系统。为使系统中的多道程序间能协调地运行,必须解决下述一系列问题。处理机管理问题。在多道程序之间,应如何分配被它们共享的处理机,使得CPU既能满足各程序运行的需要.又有较高的利用率;此外,一旦将CPU分配给某程序后,应何时收回等一系列问题,属于处理机管理问题。
内存管理问题。应如何为每道程序分配必要的内存空间,使它们“各得其所”且不致因相互重叠而丢失信息,以及应如何防止因某道程序出现异常情况而破坏其它程序等问题,就是内存管理问题。
I/O设备管理问题。系统中可能有多种类型的I/O设备供多道程序共享,应如何分配这些I/O设备,如何做到既方便用户的使用,又能提高设备的利用率,这就是I/O设备管理问题。
文件管理问题。在现代计算机系统中,通常都存在着大量的程序和数据,应如何组织它们才便于用户使用;此外,还有信息保存的安全性和一致性问题,这些属于文件管理问题。
作业管理问题。对于系统中的各种应用程序,它们有的属于计算型,有的属于I/O型,有些既重要又紧迫;而有些作业又要求系统能及时响应,这时系统应如何组织和安排这些作业,这便是作业管理问题。
二、分时系统
分时操作系统 (time-sharing system),“分时”的含义:分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。分时操作系统是一个多用户交互式操作系统。分时操作系统,主要分为三类:单道分时操作系统,多道分时操作系统,具有前台和后台的分时操作系统。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。![](//img-blog.csdn.net/20150824151201474?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
中文名:分时系统外文名(time-sharing system),全 名:分时操作系统,定 义:指多个用户分享使用同一台计算机
中文名:分时系统外文名(time-sharing system),全 名:分时操作系统,定 义:指多个用户分享使用同一台计算机
简介
并发操作这一概念很多计算机专业相关的人都有所了解了,它是为充分利用资源,提高资源利用率而实施的一种技术。其中CPU和通道并行操作,通道与通道并行操作,通道与I/O设备并行操作已成为现代计算机系统的基本特征。为了节省设备,CPU、通道和I/O设备之间的并行操作又按分时方式共享系统资源。与三种并行操作相应的有三种分时:CPU与通道分时使用内存、只读存贮器、数据通路等;通道和通道在分时操作的时候会使用CPU、内存、通道的公用控制部分等;同一通道中的I/O设备又分时使用内存、通道等。
工作方式
分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命令。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。
系统特点
分时概念并不局限于上面说的三种,在多道程序环境中,分时系统的概念又增强了许多,而形成多道程序分时共享硬件和软件资源。如果每道程序一次运行一个时间片,而且都是经过用户终端和一个用户相连,用户就可以通过终端与之交互作用。虽然说有多个用户同时在使用该系统,但是他们并不会感觉到其他用户的存在,就好象整个系统就只有他一个人在使用一样,这样的系统称为分时系统或多路系统。我们可以很容易理解分时系统,它有如下特征:(1)同时性,计算机系统能被多个用户同时使用;(2)独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象;(3)及时性:系统能以最快的速度将结果显示给用户;(4)交互作用性:用户能和电脑进行人机对话。
分时操作系统基本思想
时间片:是把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片。[1]
分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流把处理机分给各联机作业使用。[1]
分时操作系统:是一种联机的多用户交互式的操作系统。一般采用时间片轮转的方式使一台计算机为多个终端服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。[1]
三、抢占式多任务系统
在以前的操作系统中,如Windows 3.1,多任务方式是“协作式多任务”,意思是说一个任务得到了 CPU 时间,除非它自己放弃使用 CPU ,否则将完全霸占 CPU ,所以任务之间需要协作——使用一段时间的 CPU ,放弃使用,其它的任务也如此,才能保证系统的正常运行;而在现行使用的操作系统中,如Window 95及之后的Windows版本,使用的就是“抢占式多任务”了,它的总控制权在操作系统手中,操作系统会轮流询问每一个任务是否需要使用 CPU ,需要使用的话就让它用,不过在一定时间后,操作系统会剥夺当前任务的 CPU 使用权,把它排在询问队列的最后,再去询问下一个任务……。这种方式上的不同造成 95 和 3.1 性能上的不同:3.1 中如果有一个任务死锁,则系统也同样死锁;95 中有一个任务死锁,系统仍能正常运行。
具有最高优先级的线程就是当前正在运行的那个线程。驻留在CPU内正在运行的线程会在什么时候中止呢?一是属于它的时间片已经到期,二是加入了另一个优先级更高的线程。通过不断从一个线程到另一个线程的切换,给人的感觉是线程的执行是同时进行的。线程并非随时需要运行,经常发生的情况是某个线程需要等待用户的输入,另一个线程的信息或等待I/O请求,否则便无法执行下去。有些线程也许本来就处于挂起状态。
在抢占式多任务系统中,操作系统必须具有从任何一个运行的程序上取走控制权和使另一个程序获得控制权的能力。一个抢占式系统下运行的应用程序不用担心独占系统,因为系统会合理地给每个运行的任务分配时间块。将这种系统称做抢占式系统是因为它不管在所给时间块内会发生什么事,都抢占运行程序的控制权。OS/2和UNIX都是抢占式系统。
抢占式多任务处理(preemptive multitasking)是将同时进行的各项任务(task),依照重要程度来排定优先顺序。在抢占式多任务系统中,操作系统(operating system)必须具有从任何一个运行的程序上取走控制权和使另一个程序获得控制权的能力。一个抢占式系统下运行的应用程序不用担心独占系统,因为系统会合理地给每个运行的任务分配时间块。将这种系统称做抢占式系统是因为它不管在所给时间块内会发生什么事,都抢占运行程序的控制权。OS/2和UNIX都是抢占式系统。
参考:
http://www.searchcio.com.cn/whatis/word_3759.htm
http://wenku.baidu.com/link?url=CntLOrIAoiTtJ8s8xRHAYX01WOsUVaPTfdldyvdgRxwtHBSBjjrsVppjnR0sXOtjtmwf17zhgyRHD1bU0CJzHQ-kikPK5jDh8XQPjGqQtBe
http://baike.baidu.com/link?url=63QN7-vWDRlsR9FUCo77yBSfjD7iiHaZscQnU_cbsfU5ykv_x5VoMHTc6rVGOoC9PZs3sL5mkPEluS-IFcR7Uq