登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天道酬勤 玩物丧志

用勇气去改变可以改变的事情,用胸怀去包容无法改变的事情,用智慧去判断两者的区别

 
 
 

日志

 
 

计算机系统  

2011-07-04 22:43:36|  分类: 计算机基础 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        计算机系统由计算机硬件和软件两部分组成。硬件包括中央处理机、存储器和外部设备等;软件是计算机的运行程序和相应的文档。计算机系统 具有接收和存储信息、按程序快速计算和判断并输出处理结果等功能。

       计算机系统的层次结构。首先是硬件系统,是进行信息处理的实际物理装置。最外层是使用计算机的人,即用户。人与硬件系统之间的接口界面是软件系统,它大致可分为系统软件、支援软件和应用软件三层。

硬件

  硬件系统主要由中央处理器、存储器、输入输出控制系统和各种外部设备组成。中央处理器是对信息进行高速运算处理的主要部件,其处理速度最高可达每秒几亿次操作。存储器用于存储程序、数据和文件,常由快速的主存储器(容量可达数百兆字节)和慢速海量辅助存储器(容量可达 1011字节以上)组成。各种输入输出外部设备是人机间的信息转换器,由输入-输出控制系统管理外部设备与主存储器(中央处理器)之间的信息交换

软件

  软件系统的最内层是系统软件,它由操作系统实用程序编译程序等组成。操作系统实施对各种软硬件资源的管理控制。实用程序是为方便用户所设,如文本编辑等。编译程序的功能是把用户用汇编语言或某种高级语言所编写的程序,翻译成机器可执行的机器语言程序。支援软件有接口软件、工具软件、环境数据库等,它能支持用机的环境,提供软件研制工具。支援软件也可认为是系统软件的一部分。应用软件是用户按其需要自行编写的专用程序,它借助系统软件和支援软件来运行,是软件系统的最外层。[3]

分类

  计算机系统可按系统的功能、性能或体系结构分类。

  计算机系统 - yellowriver - 天道酬勤 玩物丧志

计算机系统

① 专用机与通用机:早期计算机均针对特定用途而设计, 具有专用性质。60年代起, 开始制造兼顾科学计算、事务处理和过程控制三方面应用的通用计算机。特别是系列机的出现,标准文本的各种高级程序语言的采用,操作系统的成熟,使一种机型系列选择不同软件、硬件配置,就能满足各行业大小用户的不同需要,进一步强化了通用性。但特殊用途的专用机仍在发展,例如连续动力学系统的全数字仿真机,超微型的空间专用计算机等。

  ② 巨型机、大型机、中型机、小型机、微型机:计算机是以大、中型机为主线发展的。60年代末出现小型计算机,70年代初出现微型计算机,因其轻巧、价廉、功能较强、可靠性高,而得到广泛应用。70年代开始出现每秒可运算五千万次以上的巨型计算机,专门用于解决科技、国防、经济发展中的特大课题。巨、大、中、小、微型机作为计算机系统的梯队组成部分,各有其用途,都在迅速发展。

  ③ 流水线处理机与并行处理机:在元件、器件速度有限的条件下,从系统结构与组织着手来实现高速处理能力,成功地研制出这两种处理机。它们均面向ɑiθbi=ci(i=1,2,3,…,nθ为算符)这样一组数据(也叫向量)运算。流水线处理机是单指令数据流(SISD)的,它们用重叠原理,用流水线方式加工向量各元素,具有高加工速率。并行处理机是单指令流多数据流(SIMD)的,它利用并行原理,重复设置多个处理部件,同时并行处理向量各元素来获得高速度(见并行处理计算机系统)。流水和并行技术还可结合,如重复设置多个流水部件,并行工作,以获得更高性能。研究并行算法是发挥这类处理机效率的关键。在高级程序语言中相应地扩充向量语句,可有效地组织向量运算;或设有向量识别器,自动识别源程序中的向量成分。

  一台普通主机(标量机)配一台数组处理器(仅作高速向量运算的流水线专用机),构成主副机系统,可大大提高系统的处理能力,且性能价格比高,应用相当广泛。

  ④ 多处理机与多机系统、分布处理系统和计算机网:多处理机与多机系统是进一步发展并行技术的必由之路,是巨型、大型机主要发展方向。它们是多指令流多数据流(MIMD)系统,各机处理各自的指令流(进程),相互通信,联合解决大型问题。它们比并行处理机有更高的并行级别,潜力大,灵活性好。用大量廉价微型机,通过互连网络构成系统,以获得高性能,是研究多处理机与多机系统的一个方向。多处理机与多机系统要求在更高级别(进程)上研究并行算法,高级程序语言提供并发、同步进程的手段,其操作系统也大为复杂,必须解决多机间多进程的通信、同步、控制等问题。

  分布系统是多机系统的发展,它是由物理上分布的多个独立而又相互作用的单机,协同解决用户问题的系统,其系统软件更为复杂(见分布计算机系统)。

  现代大型机几乎都是功能分布的多机系统,除含有高速中央处理器外,有管理输入输出的输入输出处理机(或前端用户机)、管理远程终端及网络通信的通信控制处理机、全系统维护诊断的维护诊断机和从事数据库管理的数据库处理机等。这是分布系统的一种低级形态。

  多个地理上分布的计算机系统,通过通信线路和网络协议,相互联络起来,构成计算机网。它按地理上分布的远近,分为局部(本地)计算机网和远程计算机网。网络上各计算机可相互共享信息资源和软硬件资源。订票系统、情报资料检索系统都是计算机网应用的实例

  ⑤ 诺伊曼机与非诺伊曼机:存储程序和指令驱动的诺伊曼机迄今仍占统治地位。它顺序执行指令,限制了所解问题本身含有的并行性,影响处理速度的进一步提高。突破这一原理的非诺伊曼机,就是从体系结构上来发展并行性,提高系统吞吐量,这方面的研究工作正在进行中。由数据流来驱动的数据流计算机以及按归约式控制驱动和按需求驱动的高度并行计算机,都是有发展前途的非诺伊曼计算机系统。

