哈夫曼编码的总体思路设计与实现(有偿)?

《数字图像处理计算题复习精华版》由会员分享,可在线阅读,更多相关《数字图像处理计算题复习精华版(16页珍藏版)》请在人人文库网上搜索。

1、30452计算题复习一、 直方图均衡化(P68)对已知图像进行直方图均衡化修正。例:表1为已知一幅总像素为n=64×64的8bit数字图像(即灰度级数为8),各灰度级(出现的频率)分布列于表中。要求将此幅图像进行均衡化修正(变换),并画出修正(变换)前后的直方图。表1原图像灰度级rk原各灰度级像素个数nk原分布概率pr(rk)r0==r2======7810.02解:对已知图像均衡化过程见下表:原图像灰度级rk原各灰度级像素个数nk原分布概率pr(

(a)原始图像直方图 (b)均衡化后直方图*以下部分不用写在答题中。其中: rk

3、、nk中k = 0,1,7 pr(rk)= nkn,即计算各灰度级像素个数占所有像素个数的百分比,其中,在此题中n=64×64。 ,即计算在本灰度级之前(包含本灰度级)所有百分比之和。 ,其中L为图像的灰度级数(本题中L = 8),int 表示对方括号中的数字取整。 nsk 为映射对应关系rksk 中rk所对应的nk之和。 ,或为映射对应关系rksk 中rk所对应的pr(rk)之和。二、 模板运算 使用空间低通滤波法对图像进行平滑操作(P80)空间低通滤波法是应用模板卷积方法对图像每一个像素进行局部处理。模板(或称掩模)就是一个滤波器,它的响应为H(r,s),于是滤波输出的数字图像g

4、(x,y)用离散卷积表示为式中:x,y = 0,1,2,N-1;k、l根据所选邻域大小来决定。具体过程如下:(1)将模板在图像中按从左到右、从上到下的顺序移动,将模板中心与每个像素依次重合(边缘像素除外);(2)将模板中的各个系数与其对应的像素一一相乘,并将所有的结果相加;(3)将(2)中的结果赋给图像中对应模板中心位置的像素。对于空间低通滤波器而言,采用的是低通滤波器。由于模板尺寸小,因此具有计算量小、使用灵活、适于并行计算等优点。常用的3*3低通滤波器(模板)有: 模板不同,邻域内各像素重要程度也就不同。但无论怎样的模板,必须保证全部权系数之和为1,这样可保证输出图像灰度值在许可范围内,不

5、会产生灰度“溢出”现象。例:以为模板,对下图做低通滤波处理,写出处理结果。1711解:低通滤波的步骤为:(1)将模板在图像中按从左到右、从上到下的顺序移动,将模板中心与每个像素依次重合(边缘像素除外);(2)将模板中的各个系数与其对应的像素一一相乘,并将所有的结果相加;(3)将(2)中的结果赋给图像中对应模板中心位置的像素。如图中第2行第2列处的值

6、可得处理结果为(空白处自己计算后填入)81711三、 中值滤波与邻域平均中值滤波(P81)中值滤波是对一个滑动窗口内的诸像素灰度值排序,用中间值代替窗口中心像素的原来灰度值,它是一种非线性的图像平滑法。它对脉冲干扰及椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但它对点、线等细节较多的图像却不太合适。局部平滑法(邻域平均法 或 移动平均法)(P76)局部平滑法是一种直接在空间域上进行平滑处理的技术。用邻域内各像素的灰度平均值代替该像素原来的灰度值,实现图像的平滑。设有一幅N×N的图像f(x,y),若平滑图像为g(x,

M表示集合s内像素的总数。可见邻域平均法就是将当前像素邻域内各像素的灰度平均值作为其输出值的去噪方法。设图像中的噪声是随机不相关的加性噪声,窗口内各点噪声是独立同分布的,经过(4.2.1)平滑后,信号与噪声的方差比可望提高M倍。这种算法简单,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别在边缘和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。例:对下图做3*3中值滤波处理和3*3邻域平均处理,写出处理结果,并比较邻域平均与中值滤波的差异。11555

8、解:(1)中值滤波是对一个滑动窗口内的诸像素灰度值排序,用中间值代替窗口中心像素的原来灰度值,它是一种非线性的图像平滑法。题目中的图像经3*3中值滤波后的结果为(忽略边界):1711(2)局部平滑法(邻域平均法 或 移动平均法)是用邻域内各像素的灰度平均值代替该像素原来的灰度值,实现图像的平滑。题目中的图像经3*3局部平滑法(邻域平均法 或 移动平均法)后的结果为(忽略边界):/938

9、/940/938/923/921/中值滤波法和局部平滑法(邻域平均法 或 移动平均法)均能有效削弱椒盐噪声,但中值滤波法比邻域平均法更有效,且滤波后图像中的轮廓比较清晰。四、 霍夫曼编码(P124)例:设有一信源A=a1, a2, a3, a4, a5, a6,对应概率P=0.1, 0.4, 0.06, 0.1, 0.04, 0.3.(1)进行霍夫曼编码(要求大概率的赋码字0,小概率的赋码字1),给出码字;(2)计算平均码长,信源熵和编码效率。解:(1)编码步骤1)缩减信源符号数量将信源符号按出现概率从大到小排列,然后结合2)对每个信源符号赋值从(消减到

10、)最小的信源开始,逐步回到初始信源由此可得哈夫曼编码结果见下表符号a1a2a3a4a5a6概率0.10.40.060.10.040.06编码结果平均码长(其中,是灰度值为i的编码长度,为灰度值为的概率,L为灰度级数)信源熵编码效率五、 费诺仙农编码(P126)费诺仙农编码与Huffman编码相反,采用从上到下的方法。香农-范诺编码算法步骤:(1)按照符号出现的概率减少的顺序将待编码的符号排成序列。(2)将符号分成两组,使这两组符号概率和相等或几乎相等。(3)将第一组赋值为0,第二组赋值为1。(4)对每一组,重复步骤2的操作。例:设一副灰度级为8的图象中,

0.068七、 区域分割状态法(峰谷法、灰

13、度阈值法)(P155)基本思想是,确定一个合适的阈值T。将大于等于阈值的像素作为物体或背景,生成一个二值图像。阈值的选定可以通过如下图中灰度直方图确定。方法:首先统计最简单图像的灰度直方图,若直方图呈双峰且有明显的谷,则将谷所对应的灰度值T作为阈值,按图右侧的等式进行二值化,就可将目标从图像中分割出来。这种方法适用于目标和背景的灰度差较大、有明显谷的情况。 在四邻域中有背景的像素,既是边界像素。例:对下面的图像用状态法进行二值化,并计算二值图像的欧拉数。1221解:(1)首先

14、根据已知列出灰度级分布表灰度级像素个数(2)画出图像的直方图(3)由此可确定阈值T = 4,根据,二值化的图像如下:0000(4)在二值图像中,1像素连接成分数C减去孔数H的差值叫做这幅图像的欧拉数。本题从图中可以看出,其取值为1的像素的连接成分数C = 2,孔数H = 2,所以这幅图像的欧拉数为E = C H = 2 2 = 0八、 区域增长简单区域扩张法(P159)步骤:以图像的某个像素为生长点,比较相邻像素的特征,将特征相似的相邻像

15、素合并为同一区域;以合并的像素为生长点,继续重复以上的操作,最终形成具有相似特征的像素是最大连通集合。这种方法称简单(单一型)区域扩张法。步骤:(1)从图像最左上角开始,对图像进行光栅扫描,找到不属于任何的像素。(2)把这个像素灰度同其周围(4邻域或8邻域)不属于其他区域的像素的灰度值和已存在区域的像素灰度平均值进行比较,若灰度差值小于阈值,则合并到同一区域,并对合并的像素赋予标记。(3)从新合并的像素开始,反复进行(2)的操作。(4)反复进行(2)、(3)的操作,直至不能再合并。(5)返回(1)操作,寻找新区域出发点的像素。例:对下面的图像采用简单区域生长法进行区域生长,给出灰度差值

16、 1;T = 3;T = 8三种情况下的分割图像。4解:以8邻域为比较范围, 当阈值T = 1时,图像分割结果如下图所示6个区域:4 当阈值 T = 3时,图像分割结果如下图所示为2个区域4 当阈值 T = 8时,图像分割结果如下图所示为1个区域4九、 分裂合并分裂合并法(基于四叉树思想的方法)(P161)算法实现:1)对于图像中灰度级不同的区域,均分为四个子区域。2)如果相邻的子区域所有像素的灰度级相同

17、,则将其合并。3)反复进行上两步操作,直至不再有新的分裂与合并为止。例:用分裂合并法分割图像,并给出对应分割结果的四叉树。 解:四叉树法分裂结果如下:对应四叉树为:合并后结果为:其中背景区域包括四叉树中00、01、030、033、1、21、22、23、32、33、300、303子块图像区域包括四叉树中031、032、02、20、301、302、31子块十、 膨胀和腐蚀、开运算和闭运算(P172)1)膨胀膨胀就是把二值图像各1像素连接成分的边界扩大一层的处理。膨胀的原理:设二值图像为F,结构元素为B,Bs代

