资源描述
1.1细看处理器与主存放器
我们已经了解到全部计算机有类似能力且能执行相同功效,尽管一些可能比其余快。我们知道电脑系统有输入、输出、仓储、加工元件,还知道处理器是计算机系统“智能”部分,而且知道一个简单计算机系统能够有几个处理器。我们已经讨论了在电脑系统中数据以被称作位电子状态来表示。我们现在准备阐释计算机系统关键内部活动——处理器。
电脑内部操作很有趣,但真没有什么奥秘事。这种神秘性存在于那些道听途说和相信科幻作家人心中。计算机是不会思索电子设备,它必须插入电源,就像一台烤面包机或一盏灯。
毫不夸大地讲,市场上有几百种不一样类型计算机在销售。每种类型可能都很复杂,但每个处理器,有时被称为中央处理器或者说CPU,只有两个基本部分:控制单元,算术和逻辑单元。主存放器在处理器内部发挥着主要作用。这三个——主存、控制单元,算术和逻辑单元——一起工作。让我们来看看他们之间功效和联络。
与磁辅助存放设备,如磁带、磁盘相比,主存没有移动部件。没有机械运动,数据能够以电子速度被存取访问,靠近光速。今天大多数电脑主存使用DRAM(动态随机访问存放器)技术。先进DRAM芯片大约有1/8邮票那么大,大约能够储存256,000万位或多于25,600,000字符数据。
主存放器,或者主存,提供给处理器程序和数据暂时存放。在可执行程序或数据能够被处理之前,全部程序和数据必须被从输入设备(如VDT)或从辅助存放(如磁盘)转移到主存放器。主要存放空间总是极少;所以,在一个程序被执行后,它占领储备空间会被重新分配给另一个等候执行程序。
图1 - 1说明了全部输入/输出(I / O)“读”或“用”主要存放。图中(输入)探讨是在VDT上。消息被查询形式,是经过一个渠道到主存放器(如同轴电缆)。消息被解释,处理机从辅助存放设备取出所需程序和数据。程序和数据被“装好”,或移动,从辅助存放器到主存放器。这是一个无损阅读过程。也就是说,程序和数据被从主要存放器(暂时)和辅助存放器(永久)中读取。数据依照程序指令被操作,汇报被从主存放器写入到打印机。
一个程序指令或一块数据保留在特定主存单元被称为地址。地址允许程序指令和数据被存放,访问和加工。每一个地址内容伴随不一样程序执行和新数据处理是不停改变。
主存放器另一个名字是随机存取存放器,或RAM。一个特殊类型主存放器,称为只读存放器(ROM),不能被程序员改写。ROM内容被制造商作为“只读”所固化(设计在芯片逻辑上)。当你打开微机系统,一个ROM中程序自动开启计算机系统。然后ROM程序初步显示器幕提醒。
ROM一个变种是可编程只读存放器(PROM)。RPOM是让用户能装载“只读”程序和数据ROM。一旦一个程序被加载到PROM,它简直从不改变。然而,假如你需要能够修改内容PROM,有EPROM,可擦写PROM。在写操作之前,全部储存单元必须被删除到一样初始状态。
一个更具备吸引力形式主读存放器是电可擦可编程只读存放器(EEPROM)。在任何时候都能够写入,不需擦除原先内容,且只是更新寻址到字节或多个字节。
EEPROM把非易失性优点和可更新、需更新地方灵活性结合起来,修改时使用普通总线控制线、地址线和数据线。
另一个形式半导体内存是闪存(这么命名因为速度)。闪存在花费和功效上介于EPROM和EEPROM之间。和EEPROM一样,闪存使用是电擦除技术。整个闪存在一个或几秒钟内能够被消除,这比只读存放器快得多。另外,可能消除只是块内存,而不是整个晶片。然而,闪存不提供字节级擦除。与EPROM一样,闪存每位只使用一个晶体管,所以能达成EPROM高密度。
高速缓冲存放器
程序和数据从辅助存放装载到RAM,因为从RAM访问一个程式指令或者一段数据所需要时间远远低于从辅助存放器。从磁盘存放器上存取单个数据所花时间,能够从RAM中存取几千条指令或数据]。RAM实质上是一个数据和程序高速起降缓冲区。实际上,没有什么真正发生在计算机系统中,直到程序指令和数据转移四处理器。这转移四处理器指令和数据可能是费时,即使在微秒级速度。为了促进指令和数据更加快转移,大多数电脑四处理器被设计经过高速缓冲存放器。高速缓冲存放器主要被电脑设计师用于增加吞吐量(计算机系统工作速率)。
像RAM一样,高速缓存是一项高速起降缓冲区程序数据和指令。然而,缓存存放器使用静态存放器(静态内存)技术,大约有RAM10倍速度和100倍花费。只有RAM一小部分内存容量,高速缓存只保持下一步可能需要由处理器处理程序和数据。两种类型高速缓冲存放器广泛应用于电脑。第一个被称为内部缓存和建在中央处理器芯片。第二个,外部高速缓存,位于靠近CPU地方。计算机能够有几个不一样层次高速缓冲存放器。一级缓存几乎总是建成芯片。二级缓存曾经是外部高速缓存,但现在通常像一级缓存一样也建到CPU。
1.2 总线互连
总线是连接两个或多个设备通信通路。总线关键特征是,它是一条共享传输介质。 多个设备连接到总线上,任一个设备发出信号能够为其余全部连接到总线上设备所接收。假如两个设备同时传送,它们信号将会重合,引发混同。所以,一次只能有一个设备成功地(利用总线)发送数据。
经典情况是,总线由多条通信通路或线路组成,每条线(路)能够传送代表二进制1和0信号。一段时间里,一条线能传送一串二进制数字。总线几条线放在一起能同时并行传送二进制数字。比如, 一个8位数据能在8条总线线上传送。
计算机系统包含有多个不一样总线,它们在计算机系统层次结构各个层次提供部件之间通路。连接主要计算机部件(处理机, 存放器, I/O)总线称为系统总线。系统总线通常由50~100条分立(导)线组成。每条线被赋予一个特定含义或功效。即使有许多不一样总线设计,但任何总线上线都能够分成三个功效组:数据线、地址线和控制线。另外可能还有为连接模块提供电源电源线。
数据线提供系统模块间传送数据路径,这些线组合在一起称为数据总线。经典数据总线包含8、16或32根线,线数量称为数据总线宽度。因为每条线每次传送1位,所以线数目决定了每次能同时传送多少位。数据总线宽度是决定系统总体性能关键原因。
地址线用于指定数据总线上数据起源和去向。比如,假如处理机希望从存放器中读一个字数据,它将所需要字地址放在地址线上。显然,地址总线宽度决定了系统最大可能存放器容量。
控制线用来控制对数据线和地址线访问和使用。因为数据线和地址线被全部部件共享,所以必须用一个方法来控制它们使用。控制信号在系统模块之间传送命令和定时信息。定时信息指定了数据和地址信息有效性,命令信号指定了要执行操作。
大多数计算机系统使用多总线,这些总线通常设计成层次结构。图1.3显示了一个经典高性能体系结构。一条局部总线把处理机连接到高速缓存控制器,而高速缓存控制器又连接到支持主存放器系统总线上。高速缓存控制器集成到连接高速总线桥中。这一总线支持连接到:高速LAN、视频和图形工作站控制器,以及包含SCSI 和FireWire局部外设总线接口控制器。低速设备依然由分开扩充总线支持,用一个接口来缓冲该扩充总线和高速总线之间通信流量。
快速外设部件互连提升性能
在过去十年里,PCI总线一直是PC机和服务器主流I/O架构。PCI传送由微处理器、网卡、图形卡和与它相连其余子系统所产生数据。然而,伴随计算元件速度和性能提升,PCI带宽限制和并行效率低下逐步成为系统性能瓶颈。
PCI是一个有多个适配器单向平行总线体系结构,必须争夺可利用总线带宽。即使PCI接口性能几年来不停得到改进,但信号偏离(数据位抵达目标地太晚),信号路由以及无法降低电压或提升频率等问题,无不表明该架构走到了尽头。额外努力去提升它性能将会花费很大而且不切实际,一些卖主,包含业内一些最大最成功系统开发商,发起了一项被称为PCI ExpressI/O架构(最初被称为第三代I/O,或3GIO)。
PCI Express是点对点切换体系结构,创造了高速、CPU和系I/O统之间双向链接(开关是由主桥连接到CPU上)。每一个这些链接都有一个或多个包含四条线线缆——两条用来传送数据两条用来接收数据。这些线缆设计能使其在低电压下使用(造成低力量使用),降低电磁排放,消除信号偏离,降低成本自然也提升了性能。
在最初设计实现中, PCI Express能够得到在每条线路上每个方向以2.5 Gbit/秒速度转移。相比之下,PCI-X1.0版本PCI架构,是如今最常见,提供1 Gbit /秒吞吐量。PCI Express卡吞吐量可在四或八线配置(称为x4和x8),x4 PCI Express卡所能提供吞吐量高达20 Gbit/秒,而x8 PCI Express卡所能提供吞吐量高达40 Gbit/秒。
早期尝试创建一个新PCI架构失败了,这在一定程度上是因为他们需要太多改变到系统和应用软件。驱动程序,实用程序和管理应用均需要被改写。PCI Express开发人员消除了对新操作系统支持依赖,让PCI兼容驱动程序和应用程序无需改变就能在PCI Express硬件上运行。
未来总线
开发人员正在提升PCI Express可扩展性.当前服务器和桌面系统支持PCI Express适配器和图形卡高达8通道,这种体系结构在未来能够支持多达32个通道。
第一个光纤通道主机数据适配器被设计来支持四通道而不是八通道,部分原因是因为服务器开发商已经将他们系统设置成了四通道插槽,。甚至更大带宽是必须,执行一条八通道道设计能够将性能提升一倍,假如系统中没有其余瓶颈。
这种可伸缩性加上每个通道速度有望加倍,达成5Gb/s(兆位/秒),将保持PCI Express 在可预见未来依然是设计师课实施方案。
PCI Express是PCI 上重大提升,而且,在它发展路上正逐步形成对PC机,服务器更多新标准。它不但能够降低成本,提升可靠性,不过它也大大提升了性能。应用程序如音乐、视频流、视频点播、网络电话和数据存放将受益于这些改进。
2.4 外部接口: SCSI和火线
I/O模块到外设接口必须按该外设性质和操作来设计改制。接口一个主要特征是串行还是并行。在并行接口中,连接I/O模块和外设线有多根,同时传送多位,就象在数据总线上同时传送一个字全部位。在串行接口中,只有一条线用于传送数据,每次传送一位。通常,并行接口用于高速外设,诸如磁盘和磁带。串行接口更惯用于打印机和终端。
什么是USB?
在计算机周围呆过2到3年以上人都知道USB试图处理问题——在过去,把储设备连接到计算机一直是头痛问题!
l 打印机连接到并行打印机端口,而大多数计算机只有一个。Zip驱动器那些设备需要一个计算机高速连接也将使用并行端口,经常极少成功且速度不快。
l 调制解调器使用串口端口。大多数计算机最多有两个串行端口,而且在大多数情况下,它们是很慢。
l 需要更加快连接设备有它们自己卡,这些卡必须插入计算机机箱内相符合卡槽口。遗憾是,卡槽口数目有限,而且你需要一个博士生为一些卡安装软件。
USB目标是结束全部这些头痛问题。通用串行总线给你一个单一、标准、轻易用方法,把多达127个设备连接到一台计算机上。
把一台USB设备连接到计算机是简单——你只要在你机器背后或正面找到USB插头插入即可。假如它是一个新设备,操作系统自动检测到它,并要求该设备驱动程序盘。假如该设备已经安装,计算机就激活它并开始与它通话。USB设备能够在任何时间连接和断开。
一根USB电缆有两根线用于电源(+5伏和地线),一根双扭线传送数据,低功率设备(为鼠标)能够直接从USB总线取得它们电源。高功率设备(为打印机)有它们自己电源并从总线取得极小电源,单根USB电缆能延伸5米长;用几个集线器,设备能够离主机30米(6根电缆)。
许多USB设备有它们自己内部电缆,且该电缆有一个“A”连接。假如没有内部电缆话,那么该 “A”插口上行接向计算机
l “B”插口下行接到个别设备
经过在上行端口和下行端口使用不一样插口,就不可能搞混乱——假如你把任何USB电缆“B”插头连接到一个设备,那你知道它会正常工作。类似地,你能够把任何“A”插头插入任何“A”插座,并知道它会正常工作。
USB2.0
4月公布了USB2.0版本标准,它作为USB1.1升级版。USB2.0(高速USB)为多媒体和存放应用提供附加带宽,而且比USB1.1快40倍数据传输率。为了使消费者和制造商能平滑过分,USB2.0与原先USB设备完全向前和向后兼容,而且也能用为原先USB制造电缆和连接器工作。
因为支持3钟速度方式,USB2.0支持低带宽设备,如键盘和鼠标,以及高带宽设备,如高分辨率Web相机、扫描仪、打印机和高兼容存放系统。USB2.0使用已使PC工业界领导者们加速开发下一代PC外设来补充现有高性能PC。USB2.0传输速率也推进了开发下一代PC和应用程序。除了改进功效和激励革新,USB2.0提升了用户应用程序生产率,而且允许用户同时运行多个PC应用程序或若干高性能外设
数据传输
当主机开机时,它问询全部连接在通用串行总线上设备,且分配每个设备一个地址。这个过程称做计数——当设备连接到总线时设备也被计数。主机也从每个设备查出它希望进行哪一个数据传输。
l 中止模式——鼠标或键盘等设备,发送极少数据会选择中止模式。
l 成批模式——打印机等设备以大数据包接收数据,所以使用成批传输模式。一块数据发送给打印机(64个字节块)且被检验确定它是正确。
l 等时模式——流设备使用等时模式,数据在设备和主机之间以实时方式流动,且没有错误校正。
主机也能用控制包发送命令或查询参数。
火线串行总线
伴随处理机速度抵达1GHz, 以及存放设备有几千兆位,个人计算机和服务器对I/O要求是很苛刻。所以,对开发一个高速接口来替换SCSI和其余小型系统I/O接口一直存在着很大兴趣。其结果是高性能串行总线IEEE标准1394, 通常称为火线。
火线比SCSI和其余I/O接口有许多优点。它速度快、价格廉价而且轻易实现。实际上,火线不但在计算机系统,而且在消费者电子产品,如数码相机、VCR和电视机都很受欢迎。在这些产品中,火线用于传送视频图像,这些视频图像正在越来越多地来自于(诸如数码相机,数码摄相机等)数字化设备。
火线接口强项之一是采取串行传送(每次一位)而不是并行传送。并行接口,如SCSI,需要较多线,这意味着较宽、较贵电缆以及较宽、较贵带有更多引脚(要弯曲或断开)连接器。一条带有多根线电缆需要屏蔽保护以防止线之间电干扰。
另外,恰恰在计算机增加计算能力和I/O要求时,它们体积正变得更小。手提式和袖珍式计算机给连接器很小空间,但却需要高速数据传输率来处理图象和视频。
火线目标是提供单个接口,带有简单连接器,它能够经过单个端口来处理许多设备,所以,鼠标、激光打印机、SCSI、外部磁盘驱动器、声音,和局域网连接都能用这单个连接器所取代。这种连接器是受Nintendo Gameboy中所用连接器启发。它使用是如此方便,用户只要在机器背后插入即可。
火线使用菊花链配置,从单个端口可连接多达63个设备。而且多达1022条火线总线能用桥接器互连,使得系统能支持所需要那么多外设。
火线提供大家所知热插入,它不需要关闭计算机系统或重新配置系统就能连接和断开外设。
3.1 C++和面向对象程序设计
一些面向对象程序设计概念在语言间渗透。比如微软Quick Pascal是允许使用对象第一批语言中一个。C++有什么使得它是一个适合于开发面向对象程序语言?如同先前所提到,答案是类(class)数据类型。给该语言建立对象之能力是建立在C结构类型之上C++类(class)类型。还有,C++把另外几个特征引入面向对象程序设计,这些特征并不包含在简单地利用对象其余一些语言中。C++优点包含强类型、运算符重载和较少地强调预处理。确实你能使用其余一些产品和采取其余一些语言来进行面向对象程序设计,不过采取C++众多好处是显著。这是为面向对象程序设计而设计语言,并非(现有语言)式样翻新。
面向对象程序设计是一个程序设计技术,使得你能把一些概念看作各种各样对象。经过使用对象,你能表示要被执行任务、它们之间相互作用和必须观察一些给定条件。一个数据结构经常形成某个对象基础;所以,在C或C++中,结构类型能形成某种基本对象。与对象通信,如前提到,能经过使用消息来完成。消息使用类似于在面向过程程序中对函数调用。当某对象收到一个消息时,包含在该对象内一些方法作出响应。方法类似于面向过程程序设计函数。然而,方法是对象一部分。
C++类是对C和C++结构类型扩充,而且形成了面向对象程序设计所需要抽象数据类型。类能包含紧密相关一些条目,它们共享一些属性。更正式地说,对象只不过是类实例。
最终,应该出现包含很多对象类型类库,你能使用这些对象类型实例去拼合程序代码。
在你更详细地考查这些术语之前,一个好主意是熟悉与C++和面向对象程序设计相关另外几个概念,如同下面几节所述。
封装
封装指是每个对象把它组员数据和组员函数(方法)组合成单个结构方式。图3-1举例说明了你怎样能组合数据域和方法以建立对象。
经典地,一个对象描述是一个C++类一部分, 且包含对该对象内部结构描述、该对象怎样与其余对象相关,以及把该对象功效细节和该类外部相隔离某种形式保护。C++类结构做到了全部这些。
在一个C++类中,你使用私有、公共和/或受保护描述符来控制对象功效细节。在面向对象程序设计中,公共(public)部分通惯用于接口信息(方法),使得该类可在各应用中重用。假如数据或方法被包含在公共部分,它们在该类外部也可用。类私有部分把数据或方法可用性局限于该类本身。包含数据或方法受保护部分被局限于该类和任何派生子类。
类层次结构
C++类实际上用作创建对象模板或模式。从类描述形成对象都是该类实例。开发类层次结构是可能,其中有一个主类和几个子类。在C++中, 做这事基础是派生类。父类表示更通常化任务,而派生子类执行一些特定任务。比如,早先讨论林肯类可能包含整个林肯系列公共数据和方法,诸如引擎、检测仪表、电池、制动能力和操纵。从父类派生子类,诸如Tour Car、Mark Ⅷ和Continental可能包含该类专用一些款项。比如,1995 Continental是该系列中唯一具备主动悬架系统汽车。
继承
面向对象程序设计中继承使得一个类能继承某对象类一些性质。父类用作派生类模式,且能以几个方式被改变(在下一章中你将了解组员函数能被重载、新组员函数能被添加,而且组员存取特权能被改变)。假如某个对象从单个父类继承其属性,称为单继承。假如某个对象从多个父类继承属性,便称为多继承。继承是一个主要概念,因为它使得无须对代码做大改变就能重用类定义。继承激励重用代码,因为子类是对父类扩充。
多态性
与类层次结构相关另一个主要面向对象概念是公共消息能被发送到诸父类对象和全部派生子类对象。按正式术语,这称为多态性。
多态性使每个子类对象能以一个对其定义来说适当方式对消息格式作出响应。试构想搜集数据一个类层次结构。父类可能负责搜集某个个体姓名、社会安全号、职业和雇佣年数,那末你能使用子类来决定依照职业将添加什么附加信息。一个情况,一个管理职位会包含年薪,而另一个情况,销售员职位会包含小时工资和回扣信息。所以,父类搜集一切子类公共通用信息,而子类搜集与特定工作描述相关附加信息。多态性使得公共数据搜集消息能被发送到每个类。父类和子类二者都以对该消息是恰当方式作出响应。多态性促进现有代码可扩充性。
虚函数
多态性赋予对象以当对象精准类型还未知时响应来自例行程序之消息能力。在C++中这能力是迟绑定结果。使用迟绑定,地址在运行时刻动态地确定,而不是如同传统编译型语言在编译时刻静态地确定。这静态(固定)方法往往称为早绑定。函数名被替换为存放地址。你使用虚函数来完成迟绑定。在随即派生类将经过重定义函数之实现而重载该函数时,在父类中定义虚函数。当你使用虚函数时,消息不是直接传给对象,而是作为指向对象指针传送。
虚函数利用了地址信息表, 该表在运行时刻使用结构符而被初始化。一个结构符每当创建它类一个对象时被调用。这里结构符工作是把虚函数与地址信息表链接,在编译运转期间虚函数地址是未知;相反,给出是(在运行时刻确定)地址表中将包含该函数(入口)地址位置。
3.3java介绍
Java是为了应对在异构条件下、全网分布式环境应用开发背景挑战而设计。其中最主要挑战就是在系统资源消耗最低情况下安全传送应用,能够运行在任何硬件和软件平台,可扩充动态改变。
Java开发源于一个研究计划一部分,开发在多个多样网络设备和嵌入式系统中使用先进软件。目标是发展一个体积小、可靠性高、便携式、分布式、实时操作平台。当项目开始时,C+ +是精选语言。但伴随时间推移,因为C++产生问题逐步显著,最好处理方法就是创造一个全新语言平台。设计和架构决议从各种各样语言中得出,如Eiffel, SmallTalk, Objective C和Cedar/Mesa。对于开发一套安全、分布式、基于网络环境,最终用户应用程序从网络兼容设备到万维网和桌面程序来说,结果得到语言平台被证实是理想。
Java设计需要是被计算环境本性所驱使,在其中软件必须被展开。
大量增加因特网和万维网引领我们以一个全新角度对待软件发展和分布。为了在电子商务和分布式环境中生存,在异构分布式网络中,Java必须确保有应用在多个平台安全性,高性能和鲁棒性。
在多平台异构式网络操作,使传统方案二进制分布、公布、升级、补丁等变得无用。为了在这激烈竞争中生存,Java必须是总体结构不带偏向性、可移植,且能动态地自适应。
Java系统出现很轻易地满足了这些需求,所以它能够很轻易地被大多数开发者应用进行编程;一样地,当前开发者能够非常轻易地学习Java;面向对象,利用当代软件开发方法和融入分布式客户端-服务器应用程序中;多线程,对高性能应用程序,需要完成多个并发活动,如多媒体;可解释,为了取得最大可移植性和动态能力。
另外,上述要求集合了相当多时髦术语,所以让我们应在使用之前检测他们以及他们各自优点。
Java和他实时系统以全新方式相结合产生了灵活强大编程系统。
你应用程序使用Java开发软件可在多个机器总体结构、操作系统和图形用户接口间移植,安全、高性能。使用Java,你作为一名软件开发者工作更轻易了——基于Java坚实基础,集中你全部注意力在运行创新产品最终目标上。愈加好软件方式开发是在这里,现在,给你带来Java语言平台。
很有力语言Lisp, TCL, 和SmallTalk经惯用于原型结构技术。他们成功原因之一是它们具备鲁棒性——你无须担心释放或损坏内存。
一样,,在Java编程时程序员能够相对无所畏惧处理内存问题;无用单元回收系统使程序员工作大为轻易;卸下了程序员肩上存放管理之负担,存放分配错误不再发生。
通常认为像LISP、TCL、和SmallTalk这么一些语言十分适合于原型法另一理由,是因为它们不要求你受早期决定约束——这些语言语义是很丰富。
Java有恰恰相反性质:它强迫你做出明确选择。伴随这些选择还有很多辅助方法——你能够写方法调用,假如你有什么错了,它会在编译时将这些告诉你。你无须担心方法调用错误。
4.1操作系统概述
操作系统是作为软件之间接口电脑用户和计算机硬件。操作系统目标是提供一个环境,让用户能够执行程序。最基本目标是一个操作系统,使计算机系统使用方便。次要目标是使用电脑硬件在一条有效路径。
我们能够认为一个操作系统为一个资源分配程序。计算机系统能够有很多资源要处理一个问题:比如CPU时间、内存空间,文档保留、输入/输出(I / O)设备等等。操作系统作为这些内容管理者及分配于一些特定程序和用户所需要任务。因为可能有很多,可能相互矛盾,资源需求、操作系统必须决定哪些请求是分配资源,以公平和有效率地操作计算机操作系统。
早期计算机是从控制台运行 (物理) 很大机器。程序员将编写一个程序,然后直接从该操作员控制台运行该程序。软件如汇编、 装载机和编译器改进了方便编程系统,但还需要大量设置时间。为了降低开启时间、经营者被雇用和类似工作是成批排在一起。
批处理系统允许自开工作被常驻监控程序排序,很大改进了综合利用计算机。计算机已经不再有等人类操作。CPU利用依然很低,不过因为移动迟缓速度相对I / O设备到中央处理器。离线运行试验设备迟缓。
缓冲是另一个方法提升系统性能输入、输出重合,并给出计算一个单一工作。最终,允许中央处理器重合设备工作输入和输出计算与其余工作。
后台还提供了许多已读取和正在等候运行工作。这份工作支持多道程序设计概念池。与多道程序设计中,几项工作,保持在记忆在同一时间,中央处理器被转回之间穿行以增加CPU利用率、降低总实时用来执行一个工作。
为了提升效率而发展多道程序设计, 也允许时间共享。
共享操作系统允许许多用户(从一个到数百) 交互地在同一时间内使用计算机系统。因为系统从一个用户到下一个用户快速转换,每个用户都会有他拥有自己电脑感觉。其它操作系统类型包含实时系统与多处理器系统。
, 实时系统经常在专用应用系统被用作控制装置。传感器将数据传给计算机。计算机必须分析数据,很有可能调整控制来修改传感器投入。控制科学试验系统,医学计算机系统,工业控制系统,以及一些显示系统都是实时系统。实时多任务操作系统具备明确固定时间限制。处理必须在要求时间内完成,不然系统将失效。
多处理器系统上有一个以上CPU。显著优势是更大计算能力和可靠性。对于多处理器和多处理计算机有各种类型操作系统。这是对于多个CPU系统某种程度可能区分两种类型操作系统,涣散耦合,如网络操作系统和分配操作系统,和紧耦合,如并行操作系统。我们应该看到, 松与紧耦合软件是大致类似于松与紧耦合硬件。
操作系统必须能够确保计算机系统正确运行。为了预防用户程序干扰系统正确运行,硬件修改为两个模式:用户模式和监控模式。许多指令(如I / O指令,停顿指令)有特权,而且只能在监控模式下运行。监控程序所在内存也必须保护起来以防用户修改。定时器能够预防死循环。一旦对基本计算机结构作了这些改变(两种方式,特权指令,内存保护,时钟中止),就有可能写出正确操作系统。
4.3 窗口管理程序
窗口管理程序管理那些用来交换应用程序和用户之间信息设备。输出设备包含视频显示器和声音合成器。输入设备包含键盘和指点器,诸如鼠标、操纵杆、控制球、或光笔。窗口管理程序与输出设备设备驱动程序交互把信息展现给用户,与输入设备设备驱动程序交互获取表示用户正在输入信息消息。应用程序和脚本执行引擎把表示成位图或PostSript表示法图像传给窗口管理程序,窗口管理程序把这些图像展现给用户。窗口管理程序把用户经过输入设备输入消息返回给应用程序和脚本执行引擎。
窗口管理程序已十分普及,因为它们支持许多对终端用户和应用程序开发者二者都十分有用特征。
用户与多个进程交互。窗口管理程序把窗口分配给每个进程。假如每个进程与一个显示在显示器上窗口相关,那么多个进程能够共享一个视频显示器。用户经过观看分配给进程窗口之内容和向其窗口处于激活状态进程发命令来观察进展 (即执行情况)和控制各进程。
用户轻易在应用程序之间移动信息。 窗口给用户提供了一个在应用程序之间传送信息方法。图4-1举例说明了一个有3个窗口显示器。一个窗口分配给正文编辑程序,另一个分配给电子表格程序,而第三个窗口分配给数据库程序。在这个例子中,用户首先用数据库应用程序从数据库检索一些数据。然后用户从检索得到数据中选择一些,并把这些数据移到第二个窗口中电子表格程序。电子表格应用程序计算共计和总计信息,然后用户把计算结果移到分配给正文编辑程序窗口。用户使用正文编辑程序把总计信息集成到正在用正文编辑程序准备汇报中。
用户访问远程应用程序。一些窗口管理程序能够经过通信系统把一个窗口分配给运行在远程计算机上一个进程。比如,工作站用户希望访问某台大型机上数据库。该用户请求窗口管理程序创建窗口,在该窗口中用户能够输入对那台大型机上数据库管理系统请求。在该请求被处理后,窗口管理程序在该窗口中显示从数据库管理系统来结果。
用户对一个进程有多个视图。一些窗口管理程序能够把几个窗口分配给一个应用程序:每个窗口把该应用某个方面显示给用户。多个窗口对用户可能是有用,可提供该应用程序多方面视图。比如,在图4-2中,两个窗口已分配给一个计划系统。一个窗口显示图形,展示在一个项目标各任务之间优先关系。另一窗口显示了每个任务完成百分比。
用户接收事件。当一个进程发觉用户应该知道一些非正常事件,该进程通知窗口管理程序显示一个描述该事件消息。用户将注意到该消息出现,并采取适当动作。
用窗口管理程序能够结构复杂用户接口。大多数窗口管理程序都有程序库,包含各种各样、可重用交互对象,这些对象可用来结构复杂用户接口。
终端独立性。一些窗口管理程序工作在一大类终端和工作站上,而且对应用程序隐藏了这些终端和工作站之间差异。终端独立性增加了应用程序对各种各样终端和工作站可移植性。
5.1互联网
世界上存在许多网络,经惯用不一样硬件和软件。有一个网络连接人经常想要与另一个网络人们相交流。这个欲望需要把不一样,经常是不可兼容网络连接到一起,有时候需要使用名叫网关机器来连接,和提供需要翻译,同时依据硬件和软件。一个相互连接网络集合被称为互联网络或因特网。
因特网一个普通形式石油广域网连接局域网集合。因特网(标识为大写字母I)意味着一个特定世界范围互联网,他是广泛用于连接大学、政府机关、企业和私人个体。
到1995年,有许多主干网,数以百计中级网络,成千上万局域网,上百万主机,和上千万用户。这个大小每年大约会翻倍。大部分增加来自于网络与因特网间存在连接。将因特网连接在一起粘合剂是TCP/IP参考模型和TCP/IP协议栈。TCP/IP是普遍服务成为可能,而且能够与电话系统和19世纪铁路采取标准轨距相比。
因特网是现实世界中人们巨大全球性小区。在这个网上,人们在众多主题上不停推出有价值资料是你一辈子也读不完。假如你还没有利用网络,这就是你所缺乏:
电子邮件。让你发信息到俄罗斯、日本等等。
文件传送协议(FTP)。从世界各地成千上万电脑上无偿下载。
网络论坛。其内容比你从射箭术到股票行情所能读到一切更有趣,更热闹和更多智慧。
万维网。一个快速发展图形电子文档全球网,你能够浏览,与其交互,甚至能够建立自己文档。
新科技。全球聊天,视频会议,传真,自由国际电话和更多。万维网是一个访问链接文档体系结构框架,它经过因特网传输到成千上万机器上。
因为网络基本上是一个客户端—服务器系统,我们同时讨论客户端(比如用户)和服务器端。
从使用者观点,网页是世界性巨大文档集成,通常简称为页。每个页包含指向其余相关页面连接(指针),在世界任何一个角落。使用者能够跟随连接,这个链接把用户带到所指向页面。进程能够无限制重复,在这个过程中可能经过上百个链接页面。指向其它页面页被说成是超文本。网页能够包含色彩桌面设计,超文本链接,交互脚本,声音,图像,甚至虚拟现实。当超文本页面混合其余媒体,结果就成了超媒体。网页以浏览器形式观看。
每个网站都有一个服务器进程听从TCP80端口连接客户(通常是浏览器)。建立连接后,客户发送一个请求,服务器发送一个回复,然后这个连接被释放。定义正当请求和回复协议被称为超文本传输协议。使用它一个简单例子可能会提供一个网络服务器怎样工作合理想法。
举个例子,我们能够想象用户刚点击了某篇文本或者可能是一个指向页面图标,名字(统一资源定位器)是……。URL有三部分:协议名字,页面所在机器名字,包含页面文件名字。用户点击页面和页面被显示之间发生步骤以下:
1. 浏览器决定体育统一资源定位器
2. 浏览器向DNS请求……IP地址。
3. DNF回复……
4. 浏览器向80端口做传输控制协议……
5. 然后它发送一个……命令
6. ……服务器发送文件
7. TCP连接被释放
8. 浏览器显示……全部文本
9. 浏览器获取并显示……里图片
网上冲浪
当你网页浏览器打开,你被连接到互联网时,现在被指定为你浏览器开始页或者主页页面将显示在浏览器窗口。通常这一页是你浏览器、学校或互联网服务供给商网站主页,不过通常它能够变成使用你浏览器选项或优先权对话框任何网页。
全部浏览器都有导航工具经过你现在网页访问量来帮助你向前或向后,以及因特网会话菜单项选择择按钮或打印网页,如有需要。图5-2说明了最常见微软因特网浏览器和网景导航浏览器零件。
使用统一资源定位器和超链接
从开始网页转到新网页,您能够在浏览器地址栏或位置栏键入适当统一资源定位器,然后按回车键。你能够编辑现有统一资源定位器或删除它并建立一个新类型。要确定准确地匹配拼写、大写和标点。假如你不知道何种统一资源定位器是适宜类型,你能够搜索一个适宜网页,作为简短讨论。
假如网页上显示了一个你想去超链接,简单点击这个链接。记住,超链接能够是文本或者基于图片。假如你不确定网页上某个东西是否是一个链接,把你鼠标箭头放在它上面一会儿。假如它是一个链接,这个箭头就会改变来表明它是一个连接。新页统一资源定位器也被显示在浏览器状态栏里。一旦你点击这个超链接,适当网页会被显示。要回到前一个网页,就点击浏览器工具栏上后退键。要打印当前网页,使用浏览器打印键或从浏览器文件菜单项选择择打印。
你可能在网页上碰到东西
当你搜索万维网时,你将会在网页上遇见许多不一样对象。尽管我们不能在各种可能网页组件上进入一个深入讨论,不过熟悉最常见事物是有好处,这么你就会在碰到它们时候知道怎样处理它们。你会碰到一些常见事物展示在图5-3。
5.2连接方式
在前一章作为讨论,有各式各样有线和无线方式连接到因特网。几乎全部设置,你计算机通常是连接到称为地域性网络大网络, 在每个国家内部连接到区域网络主要高速网络称为骨干网络。在一个国家内骨干网络和在其余国家骨干网络连在一起形成因特网。
下面章节讨论最常见互联网连接。
1.拨号连接
拨号连接通常工作在固定电话线路。连接到互联网时,你调制解调器(或其余适宜接口设备)拨拨号而且将一台调制解调器连接到你ISP电脑。当你连接上,你电脑被分配一个暂时IP地址为当前状态。在网络会话结尾,你脱离你ISP电脑,方便另外一个使用户连接回到自己位置。使用拨号上网一个好处是安全。因为你不是不停连接,它是不太可能经过因特网取得对你计算机访问权限,去取得信息或破坏你电脑中数据。或者更为通常地用某种非法或不道德方式使用你计算机。这些类型黑客活动都是以后进行讨论。
电话拨号连接在上网时你电话线会被占用,除非你有其余电话线路。在你连接到因特网期间,当有电话进来时,一些互联网呼叫等候或呼叫转接服务会通知你。他们通常是建立允许离开人短消息,一些新系统能够一个较短时间离开一会儿网络,拿起电话,假如必要。更新拨号调制解调器预计将促进某种类型呼叫等候服务。
标准拨号
标准拨号上网服务所用传统拨号调制解调器额定最大数据传输率56kbps。这些调制解调器惯用与个人计算机和互联网装置.便携式设备也能够使用传统拨号调制解调器,假如真是这么话,他们需要连接标准电话插座上网。标准型拨号上网服务从无偿到每个月快要25美元。
ISDN
另一个拨号选项ISDN。ISDN(综合服务数字网络)允许数字传输数据在普通电话线上。它需要一个特殊ISDN适配器或调制解调器和能传输数据了128kbps
2.直接相连
不像拨号连接,只有连接到你备用计算机时,你需要上网,直接连接让你不停地连接到英特网。直接(always-on)连接,你电脑通常是公布了一个静止(non-changing)IP地址被用来往返传递数据经过互联网与网络连接.PCs总有一个互联网连接提供---网络访问只需要开一个浏览器。
直接连接类型包含经过学校或办公室里局域网,以及数字用户专线、电缆、卫星、及固定无线连接。即使,在理论上
展开阅读全文