工作流程

  用户使用计算机系统算题的一般流程如图2。①通过系统操作员建立帐号,取得使用权。帐号既用于识别并保护用户的文件(程序和数据),也用于系统自动统计用户使用资源的情况(记帐,付款)。②根据要解决的问题,研究算法,选用合适的语言,编写源程序,同时提供需处理的数据和有关控制信息。③把②的结果在脱机的专用设备上放入软磁盘,建立用户文件(也可在联机终端上进行,直接在辅助存储器中建立文件,此时第四步省去)。④借助软盘机把软盘上用户文件输入计算机,经加工处理,作为一个作业,登记并存入辅助存储器。⑤是要求编译。操作系统把该作业调入主存储器,并调用所选语言的编译程序,进行编译和连接(含所调用的子程序),产生机器可执行的目标程序,存入辅助存储器。⑥要求运算处理。操作系统把目标程序调入主存储器,由中央处理器运算处理,结果再存入辅助存储器。⑦运算结果由操作系统按用户要求的格式送外部设备输出。

  计算机内部工作(④~⑦)是在操作系统控制下的一个复杂过程。通常,一台计算机中有多个用户作业同时输入,它们由操作系统统一调度,交错运行。但这种调度对用户是透明的,一般用户无需了解其内部细节。

  用户可用一台终端,交互式的控制③~⑦的进行(分时方式);也可委托操作员完成③~⑦,其中④~⑦是计算机自动进行的(批处理方式)。批处理方式的自动化程度高,但用户不直观,无中间干预。分时方式用户直观控制,可随时干预纠错,但自动化程度低。现代计算机系统大多提供两种方式,由用户选用。

操作系统

  操作系统是方便用户、管理和控制计算机软硬件资源的系统软件(或程序集合)。 从用户角度看,操作系统可以看成是对计算机硬件的扩充;从人机交互方式来看,操作系统是用户与机器的接口;从计算机的系统结构看,操作系统是一种层次、模块结构的程序集合,属于有序分层法,是无序模块的有序层次调用。操作系统在设计方面体现了计算机技术和管理技术的结合。 操作系统在计算机中的地位:

  操作系统是软件,而且是系统软件。它在计算机系统中的作用,大致可以从两方面体会:

  对内,操作系统管理计算机系统的各种资源,扩充硬件的功能;

  对外,操作系统提供良好的人机界面,方便用户使用计算机。它在整个计算机系统中具有承上启下的地位。

  操作系统是一个大型的软件系统,其功能复杂,体系庞大。从不同的角度看的结果也不同,正是“横看成岭侧成峰”,下面我们通过最典型的两个角度来分析一下。

  1.从程序员的角度看

  正如前面所说的,如果没有操作系统,程序员在开发软件的时候就必须陷入复杂的硬件实现细节。程序员并不想涉足这个可怕的领域,而且大量的精力花费在这个重复的、没有创造性的工作上也使得程序员无法集中精力放在更具有创造性的程序设计工作中去。程序员需要的是一种简单的,高度抽象的可以与之打交道的设备。

  将硬件细节与程序员隔离开来,这当然就是操作系统。

  从这个角度看,操作系统的作用是为用户提供一台等价的扩展机器,也称虚拟机,它比底层硬件更容易编程。

  2.从使用者的角度看

  从使用者的角度来看,操作系统则用来管理一个复杂系统的各个部分。

  操作系统负责在相互竞争的程序之间有序地控制对CPU、内存及其它I/O接口设备的分配。

  比如说,假设在一台计算机上运行的三个程序试图同时在同一台打印机上输出计算结果。那么头几行可能是程序1的输出,下几行是程序2的输出,然后又是程序3的输出等等。最终结果将是一团糟。这时,操作系统采用将打印输出送到磁盘上的缓冲区的方法就可以避免这种混乱。在一个程序结束后,操作系统可以将暂存在磁盘上的文件送到打印机输出。

  从这种角度来看,操作系统则是系统的资源管理者。