18、表B关于原点对称的结构元素。当结构元素Bs的原点移到(x,y)处时,结构元素用表示。则图像F被结构元素B膨胀的定义式为: (即Bs击中F,均指各自的非零像素)其含义是:当结构元素Bs的原点移动到(x,y)位置时,如果所覆盖范围内的F的子图像与结构元素相应位置上至少有一个元素相同且不为0,则把该子图像中与的原点位置对应的(x,y)点的那个像素位置标注为1,否则为0。图像F上标注出的所有这样的像素组成的集合,即为膨胀运算的结果。膨胀运算的基本过程是:(a)求结构元素B关于其原点的反射集合Bs;(b)每当结构元素在目标图像F上平移后,结构元素Bs与其覆盖的子图像中至少有一个元素相交时,就将目标图像中

19、与结构元素Bs的原点对应的那个位置的像素值置为“1”,否则置为0。注意:(a)结构元素中原点位置所对应的目标图像子图像位置处的值是0时,仍可进行膨胀运算,无需强求是1。(b)当结构元素在目标图像上平移时,允许结构元素中的非原点像素超出目标图像范围。结构元素形状对膨胀运算结果的影响:当目标图像不变,但所给的结构元素的形状改变时;或结构元素的形状不变,而其原点位置改变时,膨胀运算的结果会发生改变。2)腐蚀(或收缩)腐蚀是把二值图像各1像素连接成分的边界点去掉从而缩小一层的处理。腐蚀的原理:设F为目标图像,B为结构元素,则目标图像F被结构元素B腐蚀可定义为 (即B包含于F,均指各自的非零像素)其含义是:当结构元素B的原点移动到目标图像F中的(x,y)位置时,如果(x,y)处像素值为1,并且Bxy所覆盖范围内的F的子图像的其他像素能够包含Bxy的其他像素或与Bxy的其他像素完全相同,则保留该子图像中与Bxy的原点位置对应的(x,y)点的像素值1,否则均为0。图像F上保留的所有这样值为1的像素组成的集合,即为腐蚀运算的结果。这里的“包含”是指结构元素B和目标图

如一张CD光盘可存600兆字节数据,这部电影图像(不包括声音)就需要160张CD光盘用来存储。此时此刻,图像压缩就很有必要。

图像作为信源有很大的冗余度,通过编码的方法减少或去掉这些冗余信息后可以有效压缩图像,同时又不会损害图像的有效信息。数据是用来表示信息的。如果不同的方法为表示等量的信息使用了不同的数据量,那么使用较多数据量的方法中,有些数据必然是代表了无用的信息,或者是重复地表示了其它数据已表示的信息,这就是数据冗余的概念。如果n1和n2代表两个表示相同信息的数据集合中所携载信息单元的数量,则n1表示的数据集合的相对数据冗余。
例如 10(或 10:1)压缩比,这指出在压缩过的数据集中,对于每 1 个单元,原始图像有 10 个携带信息的单元(如比特)。
相对数据冗余和压缩率的一些特例:
图像压缩就是减少表示数字图像时需要的数据量,是通过去除一个或三个基本数据冗余来得到的。主要有三类,分别是编码冗余、空间或/和时间冗余、不相干冗余。

  • 图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;图像内部相邻像素之间存在较强的相关性多造成的空间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余;人类视觉系统忽略或与用途无关的信息造成的不相关信息。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。

  • 图像压缩可以是有损数据压缩也可以是无损数据压缩。对于如绘制的技术图、图表或者漫画优先使用无损压缩,这是因为有损压缩方法,尤其是在低的位速条件下将会带来压缩失真。如医疗图像或者用于存档的扫描图像等这些有价值的内容的压缩也尽量选择无损压缩方法。有损方法非常适合于自然的图像,例如一些应用中图像的微小损失是可以接受的(有时是无法感知的),这样就可以大幅度地减小位速。

  • 通用的图像压缩系统如下图所示:主要是通过编码器和解码器组成。

  • 信源编码器:减少或消除输入图像中的编码冗余、像素间冗余及心理视觉冗余。

  • 转换器:对输入的数据进行转换,以改变数据的描述形式,减少或消除像素间的冗余(可逆)。

  • 量化器:根据给定的保真度准则降低转换器输出的精度,以进一步减少心理视觉冗余(不可逆)。

  • 符号编码器:根据使用的码字为量化器输出和映射 输出创建码字,减少编码冗余。

  • 不是每个图像压缩系统都必须包含这3种操作,如进行无误差压缩时,必须去掉量化器。

  • 信道编码器和信道解码器:信道是有噪声的或易产生误差时,信道编码器和信道解码器对整个编解码过程非常重要。由于信源编码器的输出数据一般只有很少的冗余,所以它们对输出噪声很敏感。

  • 符号解码器:进行符号编码的逆操作。

  • 反向转换器:进行转换器的逆操作。

  • 因为量化操作是不可逆的,所以信源解码器中没有对量化的逆操作。

f(x,y)的精确表示。如果是,系统就是无误差的、信息保持的或无损的;如果不是,在重建图像中会有一部分失真。对于后一种情况,被称为有损压缩,可以对x和y的任意取值在 f 所以,两幅图像间的总误差为:

编码冗余就是当所用的码字大于最佳编码(也就是最小长度)时存在的冗余。还提到了熵的概念,查了资料得到:==熵(entropy)指的是体系的混乱的程度,它在控制论、概率论、数论、天体物理、生命科学等领域都有重要应用,在不同的学科中也有引申出的更为具体的 定义,是各领域十分重要的参量。==这里我们讨论的是图像处理中的熵,图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。

信息冗余度一“信息剩余度”。是指一定数量的信号单元可能有的最大信息量与其包含的实际信息量之差。通常用R表示。在通信系统中,信源编码是降低信号中的信息冗余度的编码,目的是提高通信系统的有效性;信道编码是提高信息冗余度的编码,目的是提高通信系统的可靠性

概念:霍夫曼树─即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。 在计算机信息处理中,“霍夫曼编码”是一种一致性编码法(又称“熵编码法”),用于数据的无损耗压缩。

  1. 通过对符号的概率进行排序,建立信源递减序列,这种符号排序考 虑了合并最低概率的符号作为单独的符号,并在下一次信源约简时替换它们。在最左边,初始信源符号集和它们的概率按照概率值由高到低降序排序。为了形成第一次信源约简,底部的两个概率值0.125和 0.1875 被合并,形成概率值为 0.3125 的合并过的符号。这个合并过的符号和与之关联的概率被放置在第一次信源约简列,这 样,约简信源的概率还要从最大到最小排序。然后,这个过程一直重复,直到约简信源只有两个符号(在最右边)为止。
  2. 对每个约简的信源进行编码,编码从最小的信源开始,一直到原始信源。当然,对于两符号信源的最短二进制编码由 0 和 1组成。这些符号被分配给右边的两个符号(分配是任意的,颠倒 0 和 1 的顺序也是可以的)。概率为 0.5的约简信源符号通过合并两个约简信源左侧的符号生成,用来编码的 0现在被分配给这些符号,并且 0 和 1 被任意分给每个符号以便区分它们。然后, 这个操作对每个约简信源重复,直到到达原始信源。

(2)统计每个像素出现的次数:

构造节点,分別陚予其值和对应的权值:

(3)根据叶子结点列表,生成对应的霍夫曼编码树:

从信息论的角度来看,描述信息源的数据是信息和数据冗余之和,即:数据=信息+数据冗余。空间冗余是图像数据中经常存在的一种数据冗余,是静态图像中存在的最主要的一种数据冗余。是静态图像中存在的最主要的一种数据冗余。任何一幅图中的像素都可以合理地从 它们的相邻像素值预测,这些单独像素携带的信息相对较少。单一像素的视觉贡献对一幅图像 来说大部分是多余的;它们应该能够在相邻像素值的基础上推测出来。这些相关性是像素间冗余的潜在基础。

解决方案:对于图像的空间冗余我们通常采用DCT(Discrete Cosine Transfrom,离散余弦变换)编码压缩技术。DCT可以对图像的空间冗余进行有效的压缩,他是MEPG(Moving Picture Experts Group,运动图像专家组)压缩编码的基础。DCT是正交变换编码的一种,他将空间域上图像变换到频率域上进行处理。

图像空间相关性表示相邻元素点取值变化速度。从频域的角度上看,意味着像素信号的能量主要集中在低频附近,高频信号的能量随频率的增加而迅速衰减。事实上,图像信号变换越慢,则其高频分量越少。典型的如彩场信号,彩场整屏像素都相同,只有一个直流分量。图像信号变化越快细节越丰富,则对应高频分量越多,但是能量主要还是集中在低频分量上。通过频域变换,可以将原图像信号用直流分量以及少数低频交流分量的系数来表示,从而有效的对空间冗余进行压缩,这就是DCT方法,它属于有损压缩。

心理视觉冗余与实在的视觉信息相关,它是因人而异的,不同的人对于同一张照片产生的心理视觉冗余是不同的。去除心理视觉冗余数据必然导致定量信息的损失,并且该视觉信息损失是不可逆转的操作。就好比一张图像(无法放大)比较小时,人眼是无法直接判断出其分辨率,为了压缩图像的数据量,可以去除一些人眼无法直接观察出的信息,但当其放大时,没有去除心理视觉冗余的图像将和去除心理视觉冗余的图像产生明显差别

