学习计算机系统结构意义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习计算机系统结构意义
操作系统不断地发展和完善,那么操作系统经过了那些发展段?有了那些提升?
操作系统是在解决计算机系统所面临的问题中诞生并发展的自然结果。
操作系统的发展从时间顺序上经历了从无操作系统到单道批处理系统,多道程序系统(多道批处理系统,分时系统)的发展过程。
随着计算机应用领域的扩大、计算机体系结构的多样化,又出现了微机操作系统、网络操作系统、实时操作系统,嵌人式操作系统和物联网操作系统。
在这里以计算机发展的时间为线索,说明操作系统是如何在解决计算机系统面临的问题中自然发展的。
无操作系统
第一代计算机(1945~1955年)使用电子管作为主要的电子器件,用插件板上的硬连线或穿孔卡片表示程序, 没有用来存储程序的内存, 无操作系统。
以1946年诞生于宾夕法尼亚大学的第一台实用电子计算机“埃尼阿克”(ENIAC)为例,它没有真正的内存,只有20个字节的寄存器用来存储数字。
每个字节10位,也就是只有200位的“存储”容量,无法支持存储程序。
操作系统需要常驻内存,当时的情况是不仅硬件技术无法支持操作系统的运行,理论研究领域也没有操作系统的概念。
使用“埃尼阿克”的方式是程序员用电路的连接方式表示算法,一旦算法发生改变,必须变更电路的连接方式。
程序员在使用“埃尼阿克”进行计算工作之前, 先用插件板上的电路连接表示程序,同时预
约好一段上机时间。
然后到机房中将插件板接到计算机中, 开启计算机开关, 开始一次运
算。
显然,一个用户程序进人计算机和退出计算机系统都需要人工干预,计算机无法自动完
成程序的加载和卸载。
因此,整个计算机系统处于运行一因等待人工操作暂停一运行,这样一种不能连续自动的工作状态。
单道批处理系统
第二代计算机(1955~1965年)使用的主要电子器件是晶体管,开始使用磁性存储设备,内外存容量增加,计算机运算速度提高,出现了早期的单道批处理系统。
在本篇中, 将用户程序及程序处理的数据统称为作业。
在单道批处理系统出现以前, 使用计算机的方式是操作员把作业挂到输人设备上, 启动机器, 运算结束取结果。
典型的情况是程序员用穿孔卡片表示程序和数据,需要运行这些穿孔卡片表示的作业时,程序员把卡片盒交给输入室的计算机操作员,然后程序员开始等待输出结果。
计算机运行完当前作业后,将计算结果从打印机上输出。
操作员到打印机上撕下运算结果送到输出室,程序员可以在这里取到自己作业运行的输出结果。
这种对计算机的人工控制模式存在的问题是, 机器速度很快的时候CPU 长时间等待人工操作,造成了CPU资源的严重浪费。
该问题的解决方案是利用磁性存储设备提高输入/输出(简写为I/O)速度。
同时, 系统程序常驻内存并自动装人作业, 撤销作业, 输出运算结果。
这里更详细地描述这一解决问题的思路。
操作员在输入室收集全部作业, 然后用一台相对便宜的、专门用来输人的计算机把作业从穿孔卡片输人到磁带上, 一盘磁带可以存储多个作业。
然后, 操作员把存有批量作业的磁带装到磁带机上。
操作员在专门用于计算的、性能较高的计算机上装人早期的操作系统, 也称监视程序,它能自动从磁带读人作业并使之运行, 把作业运行结果写人专门存放输出结果的磁带上。
每当一个作业运行结束后, 操作系统自动从磁带中读入下一个作业并使之运行。
当一批作业运行完毕后,操作员取下输人和输出展磁带,将输人磁带换成下一批作业,并把输出磁带装到专门用于输出的计算机上, 打印输出分结果。
这一时期的操作系统是单道批处理系统,内存中只能驻留一道用户作业,CPU 和内存资源被用户作业独占。
程序是指令的集合,程序执行时CPU依次,逐条执行指令的过程。
当执行输入/输出指令时,启动设备控制器工作。
在设备控制器控制设备完成输入/输出(磁带和内存之间的数据传输)的一段时间内是不需要CPU干预的,在单道批处理系统的管理下,此时间段内CPU空闲,无事可做。
对于租用计算机用户而言损失了CPU的机时,而计算机计算机系统损失了系统的吞吐量。
吞吐量时指单位时间内计算机系统处理的作业量。
多道程序系统
随着电子技术的发展,计算机开始采用基集成电路芯片作为主要的电子器件,IBM 360是第一个采用小规模集成电路芯片的主流机型。
这个时期, 生产厂商试图通过生产通用计算机,把用于科学计算、工程计算及磁带归档,打印处理的两类计算机合二为一。
但是通用计算机存在一个问题, 对于CPU 操作密集型的作业(即使用CPU 频率高的作业), 输入, 输出操作较少, CPU利用率比较高。
但是,当通用计算机用于运行输人和输出密集型的作业时田于CPU频繁等待输人、输出,而CPU在等待输人,输出完成的过程中只能原地踏步,无法进行任何有效的工作,使CPU的浪费最多可达到80%~90% 。
为了解决这一问题,提高CPU的利用率,提出了多道程序系统的概念。
OS/360是IBM开发的第一个多道程序系统。
多到程序系统的最初想法是将内存分成几个部分,每一部分存放不同的作业,当一个作业等待输入/输出操作完成时,另一个作业可以使用CPU,任何时刻,当一个作业运行完毕,操作系统会自动从外存装入另一个作业到空闲的内存区域。
从理论上讲,如果内存中可以同时存放足够的多作业,则CPU利用率可以接近100%。
早期的多到程序系统不具有交互功能,被称为多道批处理系统。
程序员提交作业后,在作业运行结束,输出结果之前,无法观察和控制作业的运行。
程序员提交作业后可能等待很长时间,得到的却可能是因为一个小小的语法错误而造成的错误结果。
解决这一问题的需求非常迫切,于是出现了分时操作系统。
在分时操作系统的支持下,多个用户可以同时通过不同的终端使用主机,主机可以快速响应常用命令,如程序调试命令。
使终端用户感觉自己独占计算机资源,并且实现用
户和主机的及时交互。
在分时系统中同时登录系统的多个用户提交的作业轮流执行,分时是使用主资源。
第一个通用分时系统CTSS(Compatible Time Sharing System)是麻省理工学院1962年在一台改装过的IBM 7094上开发成功的,后续出现了MULTICS(MULTiplexed Infomation and Compiyuting Service),UNIX,LINUX和windows等著名的既支持多道批处理功能,有支持分时功能的多道批程序系统。
微机操作系统
随着个人计算机的出现,微机操作系统应运而生。
第一个微机操作系统是Intel 公司的顾问Gary kildall 编写的CP/M(Control Program For Microcomputer)系统。
这是一个磁盘操作系统,用于Intel 8080。
1977年,CP/M被重写,使其可以在使用Intel 8080,Zilog Z80 及其他CPU芯片的多种微型计算机上运行。
从此,CP/M在微机操作系统市场风行了几年,成为了最著名的8位操作系统。
20世纪80年代初,IBM进军个人计算机市场。
在IBM向Digital Research 公司提出为IBM个人计算机编写16位操作系统时,Digital Research拒绝了IBM 的请求。
这无疑是Digital Research最糟糕的一次商业决策。
此时,一直与IBM 有联系的比尔·盖斯向一家计算机制造商购买了DOS(Disk Operating system)操作系统。
后来经过对DOS的修改,形成了新的DOS版本MS-DOS(Microsoft Disk Operating system)。
以后比尔·盖斯的微软公司采取了讲MS-DOS与硬
件捆绑销售策略。
随着CPU的不断提升,微软及时更新MS-DOS,使之日臻完善,成为微机操作系统的主流。
受到Macintosh的影响,1985年微软开始构建Windows操作系统。
时之今日,虽然面临各种挑战,Windows操作系统依然是微机操作系统的主流。
目前,除了Windows系列的微机操作系统之外,还有Linux,Chrome OS 和Mac OS 等一些支持个人计算机操作系统。
实时操作系统
随着计算机被广泛应用于各种工业现场的自动控制,只能机器人,海底探索和航空航天等领域,出现了各种实时系统。
实时计算机正确性不仅依赖于系统计算机逻辑结果,还依赖于产生正确结果的时间。
简单的解释就是,实习系统不仅要求系统能正确的计算出1加1等于2,而且要求必须在规定的时间内计算出1加1等于2。
如果计算结果正确,但是时间超过了规定时间。
依然被认为计算出错。
例如,锅炉温度和压力自动控制系统,重病检测系统都属于实时系统。
实时系统可以使用操作系统,也可以不用操作系统。
在高端的实时系统中通常都有高可靠性和支持实时资源的实时操作系统(Real-time Operating System,RTOS)。
VxWorks操作系统是美国WindRiver公司1983年设计开发的一种嵌入式操作系统;μC/OS-II是一种悲广泛应用与处理器,微控制器和数字信号处理器的开源实时多任务操作系统内核;Linux系统也支持实时性。
批处理系统,分时系统,实时系统的特点
1.单道批处理系统的特点
单道批处理系统内存中只有一道作业,可以自动成批处理作业,其特点如下。
∙自动性
单道批处理系统使计算机能够在操作系统控制下,自动地将作业从外存装入内存运行。
当作业运行完毕后,自动撤销已运行完毕的作业,并依次从外存装入下一个作业,使之运行。
∙顺序性
存放在外存中的作业按顺序依次装入内存运行,先进入内存的作业先运行完毕。
∙单道性
任何时刻内存中只有一道作业。
即操作系统每次只能从外存装入一个作业进入内存。
只有当该作业正常或异常结束,才能将下一个作业装入内存。
单道批处理系统与无操作系统的计算机相比而言,减少了等待人工操作的时间。
但是,单道批处理系统中,由于作业独占CPU和内存,当作业进行I/O时,CPU 只能等待I/O完成而无事可做。
使得CPU资源不能得到充分利用。
2.多道批处理系统的特点
在多道批处理系统中,用户所提交的作业先存放在外存中并排成一个队列。
该队列被称为“后备作业队列”。
由于操作系统作业调度程序按一定策略从后备作业队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
以达
到提高资源利用率和系统吞吐量的目的。
与单道批处理系统相比,多道批处理系统支持多道程序驻留内存,CPU可以不再空闲等待I/O。
多道批处理系统的特点如下。
∙多道性
在内存中可同时驻留多道程序,当在CPU上运行的作业提出I/O请求后,该CPU 可以执行其他作业,从而有效的提高了系统资源的利用率和吞吐量。
∙无序性
多个作业完成的先后顺序与它们进入内存的顺序之间没有严格的对应关系。
同时驻留在内存中的作业,其获得CPU的顺序和执行无法预知,先进入内存的作业不一定先被调度,也不一定先执行。
∙调度性
多道程序系统必须具有作业调度和进程调度功能。
作业调度用来从后备作业队列中选择一个或多个要被装入内存的作业。
进程调度程序用来从内存中选择一个(单CPU系统)或多个(多CPU系统)进程,使其在CPU上运行。
∙复杂性
由于多道程序系统中的作业共享CPU,内存,外设和文件,程序并发执行,多道程序系统必须具有处理机管理,内存管理,I/O设备管理,文件管理和作业管理的功能,分时系统还必须解决终端用户管理的问题。
因此,功能和实现技术都比单道批处理系统复杂的多。
多道批处理系统的优点是能够提高CPU,内存和I/O设备的利用率和系统的吞吐量。
多道批处理系统的缺点是系统平均周转时间长, 缺乏交互能力。
周转时间是指从作业被提交给系统开始到作业完成为止的时间。
平均周转时间是指所有作业的周转时间之和与作业数量的比值。
∙分时系统的有点
分时操作系统允许多个用户通过终端同时使用计算机。
分时操作系统是多道程序系统的自然延伸, 支持多个用户任务同时驻留内存, 每个用户通过终端与主机交互时都能得到快速响应。
分时系统的特点是多路性、独立性、及时性和交互性。
多路性是指允许在一台主机上同时连接多台联机终端。
独立性是指各终端用户彼此独立操作, 互不干扰。
及时性是指用户请求能在很短的时间内获得响应。
交互性是指用户可以通过终端与系统进行广泛的人机对话。
分时系统的优点是向用户提供了人机交互的方便性, 使多个用户可以通过不同的终端共享主机。
分时系统的实现需要解决两个关键问题,即及时接收和及时处理。
同时连接多个用户终端的分时系统要能及时接收用户的命令或数据, 新用户命令到来时, 尚未处理的用户命令要通过缓冲区来妥善保存。
此外, 分时系统要能及时处理用户的交互命令, 使系统的响应时间得到保证。
为了实现这一目标, 应该使所有的用户任务都直接进入内存, 并在很短的时间内使每个任务都运行一次。
∙实时系统的特点
实时操作系统主要用于实时控制和实时信息处理域。
实习系统必须能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。
与分时系统相比,实时系统具有以下特点。
∙多路性
实时操作系统多路性除具有与分时系统相同的特点外,主要表现在经常对多路的现场信息进行采集,以及对多个对象或多个执行机构进行控制。
∙独立性
实时信息系统与分时系统一样,每个终端用户在向实时系统提出服务请求时,是彼此独立地操作,互不干扰。
而在实时控制系统中,信息的采集和对对象的控制也是彼此互不干扰。
∙及时性
实时信息处理系统对实时性的要求是以人所能接受的等待时间时间来确定的,而实时控制系统的及时性则是以控制对象所要求的开始截止时间或完成截止时间来确定的。
∙交互性
实时信息系统的交互性仅限于访问系统某些特定的专用服务程序。
∙可靠性
实时系统比分时系统要求有更高的可靠性。
因为任何实时系统的错误都可能带来巨大的经济损失, 甚至危及生命安全。
因此, 在实时系统中, 往往采取多级容错措施来保证系统安全和数据安全。
需要注意的是,批处理系统,分时系统和实时系统是三种基本的操作系统类型,而一
个实际操作系统可能兼有三者或其中两者的功能特点。