发展历史

  下面我们结合计算机的发展历史来回顾一下操作系统的发展历程。

  1.第一代计算机(1945-1955):真空管和插件

  40年代中期,美国哈佛大学、普林斯顿高等研究院、宾夕法尼亚大学的一些人使用数万个真空管,构建了世界上第一台电子计算机。开启计算机发展的历史。这个时期的机器需要一个小组专门设计、制造、编程、操作、维护每台机器。程序设计使用机器语言,通过插板上的硬连线来控制其基本功能。

  这个时候处于计算机发展的最初阶段,连程序设计语言都还没有出现,操作系统更是闻所未闻!

  2.第二代计算机(1955-1965):晶体管和批处理系统

  这个时期计算机越来越可靠,已从研究院中走出来,走进了商业应用。但这个时期的计算机主要完成各种科学计算,需要专门的操作人员维护,并且需要针对每次的计算任务进行编程。

  第二代计算机主要用于科学与工程计算。使用FORTRAN与汇编语言编写程序。在后期出现了操作系统的雏形:FMS(FORTRAN监控系统)和IBMSYS(IBM为7094机配备的操作系统)

  3.第三代计算机(1965-1980):集成电路芯片和多道程序

  60年代初,计算机厂商根据不同的应用分成了两个计算机系列,一个针对科学计算,一个针对商业应用。

  随着计算机应用的深入,对统一两种应用的计算机需求出现了。这时IBM公司试图通过引入System/360来解决这个问题。

  与这个计划配套,IBM公司组织了OS/360操作系统的开发,然后复杂的需求,以及当时软件工程水平低下使得OS/360的开发工作陷入了历史以来最可怕的“软件开发泥潭”,诞生了最著名的失败论著----《神秘的人月》。

  虽然这个开发计划失败了,但是这个愿望却成为了计算机厂商的目标。

  此时,MIT、Bell Lab(贝尔实验室)和通用电气公司决定开发一种“公用计算机服务系统”----MULTICS,希望其能同时支持数百名分时用户的一种机器。结果这个计划的研制难度超出了所有人的预料,最后这个系统也以失败结束。不过,MULTICS的思想却为后来的操作系统很多提示。

  60年代未,一位贝尔实验室曾参加过MULTICS研制工作的计算机科学家Ken Thompson,在一台无人使用的PDP-7机器上开发出了一套简化的、单用户版的MULTICS。后来导致了UNIX操作系统的诞生。

  目前UNIX操作系统主导了小型机、工作站以及其他市场。也是至今最有影响力的操作系统之一,而Linux也是UNIX系统的一种衍生,下一讲我们将专门介绍一下UNIX的发展历史。

  4.第四代计算机(1980-今):个人计算机

  随着计算机技术的不断更新与发展,计算机神奇般地闯入了人们的生活,现在以低廉的价格就可以获得强大计算能力的计算机。

  价格不再是阻拦计算机普及的门槛时,降低计算机的易用性就显得十分重要!由于UNIX系统的本身特点,使得其不太适合于在运行在个人计算机上,这时就需要一种新的操作系统。

  在这一历史关键时候,IBM公司由于低估了PC机的市场,并未使用最大的力量角逐这一市场,这时Intel公司趁机进入,成为了当今微处理器的老大。同时善于抓住时机的微软公司的总裁比尔·盖茨适时地进入了这一领域,用购买来的CP/M摇身一变成为MS-DOS,并凭借其成为个人计算机操作系统领域的霸主。

  虽然是苹果公司在GUI方面先拔头筹,但由于苹果公司的不兼容、不开放的市场策略,未能扩大战果,这时微软又适时地进入了GUI方面,凭借WINDOWS系统再次称雄!