与编码及像素间冗余不同,心理视觉冗余和真实的或可计量的视觉信息有联系,心理视觉冗余数据的消除引起的定量信息损失很小,成为量化,量化会导致数据的有损压缩。这是一种不可逆操作。就好比一张图像(无法放大)比较小时,人眼是无法直接判断出其分辨率,为了压缩图像的数据量,可以去除一些人眼无法直接观察出的信息,但当其放大时,没有去除心理视觉冗余的图像将和去除心理视觉冗余的图像产生明显差别。

修改后的有损预测编码:

(五)图像视频压缩标准

◆JPEG2000——新一代静态 图像压缩标准

3种技术层次(按算法的复杂性)

JPEG会将彩色图像执行YUV或YIQ的颜色空间转换,二次采样JPEG采用4:2:0,所以这里使用YUV420的颜色空间。在JPEG中使用的颜色模型是YCbCr(由YUV调整而来)。对于一个2*2的块,将会保存4个Y值,1个Cb值(取0行0列的Cb)与1个Cr值(取1行0列的Cr),6个值保存信息,因此Cb与Cr会有一定损失。

(1)图像边长填充为8的倍数并等分

用DCT.fill(img)函数对二次采样得到的Y、U、V图像分别用0填充知道其矩阵的height和width都是8的倍数,因为DCT函数的参数是一个8*8的矩阵。

同样用DCT.split(img)函数将图像以左到右,上到下的顺序分成多个8*8矩阵,并返回这些矩阵连成的数组:

(2)离散余弦变换,用DCT.FDCT(block)函数对一个8*8矩阵进行二维离散余弦变换,保存得到的矩阵:

添加(15,0)表示(为了解码时能识别,应在前端添加)。然后对 symbol1 采用哈夫曼编码,对于 symbol2 则直接用可变字长整数编码得到的二进制码。Symbol1 采用的哈夫曼编码同样用 JPEG 推荐的哈夫曼编码。最终可用函数 AllCompressY 与 AllcompressUV将一个表格的数据转换为二进制字符串:


