版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机基础第1章
计算机基础知识第2章
操作系统第3章
计算机网络和安全第4章
数据结构与算法基础第5章
程序设计基础第6章
软件工程基础第7章
数据库设计基础
第8章
新一代信息技术全套可编辑PPT课件第1章计算机基础知识全套可编辑PPT课件1计算机基础知识1.1计算机概述1.2计算机中数据的表示与运算1.3计算机系统组成1.4计算机的基本工作原理1.5计算机的主要技术指标1.1计算机概述
计算机的诞生计算机的发展阶段
计算机的特点计算机的应用
计算机的发展趋势及面临的挑战1.1.1计算机的诞生
1.1.1计算机的诞生冯•诺依曼体系结构的基本内容包括三点:一是计算机基本硬件系统由五大功能部件构成,即运算器、控制器、存储器、输入设备和输出设备;二是计算机内部采用二进制进行数据的存储和运算:三是计算机中的数据和指令均存放在计算机的存储器中,由计算机自动控制执行。根据冯•诺依曼提出的改进方案,科学家们研制出人类第一台具有存储程序功能的计算机——EDVAC(Electmnic
Discrete
Variable
Automatic
Computer),即离散变量自动电子计算机。EDVAC完全符合冯•诺依曼体系结构的基本内容,是世界上第一台真正意义上的现代计算机。人类用于计算的工具从自己的手指到找寻的树枝、石块,从算盘、算尺再到电子计算机,这是一个由低级到高级,由简单到复杂的过程,这个过程经历了上万年。而电子计算机自从1946
年诞生以来仅走过了几十年,就由每秒计算几干次发展到几百亿次,由单一的数学计算发展到应用于社会的各个领城。由此可见,计算机科学与技术已成为本供纪发展最快的一门学科。1.1.2计算机的发展阶段标志时间性能指标第一代电子管计算机20世纪40年代中到50年代后期体积庞大、运算速度低(一般每秒几千次到几万次),成本高、可靠性差,内存容量小。这个时期的计算机主要用于科学计算,从事军事和科学研究方面的工作。第二代晶体管计算机20世纪50年代后期到60年代计算机的运行速度已提高到每秒几十万次。体积已大大减小,可靠性和内存容量也较大的提高。第三代集成电路计算机20世纪60年代中期到70年代计算机的运行速度也提高到每秒几十万次到几百万次,可靠性和存储容量进一步提高,外部设备种类繁多,计算机和通信密切结合起来。广泛地应用到科学计算,数据处理、事务管理、工业控制等领域。第四代大规模和超大规模集成电路计算机20世纪70年代初期至今计算机的发展进入了以计算机网络为特征的时代。
计算机的运行速度可达到每秒上千万次到万亿次。
计算机的存储容量和可靠性又有了很大提高。1.1.2计算机的发展阶段目前新一代计算机正处在设想和研制阶段。新一代计算机是把信息采集、存储处理、通信和人工智能结合在一起的计算机系统,也就是说,新一代计算机由处理数据信息为主,转向处理知识信息为主,如获取、表达、存储及应用知识等,并有推理、联想和学习(如理解能力、适应能力、思维能力等)等人工智能方面的能力。能帮助人类开拓未知的领域和获取新的知识。1.1.3
计算机的特点
计算速度快计算机的运算速度(也称处理速度)用MIPS来衡量。现代的计算机运算速度在几十MIPS以上,巨型计算机的速度可达到千万个
MIPS。计算机如此高的运算速度是其他任何计算工具无法比拟的,它使得过去需要几年甚至几十年才能完成的复杂运算任务,现在只需几天、儿小时,甚至更短的时间就可完成。这正是计算机被广泛使用的主要原因之一。
计算精度高一般来说,现在的计算机有几十位有效数字,而且理论上还可更高。因力数在计算机内部是用二进制数编码的,数的精度主要由这个数的二进制码的位数决定,可以通过增加数的二进制位数来提高精度,位数越多精度就越高。1.1.3
计算机的特点
记忆能力强计算机的存储器类似于人的大脑,可以“记忆”(存储)大量的数据和计算机程序而不丢失,在计算的同时,还可把中间结果存储起来,供以后使用。
高度自动化计算机的内部操作都是按事先编写并存入计算机的程序自动进行的,一般程序编制好,输人计算机后,计算机就可以白动完成程序指定的一系列操作,而不需要人工干预。1.1.3
计算机的特点
具有一定的逻辑判断能力计算机在程序的执行过程中,会根据上一步的执行结果,运用逻辑判断方法自动确定下一步的执行命令,正是因为计算机具有这种逻辑判断能力,使得计算机不仅能解决数值计算问题,而且能解决非数值计算问题,比如信息检索、图像识别等。
可靠性高由于采用了大规模和超大规模集成电路,现在的计算机具有非常高的可靠性。现代计算机不仅可以用于数值计算,还可以用于数据处理、工业控制、辅助设计、辅助制造和办公自动化,具有很强的通用性。
1.1.4
计算机的应用科学计算(数值计算)科学计算也称数值计算。计算机最开始是为解决科学矿究和工程设计中遇到的大量数学问题而研制的计算工具。在这些大量的数学问题中绝大多数都是一些数值运算,随着现代科学技术的进一步发展,数值计算在现代科学研究中的地位不断提高,在尖端科学领域中,显得尤为重要。例如,人造卫星轨迹的计算,房屋抗震强度的计算,火箭、宇宙飞船的研究设计都离不开计算机的精确计算。在工业、农业以及人类社会的各领域中,计算机的应用都取得了许多重大突破,就连每天收听、收看的天气预报都离不开计算机的科学计算。1.1.4
计算机的应用数据处理(信息处理)在科学研究和工程技术中,会得到大量的原始数据,其中包话大量图片、文字、声音等信息处理就是对数据进行收集、分类、排序、存储、计算、传输、制表等操作。目前计算机的信息处理应用已非常普遍,如人事管理、库存管理、财务管理、图书资料管理、商业数据交流、情报检索,经济管理等。
信息处理已成为当代计算机的主要任务,是现代化管理的基础。据统计,全世界计算机用于数据处理的工作量占全部计算应用的80%以上。大大提高了工作效率,提高了管理水平。1.1.4
计算机的应用自动控制自动控制是指通过计算机对某一过程进行自动操作,它不需人工不预,能按人预定的目标和状态进行过程控制。所谓过程控制是指对操作数据进行实时采集、检测、处理和判断,按最佳值进行调节的过程。目前被广泛用于操作复杂的钢铁企业、石油化工业、医药工业等生产中。使用计算机进行自动控制可大大提高控制的实时性和准确性,提高劳动效净,产品质量,降低或本,缩短生产周期。
计算机自动控制还在国防和航空航天领域中起决定性作用,例如,无人驾驶飞机、导弹、人造卫星和宇宙飞船等飞行器的控制,都是靠计算机实现的。可以说计算机是现代国防和航空航天领域的神经中枢。1.1.4
计算机的应用计算机辅助设计和辅助教学
计算机辅助设计(ComputerAided
Design,CAD)是指借助计算机的帮助,人们可以自动或半自动地完成各类工程设计工作。目前CAD技术已应用于飞机设计、船舶设计、建筑设计、机械设计、大规模集成电路设计等。在京九铁路的勘测设计中,使用计算机辅助设计系统绘制一张图纸仅需几小时,而过去人工完成同样工作则要一周甚至更长时间。可见采用计算机辅助设计,可缩短设计时间,提高工作效率,节省人力、物力和财力,更重要的是提高了设计质量。CAD已得到各国工程技术人员的高度重视。有些国家已把CAD和计算机辅助制造(Computer
Aided
Manufacturing)、计算机辅助测试(Computer
Aided
Test)及计算机辅助工程(Computer
Aided
Engineering)组成一个集成系统,使设计、制造、测试和管理有机地组成为一体,形成高度的自动化系统,因此,产生了自动化生产线和“无人工厂”。
计算机辅助教学(Computer
Aided
Instruction,CAl)是指用计算机来辅助完成教学计划或模拟某个实验过程。计算机可按不同要求,分别提供所需教材内容,还可以个别教学,及吋指出该学生在学习中出现的错误,根据计算机对该生的测试成绩决定该生的学习从一个阶段进入另一个阶段。CAI
不仅能减轻教师的负担,还能激发学生的学习兴趣,提高教学质量,为培养现代化高质量人才提供了有效方法。1.1.4
计算机的应用人工智能方面的研究和应用人工智能(ArtifieialIntelligence,AI)人工智能是指计算机模拟人类某些智力行为的理论、技术和应用。人工智能是计算机应用的一个新的领域,这方面的研究和应用正处于发展阶段,在医疗诊断、定理证明、语言翻译、机器人等方面,已有了显著的成效。例如,用计算机模拟人脑的部分功能进行思维学习、推理、联想和决策,使计算机具有一定“思维能力”。我国已开发成功一些中医专家诊断系统,可以模拟名医给患者诊病开方。机器人是计算机人工智能的典型例子,机器人的核心是计算机。第一代机器人是机械手;第二代机器人对外界信息能够反馈,有一定的触觉、视觉、听觉;第三代机器人是智能机器人,具有感知和理解周围环境,使用语言、推理、规划和操纵工具的技能,模仿人完成某些动作。机器人不怕疲劳,精确度高,适应力强,现已开始用于搬运、喷漆、焊接、装配等工作中。机器人还能代替人在危险工作中进行繁重的劳动,如在有放射线、污染有毒、高温、低温、高压、水下等环境中工作。1.1.4
计算机的应用多媒体技术应用随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起米,构成一种全新的概念——多媒体(Multimedia)。在医疗、教育、商业、银行、保险、行政管理、军事、工业、广播和出版等领域中,多媒体的应用发展很快。随着网络技术的不断发展,计算机的应用会进一步深入社会的各行各业,通过高速信息网实现数据与信息的查询、高速通信服务(电子邮件、电视电话、电视会议、文档传输)、电子教育、电子娱乐、电子购物(通过网络选看商品、办理购物手续、质量投诉等)、远程医疗和会诊、交通信息管理等。计算机的应用将推动信息社会更快地向前发展。1.1.5
计算机发展的趋势及面临的挑战1.计算机发展的趋势
(1)微型化微型计算机已进入仪器、仪表、家用电器等小型仪器设备中,同时也作为工业控制过程的心脏,使仪器设备实现“智能化”。随着微电子技术的进一步发展,笔记本型、掌上型等微型计算机必将以更优的性能价格比受到人们的欢迎。(2)高速化高速化是指计算机的运算速度高、存储容量大、功能强。目前正在研制的计算机其运算速度可达每秒百亿次。1.1.5
计算机发展的趋势及面临的挑战1.计算机发展的趋势
(3)网络化网络化是计算机发展的又一个重要趋势。从单机走向联网是计算机应用发展的必然结果。所谓计算机网络化,是指用现代通信技术和计算机技术把分布在不同地点的计算机互联起来,组成一个规模大、功能强、可以互相通信的网络结构。网络化的目的是使网络中的软件、硬件和数据等资源能被网络上的用户共享。目前,大到世界范围的通信网,小到实验室内部的局域网已经很普及,互联网(Internet)已经连接包括我国在内的150多个国家和地区,由于计算机网络实现了多种资源的共享和处理,提高了资源的使用效率,因而深受广大用户的欢迎,得到了越来越广泛的应用。1.1.5
计算机发展的趋势及面临的挑战1.计算机发展的趋势
(4)智能化智能化使计算机具有模拟人的感觉和思维过程的能力,使计算机成为智能计算机。这也是目前正在研制的新一代计算机要实现的日标。智能化的研究包括模式识别、图像识别、自然语言的生成和理解、博弈、定理自动证明、自动程序设计、专家系统、学习系统和智能机器人等。目前,已研制出多种具有人的部分智能的机器人。(5)多媒体化多媒体是当前计算机领域中最引人注目的高新技术之一。多媒体计算机就是利用计算机技术,通信技术和大众传播技术,来综合处理多种媒体信息的计算机。这些信息包括文本、视频图像、图形、声音、文字等。多媒体技术使多种信息建立了有机联系,并集成为一个具有人机交互性的系统。多媒体计算机将真正改善人机界面,使计算机朝着人类接受和处理信息的最自然的方式发展。1.1.5
计算机发展的趋势及面临的挑战2.新一代计算机的设想目前我们正处在第五、六代计算机发展的阶段。新一代计算机的研制不光是技术上的问题,还要考虑设计思想、设计理念的更新改进。对新一代计算机的要求有一些共同点。(1)新一代计算机必须是高速化和智能化的。(2)具有问题求解和推理能力。(3)具有知识库管理功能。(4)具有智能接口和智能程序设计功能。1.1.5
计算机发展的趋势及面临的挑战2.计算机发展面临的挑战(1)集成化与运算速度的挑战集成化实现了计算机的微型化,低功耗,但作为物理状态,在一个小小的硅片上所能集成的元件、电路是有限的。高速运算下的芯片温度将升高,变得不稳定,这构成了芯片发展的瓶颈。(2)智能化的出路在何方计算机就运算速度,记忆能力方面比人脑强,但在逻辑推理,图像识别方面则差得太多,因此,当前所有计算机的动作都是根据人们制定的程序对人们给出的数据进行相应的操作。(3)网络化与安全化的挑战网络给人们带来了无限的好处,但随之而来的是黑客横行、网上犯罪、病毒肆虐。特别是电子银行,电子商务出现后,如何保证安全已是刻不容缓的问题。所以网络安全已成为当今计算机技术中的热门问题,网络安全、信息安全已引起社会的高度重视。1.2
计算机中数据的表示与运算
数据与信息数值数据在计算机中的表示
不同进制数之间的转换非数值数据在计算机中的表示
计算机中数据的存储单位1.2.1
数据与信息计算机内部采用二进制来保存数据和信息。无论是指令还是数据,若想存入计算机,都必须采用二进制数编码形式,即使是图形、图像、声音等信息,也必须转换成二进制才能存入计算机中。为什么在计算机中必须使用二进制数,而不使用人们习惯的小进制数?原因在于以下几点。1.易于物理实现因为具有两种稳定状态的物理器件很多,例如,电路的导通与截止、电压的高与低、磁性材料的正向极化与反向极化等。它们恰好对应表示1和0两个符号。2.机器可靠性高由于电压的商低、电流的有无等都是一种跃变,两种状态分明,所以0和1两个数的传输和处理抗干扰性强,不易出错,鉴别信息的可靠性好。3.运算规则简单二进制数的运算法则比较简单,例如,二进制数的四则运算法则分别只有三条。由于二进制数运算法则少,使计算机运算器的硬件结构大大简化,控制也就简单多了。虽然在计算机内部都使用二进制数来表示各种信息,但计算机仍采用人们熟悉和便于阅谈的形式与外部联系,如十进制、八进制、十六进制数据、文字和图形信息等,由计算机系统将各种形式的信息转化为二进制的形式并储存在计算机的内部。1.2.2
数值数据在计算机中的表示数制,但称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。数制可分为非进位计数制和进位计数制两种。非进位计数制的数码表示的数值大小与它在数中的位置无关;而进位计数制的数码所表示的数值大小则与它在数中所处的位置有关。而我们在这里讨论的数制指的都是进位计数制。
进制是进位计数制的简称,是日前世界上使用量广泛的一种计数方法,它有基数和位权两个要素。各进制之间的对照情况如表所示。1.2.2
数值数据在计算机中的表示
二进制十进制八进制十六进制000000000011110010222001133301004440101555011166610007771.2.2
数值数据在计算机中的表示
二进制十进制八进制十六进制100081081001911910101012A10111113B11001214C11011315D11101416E11111517F1.2.3
不同进制数之间的转换用计算机处理十进制数,必须先把它转化成二进制数才能被计算机所接受,同理,计算结果应将二进制数转换成人们习惯的十进制数。这就产生了不同进制数之间的转换问题。1.十进制数转换成其他进制将一个十进制整数转换为二进制整数的方法可归纳为把被转换的十进制整数反复除以2,直到商为0,所得的余数(从末位读起)就是这个数的二进制表示。简单地说,就是“除2取余法”。十进制整数转换成八进制整数的方法是“除8取余法”,十进制整数转换成十六进制整数的方法是“除16取余法”。十进制小数转换成二进制小数是将十进制小数连续乘以2,选取进位整数,直到满足精度或小数部分得零为止,并将整数部分正排序,简称“乘2取整法”。十进制小数转换成八进制小数的方法是“乘8取整法”,十进制小数转换成十六进制小数的方法是“乘16取整法”。1.2.3
不同进制数之间的转换
2.非十进制数转换成十进制把二进制数转换为十进制数的方法是,将二进制数按其权值展开后相加即可。同理,非十进制数转换成十进制数的方法是,把各个非十进制数按权展开求和即可。如把二进制数(八进制数或十六进制数)写成2(8或16)的各次幂之和的形式,然后再计算其结果。1.2.3
不同进制数之间的转换
1.2.3
不同进制数之间的转换
1.2.4非数值数据在计算机中的表示
1.2.4非数值数据在计算机中的表示2.中文字符(1)汉字输入码:由输入设备产生的汉字编码,如区位码、国标码、拼音码、新全拼、新双拼、五笔字型码、简码、表形码、自然码、智能ABC汉字输入码等。(2)汉字内码:用于计算机内部存储和处理的汉字编码,通常由该汉字的国标码的两个字节(最高位置“1”)形成。(3)汉字字形码:确定一个汉字字形点阵的编码,用于汉字显示和打印输出。保留在存储介质中的全部汉字字形码称为字库。(4)汉字交换码:用于在不同的汉字信息处理系统之间或与其他计算机系统之间进行信息交换。(5)汉字地址码:表示汉字字形信息在汉字库中的地址,用于在汉字库中查找汉家字形信息的汉字地址码等。1.2.4非数值数据在计算机中的表示3.其他形式数据在计算机中的表示在计算机中,所有数据均需转换成二进制才能被计算机接收和处理,数偵数据和字符数据如此,其他形式的多媒体数据亦是如此。在计算机中,声音往往用波形文件、MIDI音乐文件或压缩音频文件(MP3)方式表示;图像的表示主要有位图编码和矢量编码两种方式;视频则由一系列的“帧”组成,每帧实际上是一幅静止的图像,需要连续播放才会变成动画。当然,这些形式的多媒体数据其基本的组成单位也最终要被转换成二进制的代码形式。1.2.5计算机中数据的存储单位
了解计算机中不同形式、不同类型数据的表示方法之后,还应该知道计算机中存储这些数据的度量单位,以及计算机中各常用度量单位之间的换算关系。
在计算机中存储数据的主要度量单位有“位”(bit)和“字节”(Byte)。二进制中的一个0或1就被称为一个一进制位,简称位,是计算机中存储数据的最小单位。位通常用字母“b”来表示,也可以称为“比特”。其实计算机的存储容量一般还是用字节来表示,因为字节是计算机中存储数据的基本单位。守节通常用字母“B"来表示。一个字节表示8个二进制位,例如,当前的网速是1059b/s,则大致相当于132B/S。但由于字节的存储容量相对来说太小,这……度量单位在表示目前存储器容量时会使数值过火,因此,一般会使用KB、MB、GB或TB等来表示。它们之间的换算关是20,也就是以1024为换算单位,即1KB=1024B,IMB=1024KB,1CB=1024MB·..1.3
计算机系统组成
硬件系统组成及各部分功能软件系统组成1.3.1硬件系统组成及各部分功能1.运算器
运算器是主要完成加、减、乘、除运算和逻辑加、逻辑乘、逻辑异或运算及逻辑比较
运算的逻辑部件。主要有以下4部分组成。
(1)算术逻辑运算单元ALU(Arithmclic
and
Logic
Unit)
ALU
主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与、或、非、异
或)以及移位操作。在某些CPU中还有专门用于处理移位操作的移位器。
ALU
通常有两个输入端和一个输出端。监数单元有时也称为IEU(lmleger
Execuir
Unit)。我们通常所说的“CPU
是XX
位的“就是指A1L所能处理的数据的位数。
(2)浮点运算单元
FPU(Floating
Poini
Unit)
FPU
主婴负责浮点运算和高精度整数运算。有些FPU还具有向量运算的功能,另外
-些则有专门的向量处理单元。
(3)通用寄存器组
通用寄存器组是一组最快的存储器,用来保存多加运算的操作数和中间结果。对于80x86
指令集只支持8个通用寄存器的缺点,Imiec最新CPU采用了一种叫作“脊存器重命名”的技术,这种技术使80x86CPU的寄存器可以突破8个的限制,达到32个至更多。(4)专用寄存器
专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。1.3.1硬件系统组成及各部分功能2.存储器
存储器的主要功能是存放程序和数据,程序是计算机操作的依据,数据是计算机操作的对象。存储器是由存储体、地址译码器、读写控制电路、地加总线和数据总线细成。能由中央处理器直接随机存取指令和数据的存储器称为主存储器,赃盘、能带,光盘等大容最存储器称为外存储器(或辅助存储器)。由主存储器、外部存储器和相应的软件,组成计算机的存储系统。1.3.1硬件系统组成及各部分功能(1)存储器的容量
衡量存储器性能的重要指标之一,以字或字节为单位来表示存储器存储单元的总效
就得到了存储器的容量。
·IKB=1024字节
•1MB=1024×1024字节
·1CB=1024×1024×1024字节
新编大学计算机应用基础
•1PB=1024×1024×1024×1024字节1.3.1硬件系统组成及各部分功能(2)存储器的分类
土存储器又称为内存储器或内存,是指能够通过指令中的地址直接访向的存储器,它被用来存储正在被CPU使用的程序和数据。
RAM
可分为动态(Dynamic
RAM)和静态(Stalic
RAM)两大类。动态随机存储器
DRAM是用MOS电路和电容米作存储元件的,由于电容会放电,所以需要定时充电以维持存储内容的正确。静态随机存储器SRAM
是用双极型电路或MOS电路的触发器来作存储元件的、没有电容造成的刷新问题。只要有电源正常供电,触发器就能稳定地存储数据。DRAM的特点是高密度,低成本,高耗电量;SRAM的特点是高速度,低密度,高成本。
ROM为只读存储器(Read
Only
Memorr)的缩写。它只能读出原有的内容,而不能写人浙内容,原有内容由厂家一次性写人。并水久保存下来,当然是非易尖的。1.3.1硬件系统组成及各部分功能3.控制器
控制器是整个CPU的指挥控制中心,由指令寄存器IR(Instruction
Register)、程序计数器IC(Pregram
Counler)和操作控制器OC(Operation
Controller)三个部件组成,对协调整个电脑有序工作极为重要。1.3.1硬件系统组成及各部分功能(1)指令寄存器
指令寄存器:用以保存当前执行或即将执行的指令的一种寄存器。指令内包含有确定操作类型的操作鹤和指出操作数来源或去向的地址。指令长度随不同计算机而异,指令寄存器的长度也随之而异。计算机的所有操作都是通过分析存放在指令寄存器中的指令后再执行的。指令寄存器的输入端接收来自存储器的指令,指令寄存器的输出端分为两部分。操作码部分送到译码电路进行分析、指出不指令该执行何种类型的操作;地址部分送到地址加法器生成有效地址后再送到存储器,作为取数或存数的地址。存储器可以指主存、高迷续存或当存器钱等用来课存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据衍育器(DR)中、然后再传送至
L。指令划分为操作码和地扯码字段,由二进制数字组成,为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。指令泳码器就是做这项工作的。指今寄存器中操作码字段的输出就是指令译码器的输入,操作码一经译码后、即可向操作控制器发出具体操作的特定信导。1.3.1硬件系统组成及各部分功能(2)程序计数器
程序计数器:指明程序中下次要执行的指令地址的一-种计数器,又称指令计数器。它兼有指令地址寄存器和计数器的功能。当一条指令执行完毕的时候,程序计数器作为指令地址寄存器,其内容必须已经改变成下一.条指令的地址,从而使程序得以持续运行。为此可采取以下两种办法。
第一种办法是在指令中包含了下一条指令的地址。在指令执行过程中将这个地址送人指令地址寄存器即可达到程序持续运行的目的。这个方法适用于早期以磁鼓、延迟线等串行装置作为主存储器的计算机。根据本条指令的执行时间恰当地决定下一条指令的地址就可以缩短读取下一条指令的等待时间,从而收到提高程序运行速度的效果。
第二种办法是顺序执行指令。一个程序由若干个程序段组成,每个程序段的指令可以设计成顺序地存放在存储器之中,所以只要指令地址寄存器兼有计数功能,在执行指令的过程中进行计数,自动加一个增量,就可以形成下一条指令的地址,从而达到顺序执行指令的目的。这个办法适用于以随机存储器作为主存储器的计算机。当程序的运行需要从一个程序段转向另一个程序段时,可以利用转移指令来实现。转移指令中包含了即将转去的程序段入口指令的地址。执行转移指令时将这个地址送人程序计数器(此时只作为指令地址寄存器,不计数)作为下一条指令的地址,从而达到转移程序段的目的。子程序的调用、中断和陷阱的处理等都用类似的方法。在随机存取存储器普及以后,第二种办法的整体运行效果大大优于第一种办法,因而顺序执行指令已经成为主流计算机普遍采用的办法,程序计数器就成为中央处理器不可或缺的一个控制部件。
1.3.1硬件系统组成及各部分功能(3)操作控制
操作控制器的功能就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。
1.3.1硬件系统组成及各部分功能(4)I/0设备
输入/输出设备简称I/O(Input/Output)设备。用户通过输入设备将程序和数据输入计算机,输出设备将计算机处理的结果(如数字、字母、符号和图形)显示或打印出来。常用的输入设备有键盘、鼠标器、扫描仪、数字化仪等。常用的输出设备有显示器、打印机、绘图仪等。也有···些设备既是输入设备又是输出设备,如耳麦和驱动器等。
1.3.2软件系统的组成1.系统软件
系统软件是指负责管理、监控和维护计算机硬件和软件资源的一种软件。系统软件用于发挥和扩大计算机的功能和用途,提高计算机的工作效率,方便用户使用。
(1)操作系统OS(Operating
System)
操作系统是最基本、最重要的系统软件。它负责管理计算机系统的全部软件资源和硬件资源,合理地组织计算机各部分协调工作,为用户提供操作和编程界面。
(2)语言编译程序
人和计算机交流信息使用的语言称为计算机语言或称程序设计语言。
(3)数据库管理系统
数据库管理系统(Datubuse
Management
System,DBMS)的作用是对数据库中的数据进行相应的管理、使数据具有可共享、低冗余、易组织等特点。数据库管理系统是有效地进行数据定义、数据操纵、数据查询和数据控制的工具。日前,计算机系统常用的小型单机版数据库管理系统有Access、Visual
FoxPro等,目前流行的应用于网络环境的数据库管理系统主要是Oracle、SQL
Server和DB2等,在信息化管理的企事业单位中都会使用相应的数据库管理系统进行数据的组织与管理。SQL
Serve在中小企业中应用得很普遍,Oracle在大中型企业用得多,DB2目前在银行和证券行业用得比较多。当今数据库管理系统主要用于档案管理、财务管理、图书资料管理、仓库管理、人事管理等数据处理环节。
1.3.2软件系统的组成2.应用软件
(1)通用软件
通用软件是为解决某一实际问题而开发的,这类问题是大多数用户都要遇到的,例如,文字处理软件、图像处理软件等。
(2)专用软件
专用软件是针对特殊用户需求而开发研制的,如医院中的病房监控系统等。1.4
计算机的基本工作原理
指令与指令执行过程指令系统操作系统描述计算机语言及其处理程序1.4.1指令与指令执行过程指令是对计算机下达的指示和命令,由于计算机只能识别二进制,因此,指令是指能被计算机识别并执行的二进制代码,是对计算机进行程序控制的最小单位。指令由两部分组成,一部分称为操作码,指明指令要完成的操作:另一部分称为操作数,指参与运算的数据及数据所处内存中的地址。根据指令完成的功能不同,指令中间以有一个换作数、两个操作数或只有操作码而没有操作数。1.4.1指令与指令执行过程计算机执行指令的过程一般分为以下四个步驟。
(1)取指令。将要执行的指令由内存中取出,放到CPU的指令寄存器中。
(2)分析指令。将放在指令寄存器中的指令送到指令译码器中进行分析。
(3)执行指令。根据指令的译码结果判断该指令要完成的操作,然后再向各个部件发出完成该操作的控制信号,以完成该指令下达的要求,执行完该指令程序计数器加1,执行一条指令所用的时间称为指令周期。
(4)为下一次取指令做准备。形成下一条指令的地址。以便达到冯•诺依曼所提出的程序自动执行的要求。
通常人所编写的程序由语句组成,而每一条语句又可分为多个指令。循环往复地逐一完成上述四个步骤就是一次自动执行程序的过程。
综上所述,在使用计算机解决实际问题时,首先应编制相应的程序、然后通过输入设备将程序送入计算机的存储设备。计算机的工作过程就是执行程序的过程,也就是不断执行指令的过程。
1.4.2指令系统一条指令通常对应一次最基本的操作,而计算机能够辨别哪些指令和怎样执行这些指令,是由设计人员赋予它的指令系统所决定的。因此,对计算机的指令以及指令执行的过程有
了解之后,还应该对计算机的指令系统进行学习。
一合计算机中所有指令的集合称为该计算机的指令系统。不同类型计算机的指令系统是不同的,这些指令系统在设计CPU时,就已经固化其中了,指令系统是表证一台计算机性能的重要因素,它的格式与功能不仅真接影响到机器的硬体结构,而且也直接影响到系统软件,影响到机器的适用范围。例如,“苹果计算机”与常用的个人计算机就明显具有相应硬件与程序不兼容的问题,这是因为二者的指令系统不同。因此可以说,不同类型的计算机所执行的基本操作是不同的,指令系统是一台计算机功能具体而集中的体现。
1.4.3操作系统概述通过对前述内容中操作系统基本概念的学习,可以了解到操作系统的功能是管理和维护计算机系统软硬件资源,使计算机系统中的各部件能够协调一致、高效地工作,并为计算机用户提供一个良好操作环境的系统软件,是系统软件的核心组成。早期的计算机速度慢、仔储容量小、外部设备少,程序的装入、调试、控制、执行等工作都需要由计算机操作员通过一排排的开关与按钮来实现。在计算机的运算速度为每秒1万次时,手工操作与程序运行时间的比为1:20,而当运算速度达到每秒60万次时,手工操作与程序运行时间比为3:1。当计算机的运算速度不断提高,则手工操作与程序运行时间的比例将相当惊人,当计算机的运行速度达到每秒几百万次时,计算机将不断长时间地等待每个操作的完成,这种等待耗费大量计算机系统的资源。此时,程序员在编写程序时,还被要求编写作业说明书,详细规定程序执行的步骤,并将作业说明书与程序一并提交给系统,系统根据作业说明书设计出一个管理程序,来对程序、作业进行管理。这样一批批的作业就无须人为控制其执行的先后而自动执行。这个管理程序就是操作系统的雏形。1.4.3操作系统概述操作系统是人与计算机之间的一座桥梁,是计算机硬件装置外面的第一层“外壳”,安装并使用操作系统后,就不必去深入了解机器的硬件结构,也不必去死记硬背那些枯燥的机器命令。只通过一些接近于白然语言的命令或一些人性化的交点式操作,就可以轻松地完成日常操作。此外操作系统还能够对计算机软硬件的资源进行系统有效的管理,这也是操作系统出现的主要原因。
随将计算机及其相关产业的发展,操作系统也不断推除出新以适应产业技术的发展和人们的需求。常用的操作系统从DOS到Windows98,Windows2000、Windows
XP,再到Windows
7、Windows10,Linux、Mac
OS
等功能不断完普,操作及界面也更加人性化,相关操作系统的具体知识将在后续中介绍。1.4.3操作系统概述操作系统的作用操作系统是用户与计算机之间的接口操作系统提供了软件开发与运行的环境
操作系统提高了计算机系统资源的利用率1.4.3操作系统概述操作系统的功能处理机管理
存储器管理
设备管理
文件管理
作用管理1.4.3操作系统概述操作系统的分类单/多用户操作系统
批处理操作系统
分时操作系统
实时操作系统
网络操作系统
分布式操作系统1.4.4计算机语言及其处理程序1.机器语言(Mahine
Language)
机器语言是一种用二进制代码“0”和“1”形式表示的,能被计算机直接识别和执行的语音。用机器语言编写的程序,称为计算机机器语言程序。它是一种低级语言,用机器语言编写的程序不便于记忆、阅读和书写,只有在计算机发展的早期阶段程序员使用机器语言编写程序,除此之外通常不用机器语言直接编写程序。
2.
汇编语言(assemble
language)
汇编语言是一种用助记符表示的面问机器的程序设计语言。汇编语言的每条指令对应一条机器语言代码,不同类型的计算机系统一般有不同的汇编语言。用汇编语言编制的程序称为汇编语言源程序,机器不能直接识别和执行,必须由“汇编程序”(或汇编系统)翻译成机器语言程序才能运行。这种”汇编程序”就是将汇编语言翻译成机器语育的翻译程序。
汇编语言适用于编写直接控制机器操作的低层程序,与机器密切相关,不容易使用。
3.
高级语言(High
Level
Language)
高级语言是一种比较接近自然语言和数学表达式的一种计算机程序设计语言。一般用高级语言编写的程序称为高级语言源程序,可简称为“源程序”,计算机不能识别和执行,要将用高级语言编写的源程序翻译成机器指令,通常有编译和解释两种方式。
编译方式是将源程序通过编译系统整个缓译成目标程序,编译完成后所生成的目标程序就已经是二进制代码形式的程序了,然后通过链接程序将目标程序链接成可执行程序。
例如,C语言等都是通过编译方式转换成机器指令的。解释方式是将源程序逐句翻译,翻译一句执行一句,边翻译边执行,不产生目标程序,由计算机执行解释程序自动完成,如BASIC
语育等。1.5
计算机的主要技术指标1.性能指标(1)字长(2)时钟频率(3)内存容量(4)外部设备配置2.功能指标3.可靠性指标4.兼容性指标第2章操作系统2操作系统2.1操作系统的概念2.2操作系统的类型2.3操作系统的功能2.4操作系统的实例2.1操作系统的概念
什么是操作系统为什么需要操作系统
操作系统的特征2.1.1什么是操作系统操作系统的英文表示是“OperatingSystem,OS”,是位于计算机硬件上的第一层软件,是计算机硬件与应用程序之间的接口,也是用户与计算机硬件之间的接口。从系统的角度来看操作系统又是计算机系统的资源管理器。计算机系统的硬、软件资源都是在操作系统的管理、控制和调度下运行和使用的。所以,只有配置了操作系统,计算机系统的资源利用率和工作效率才能提高。从功能来讲,操作系统由两部分程序组成,即资源管理程序和用户服务,操作系统是管理,控制和调度计算机硬、软件资源,合理地组织计算机的工作流程,又能为用户提供多种服务的一种程序系统。2.1.2为什么需要操作系统从效果上看,操作系统既能提高计算机系统的工作效率,又能方便用户使用计算机。因此,几乎所有的计算机都配有操作系统。如果没有操作系统、那么计算机就要退回第2章蛹作系统自初的原始状态去,即一个用户独占一台计算机,系统只能执行一道程序,CPU与外设串行工作;在程序运行时需要用户不停地干预,输入输出时需要用户进行手工操作,等等。正是有了操作系统,计算机的工作效率、自动化现度和方便性才有了大幅度的改善和提高,计算机硬件的作用才得以充分发挥。因此可以说,没有操作系统,就没有计算机辉煌的今天。2.1.3操作系统的特征为了提高计算机系统的效率,增强系统的处理能力,最大限度地提高资源利用率,并方便用户使用,现代操作系统广泛采用了并行操作技术,使硬件和软件并行工作。例如,I/O操作和计算同时进行,在内存中同时存放多道程序等。因此,以多道程序为基础的现代操作系统具有以下特征。(1)并发性并发是两个或两个以上的事件在同一时间间隔内发生。对于程序而言,并发也就是多道程序在同一时间间隔内同时执行。对于单处理机系统而言,程序并发执行实际上是多道程序在一个很小的时间段内交替执行。而宏观上看,它们似乎是在同时进行,即并发执行。实现并发性,使操作系统变得复杂。因为要考虑,如何从一个程序转到另一个程序,如何保护一个程序不受另一个程序侵扰,以及如何实现相互制约等。2.1.3操作系统的特征(2)共享性共享性就是资源共享,即计算机系统中的硬、软件资源供所有授权程序或用户共同使用。实际上,由于系统中的资源有限,当多道程序并发执行时,必然要共享系统中的硬、软件资源。所以,程序并发执行必然依赖于资源共享机制的支持。(3)虚拟性所谓虚拟,是采用某种方法把一个物理实体映射为一个或者多个逻辑实体。前者是客观存在的,后者只是在感觉或效果上存在。例如,在多道程序系统中,虽然只有一个CPU,每次只能执行一道程序;但是采用多道程序技术后,在一段时间内,宏观上看,有多个程序在运行,似乎是多个CPU在运行各自的程序,也就是说,一个物理上的CPU虚拟为多个逻辑上的CPU,即虚拟处理机。类似的还有虚拟存储器、虚拟外围设备等。2.2
操作系统的类型
批处理操作系统
分时操作系统
实时操作系统网络操作系统
分布式操作系统2.2
操作系统的类型基于不同视角,对操作系统可进行不同的分类。例如,分为单用户操作系统和多用户操作系统、单机操作系统和网络操作系统、集中式操作系统和分布式操作系统、单任务操作系统和多任务操作系统、单处理机操作系统和多处理机操作系统、通用操作系统和专用操作系统、串行操作系统和并行操作系统等。但是,从基本的技术特征来看,操作系统一般分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统等类型。1.批处理操作系统批处理操作系统简称批处理系统,其基本特征是“批量处理”。所谓批量处理,就是把外存储器上的若干个作业作为一批,串行或者并行调度,分配内存和处理机,然后输出结果。在批处理过程中、用户不能干预。批处理操作系统又分为单道批处理和多道批处理。单道批处理就是将一批作业依次调入内存,串行处理,所以设备利用率低和工作效率不高。多道批处理是以并行方式处理作业,一次调入多个作业、并行处理,所以设备利用率和工作效率都得到提高。2.2
操作系统的类型2.分时操作系统分时操作系统是把一个时向段分为若下个时问片(更小的时间段),使多个用户仅用各自所分配到的时间片轮流地使用计算机。要实现这种分时功能,必须有相应的硬件支持。支持分时操作系统的计算机硬件系统称为分时计算机系统,它是一台主机连接若干台终端的计算机系统。所以,分时操作系统和分时计算机系统都可简称分时系统。分时系统在运行期间要不停地进行作业(或任务)的切换和调入调出。所谓作业切换,是指CPU上的作业以既定的时间片为期限进行轮换,一个作业一次只能用一个时间片在CPU上运行,一且时间片用完,立即撤下,而不管它是否运行完毕。然后换上下一个作业继续运行。但从任务切换来看、分时系统与多道批处理系统有类似之处。调入调出也称对换或者交换,它把将要运行的作业从外存(交换区)调入内存,而把换下的作业从内存移出,存入外存(的交换区)。分时系统所划分的时间片通常是几十毫秒,按时间片轮流为各个终端用户服务,而用户觉察不到中间的间歇,似乎自己在单独使用计算机。另外,由于主机的运行速度很高,虽然每一轮分给每个终端只有几十毫秒的时间,但系统也能保证对用户请求的及时响应和人机交互。总之,分时系统的特点可概括如下。(1)同时性:不同的用户可以同时在各自的终端上联机使用同一台计算机的CPU时间。(2)独立性:每个终端用户对主机系统都感觉好像是独立占用计算机贸织。(3)及时性:用户的请求能在足够快的时间内得到及时响应(4)交互性:用户能够通过终端设备与主机进行联机,进行人机交互。分时操作系统起通用大、中型计算机上配置的主流操作系统。著名的UNIX批作系统就是一个典型的分时操作系统。2.2
操作系统的类型3.实时换作系统实时操作系统简称实时系统。实时就是“立即”“及时”,实时操作系统是对特定输入,能在极短的时间内发出响应,并完成对该输入请求的处理。实时系统又可分为实时控制系统和实时处现系统两种类型。实时控制系统用于自动控制,如工业过程控制和武器控制等。它要求计算机具有快速响应能力,响应时间一般为ms级,甚至在ws级。实时处理系统用于倍息处理,比如,银行账务管理、车徙或机票订购系统等。它也要求快速响应,但与实时控制相比可以低一些。一般为s级。实时系统一般为专用系统,虽然也可以具有像分时系统一样的硬件配置,但其交互性较弱,通常配置在微机、小型机或工作站上。比如,RT-11,iRMX等,属实时操作系统。2.2
操作系统的类型4.网络操作系统网络操作系统是配置在计算机网络上的操作系统。除了通常单机操作系统所具有的资原管理和服务外,网络操作系统还具有网络通信、网络管理和网络服务等功能,网络操作系统多数是在单机操作系统基础上发展起来的,能实现网络通信合资源共享,协调各主机上的任务的运行,并向用户提供统一、高效、方便的网络接口。比如,WindowsNT、Netware和UNIX就是典型的网络操作系统。(1)网络通信网络通信是网络操作系统最基本的功能,是在源主机和目标主机之间实现无差错的数据传输。为此,需要建立通信链路,进行传输控制、差错控制、流量控制和路由选择。网络通信需要一定的网络协议来实现的,所以网络操作系统必须支持某种网络协议。比如,UNIX支持TCP/IP协议,Windows支持NETBIOS和TCP/IP协议,Netware则支持IPX/SPX和TCP/IP协议等。(2)网络管理网络管理包括网络资源管理和安全管理。资源管理是指对网络中共享资源(如硬盘,打印机和文件)实施有效的管理,协调用户对共享资源的使用,安全管理是采用某种技术保证系统和数据的安全,比如,通过“存取控制”确保存取数据的“安全性,通过“容错技术”保证系统出现故障时数据的安全性。此外,还要对网络进行监视,对使用情况进行统计等。2.2
操作系统的类型(3)网络服务基本的网络服务有电子邮件、文件传输和资源共享等。随着网络技术的发展,网络操作系统还为川户提供了应用序接口和互操作功能。应用程序接口极大方使了用户网络应用程序的开发。所谓互操作,是在客户/服务器模式的LAN环境下,连接服务器上的多种客户机和主机、不仅能与服务器通信,而且还能以透明的方式访问服务器上的文件系统;在互联网络环境下的互操作,是指不同网络间的客户机不仅能够通信,而且还能以透明的方式访问其他网络中的文件服务器。目前,网络操作系统有两种工作模式:客户/服务器(Client/Server)模式和对等(Peer-to-Peer)模式。而以前者为流行,例如,UNIX、WindowsNT、NovellNetWare、IBMOS/2等都是客户/服务器模式的网络操作系统。2.2
操作系统的类型5.分布式操作系统分布式操作系统是配置在分布式计算机系统上的操作系统。分布式计算机系统是由多台计算机连接而成的系统,从硬件连接来看、它与局域计算机网络并无区别。但是分布式计算机系统具有以下特点:(1)各节点的自治性,即系统中各计算机之间无主从之分,既无控制整个系统的主机,也无受制于其他视的从机。(2)节点间的协同性,即系统中的各台计算机分工合作,以并行方式完成同一任务。(3)资源共享的透明性,即用户只需了解系统是否有所需的资源,而不必了解该资源位于哪个节点上。(4)系统的健壮性,由于分布式系统的处理和控制功能是分布的,所以任何节点上的故障都不会给系统造成太大的影响;再加上容错技术,系统具有很好的健壮性。2.3操作系统的功能
进程管理存储管理
文件管理
设备管理2.3.1进程管理从系统角度来看,进程是计算机系统中的一种实体,是进行资源分配和调度的基本单位,它由程序、数据和一个称为进程控制块(ProcessControlBlock,PCB)的数据结构组成。其中,进程控制块PCB一般包括如下信息。1.进程的概念进程(Process)是现代操作系统中最重要的概念之一。从用户角度来看,进程就是程序的一次执行(过程)、且该程序可以同其他程序并发执行。2.3.1进程管理2.进程的组成(1)标识符:进程名、用一个字符串或数字表示。(2)地址:进程、程序和数据在内存或外存中的物理位置。(3)状态:进程的当前状态,可以是就绪、运行、阻塞等。(4)优先级:表示进程的优先程度,以便为每个进程分配处理机及其他资源时使用。(5)资源清单:进程的资源需求和分配情况。(6)现场保护区地址:内存中的一块区域,用于进程退出CPU时保护现场之用。(7)链接指针:用于形成进程队列,一般指排在该进程之后的下一进程的PCB地址。此外,还有一些其他信息,一般因系统面异。从进程的组成可以看出:①一个进程可以包含多个程序,反之,一个程序也可以同时属于多个进程。②程序和数据虽然是组成进程的实体,但仅有程序和数据还不是进程,而只有给程序和数据添上一个PCB才能构成进程。所以,PCB是进程的唯一标志,不同的PCB代表不同的进程。在系统中创建一个PCB,就等于创建了一个进程;撤销一个PCB,就等于撤销了一个进程。2.3.1进程管理3.进程的特征①进程是动态的,它由系统创建,并会发生状态转换,直至消亡。而程序是静态的,它是指令的有序集合。②进程可并发执行,即一个进程已开始工作但还没有结束之前,另一个进程可以开始工作。程序只能一个个执行并完成。③多个进程可包含有相同的程序,只要运行的数据集合不同;反之,一个进程也可包含多个进程,形成父子进程。2.3.1进程管理4.进程的状态一个进程被创建后,一般并不是立即在处理机上执行,也不是一直在处理机上执行,而是一会儿执行,一会儿停止,走走停停,直到运行结束。这就是说,进程在其整个生命周期中是在不停地变换着状态。(1)就绪状态:就是做好了一切准备、等待上CPU运行。具休来讲,就是进程已获得除CPU以外所有必要的资源、只要再获得处理机,就可立即运行。处于就绪状态的进程通常排成一个或多个队列等候执行,这样的队列称为就绪队列。(2)运行状态:就是获得处理机,其程序正在CPU上执行。(3)阻塞状态:因某种原因(如I/O请求,或等待某一事件发生)暂时从CPU上退下,而不能持续运行,即进程的运行受到了阻塞。2.3.1进程管理5.进程控制进程控制包括进程的创建、撤销和状态转换等。这些功能一般用进程控制原语实现。所谓原语,是指由若干条机器指令构成的用以完成一定功能的程序段,且在执行期间不能中断除了这几个基本进程控制原语外,在有些系统中还有一些其他进程控制原语,如挂起原语、激活原语等。6.进程调度进程由就绪状态变为运行状态是由进程调度程序实现的,实现这一状态转换的过程称为进程调度。进程调度的具体操作是按照某--原则(所谓调度算法)从就绪队列中选择一个进程,然后把处理机分配给它。引起进程调度的时机一般是正在运行的进程运行结束,或因时间片用完转入就绪状态、或因某一原因转人阻塞状态。另外。当一个高优先级的进程进入就结队列、请求立即分配处理机时,也会引起进程调度。当然,这又涉及进程调度的方式。进程调度的方式一般分为剥夺(抢占)式和非剥夺(非抢占)式两种。2.3.1进程管理常用的进秘调度算法如下。(1)优先级法就是给每一个进程设置--个级别,每次进程调度时调度程序总是从绪队列中选取一个级别最高的进程,为其分配CPU。进程的优先级一般用一个数字表示,常按某种原则(如进程的类型、大小、需占用CPU的时间以及紧急程度等)由系统自动设定,或者人工设定。优先级法又可分为静态优先级法和动态优先级法。前者优先级始终不变,后者优先级随进程的运行在不断地调整和变化。(2)时间片轮转法该算法是按某一顾序对进程进行循环调度。每个进程占用CPU的时向由其时间片决定,当用完自已的时间片后该进程退出,然后调度下一个进程。时间片轮转法又分为固定时间片轮转法和可变时间片轮转法。前者时间片的大小固定,而后者的时间片可随进程的运行而调整和变化。2.3.1进程管理7.进程互斥与同步进程互斥是指两个并发进程因争夺某一临界资源面相互排斥。如两个进程A和B,同时请求使用一台打印机、而打印机是一-种临界资源,它一次只能允许一个进程使用,于是出现相互排斥。进程同步是指两个并发进程为共同完成一个任务面相互配合、协同工作。例如,进程A、B分别为计算进程和打印进程,两者的合作关系是A算出结果,B才能打印。2.3.1进程管理8.进程通信进程通信就是进程间进行信息交流。其实,前面的信号量机制也可以看作是一种进程通信方式。因为信号量本身就是一种信息,进程正是通过对信号量的设定、修改和判定来实现互斥和同步的。但是由于信号量所携带的信息太简单、太有限,所以利用信号量通信只能算作一种低级通信。为了在进程间传递大量信息,即进程通信,操作系统发展了多种通信方式。(1)利用共享数据结构或共享内存的通信方式在这种通信方式中,进行通信的每个进程公用某些数据结构,通过这些数据结构进行信息交换;或者由操作系统在内存中划出一块共享存储区,每个进程通过对共享存储区的读写来实现通信。2.3.1进程管理(2)利用消息传递的通信方式在这种通信方式中,进程间的通信以消息(message)为单位、通过调用一组高级通信原语来进行。消息传递通信有可分为直接通信和间接通信两种。(3)利用共享文件的通信方式这种通信方式其实就是所谓的管道(PIPE)通信。在这种通信方式中、通信进程使用一个已经打开的共享文件来实现通信,该共享文件被形象地称为“管道”、所以这种通信方式也称为管道通信。在管道通信中,发送进程把数据写到管道中,而接受进程则从管道中读出数据。显然,管道是一种临界资源,所以通信时,两个通信进程关于管道也需要互斥和同步。在上述的几种通信机制中,基于共享数据结构或共享内存的通信速度最快。一-般的多任务操作系统都采用这种方式。管道通信方式由UNIX首创,是建立在共享文件的基础之上的,但效率要低一些。在UNIX(SystemV)中,提供了一个进程通信包,即IPC,实现了三种通信方式,即共享内存方式、消息通信方式和管道通信方式。2.3.1进程管理9.死锁(1)死锁的由来死锁是操作系统层面的一个错误,是进程死锁的简称,最早在1965年由Dijikstra在研究银行家算法时提出的,它是计算机操作系统乃至整个并发程序设计领域中最难处理的问题之一。事实上,计算机世界有很多事情需要多线程方式去解决,因为这样才能最大限度利用资源,才能体现出计算的高效。但是,实际上计算机系统中有很多一次只能由一个进程使用的资源的情况,如打印机,同时只能有一个进程控制它。在多通道程序设计环境中,若干进程往往要共享这类资源,而且一个进程所需要的资源还很有可能不止一个。因此,就会出现若干进程竞争有限资源,又推进顺序不当。从而构成无限期循环等待的局面,我们称这种状态为死锁。简单一点描述,死镇是指多个进程循环等待它方占有的资源而无限期地假持下去的局面。很显然,如果没有外力的作用,那么死镇涉及的各个进程都将永远处于封锁状态。系统发生死锁现象不仅浪费大量的系统资源,甚至导致整个系统崩溃,带来灾难性后果。所以,对于死锁问题在理论上和技术上都必须予以高度重视。2.3.1进程管理(2)死锁的概念死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。简而言之,死锁是多个进程由于竞争资源而导致循环等待的情况。2.3.1进程管理(3)产生死锁的四个必要条件1)互斥条件:指进程对所分配到的资源进行排他性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其他进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有、此时请求进程阻塞,但又对自己已获得的其他资源保持不放。3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。4)循环等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合|P0,P1,P2,.…,Pn|中的P正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源。2.3.1进程管理(4)打破死锁的四个必要条件前面介绍了死锁发生时的四个必要条件,只要破坏这四个必要条件中的任意一个条件,死锁就不会发生。这就为我们解决死锁问题提供了可能。一般解决死锁的方法分为死锁的预防、避免、检测与恢复三种(注意:死锁的检测与恢复是一个方法)。(5)死锁的预防死锁的预防是保证系统不进入死锁状态的一种策略。它的基本思想是要求进程申请资源时遵循某种协议,从而打破产生死锁的四个必要条件中的一个或几个,保证系统不会进入死锁状态。1)打破互斥条件,即允许进程同时访问某些资源。但是,有的资源是不允许被同时访问的.像打印机等,这是由资源本身的属性所决定的。所以,这种办法并无实用价值。2.3.1进程管理2)打破不可抢占条件,即允许进程强行从占有者那里夺取某些资源。就是说,当一个进程已占有了某些资源,它又申请新的资源,但不能立即被满足时,它必须释放所占有的全部资源以后再重新申请。它所释放的资源可以分配给其他进程。这就相当于该进程占有的资源被隐蔽地强占了。这种预防死锁的方法实现起来困难,会降低系统性能。3)打破占有且申请条件,可以实行资源预先分配策略,即进程在运行前一次性地向系统申请它所需要的全部资源。如果某个进程所需的全部资源得不到满足,则不分配任何资源,此进程暂不运行。只有当系统能够满足当前进程的全部资源需求时,才一次性地将所申请的资源全部分配给该进程。由于运行的进程已占有了它所需的全部资源,所以不会发生占有资源又申请资源的现象,因此,不会发生死锁。但是,这种策略也有如下缺点。①在许多情况下,一个进程在执行之前不可能知道它所需要的全部资源。这是由于逛程在执行时是动态的、不可预测的。②资源利用率低。无论所分资源何时用到,一个进程只有在占有所需的全部资源后才能执行。即使有些资源最后才被该进程用到一次,但该进程在生存期间却一直占有它们.造成长期占着不用的状况。这显然是一种极大的资源浪费。③降低了进程的并发性。因为资源有限,又加上存在浪费,能分配到所需全部资源的进程个数就必然少了。2.3.1进程管理4)打破循环等待条件,实行资源有序分配策略。采用这种策略,即把资源事先分类编号,按号分配,使进程在申请,占用资源时不会形成环路。所有进程对资源的请求必须严格按资源序号递增的顺序提出。进程占用了小号资源,才能申请大号资源、就不会产生环路,从而预防了死锁。这种策略与前面的策略相比,资源的利用率和系统吞吐量都有很大提高,但是也存在以下缺点。①限制了进程对资源的请求,同时给系统中所有资源合理编号也是件困难事,并增加了系统开销。②为了遵循按编号申请的次序,暂不使用的资源也需要提前申请,从而增加了进程对资源的占用时间。死锁的检测和解除经常会配套使用,当检测到死锁时,需要利用各种办法来解除系统的死锁,常用的办法有资源夺取法、进程撤销法、系统重启法、进程回退法。2.3.2存储管理存储管理是指对内存(主存)的管理,主要包括内存分配、地址变换、存储扩充和存储保护等。1.地址映射一个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接而形成可装人程序。这些程序的地址都是从“0”开始的,程序中的其他地址都是相对于起始地址计算的;由这些地址所形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”或“相对地址”。此外,由内存中的一系列单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。在多道程序环境下,地址空间中的逻辑地址和内存空间中的物理地址是不可能一致的,因此,存储器管理必须提供地址映射功能,将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能同样应在硬件的支持下完成。2.3.2存储管理2.内存分配操作系统在实现内存分配时,可采取以下两种方式。①静态分配方式。每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许再申请新的内存空间,也不允许作业在内存中“移动”。②动态分配。每个作业所要求的基本内存空间也是在装入时确定的;但允许作业任运行过程中继续申请新的附加空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”。为了实现内存分配,在内存分配的机制中应具有以下结构和功能。*内存分配数据结构。该结构用于记录内存空间的使用情况,作为内存分配的依据。*内存分配功能。系统按照一定的内存分配算法为用户程序分配内存空间。2.3.2存储管理3.内存回收功能系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。4.内存保护内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰。进一步说,绝不允许用户程序访问操作系统的程序和数据;也不允许转移到非共享的其他用户程序中去执行。2.3.2存储管理5.内存扩充由于物理内存的容量有限(它是非常宝贵的硬件资源,不可能做得太大),因而难以满足用户的需要,势必影响到系统的性能。在存储器管理中的内存扩充任务,并非是去增加物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量、使用户所感觉到的内存比物理内存大得多;或者是让更多的用户程序能并发运行。这样,即满足了用户的需要、改善了系统性能,又基本上不增加硬件投资。为了从逻辑上扩充内存,系统必须具有内存扩充机制,用于实现下述各功能。①请求调入功能。允许在仅装入一部分用户程序和数据的情况下,启动该程序运行。在运行过程中当发现继续运行时所需的程序和数据尚未装人内存时,可向操作系统发出请求、由操作系统将所需部分调入内存、以便继续运行。②置换功能。若内存中已无足够的空间米装入需要调入的部分时,系统应能将内存中的一部分暂时不用的程序和数据调至磁盘上,以便腾出内存空间,然后再将所需部分调入内存。2.3.3文件管理计算机系统中的软件资源,如源程序、目标程序、数据、编译程序等,都是以文件形式组织的。对这些文件的高效管理,并为用户提供方便、安全地使用这些文件的手段,是操作系资的另一个重要任务。1.文件及文件系统(1)文件:指逻辑上具有完整意义的一纽相关信息的有序集合,它由文件体及文件控制块(FCB)所组成。其中,文件体是文件信息的本体,文件控制块则是文件的说明,包
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有关模糊控制的课程设计
- 小星星幼教课程设计
- 无人表决器课程设计
- 水力发电站建设项目合同
- 2024版房产购买贷款按揭合同范本(含商业配套)3篇
- 2024版新媒体导演招聘与聘用合同协议3篇
- 2024版标准砖供货与绿色建筑技术应用合同协议3篇
- 2024版工业原材料采购合同协议2篇
- 2024年度电竞俱乐部选手经纪合同3篇
- 2024版房屋抵押借款合同范本(含共有产权房屋抵押)3篇
- 众辰变频器z2400t-15gy-1说明书
- 小学信息技术校本教材
- 微型计算机原理与接口技术-南京邮电大学中国大学mooc课后章节答案期末考试题库2023年
- 2003年版劳动合同范本
- 音乐教师发展规划
- 2023年诸暨市提前招生试卷
- 《Premiere影视剪辑》课件-概述篇
- 新疆地方史课件
- 配电房管理制度
- 国开数据结构课程实验报告2
- 高等级沥青路面柔性基层
评论
0/150
提交评论