系统构成

  一般来说,操作系统由以下几个部分组成:

  1)进程调度子系统:

  进程调度子系统决定哪个进程使用CPU,对进程进行调度、管理。

  2)进程间通信子系统:

  负责各个进程之间的通信。

  3)内存管理子系统:

  负责管理计算机内存

  4)设备管理子系统:

  负责管理各种计算机外设,主要由设备驱动程序构成。

  5)文件子系统:

  负责管理磁盘上的各种文件、目录!

  6)网络子系统:

  负责处理各种与网络有关的东西。

结构设计

  操作系统有多种实现方法与设计思路,下面仅选取最有代表性的三种做一简单的叙述。

整体式系统

  1.整体式系统结构设计

  这是最常用的一种组织方式,它常被誉为“大杂烩”,也可说,整体式系统结构就是“无结构”。

  这种结构方式下,开发人员为了构造最终的目标操作系统程序,首先将一些独立的过程,或包含过程的文件进行编译,然后用链接程序将它们链接成为一个单独的目标程序。

  

  计算机系统 - yellowriver - 天道酬勤 玩物丧志

计算机系统

Linux操作系统就是采用整体式的系统结构设计。但其在此基础上增加了一些形如动态模块加载等方法来提高整体的灵活性,弥补整体式系统结构设计的不足。

层次式系统

  2.层次式系统结构设计

  这种方式则是对系统进行严格的分层,使得整个系统层次分明,等级森严!这种系统学术味道较浓!实际完全按照这种结构进行设计的操作系统不多,也没有广泛的应用。

  可以这么说,现在的操作系统设计是在整体式系统结构与层次式系统结构设计中寻求平衡。

微内核系统

  3.微内核系统结构设计

  而微内核系统结构设计则是近几年来出现的一种新的设计理念,最有代表性的操作系统有Mach和QNX。

  微内核系统,顾名思义就是系统内核很小!比如说QNX的微内核只负责:

  ¨ 进程间的通信

  ¨ 低层的网络通信

  ¨ 进程调度

  ¨ 第一级中断处理

横向比较

  计算机历史中出现了许许多多的操作系统,然后大浪淘沙,无情地淘汰了许多,只留下一些经历过市场考验的:

桌面操作系统

  1)MSDOS:Intel x86系列的PC机上的最早的操作系统,微软公司产品,曾经统治了这个领域,现在已逐渐被自家兄弟WINDOWS 9x系列所代替,现在除了一些低档机外已不多见。

  2)Windows 9x:微软公司产品,从Windows 3.x发展而来,现在是基于Intel x86系列的PC机上的主要操作系统,也是现然个人电脑中装机量最大的操作系统。面向桌面、面向个人用户。

  3)Mac OS:苹果公司所有,界面友好,性能优异,但由于只能运行在苹果公司自己的电脑上而发展有限。但由于苹果电脑独特的市场定位,现在仍存活良好。

  4)linux:Linux是一种计算机操作系统和它的内核的名字。它也是自由软件和开放源代码发展中最著名的例子。

  严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统(也被称为GNU/Linux)。基于这些组件的Linux软件被称为Linux发行版。一般来讲,一个Linux发行套件包含大量的软件,比如软件开发工具,数据库,Web服务器(例如Apache),X Window,桌面环境(比如GNOME和KDE),办公套件等等。

服务器操作系统

  1)UNIX系列:UNIX可以说是源远流长,是一个真正稳健、实用、强大的操作系统,但是由于众多厂商在其基础上开发了有自己特色的UNIX版本,所以影响了整体。在国外,UNIX系统可谓独树一帜,广泛应用于科研、学校、金融等关键领域。但由于中国的计算机发展较为落后,UNIX系统的应用水平与国外相比有一定的滞后。

  2)Windows NT系列:微软公司产品,其利用Windows的友好的用户界面的优势打进服务器操作系统市场。但其在整体性能、效率、稳定性上都与UNIX有一定差距,所以现在主要应用于中小企业市场。

  3)Novell Netware系列:Novell公司产品,其以极适合于中小网络而著称,在中国的证券行业市场占有率极高,而且其产品特点鲜明,仍然是服务器系统软件中的长青树。

弗林分类法

  弗林(Flynn)分类法是按指令流、数据流及其多倍性分类的。共分四类:

  SISD――指令部件只对一条指令处理,只控制一个操作部件操作。如一般的串行单处

  理机。

  SIMD――由单一指令部件同时控制多个重复设置的处理单元,执行同一指令下不同

  数据的操作。如阵列处理机

  MISD――多个指令部件对同一数据的各个处理阶段进行操作。这种机器很少见。

  MIMD――多个独立或相对独立的处理机分别执行各自的程序、作业或进程。例如多

  处理机。

  评论这张
 
阅读(727)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018