现在考虑译码,首先需要事先保存图片的长宽,图片位流里会保存,以此计算 出 Y,U,V 图像的矩阵数,才能在译码过程中对整个二进制流正确分割。 在 Compress 类的 encoding 函数中,参数是位流(字符串形式)与宽,高(整型)。 实验根据宽高得到 Y、 U、 V 图像的 8*8 矩阵的数量(我们知道 U 和 V 是一样多的), 然后从位流头部开始移动两个指针。同样可先用字典得到上面使用的四个哈夫曼编码表的反向映射。已知两个指针之间的二进制码的含义必定在几个状态之间转换:读取 DC 系数的 size(通过不断比较两个指针之间的位流是否为字典的 key,是的话得到其 value(这里指字典的 value),即 size,不是则移动尾指针; 通过 size 得到新的头尾指针,得到

然后通过 DC 类中的 DPCM2(DC)函数,传入各自的 DC 系数,得到三个其元素是一 个矩阵的列表,每个矩阵的[0][0]都通过 DC 系数还原为编码前:

然后对每个矩阵分别通过对应的 DC 系数还原为 63 个数:

这段操作每个函数的对象都是单个矩阵 。

第一章 计算机软件与网络基础知识
注:本系列文章部分内容来自:系统架构设计师教程(第4版) ,作者:希赛教育软考学院。目录及知识点收集来自:系统架构设计师考试大纲。仅供学习使用。



操作系统的类型:分时操作系统、批处理操作系统、实时操作系统、网络操作系统、分布式操作系统、嵌入式操作系统、微内核操作系统。

操作系统的结构:无序结构、层次结构、面向对象结构、对称多处理结构、微内核结构。

操作系统的主要功能是进行处理机与进程管理、存储管理、设备管理、文件管理和作业管理的工作。

  • 进程管理:进程是系统并发执行的体现。进程三种基本状态为运行、就绪、阻塞。在一些系统中新增了挂起状态,挂起状态的原因:对换的需要、终端用户的请求、父进程请求、负荷调节的需要、操作系统的需要。进程互斥是资源的竞争关系,同步进程互斥是进程间的协作关系。进程协调准则:空闲让进、忙则等待、有限等待、让权等待。
    – 信号量:可以有效地实现进程的同步和互斥,信号量是一个整数,当信号量大于等于0时,代表可供并发进程使用的资源实体数,当信号量小于零时则表示正在等待使用临界区的进程数。
    – PV操作:对信号量施加的操作,P(sem)操作的过程是将信号量 sem 值减 1,若 sem 的值成负数,则调用 P 操作的进程暂停执行,直到另一个进程对同一信号量做 V 操作。V(sem)操作的过程是将信号量sem 值加 1,若 sem 的值小于等于 0,从相应队列(与 sem 有关的队列)中选一个进程,唤醒它。
    – 前趋图:是一个由结点和有向边构成的有向无循环图,该图通常用于表现事务之间先后顺序的制约关系。图中的每个结点可以表示一个语句、一个程序段或是一个进程,结点间的有向边表示两个结点之间存在的前趋关系。前趋图执行先后顺序的制约关系可分为两种:直接制约和间接制约。
    – 进程调度:确定在什么时候分配处理器,并确定分给哪一个进程,即让正在执行的进程改变状态并转入就绪队列的队尾,再由调度原语将就绪队列的队首进程取出,投入执行。引起进程调度的原因:正在执行的进程执行完毕、执行中的进程自己调用阻塞原语将自己阻塞起来进入睡眠状态、执行中的进程调用了 P 原语操作,从而因资源不足而阻塞;或调用 V 原语操作激活了等待资源的进程队列、在分时系统中,当一进程用完一个时间片、就绪队列中某进程的优先级变得高于当前执行进程的优先级。进程调度的方式有两类:剥夺方式与非剥夺方式。进程调度的算法:先来先服务(First Come and First Serverd,FCFS)调度算法,又称先进先出(First In and First Out,FIFO),就绪队列按先来后到原则排队、优先数调度,就绪队列按优先数排队、轮转法,就绪队列按 FCFS 方式排队。
    – 死锁:当若干个进程互相竞争对方已占有的资源,无限期地等待,不能向前推进时会造成“死锁”。产生死锁的必要条件是:互斥条件、保持和等待条件、不剥夺条件和环路等待条件。解决死锁有两种策略:一种是在死锁发生前采用的预防和避免策略;另一种是在死锁发生后采用的检测与恢复策略。

  • 存储管理:存储器由内存和外存组成。内存是由系统实际提供的存储单元(常指字节)组成的一个连续地址空间,处理器可直接存取。外存(辅存)是指软盘、硬盘、光盘和磁带等一些外部存储部件,常用来存放暂不执行的程序和数据。存储管理主要是指对内存储器的管理,负责对内存的分配和回收、内存的保护和内存的扩充。
    – 内存:一般分成两部分,一部分为系统空间,存放操作系统本身及相关的系统程序;另一部分为用户空间,存放用户的程序和数据。
    – 页式存储管理:分页的基本思想是把程序的逻辑空间和内存的物理空间按照同样的大小划分成若干页面,并以页面为单位进行分配。系统中虚地址是一个有序对(页号,位移)。系统为每一个进程建立一个页表,其内容包括进程的逻辑页号与物理页号的对应关系、状态等。常用的页面调度算法有:最优算法、随机算法、先进先出算法、最近最少使用算法。
    – 段式存储管理:分段的基本思想是把用户作业按逻辑意义上有完整意义的段来划分,并以段为单位作为内外存交换的空间尺度。
    – 段页式存储管理:,综合了段式组织与页式组织的特点,根据程序模块分段,段内再分页,内存被分划成定长的页。段页式系统中虚地址形式是(段号、页号、页内偏移)。系统为每个进程建立一个段表,为每个段建立一个页表。段页式管理采用段式分配、页式使用的方法,便于动态连接和存储的动态分配。这种存储管理能提高内存空间的利用率。

  • 设备管理:在计算机系统中,除了处理器和内存之外,其他的大部分硬设备称为外部设备。包括输入/输出设备,辅存设备及终端设备等。
    – 数据传输控制方式:选择和衡量控制方式:数据传送速度足够高,能满足用户的需要但又不丢失数据;系统开销小,所需的处理控制程序少;能充分发挥硬件资源的能力,使得 I/O 设备尽量处于使用状态中,而 CPU 等待时间少。外围设备和内存之间常用的数据传送控制方式:程序控制方式、中断方式、直接存储访问方式、通道方式。
    – 虚设备与 SPOOLING 技术:SPOOLING假脱机,外部设备同时联机操作,又称为假脱机输入/输出操作,采用一组程序或进程模拟一台输入/输出处理器。假脱机可以将低速的独占设备改造成一种可共享的设备。SPOOLING 系统必须有高速、大容量并且可随机存取的外存(例如,磁盘或磁鼓)支持。

  • 文件管理:操作系统对计算机的管理包括两个方面:硬件资源和软件资源。硬件资源的管理包括CPU 的管理、存储器的管理、设备管理等,主要解决硬件资源的有效和合理利用问题。软件资源包括各种系统程序、各种应用程序、各种用户程序,也包括大量的文档材料、库函数等,在操作系统中它们以文件形式存储。文件管理的功能包括:建立、修改、删除文件;按文件名访问文件;决定文件信息的存放位置、存放形式及存取权限;管理文件间的联系及提供对文件的共享、保护和保密等。
    – 文件的逻辑结构:从用户角度所看到的文件组织形式,称为文件的逻辑结构。一般文件的逻辑结构可以分为两种:无结构的字符流文件和有结构的记录文件。记录文件有顺序文件、索引顺序文件、索引文件和直接文件。
    – 文件的物理结构:指文件在存储设备上的存放方法。文件的存储设备通常划分为大小相同的物理块,物理块是分配
    和传输信息的基本单位。文件的物理结构涉及文件存储设备的组块策略和文件分配策略,决定文件信息在存储设备上的存储位置。常用的文件分配策略有:顺序分配(连续分配)、链接分配(串联分配)、索引分配。
    – 文件存储设备管理:操作系统要有效地进行存储空间的管理。实质上是对空闲块的组织和管理问题。它包括空闲块的组织,空闲块的分配与空闲块的回收等问题。空闲块管理方法:索引法、链接法和位示图法。
    – 树型目录结构:在计算机的文件系统中,一般采用树型目录结构。在树型目录结构中,树的根结点为根目录,数据文件作为树叶,其他所有目录均作为树的结点。根目录隐含于一个硬盘的一个分区中,根目录在最顶层。它包含的子目录是一级子目录。每一个一级子目录又可以包含若干二级子目录,…,这样的组织结构就叫作目录树。

  • 作业管理:从用户的角度看,作业是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和。从系统的角度看,作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
    – 联机方式:用户的作业可以通过直接的方式,由用户自己按照作业步顺序操作。
    – 脱机方式:通过间接的方式,由用户率先编写的作业步依次执行的说明,一次交给操作系统,由系统按照说明依次处理。
    – 作业状态及其转换:一个作业从交给计算机系统到执行结束退出系统,一般都要经历提交、后备、执行和完成 4 个状态。
    – 用户接口:用户接口也称为用户界面,其含义有两种,一种是指用户与操作系统交互的途径和通道,即操作系统的接口;另一种是指这种交互环境的控制方式,即操作环境。操作系统的接口又可分成命令接口和程序接口。操作环境支持命令接口和程序接口,提供友好的、易用的操作平台。

网络操作系统及网络管理

网络操作系统:是一种能代替操作系统的软件程序,是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。借由网络达到互相传递数据与各种消息,分为服务器(Server)及客户端(Client)。而服务器的主要功能是管理服务器和网络上的各种资源和网络设备的共用,加以统合并控管流量,避免有瘫痪的可能性,而客户端就是有着能接收服务器所传递的数据来运用的功能,好让客户端可以清楚的搜索所需的资源。
网络操作系统除一般操作系统功能外,还支持的功能有:资源共享、网络通信、网络管理、互操作、提供网络接口、Internet/Intranet服务。

网络管理:以满足网络使用需求为目标,通过对硬件、软件的综合运用,对网络进行组建、配置、监视、测试、分析、评价和控制,最终保证网络的实时运行和服务质量。
常见网络管理方式:SNMP管理技术、RMON管理技术、基于WEB的网络管理。网络管理有五大功能:故障管理、配置管理、性能管理、安全管理、计费管理。
网络管理三代分类:第一代常用的命令行方式结合一些简单的网络监测工具、第二代良好的图形化界面、第三代将网络和管理进行有机结合的软件系统,具有“自动配置”和“自动调整”功能。
网络管理协议:简单网络管理协议(SNMP)、公共管理信息服务/公共管理信息协议(CMIS/CMIP)、公共管理信息服务与协议(CMOT)、局域网个人管理协议(LMMP)等。

嵌入式操作系统与实时操作系统

嵌入式操作系统:指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。
嵌入式操作系统特点:微型化、代码质量高、专业化、实时性强、可裁减、可配置。
嵌入式操作系统的分类:商业型、免费型

实时操作系统:对外部事件能够及时响应的系统。系统与应用很难分离,常常紧密结合在一起。实时系统并不强调资源利用率,而是更关心及时性 ( 时间紧迫性) 、可靠性和完整性。实时系统又分为实时过程控制与实时信息处理两种。实时系统的主要特征有 : 提供即时响应、高可靠性。

数据库管理系统的类型、结构和性能评价

  • 数据库管理系统的类型:按数据模型分类包括:关系型 DBMS、文档型 DBMS、键值型 DBMS、对象型 DBMS 等。
  • 数据库管理系统结构:数据库技术中采用分级的方法将数据库的结构划分为多个层次。美国 ANSI/ SPARC 数据库系统研究组 1975 年提出的三级划分法如下:
    数据库系统划分为三个抽象级:用户级、概念级、物理级。
    用户级:对应于外模式,是最接近用户的一级数据库,是用户可以看到和使用的数据库,又称用户视图。
    概念级:对应于概念模式,介于用户级和物理级之间,是所有用户视图的最小并集,是数据库管理员可看到和使用的数据库,又称 DBA(DataBase Administrator,数据库管理员)视图。
    物理级:物理级数据库对应于内模式,是数据库的低层表示,它描述数据的实际存储组织,是最接近于物理存储的级,又称内部视图。
  • 主流数据库管理系统对比及评价
运行稳定、功能齐全、性能强大、安全度高、支持多种操作系统 价格不菲,配置过程复杂、很多工具软件需要另外购买
体积小、速度快、成本低、开源 不适合大文本、图片等二进制存储
安全性高、可用性强、方便易用、集成的开发环境 只支持在Windows平台使用、伸缩性有限、并行程度低
丰富的功能和扩展,跨平台、可靠性高,容错能力强,开源许可
速度极快,支持多种数据类型、开源产品,方便易用 数据只能存储在内存中、不支持Join操作
容易支持海量数据、支持丰富的查询表达式,查询效率高、模式自由,以文档方式存储数据 复杂的事务支持较弱、不支持Join操作、内存占用高
支持并行,容易支持海量数据
支持多种查询,性能好、支持文档存储和模式自由 灵活性低、查询语言单一,支持JSON-style的语言
存储方式单一、数据存储量小,值支持Windows平台、安全性低
良好的可扩展性和性能、多数据中心备份,可靠性高 不支持聚集操作、性能不稳定

常用的关系型数据库管理系统

关系型数据库:是指采用了关系模型来组织数据的数据库。简单来理解就是,二维数据库,一个由二维表及其之间的联系而组成的一个数据组织。

  • 容易理解:二维表结构,是极为贴近逻辑世界一个概念,相比其他模型,关系型数据库相对网状、层次,更容易理解。
  • 使用方便:SQL语言的使用,让我们能够更方便地操作关系型数据库。
  • 易于维护:丰富的完整性,包括:实体完整性、参照完整性和用户定义的完整性,从而使数据冗余和数据不一致的概率大大降低;
  • 支持SQL:能够支持复杂的查询。

常用关系型DBMS可参考上表。

数据库系统的三级模式为:外模式、概念模式、内模式。

  • 概念模式:又称模式、逻辑模式。用以描述整个数据库中数据库的逻辑结构,描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系,是数据项值的框架。
  • 外模式:又称子模式、用户模式。用以描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征、数据的安全性和完整性约束条件。
  • 内模式:整个数据库的最低层表示,不同于物理层,它假设外存是一个无限的线性地址空间。内模式定义的是存储记录的类型、存储域的表示以及存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。

内模式、模式和外模式之间的关系:模式是数据库的中心与关键;内模式依赖于模式,独立于外模式和存储设备;外模式面向具体的应用,独立于内模式和存储设备;应用程序依赖于外模式,独立于模式和内模式。

两级独立性:物理独立性(用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的)和逻辑独立性(用户的应用程序与数据库中的逻辑结构是相互独立的)。

数据模型:概念数据模型(实体—联系模型)和基本数据模型(结构数据模型)。
概念数据模型:按照用户的观点来对数据和信息建模,主要用于数据库设计。概念模型主要用实体—联系方法(Entity-Relationship Approach)表示,所以也称 E-R 模型。
基本数据模型:按照计算机系统的观点来对数据和信息建模,主要用于 DBMS 的实现。基本数据模型是数据库系统的核心和基础。基本数据模型通常由数据结构、数据操作和完整性约束三部分组成。常用的基本数据模型有层次模型、网状模型、关系模型和面向对象模型。
关系代数的基本运算:并、交、差、笛卡尔积、选择、投影、连接和除法运算。

数据库规范化:关系模型满足的确定约束条件称为范式,根据满足约束条件的级别不同,范式由低到高分为 1NF(第一范式)、2NF(第二范式)、3NF(第三范式)、BCNF(BC 范式)、4NF(第四范式)等。不同的级别范式性质不同。

  • 1NF:有唯一主属性(主键),且属性不可再分。
  • 2NF:所有非主属性都完全依赖于主属性。
  • 3NF:每个非主属性不传递依赖于主属性。
  • BCNF:主属性对不含它的码完全函数依赖,没有属性完全函数依赖于一组非主属性。

关系模型分解必须遵守两个准则:无损连接性,信息不失真(不增减信息);函数依赖保持性,不破坏属性间存在的依赖关系。
数据规范化的优点:减少了数据冗余,节约了存储空间,相应逻辑和物理的I/O 次数减少,同时加快了增、删、改的速度。
数据规范化的缺点:对完全规范的数据库查询,通常需要更多的连接操作,从而影响查询速度。

  • 增加冗余列:指在多个表中具有相同的列,它常用来在查询时避免连接操作。
  • 增加派生列:指增加的列可以通过表中其他数据计算生成,它的作用是在查询时减少计算量,从而加快查询速度。
  • 重新组表:指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
  • 分割表:水平分割:根据一列或多列数据的值把数据行放到两个独立的表中。垂直分割:把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。

分布式数据库系统,并行数据库系统

分布式数据库DDB:分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力,成为场地自治,它可以执行局部应用,同时,每个结点也能通过网络通信子系统执行全局应用。
分布式数据库管理系统DDBMS:负责分布式数据库的建立、查询、更新、复制、管理和维护的软件。保证分布式数据库中数据的物理分布对用户的透明性。
分布式数据库系统DDBS:一个计算机网络组成的计算机系统,在配置了分布式数据库管理系统,并在其上建立了分布式数据库和相应的应用程序。
分布式数据库的特点:数据的分布性、统一性、透明性。
与集中式数据库相比,分布式数据库具有下列优点:坚固性好、可扩充性好、可改善性能、自治性好。

  • 按 DDBMS 软件同构度分:同构型分布式数据库、异构型分布式数据库。
  • 按局部自治度分:无局部自治、局部自治。
  • 按分布透明度分:有高度分布透明(高度模式集成)、没有分布透明(没有模式集成度)、部分分布透明。

分布式数据库的目标:局部结点自治性、不依赖中心结点、能连续操作、具有位置独立性(位置透明性)、分片独立性(分片透明性)、数据复制独立性、支持分布式查询处理、支持分布事务管理、具有硬件独立性、具有操作系统独立性、具有网络独立性、具有 DBMS 独立性。

分布式数据库的模式结构有六个层次:全局外模式、全局概念模式、分片模式、分布模式、局部概念模式、局部内模式。如下图:
分布式数据库的分层模式结构有三个显著的特征:数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。数据冗余的显示控制。局部 DBMS 的独立性,也称为“局部映射透明性”。

分布式数据库系统与并行数据库系统相似点:都是通过网络连接各个数据处理结点的,整个网络中的所有结点构成一个逻辑上统一的整体,用户可以对各个结点上的数据进行透明存取等。
分布式数据库系统与并行数据库系统区别

  • 应用目标不同:并行数据库系统的目标是充分发挥并行计算机的优势,利用系统中的各个处理机结点并行地完成数据库任务,提高数据库的整体性能。分布式数据库系统主要目的在于实现各个场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提高系统的整体性能。
  • 实现方式不同:在并行数据库中,为了充分发挥各个结点的处理能力,各结点间采用高速通信网络互联,结点间数据传输代价相对较低。当负载不均衡时,可以将工作负载过大的结点上的任务通过高速通信网络送给空闲结点处理,从而实现负载平衡。在分布式数据库系统中,各结点(场地)间一般通过局域网或广域网互联,网络带宽比较低,各场地之间的通信开销较大,因此在查询处理时一般应尽量减少结点间的数据传输量。
  • 各结点的地位不同:在并行数据库中,各结点之间不存在全局应用和局部应用的概念。各个结点协同作用,共同处理,而不可能有局部应用。在分布式数据库系统中,各结点除了能通过网络协同完成全局事务外,还有自己结点场地的自治性。也就是说,分布式数据库系统的每个场地又是一个独立的数据库系统,除了拥有自己的硬件系统(CPU、内存和磁盘等)外,还拥有自己的数据库和自己的客户,可运行自己的 DBMS,执行局部应用,具有高度的自治性。

数据仓库与数据挖掘技术

数据仓库:是一个面向主题的、集成的、相对稳定的、且随时间变化的数据集合,用于支持管理决策。
数据仓库与传统数据库比较:

历史的、归档的、归纳的、计算的数据
面向业务操作程序、重复操作
静态、不能直接更新,只能定时添加、更新
高度结构化、复杂,适合操作计算
每个事务一般指访问少量记录 每个事务一般访问大量记录
计时单位相对较大,除秒,还有分、时

数据仓库的结构:从数据仓库的概念结构看一般包含数据源、数据准备区、数据仓库数据库、数据集市/知识挖掘库及各种管理工具和应用工具。如下图:
数据仓库的参考框架:由数据仓库基本功能层、数据仓库管理层和数据仓库环境支持层组成。
大众观点的数据仓库的架构:数据源、数据的存储与管理、OLAP(联机分析处理)服务器、前端工具。
数据仓库的建立过程:需求分析、概念模型设计、逻辑模型设计、物理模型设计和数据仓库生成。
数据仓库的实现方法主要有:自顶向下法、自底向上法和联合方法。

数据挖掘技术:从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。数据挖掘其实是一种深层次的数据分析方法。
数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是:数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先知,有效和可实用三个特征。

  • 关联分析:用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。
  • 序列分析:用于发现一定时间间隔内接连发生的事件。
  • 分类分析:通过分析具有类别的样本的特点,得到决定样本属于各种类别的规则或方法。
  • 聚类分析:根据物以类聚的原理,将本身没有类别的样本聚集成不同的组,并且对每一个这样的组进行描述的过程。
  • 预测:与分类类似,但预测是根据样本的已知特征估算某个连续类型的变量的取值的过程,而分类则只是用于判别样本所属的离散类别而已。预测常用的技术是回归分析。
  • 时间序列:分析的是随时间而变化的事件序列,目的是预测未来发展趋势,或者寻找相似发展模式或者是发现周期性发展规律。

数据挖掘的流程:问题定义(明确需求) > 建立数据挖掘库 > 分析数据 > 调整数据 > 模型化 > 评价和解释。

备份和恢复计划的制订要遵循以下两个原则:

  • 保证数据丢失的情况尽量少或完全不丢失,因为性价比的要求,这要取决于现实系统的具体要求。
  • 备份和恢复时间尽量短,保证系统最大的可用性。

数据库备份按照备份内容分为:物理备份和逻辑备份。

  • 物理备份:在操作系统层面上对数据库的数据文件进行备份,物理备份分为冷备份和热备份两种。
    – 冷备份:将数据库正常关闭,在停止状态下利用操作系统的 copy、cp、tar、 cpio 等命令将数据库的文件全部备份下来,当数据库发生故障时,将数据文件复制回来,进行恢复。
    – 热备份:分为两种,一种是不关闭数据库,将数据库中需要备份的数据文件依次置于备份状态,相对保持静止,然后再利用操作系统的 copy、cp、tar、cpio 等命令将数据库的文件备份下来,备份完毕后再将数据文件恢复为正常状态,当数据库发生故障时,将数据文件复制回来,进行恢复。另外一种方式是利用备份软件在数据库正常运行的状态下,将数据库中的数据文件备份出来。
  • 逻辑备份:指利用各数据库系统自带的工具软件备份和恢复数据库的内容。

总结:在数据库容量不大的情况下逻辑备份是一个非常有效的手段,既简单又方便,但现在随着数据量的越来越大,利用逻辑备份来备份和恢复数据库已力不从心,速度也很慢。针对大型数据库的备份和恢复一般结合磁带库采用物理的完全、增量、累积三种备份方式相组合来进行。

嵌入式系统:一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能、可靠性、成本、体积、功耗等方面的要求,集可配置,可裁减的软、硬件于一体的专用计算机系统。它具有很强的灵活性,主要由嵌入式硬件平台、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。其中,“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本的核心要素。

  • 嵌入性:指计算机计算机嵌入到对象系统中,且满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。
  • 专用性:指软、硬件的裁剪性,满足对象要求的最小软、硬件配置等。
  • 计算机系统:指嵌入式系统必须是一个能满足对象系统控制要求的计算机系统。

嵌入式系统的特点:系统实时性强、软硬件依赖性强、处理器专用、多种技术紧密结合、系统透明性、系统资源受限。

嵌入式系统的硬件组成与设计

嵌入式系统的硬件组成:嵌入式处理器、存储器、外部设备、总线。

  • 嵌入式处理器:整个嵌入式系统的核心,负责控制系统的执行。
    – 嵌入式微处理器:由通用计算机中的 CPU 演变而来。嵌入式微处理器在功能上跟普通的微处理器基本一致,但是它具有体积小、功耗低、质量轻、成本低及可靠性高的优点。主要的嵌入式微处理器有 AM186/88、386EX、SC-400、POWER PC、MIPS 及 ARM 等系列。
    – 嵌入式微控制器:又称单片机,就是整个计算机系统都集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心。特点是单片化,体积更小,功耗和成本更低,可靠性更高。主要有8051 系列、MCS-96/196/296、C166/167、MC68HC05/11/12/16 等。
    – 嵌入式数字信号处理器:专门用于信号处理的处理器,DSP 芯片内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的 DSP 指令,可以用来快速实现各种数字信号的处理算法。主要有数字滤波、快速傅立叶变换及频谱分析等。
    – 嵌入式片上系统:在一块芯片上集成很多功能模块的复杂系统。大幅度缩小了系统的体积,降低了系统的复杂度,增强了系统的可靠性。嵌入式片上系统可以分为通用片上系统和专用片上系统两类。通用类的主要产品有 Siemens 的 Trocore、Motorola 的 M-Core、某些ARM 系列的器件等。专用类的具有代表性的产品有 Philips 的 Smart XA。

  • 存储器:用于存放系统的程序代码、数据和系统运行的结果。主要包括主存和外存。有 3 种类型:RAM、ROM(Read-Only Memory,只读内存)和混合存储器。
    – 高速缓存:存放当前使用最多的程序代码和数据的。可以分为:数据Cache、指令 Cache 和混合 Cache。
    – 主存:处理器能够直接访问的存储器,用来存放系统和用户的程序和数据。主存中的代码可直接运行,主存的主要特点是速度快,一般采用 ROM、EPROM、NOR flash、SRAM 和 DRAM 等存储器件。
    – 外部存储器是不与运算器直接联系的后备存储器,用来存放不常用的或暂不使用的信息,外存一般以非易失性存储器构成,数据能够持久保存。

  • 外部设备:嵌入式系统同外界交互的通道,常见的外部设备有 Flash 存储器、键盘、输入笔、触摸屏、液晶显示器等输入/输出设备。
    – 根据输入设备实现机理的不同,嵌入式系统的设备可以分为:机械式、触控式以及声光式三类。
    – 嵌入式系统与外部设备或其他的计算机系统进行通信时,需经接口适配电路,在嵌入式系统中广泛应用的接口主要有:RS232-串行接口、并行接口、USB 接口、IEEE-1394 接口以及 RJ-45 接口等,还有以蓝牙为代表的无线接口。

  • 总线:连接计算机系统内部各个部件的共享高速通路。嵌入式系统的总线一般分为片内总线和片外总线。片内总线指嵌入式微处理器内的CPU 与片内其他部件连接的总线;片外总线指总线控制器集成在微处理器内部或外部芯片上的用于连接外部设备的总线。
    – AMBA 总线:先进微控制器总线架构,一种总线规范。独立于处理器和制造工艺技术,增强了各种应用中外设和系统单元的可重用性,它提供将 RISC 处理器与 IP 核集成的机制。该规范定义了三种总线:先进性能总线(由主模块、从模块和基础结构三部分组成,整个 AHB 总线上的传输都由主模块发起,从模块响应)、先进系统总线(用于高性能模块的互连,支持突发数据传输模式,较老的总线格式,逐步由先进性能总线所替代)、先进外设总线(用于连接低带宽外围设备,其总线结构只有唯一的主模块,即 APB 桥,它不需要仲裁器以及响应/确认信号,以最低功耗为原则进行设计,具有总是两周期传输、无等待周期和响应信号的特点)。
    – PCI 总线:外围构件互连总线,地址、数据复用的高性能 32 位与 64 位总线,是微处理器与外围设备互连的机构,它规定了互连协议、电气、机械以及配置空间的标准。
    – Avalon 总线:用于可编程片上系统(System on Programmable Chip,SOPC)中,连接片上处理器和其他 IP 模块的一种简单总线协议,规定了主部件和从部件之间进行连接的端口和通信时序。

带宽高,采用地址与数据分离的流水线操作,支持固定长与不定长突发传送,兼容性好,支持多个总线主设备
速度快,支持线性突发传送,支持即插即用,兼容性好,可靠性高,可扩展性好
支持字节、半字和字传输,同步接口,独立的地址线、数据线和控制线,设备内嵌译码部件,支持多个总线主设备,自动生成仲裁机制,多个主设备可同时操作使用一条总线,可自动调整总线宽度以适应尺寸不匹配的数据

嵌入式系统应用软件及开发平台

嵌入式系统的软件分层:操作系统软件、应用支撑软件和应用软件。系统软件和支撑软件是基础,应用软件则是最能体现整个嵌入式系统的特点和功能的部分。

  • 操作系统软件:由操作系统内核、应用程序接口、设备驱动程序接口等几部分组成。
  • 应用支撑软件:由窗口系统、网络系统、数据库管理系统及 Java 虚拟机等几部分组成。
  • 应用软件:是系统整体功能的集中体现。一个系统必须具备应用软件。从范围上应用软件涉及工业控制、家电、商业、通信等诸多领域。从跟用户的交互方式上有跟桌面系统类似的软件,也有嵌入程度很深、使用户感觉不到其存在的应用软件。从运行环境上讲,有在操作系统和支撑软件上运行的软件,也有直接在硬件上运行的应用软件。

嵌入式系统软件开发平台:嵌入式系统的软件开发方法采用的不是通用的开发方法,而是交叉式开发方法。即软件在一个通用的平台上开发,而在另一个嵌入式目标平台上运行。用于开发嵌入式软件的通用平台通常叫作宿主机系统,被开发的嵌入式系统称为目标机系统。而当软件执行环境和开发环境一致时的开发过程则称为本地开发交叉平台开发环境,通常包含三个高度集成的部分:

  1. 运行在宿主机和目标机上的强有力的交叉开发工具和实用程序。
  2. 运行在目标机上的高性能、可裁剪的实时操作系统。
  3. 连接宿主机和目标机的多种通信方式,如,以太网,串口线,ICE或 ROM 仿真器等。

宿主机提供的基本开发工具是交叉编译器、交叉链接器和源代码调试器。作为目标机的嵌入式系统则可能提供一个动态装载器、链接装载器、监视器和一个调试代理等。

嵌入式常用开发调试方法:直接测试法、调试监控法、在线仿真法、片上调试法及模拟器法等。
在嵌入式开发领域,主要有三种核心技术:处理器技术、IC 技术、设计/ 验证技术。

嵌入式网络:用于连接各种嵌入式系统,使之可以互相传递信息、共享资源的网络系统。

  • 现场总线网:也称工业自动化领域的计算机局域网。一种将数字传感器、变换器、工业仪表及控制执行机构等现场设备与工业过程控制单元、现场操作站等互相连接而成的网络。具有全数字化、分散、双向传输和多分支的特点,是工业控制网络向现场级发展的产物。是一种低带宽的底层控制网络,位于生产控制和网络结构的底层,因此也被称为底层网。主要应用于生产现场,在测量控制设备之间实现双向的、串行的、多节点的数字通信。
    – 现场总线控制系统:是运用现场总线连接各控制器及仪表设备而构成的控制系统,该控制系统将控制功能彻底下放到现场,降低了安装成本和维护费用。是一种开放的、具有互操作性的、彻底分散的分布式控制系统。专用微处理器置入传统的测量控制仪表,使其具备数字计算和数字通信能力。
  • 家庭信息网:一种把家庭范围内的个人计算机、家用电器、水、电、气仪表、照明设备和网络设备、安全设备连接在一起的局域网。主要功能是集中控制上述设备并将其接入Internet,以共享网络资源和服务。家庭设备都是智能化的。
  • 无线数据通信网:一种通过无线电波传送数据的网络系统。它是在有线数据通信的基础上发展起来的,能实现移动状态下的数据通信。无线数据通信网分为短程无线网和无线 Internet。
  • 嵌入式 Internet:嵌入式系统产品与 Internet 连接,共享 Internet 所提供的方便、快捷、无处不在的信息资源和服务。嵌入式 Internet 技术在智能交通、家政系统、家庭自动化、工业自动化、POS 及电子商务等领域具有广阔的应用前景。
    1、嵌入式设备上集成了 TCP/IP 协议栈及相关软件,这类设备可以作为 Internet 的一个节点,分配有 IP 地址,与 Internet 直接互联。特点是:设备可以直接连接到 Internet,对 Internet 进行透明访问;不需要专门的接入设备;设备的协议标准化;需要的处理器性能和资源相对较高;需要占用 IP 资源。
    2、通过网关接入 Internet,即采用瘦设备方案,设备不直接接入 Internet,不需要复杂的TCP/IP 协议全集,而是通过接入设备接入 Internet。特点是:对接入设备的性能和资源要求较低;接入设备的协议栈开销较小;不需要分配合法的 IP 地址;可以降低系统的整体成本;设备可以实现多样化、小型化。
    – 嵌入式 TCP/IP 协议栈:嵌入式 TCP/IP 协议栈完成的功能与完整的 TCP/IP 协议栈是相同的,但是由于嵌入式系统的资源限制,嵌入式协议栈的一些指标和接口等与普通的协议栈可能有所不同。不同点为:嵌入式协议栈的调用接口与普通的协议栈不同、嵌入式协议栈的可裁剪性、嵌入式协议栈的平台兼容性、嵌入式协议栈的高效率。

嵌入式数据库管理系统:在嵌入式设备上使用的数据库管理系统,也称为移动数据库或嵌入式移动数据库。作用主要是解决移动计算环境下数据的管理问题,移动数据库是移动计算环境中的分布式数据库。
在嵌入式系统中引入数据库技术的原因:

  • 所有的应用都要重复进行数据的管理工作,增加了开发难度和代价。
  • 各应用之间的数据共享性差。
  • 应用软件的独立性、可移植性差,可重用度低。

嵌入式数据库系统使用环境的特点:设备随时移动性、网络频繁断接、网络条件多样化、通信能力不对称。
嵌入式数据库管理系统组成:由若干子系统组成,包括主数据库管理系统、同步服务器、嵌入式数据库管理系统、连接网络等几个子系统。
嵌入式移动数据库须解决:数据的一致性(复制性)、高效的事务处理和数据的安全性等问题。
移动数据库管理系统的特性:微核结构,便于实现嵌入式功能、对标准 SQL 的支持、事务管理功能、完善的数据同步机制、支持多种连接协议、完备的嵌入式数据库管理功能、平台无关性与支持多种嵌入式操作系统、零管理特性。

计算机网络:由通信线路互相连接的许多独立自主工作的计算机构成的资源共享集合体,是计算机技术和通信技术相结合的产物。采用分层设计方法,按照信息的传输过程将网络的整体功能分解为一个个的功能层,不同机器上的同等功能层之间采用相同的协议,同一机器上的相邻功能层之间通过接口进行信息传递。
数据通信系统包括三大部分:源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接收端、接收方)。

  • 源点:产生要传输数据的设备。
  • 发送器:源点生成的数字比特流通过发送器编码后才能在传输系统中传输。
  • 接收器:接收传输系统送过来的信号,把它转换为能够被目的设备处理的信息,
  • 终点:接收传送来的数字比特流,把信息输出。

信道:一般用来表示向某一个方向传送信息的媒体。

  • 单向通信:只能有一个方向的通信而没有反方向的交互。
  • 双向交替通信:通信的双方都可以发送信息,但不能双方同时发送,也就不能同时接收。
  • 双向同时通信:通信的双方可以同时发送和接收信息。
  • 基带信号:来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。

基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。因此必须对基带信号进行调制。调制分为两大类:

  • 基带调制:仅对基带信号的波形进行变换,使它能够与信道特性相适应。变换后的信号仍然是基带信号。把这种过程称为编码。
  • 带通调制:使用载波进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号,这样就能够更好地在模拟信道中传输,即仅在一段频率范围内能够通过信道。
  • 带通信号:经过载波调制后的信号。

数据通信常用编码方式

  • 不归零制:正电平代表1,负电平代表0。
  • 归零制:正脉冲代表1,负脉冲代表0。
  • 曼彻斯特编码:位周期中心的向上跳变代表0,为周期中心的向下跳变代表1。
  • 差分曼彻斯特编码:每一位中心处都有跳变。位开始边界有跳变代表0,没有跳变代表1。

网络互联模型OSI/RM:构造了由下到上的七层模型,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

  • 应用层:http协议、文件服务器、邮件服务器等,直接面向用户的一层,是计算机网络与最终用户之间的界面。
  • 表示层:数据转换解决不同系统的兼容问题,处理的是用户信息的表示问题。
  • 会话层:建立与应用程序的会话连接,实施服务请求者与服务提供者之间的通信、组织和同步它们的会话活动,并管理它们的数据交换过程。
  • 传输层:提供端口号和传输协议(TCP和UDP),提供可靠的端到端的数据传输服务。
  • 网络层:为数据实现路由 路由器、交换机。实现整个通信子网内的连接,并通过网络连接交换网络服务数据单元。
  • 数据链路层:传输的地址的帧以及错误的检测。
  • 物理层:以二进制的形式,在物理机器上实现传输(光纤、专线、各种物理介质实现)

TCP/IP 结构模型:可根据已开发的协议标准和通信任务将其大致分成四个比较独立的层次,分别是网络接口层、网络互联层、传输层和应用层。

  • 网络接口层:大致对应于 OSI/RM 的数据链路层和物理层,只定义了网络接口层作为物理层的接口规范。处在TCP/IP 结构模型的最底层,主要负责管理为物理网络准备数据所需的全部服务程序和功能。
  • 网络互联层:也称为网络层、互联网层或网际层,负责将数据报独立地从信源传送到信宿,主要解决路由选择、阻塞控制和网络互联等问题。在功能上类似于OSI/RM 中的网络层。
  • 传输层:负责在信源和信宿之间提供端到端的数据传输服务,相当于 OSI/RM 中的传输层。
  • 应用层直接面向用户应用,为用户方便地提供对各种网络资源的访问服务,包含了 OSI/RM 会话层和表示层中的部分功能。

计算机网络的各层中存在着许多协议,它们是定义通过网络进行通信的规则。接收方与发送方同层的协议必须一致,否则,一方将无法识别另一方发出的信息。

  • 应用层协议:应用程序通过本层协议利用网络完成数据交互的任务。这些协议主要有 FTP、TFTP、HTTP、SMTP、DHCP、Telnet、DNS 和 SNMP等。
    – FTP:文件传输协议。运行在 TCP 之上,是网络上两台计算机传送文件的协议。
    – TFTP:简单文件传输协议。 建立在 UDP之上,用来在客户机与服务器之间进行简单文件传输的协议。
    – HTTP:超文本传输协议。建立在 TCP 之上,用于从 WWW 服务器传输超文本到本地浏览器的传送协议。
    – SMTP:简单邮件传输协议。建立在 TCP 之上,是一种提供可靠且有效的电子邮件传输的协议。
    – DHCP:动态主机配置协议。建立在 UDP 之上,是基于客户机/服务器模型设计的。
    – Telnet:远程登录协议。是登录和仿真程序,建立在 TCP 之上,基本功能是允许用户登录进入远程计算机系统。
    – DNS:域名系统。进行域名解析的服务器。在 Internet 上域名与 IP 地址之间是一一对应的。
    – SNMP:简单网络管理协议。解决 Internet 上的路由器管理问题。
  • 传输层协议:主要有两个传输协议,分别是 TCP 和 UDP。负责提供流量控制、错误校验和排序服务。
    – TCP: 采用了重发技术,是面向连接可靠的协议,因建立连接时必须三次握手才可以实现数据传输,所以数据不会丢失。
    – UDP:是一个面向无连接的协议,UDP在通讯的时候不需要接收方存在,属于不可靠传输,可能会存在数据丢包的问题。
  • 网络层协议:主要有 IP、ICMP、IGMP、ARP和 RARP等,处理信息的路由和主机地址解析。
    – IP: 无连接的和不可靠的,将差错检测和流量控制之类的服务授权给了其他的各层协议。提供端到端的分组分发功能。
    – ARP:用于动态地完成 IP 地址向物理地址的转换。
    – ICMP:一个专门用于发送差错报文的协议。
    – IGMP:允许 Internet 中的计算机参加多播,是计算机用作向相邻多目路由器报告多目组成员的协议。

网络互连与常用网络设备

网络互连:为了将两个以上具有独立自治能力、同构或异构的计算机网络连接起来,实现数据流通,扩大资源共享的范围,或者容纳更多的用户。网络互连包括局域网与局域网的互连、局域网与广域网的互连、广域网与广域网的互连。

常用网络设备:中继器(实现物理层协议转换,在电缆间转换二进制信号)、网桥(实现物理层和和数据链路层协议转换)、路由器(实现网络层和以下各层协议转换)、网关(提供从最底层到传输层或以上各层的协议转换)和交换机等。
交换技术:当用户较多而传输的距离较远时,采用交换技术,使通信传输线路为各个用户公用。交换技术又可分为电路交换、报文交换和分组交换。
路由技术:主要功能就是进行路由选择。根据路由选择协议的应用范围,可以将其分为内部网关协议、外部网关协议和核心网关协议。根据路由协议使用的算法可以将其分为距离向量协议、链路状态协议和平衡型协议。

计算机网络的分类与应用

计算机网络分类:局域网和广域网。
局域网:将分散在有限地理范围内的多台计算机通过传输媒体连接起来的通信网络,通过功能完善的网络软件,实现计算机之间的相互通信和资源共享。

  • 地理分布范围较小,一般为数百米至数千米的区域范围之内。
  • 数据传输速率高,可适用于语音、图像、视频等各种业务数据信息的高速交换。
  • 数据误码率低,采用短距离基带传输,可以使用高质量的传输媒体,从而提高数据传输质量。
  • 一般以 PC 为主体,还包括终端和各种外设,网络中一般不架设主骨干网系统。
  • 协议相对简单、结构灵活,建网成本低、周期短,便于管理和扩充。

构成局域网的网络拓扑结构:

  • 星形结构:中间是一个枢纽(网络交换设备),所有的节点都连接到这个枢纽上。
  • 总线结构:由一条共享的通信线路将所有节点连接在一起。
  • 环形结构:与总线结构类似,也是由一条共享的通信线路将所有节点连接在一起。但环形结构中的共享线路是闭合的。
  • 网状结构:网状结构方式的网络就是任何节点彼此之间都会由一根物理通信线路相连,任何节点出现故障都不会影响到其他节点。

无线局域网:运用射频技术取代原来局域网系统中必不可少的传输介质来完成数据的传送任务。无线局域网可分为两大类,分别是有接入点模式(基础设施网络)和无接入点模式(Adhoc 网络)。

  • 基础设施网络:整个网络都使用无线通信的方式,但系统中存在接入点,通过接入点将一组节点逻辑上联系在一起,形成一个局域网。
  • Adhoc 网络:整个网络都使用无线通信的方式,直接通过无线网卡实现点对点连接。

广域网:在传输距离较长的前提下所发展的相关技术的集合,用于将大区域范围内的各种计算机设备和通信设备互联在一起,组成一个资源共享的通信网络。广域网一般由电信部门负责组建、管理和维护,并向全社会提供面向通信的有偿服务、流量统计和计费问题。

多媒体的类型、特点及数据格式

多媒体的类型:文本、图像、动画、声音、视频影像。
多媒体的特点:集成性、控制性、交互性、非线性多媒体技术的非线性特点、实时性、互动性、信息使用的方便性、信息结构的动态性。

多媒体数据压缩编码方法的两大类是:无损压缩编码和有损压缩编码。
无损压缩编码:解码前后数据完全一致,没有任何失真度和偏差。常用的无损压缩编码技术有Huffman编码。
有损压缩编码:有一定程度偏差和失真,但是没多大影响。常用的有损压缩编码技术有子带编码、模型编码和矢量量化编码等。
常见的压缩算法有:信息熵编码(主要有行程长度编码,哈夫曼编码和算术编码),通用编码,预测编码,模型法编码等。

C/S结构:系统由提供服务的服务器和发起请求、接受结果的客户机构成。
多层结构:是 C/S 结构的扩展,典型的分为数据层、逻辑层、视图层。当系统更复杂时,可以再增加其他层次构成多层结构。实现多层结构常常需要中间件。中间件大多数实现远程程序调用、对象请求调度等功能。

分布式系统:利用联网的计算机协同工作,共同完成复杂的工作。分布式系统可以由两种完全不同的方式来进行协同和合作,第一种是基于实例的协作,第二种是基于服务的协作。分布式系统必须基于网络,这个网络可以是局域网,也可以是广域网。

容错技术是保证系统在某些组成部分出现故障或差错时仍能正常工作的技术。通常根据不同的系统配置方法而采用相应容错技术:单机容错技术、双机热备份技术和服务器集群技术。

  • 单机容错技术:提高系统工作可靠性的方法主要有自检技术和冗余技术。容错又有多种形式,如硬件容错、软件容错、整机容错等。
    – 自检技术:系统在发生非致命性故障时能自动发现故障和确定故障的性质、部位,并自动采取措施更换和隔离产生故障的部件。
    – 冗余技术:冗余可分为硬件冗余(增加硬件)、软件冗余(增加程序,如同时采用不同算法或不同人编制的程序)、时间冗余(如指令重复执行、程序重复执行)、信息冗余(如增加数据位)等。冗余技术中最常用的两种方法是重复线路和备份线路。
  • 双机热备份技术:是一种软硬件结合的较高容错应用方案。由两台服务器系统和一个外接共享磁盘阵列柜和相应的双机热备份软件组成。用户的数据存放在外接共享磁盘阵列中,在一台服务器出现故障时,备机主动替代主机工作,保证网络服务不间断。采用“心跳”方法保证主系统与备用系统的联系。双机热备份技术,根据两台服务器的工作方式可以有三种不同的工作模式,即:双机热备模式、双机互备模式和双机双工模式。
    – 双机热备模式:即active/standby 方式,active 服务器处于工作状态;而standby 服务器处于监控准备状态,服务器数据包括数据库数据同时往两台或多台服务器写入(通常各服务器采用 RAID 磁盘阵列卡),保证数据的即时同步。当 active 服务器出现故障时,通过软件诊测或手工方式将 standby 机器激活,保证应用在短时间内完全恢复正常使用。
    – 双机互备模式:两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性,对服务器的性能要求比较高。
    – 双机双工模式:集群的一种形式,两台服务器均处于活动状态,同时运行相同的应用,以保证整体系统的性能,也实现了负载均衡和互为备份,通常使用磁盘柜存储技术。Web 服务器或 FTP 服务器等用此种方式比较多。
  • 服务器集群技术:一组相互独立的服务器在网络中组合成为单一的系统工作,并以单一系统的模式加以管理。集群必须可以协调管理各分离的构件出现的错误和故障,并可透明地向集群中加入构件。一个集群包含多台(至少二台)共享数据存储空间的服务器。其中任何一台服务器运行应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。集群内各节点服务器通过一个内部局域网相互通信,当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。

性能指标计算的主要方法有:定义法、公式法、程序检测法、仪器检测法。定义法主要根据其定义直接获取其理想数据,公式法则一般适用于根据基本定义所衍生出的复合性能指标的计算,而程序检测法和仪器检测法则是通过实际的测试来得到其实际值。

  • MIPS 的计算方法:计算处理机的运算速度。Fz 为处理机的工作主频,CPI为每条指令所需的平均时钟周期数,IPC 为每个时钟周期平均执行的指令条数。
  • 峰值计算:计算机每秒钟能完成的浮点计算最大次数。

理论浮点峰值 = CPU 主频′CPU 每个时钟周期执行浮点运算的次数′系统中 CPU 数

  • 等效指令速度:静态指令指在程序中直接统计的计算机速度。动态指令指的是在程序执行过程中统计的指令速度。通常加、减法指令占 50%,乘法指令占 15%,除法指令占 5%,程序控制指令占 15%,其他指令占15%。

阿姆达尔解决方案:系统中对某部件采用某种更快的执行方式,所获得的系统性能的改变程度,取决于这种方式被使用的频率,或所占总执行时间的比例。阿姆达尔定律定义了采用特定部件所取得的加速比。

加速比 = 不使用增强部件时完成整个任务的时间 / 使用增强部件时完成整个任务的时间

加速比反映了使用增强部件后完成一个任务比不使用增强部件完成同一任务加快了多少。加速比主要取决于两个因素:增强比例,它永远小于等于1 和 在原来条件下程序的执行时间与使用增强功能后程序的执行时间之比。

负载均衡:由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。
负载均衡技术的类型:基于特定服务器软件的负载均衡、基于DNS的负载均衡、反向代理负载均衡、基于NAT的负载均衡技术、扩展的负载均衡技术。
服务器负载均衡:一般用于提高服务器的整体处理能力,并提高可靠性、可用性和可维护性,最终目的是加快服务器的响应速度。
负载均衡从结构上分为:本地负载均衡,对本地的服务器群做负载均衡。全域负载均衡:对分别放置在不同的地理位置、有不同的网络及服务器群之间做负载均衡。全域负载均衡有以下特点:

  • 解决网络拥塞问题,服务就近提供,实现地理位置无关性。
  • 对用户提供更好的访问质量。
  • 提高服务器及其他资源的利用效率。
  • 避免了数据中心单点失效。

计算机主要性能指标:时钟频率(主频)、高速缓存、运算速度、运算精度、内存的存储容量、存储器的存取周期、数据处理速率、响应时间、RASIS 特性、平均故障响应时间、兼容性、吞吐率、利用率、保密性、可扩充性、文字处理能力、联机事务处理能力、I/O 总线特性、网络特性等。

网络:一个是由多种设备组成的集合体。其主要性能指标如下:

  • 设备级性能指标:包括吞吐量、延迟、丢包率和转发速度等。
  • 网络级性能指标:可达性、网络系统的吞吐量、传输速率、信道利用率、信道容量、带宽利用率、丢包率、平均传输延迟、平均延迟抖动、延迟/吞吐量的关系、延迟抖动/ 吞吐量的关系、丢包率/吞吐量的关系等。
  • 应用级性能指标:QOS、网络对语言应用的支持程度、网络对视频应用的支持程度、延迟/服务质量的关系、丢包率/服务质量的关系、延迟抖动/服务质量的关系等。
  • 用户级性能指标:可靠性和可用性是长周期运行系统非常重要的服务性能。
  • 吞吐量:在没有帧丢失的情况下,设备能够接受的最大速率。

操作系统:基本功能是管理计算机系统的硬件、软件资源,这些管理工作分为处理机管理、存储器管理、设备管理、文件管理、作业管理和通信事务管理。操作系统的性能指标一般有:系统的可靠性、系统的吞吐量、系统响应时间、系统资源利用率、可移植性。

数据库:数据库为了保证存储在其中的数据的安全和一致,主要性能指标为数据库本身和管理系统两部分。包括数据库的大小、单个数据库文件的大小、数据库中表的数量、单个表的大小、表中允许的记录数量、单个记录的大小、表上所允许的索引数量、数据库所允许的索引数量、最大并发事务处理能力、负载均衡能力、最大连接数。

Web 服务器:提供网上信息浏览服务。考虑的本身特性因素有性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等。主要性能指标包括最大并发连接数、响应延迟、吞吐量(每秒处理的请求数)、成功请求数、失败请求数、每秒点击次数、每秒成功点击次数、每秒失败点击次数、尝试连接数、用户连接数等。

性能评估:对一个系统进行各项检测,并形成一份直观的文档,因此性能评估是通过各项测试来完成的。

基准测试程序:把应用程序中用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序。

  • 整数测试程序:Dhrystone。用 C 语言编写,100 条语句。包括:各种赋值语句,各种数据类型和数据区,各种控制语句,过程调用和参数传送,整数运算和逻辑操作。
  • 浮点测试程序:Linpack。用 FORTRAN 语言编写,主要是浮点加法和浮点乘法操作。
  • Whetstone基准测试程序:用 FORTRAN 语言编写的综合性测试程序,主要包括:浮点运算、整数算术运算、功能调用、数组变址、条件转移、超越函数。
  • 等。还有基于某种数据库运行环境下的测试,也是可以参考的数值。在采用通用基准测试程序时,要注意真实的业务流程和使用环境与通用测试基准的业务流程和使用环境的异同。
  • TPC 基准程序:用于评测计算机的事务处理、数据库处理、企业管理与决策支持等方面的性能。基准测试程序包括 TPC-A、TPC-B、TPC-C、TPC-D、TPC-H 和 TPC-W 等。TPC-C 是衡量 OLTP 系统的工业标准。
  • Linpack 测试:是国际上最流行的用于测试高性能计算机系统浮点性能的测试。通过对高性能计算机采用高斯消元法求解一元 N 次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。包括三类,Linpack100、Linpack1000 和 HPL。

Web 服务器的性能评估:其性能的主要包括最大并发连接数、响应延迟和吞吐量几个参数。性能评测方法有基准性能测试、压力测试和可靠性测试。

系统监视:目标是为了评估系统性能。需要收集某个时间段内的 3种不同类型的性能数据:常规性能数据、比较基准的性能数据、服务水平报告数据。

我要回帖

更多关于 哈夫曼编码的总体思路 的文章

 

随机推荐