您的浏览器Javascript被禁用,需开启后体验完整功能, 请单击此处查询如何开启
网页 资讯 视频 图片 知道 贴吧 采购 地图 一分大发PK10-3分大发PK10-5分大发PK10 |

哪个网上彩票信誉好,大学计算机基础课件完整版_理学_高等教育_教育专区

10185人阅读|908次下载

哪个网上彩票信誉好,大学计算机基础课件完整版_理学_高等教育_教育专区。文档均来自网络,如有侵权请联系我删除文档


哪个网上彩票信誉好,大学计算机基础 第一章 计算机及信息技术概 述 本章主要介绍计算机的发展史和特点、 类型及应用,以及计算机的未来发展趋势; 计算机系统的硬件和软件系统构成;最后介 绍信息技术的基本概念。哪个网上彩票信誉好 1.1 计算机基础知识 这是一幅很著名的人类进化幽默图 20世纪以来人类最重大的科技发明当 数电子数字计算机,计算机改变了人们 传统的工作和生活方式。 1.1 计算机基础知识 1.1.1 计算机发展历史上的重要人物 和思想 人类从远古时代就产生了计算的需要。哪个网上彩票信誉好钟表业, 特别是齿轮传动装置技术的发展,诞生了最早的机 械式计算机。 下面介绍几位在电子计算机诞生前后对计算机 发展有过突出贡献的几位早期历史人物。 1.1 计算机基础知识 法国物理学家帕斯卡 (1623-1662) :在 1642年发明了第一台机械式加法机。该机 由齿轮组成,靠发条驱动,用专用的铁笔 来拨动转轮以输入数字。 当时,19岁的帕斯卡为了帮 助父亲计算税款,开始研究机械 计算装置,最后制成了手摇驱动 的齿轮进位式计算器,可完成六 位数字的加减法。 1.1 计算机基础知识 德国数学家莱布尼茨:在 1673年发明了机械式乘 除法器。基本原理继承于帕斯卡的加法机,也是由一 系列齿轮组成,但它能够连续重复地做加减法,从而 实现了乘除运算。哪个网上彩票信誉好据记载,莱布尼兹曾把自己的乘法 机复制品送给康熙皇帝。哪个网上彩票信誉好 1.1 计算机基础知识 英国数学家巴贝奇:1822年,在历经10 年努力终于发明了“差分机”。哪个网上彩票信誉好它有 3 个齿 轮式寄存器,可以保存3个5位数字,计算精 度可以达到6位小数。 巴贝奇试图发明功能更好的通用计算机 ——分析机,但最终失败。 英国女数学家爱达 (1815-1852):巴贝奇 的合作伙伴。她用穿孔卡片设计了世界上 “第一件计算机程序”。她还建议分析机用 二进制存储。预言分析机能唱歌、绘画。 英国诗人拜伦的女儿 1.1 计算机基础知识 图灵机:这个在当时看来是纸上谈兵的简单 机器,隐含了现代计算机中“存储程序”的 基本思想。半个世纪以来,数学家们提出的 各种各样的计算模型都被证明是和图灵机等 价的。 控制器(含运算功能) 英国科学家阿兰?图灵 (理论计算机的奠基人 1912-1954) 姚期智:2000年 首位获奖图灵奖 的华裔学者 可在纸带上左右移动的读写头, 用于读写数据(输入输出设备) 可无限延伸的纸带。用于 存储程序和数据(存储器) 1.1 计算机基础知识 ? 计算机应由运算器、控制器、存储器、 输入设备和输出设备五大部件组成; ? 应采用二进制简化机器的电路设计; 美籍匈牙利数学家 冯?诺依曼 (计算机鼻祖) ? 采用“存储程序”技术,以便计算机能保 存和自动依次执行指令。 七十多年来,现代计算机基本结构仍然是 “冯· 诺依曼计算机”。 冯· 诺依曼: “如果不考虑巴贝奇、爱达和其他人早先提出的 有关思想,计算机基本概念只能属于阿兰· 图灵” 1.1 计算机基础知识 1.1.2 电子计算机发展 历程 1946年由美国宾夕法尼亚大学 研制出世界上第一台电子数字 计算机,取名ENIAC。由此 诞生了“第一个电子的大脑” 重30吨,占地167m2,耗电150千瓦 主要元件为电子管、继电器,可保 存80个字节,每秒钟做5000次加减 法或400次乘法运算。 致命缺陷:没有存储程序。 电子数字积分计算机 Electronic Numerical Integrator And Calculator 1.1 计算机基础知识 ? 第一代计算机 ? 1946-1958年 ? 以电子管为主要元件 ? 代表机型:ENIAC ? 第二代计算机 ? 1958-1964年 ? 以晶体管为主要元件 采用晶体管的第二代 电子计算机IBM7090型 1.1 计算机基础知识 ? 第三代计算机 ? 1964-1971年 ? 以集成电路为主要元件 ? 采用集成 电路的第 一台电子 计算机 IBM360型 第四代计算机 ? 1971年至今 ? 以大规模/超大集成电路为主要元件 ? 巨型机、大型机、小型机、微型机以及便携机 ? 未来的第五代计算机是智能计算机 电子技术的发展促进了电子计算机的更新换代。 1.1 计算机基础知识 1.1.3 计算机类 型 巨型机 大型机 小型机 微型机 工作站 服务器 嵌入式计算机 按计算机规模分类 1.1 计算机基础知识 1.1.4 计算机的特点及应用 领域 计算机是一种能按照事先存储的程序,自动、 高速地进行大量数值计算和各种信息处理的现代化 智能电子设备。 运算速度快 计 算 机 特 点 计算精度高 存储容量大 具有逻辑判断能力 按照程序自动运行 1.1 计算机基础知识 科学计算 计 算 机 应 用 领 域 数据处理 过程与实时控制 人工智能 计算机辅助设计与制造 远程通信与网络应用 多媒体与虚拟现实 微机的发展(1975-1995) ? 1975年第一台个人电脑问世。 ? 1981年第一台IBM-PC问世。 ? 1985年386;1989年486;1993年奔腾出现。 CPU进入32位时代。 ? 1989年多媒体声卡问世。 ? 1995年个人电脑出现CD-ROM光驱。 ? 1995年Win 95问世,操作系统进入Windows 时代。多媒体和图形界面的出现使电脑真正进 入家庭。 微机的发展(1995- ) ? 1995 年 以 来 , Intel 的 CPU 频 率 ( 2000 年 P4 , 2GHz;2004年P4,3.8GHz)。 ? 2001 年 Windows XP ,集成大量应用程序,例如 IE、Media Player、图像浏览等。 ? 2005年4月,64位Windows XP操作系统问世。 ? 2005年4月,CPU进入双核和多核时代。 ? 2006 年, Windows Vista 32 位 /64 位操作系统发 布。 ? 2009年, Windows7操作系统发布。 1.1 计算机基础知识 1.1.5 计算机发展趋 势 计算机正向巨型化、微型化、网络化和智能化方向发展。 ① 巨型化 存储容量大、运算速度达每秒百万亿、千万亿次的巨型 机是衡量一个国家科技实力的指标之一。 2009 年,我国成功研制出每秒 1206 万亿次的“天河一号” 超级计算机,成为继美国之后世界上第二个能够研制千万亿 次计算机的国家。 美洲豹(美国) 海妖(美国) 尤金(欧洲) 2009年全球超级计算机排行榜 走鹃(美国) 天河一号(中国) 1.1 计算机基础知识 ② 微型化 计算机不再是单一的计算机器,而是个人的信息机器。 ③ 网络化 通过计算机网络可共享远程资源, 实现通信和合作。 ④ 智能化 智能计算机将是一种具有类似于人的思维能力, 能听会说,能想会做,能代替人的体力劳动以及脑力 劳动的智能机器人。 1.1 计算机基础知识 Deepblue Garry Kasparov 1996年2月10日,卡斯帕罗夫战胜“深蓝” 1997年5月12日,卡斯帕罗夫负于“更深的蓝” 1.2 计算机系统构成 中央处理器 运算器 控制器 存储器 硬件 内存 外存 计算机系统 软件 输入/输出设备 系统软件 应用软件 1.2 计算机系统构成 1.2.1 计算机硬件系 统 计算机由运算器、控制器、存储器、输入设备、 输出设备五大部分组成。 冯?诺依曼计算机结构 控制信号流 数据流 1.2 计算机系统构成 1.2.2 计算机软件系 系统软件位于计算机系统最 统 应用软件 其它系统软 件 操作系统 硬件 靠近硬件的一层,其他软件一般 都通过系统软件发挥作用,系统 软件主要包括: (1) 操作系统。 (2) 语言处理程序。 (3) 监控管理程序、调试程 序、故障检查和诊断程序等。 应用软件是指用户为解决各种实际问题而编写的程序。应 用软件可分为两类:一类是针对某个应用领域的具体问题开发 的程序;第二类是一些大型专业软件公司开发的通用型应用软 件。 1.3 信息技术基础知识 1.3.1 信息技术概 念 信息、材料、能源是组成社会物质文明的三大 要素。 信息是一种知识,是接受者事先不知道不了解 的知识。数据是信息的载体。数值、文字、语言、 图形、图像等都是不同形式的数据。 信息≠数据 现代信息技术: 计算机技术+微电子技术+通信技术 第二章 计算机信息基础 计算机加工处理的对象是数据。除了数学 上的数值以外,象字符、汉字、符号、声音、 图形、图像等在进行数字编码后都可称之为数 据。不同类型的数据在计算机内部有着不同的 存储和处理方式。 本章主要介绍计算机中采用的二进制及其 运算规则,二进制与其它进制之间的转换;计 算机中度量信息的数据单位;不同类型的数据 采用的信息编码等。 2.1 计算机所使用的数制 2.1.1 数制的概 念 十进制 常用数制 数字符号 基数 二进制 八进制 十六进制 0~9 10 0,1 2 0~7 8 0~9,A,B,C,D,E,F 16 基数:R进制的基数=R 位权:是一个与数字位置有关的常数,位权=Rn 其中n取值:以小数点为界,向左 0,1,2,3……, 向右-1,-2,-3…… 例:(275.8)10=2×102+7×101+5×100+8×10-1 (1011.1)2 = 1×23 + 0×22 + 1×21 + 1×20 + 1×2-1 2.1 计算机所使用的数制 十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 二进制 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 八进制 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 常 用 数 制 的 对 应 关 系 2.1 计算机所使用的数制 2.1.2 二进制的运算 二进制的算术运算 加: 0+0=0 0+1=1 1+0=1 1+1=10 本位为0, 向高位进位1 减: 0-0=0 0-1=1 1-0=1 1-1=0 乘: 0×0=0 0×1=0 1×0=0 1×1=1 本位为1, 向高位借1当2 除: 0÷0=0 0÷1=0 1÷0(无意义) 1÷1=1 2.1 计算机所使用的数制 二进制的逻辑运算 0表示“假、否”,1表示“真、是” 与AND: 0∧0=0 0∧1=0 1∧0=0 1∧1=1 或OR: 0∨0=0 0∨1=1 1∨0=1 1∨1=1 非(取反): 0=1 1=0 ∧表示串联, ∨表示并联 2.1 计算机所使用的数制 由一种数制转换成另一种数制 十进制数 ① ② 二、八、十六进制的转换 ③ 2.1 计算机所使用的数制 2.1.3 二进制和其它进制 的转换 十进制 二进制、八进制、十六进制 十进制转二进制:整数部分除以2取余,直至商 为0;小数部分乘以2取整,直至小数部分为0或达 到所需精度为止。 十进制转八进制:方法同上。整数部分除以8, 小数部分乘以8。 十进制转十六进制:方法同上。整数部分除以 16,小数部分乘以16。 2.1 计算机所使用的数制 十进制整数 二进制整数 十进制小数 二进制小数 2 75 1 2 37 1 2 18 0 2 9 1 2 4 0 2 2 0 2 1 1 0 结果为:1001011 1 0 1 1 0.6875 × 2 ………1.3750 × 2 ………0.7500 × 2 ………1.5000 × 2 ………1.0000 结果为:0.1011 (75.6875)10=(1001011.1011)2 2.1 计算机所使用的数制 十进制整数 八进制整数 十进制整数 十六进制整数 8 75 8 9 8 1 0 3 1 1 16 75 16 4 0 B 4 结果为:113 结果为:4B 2.1 计算机所使用的数制 二进制、八进制、十六进制 例: (1011.1)2 = 1×23 + 0×22 + 1×21 + 1×20 + 1×2-1 = 8 + 0 + 2 + 1 + 0.5 十进制 位权相加法:各位数码乘位权,再相加。 = (11.5)10 2.1 计算机所使用的数制 二进制数 八进制数 整数部分从右向左,小数部分从左向右, 每3位二进制一组,变为1位八进制。 不足3位时分别在最左端和最右端补0凑够3位。 例:(1100101001011.1101)2 = (14513.64)8 每1位八进制,变为3位二进制。 八进制数 二进制数 例: (16347.52)8=(001 110 011 100 111.101 010)2 =(1110011100111.10101)2 2.1 计算机所使用的数制 二进制 十六进制 整数部分从右向左,小数部分从左向右, 每4位二进制一组,变为1位十六进制。 不足4位时分别在最左端和最右端补0凑够4位。 例:(11010111101.1010001)2 = (6BD.A2)16 每1位十六进制,变为4位二进制。 十六进制 二进制 例: (4C2.F6)16 = (0100 1100 0010.1111 0110)2 = (10011000010.1111011)2 2.2 计算机中的数据单位 位(bit):计算机存储数据的最小单元(0、1) 字节(Byte):处理数据的基本单位(8bit/Byte) 常用的字节计数单位: 1KB=1024 Byte (210B) 1GB=1024 MB (230B) 位(bit) 1MB=1024 KB (220B) 1TB=1024 GB (240B) 字节(Byte) …… 字长 字长:CPU一次处理数据的二进制位数。 2.3 信息表示与编码 所谓编码,就是利用数字串来标识所处理对象 的不同个体。 计算机采用的是二进制,这就意味着所有需要 计算机处理的信息,如数值、字母、汉字、符号、 声音、图像等,都要用0和1组成的二进制编码形式 来表示。 2.3.1 整数的表示 在数学中,数值是用“+”和“-”表示正数 和负数的,而在计算机中只有 0和 1,所以正负号也 用0和1表示,即数值符号数字化。 2.3 信息表示与编码 符号位:在有符号的二进制数中,最高位用0表示 “正”,1表示“负”。 机器数:正负符号被数值化了的数。 真值:该机器数所表达的数值。 真值 机器数 0 0 0 0 0 1 0 1 +5 真值 符号位 机器数 1 0 0 0 0 1 0 1 -5 2.3 信息表示与编码 在有符号运算中,需要通过原码、反码、补码转换来完成运算。 原码:正号为0,负号为1,数值部分为二进制绝对值。 反码:正数的反码和原码相同;负数的反码是将其原码 除符号位外各位取反。 补码:正数的补码和原码相同;负数的补码是将其反码 在末位加1。 +5的原码、反码和补码都是00000101 -5 原码 反码 补码 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 2.3 信息表示与编码 补码的概念是怎么来的? “模”是指一个系统所能表示的数据个数。按模 运算是指运算结果超过模时,模(或模的整数倍) 将溢出而只剩下余数。 8位二进制的模为28=256 假设M为模,若数a,b满足a+b=M,则称a, b互为补数。 在有模运算中,减去一个数等于加上这个数对 模的补数。 2.3 信息表示与编码 2.3.2 实数的表示 定点数 小数点位置固定的数称为定点数。 定点整数:小数点隐含固定在数值部分最右端。 定点整数是纯整数 , 其符号位右边所有的位数表示 的是一个整数。 定点整数: (-3) 1 0 0 0 0 0 1 1 符号位 隐含小数位 2.3 信息表示与编码 定点小数:小数点隐含固定在数值部分最左端。 定点小数是纯小数。 定点小数: (+0.5) 符号位 0 1 0 0 0 0 0 0 隐含小数位 2.3 信息表示与编码 浮点数 小数点位置不固定的数称为浮点数,它既有 整数部分又有小数部分,如 123.55 、 33.789 等。 在计算机中通常把浮点数分成阶码和尾数两 部分来表示,也就是平时所说的科学记数法 。为 保证不损失有效数字,对尾数进行规格化处理, 即保证尾数的最高位为 1 ,实际数值通过阶码进 行 调 整 。 例 如 , 二 进 制 实 数 1010.1101 可 以 用 0.10101101×2100表示。(注:100等同于十进制的4) 2.3 信息表示与编码 浮点数:字长4字节,则阶码部分为8位补码定点整 数,尾数部分为24位补码定点小数。 例:将十进制数 +55 以浮点数格式存放。 (55)10 = (110111)2 = 0.110111 * 26 31 30 25 24 23 22 7 (注:6等同于二进制的110) 尾数最高位为1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 阶码 阶码部分 符号位 尾数 符号位 …0 0 0 0 0 尾数部分 2.3 信息表示与编码 例:将十进制数 -55 以浮点数格式存放。 -(55)10 = -(110111)2 = -0.110111 * 26 (略) (注:6等同于二进制的110) 其中(-110111)的反码为:1001000,补码:1001001 尾数格式:0.1001(小数点右移2位,指数变为24) 隐含小数位 尾数最高位为1 31 30 25 24 23 22 7 (注:6等同于二进制的100) 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 阶码 阶码部分 符号位 尾数 符号位 …0 0 0 0 0 尾数部分 2.3 信息表示与编码 编码和数值是完全不同的! 2.3.3 十进制数的编码—— BCD码 BCD 码 ( 8421 码 ):二-十进制编码,用 4 位二进 制码表示1位十进制数。(不能参与运算) 例: (13579)10 =(0001 0011 0101 0111 1001)BCD (0110 1000 0000 . 0010 0100)BCD =(680.24 )10 2.3 信息表示与编码 2.3.4 西文字符的编码—— ASCII码 ASCII码(American Standard Code for Information Interchange) b6b5b4 b3b2b1b0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 000 001 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 010 SP ! “ # $ % & ‘ ( ) * + , . / 011 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ \ ] ^ _ 110 ` a b c d e f g h i j k l m n o 111 p q r s t u v w x y z { | } ~ DEL 128个常用字符,用7 位二进制编码,占一 个字节,最高位0。 其中,控制字符: 0~32,127;普通字 符:94个。 2.3 信息表示与编码 2.3.5 和汉字有关的编码 (1) 汉字输入码:操作人员通过键盘输入的汉字编码。 数字编码:如区位码; 拼音编码:如全拼、智能ABC、微软拼音输入法等; 字形编码:如五笔字型法等 。 2.3 信息表示与编码 (2) 国标码和区位码 1980年颁布 (GB2312-80) ,是中 文信息处理的国家标准,是大陆及海 外使用简体中文的地区使用的中文编 码。每个汉字占两个字节的编码,且 每个字节最高位均为0。 该编码共收录6763个简体汉字、682个符号,其中 汉字部分:一级汉字:3755个,以拼音排序 ;二级汉 字:3008个,以偏旁排序 。 所有汉字分 94个区,每个区 94个汉字。由此构成 区位码。而区位码的区码和位码各加 32就得到国标码。 2.3 信息表示与编码 (3) 机内码 计算机内部存储和加工汉字所用的编码。不管用 哪一种汉字输入法输入的汉字,在计算机内部都是由 国标码转换成机内码来表示的。 每个汉字的机内码占两个字节,每个字节最高位为1。 汉字 国标码 汉字机内码 中 8680(01010110 01010000)2 (11010110 11010000)2 华 5942(00111011 00101010)2 (10111011 10101010)2 中 5448(区位码) 华2710 (区位码) 注:十进制表示的国标码的每个字节减32即得区位码。 2.3 信息表示与编码 (4)汉字字形码 汉字存储在计算机内采用机内码,但输出时必 须转换成字形码,再根据字形码输出汉字。字形码 又称汉字字模,用于在显示器或打印机上输出各种 文字和符号。通常有两种: 点阵汉字:每一个汉字以点阵形 式存储,有点的地方为“1”,空白的 地 方 为 “ 0” 。 有 16×16 、 24×24 、 48×48点阵等。点阵越大,字形分辨 率越好,字形也越美观 , 但汉字存 储的字节数就多,字库也就越庞大。 2.3 信息表示与编码 2.3.5 和汉字有关的编 码 矢量汉字 : 将汉字的笔画轮廓用一组直线和曲 线来勾画,并记录存储每一直线和曲线的数字描述 (端点及控制点的坐标 )。在需要输出时,根据字形 轮廓的描述计算出汉字点阵。矢量产生的汉字即使 放大仍能保持较好的质量。 汉字字库一般都存放在磁盘上,这种字库称为 “软字库”,使用时根据汉字内码到字库中找到相 应的字形码,然后调入内存并显示或打印。 2.3 信息表示与编码 计算机处理汉字的基本过 程 用户用键盘输入汉字的外码 (输入码),然后通过 代码转换程序到码表中去检索机内码,汉字内码负责 对汉字进行储存、处理、加工。输出时,利用字形检 索程序在汉字字模库中查到表示这个汉字的字形码, 然后在显示器或打印机上输出。 2.3 信息表示与编码 (5) 其它编码 GBK 编码:是对 GB2312 的扩充。仍采用双字 节编码,在此基础上对罕见汉字使用四字节编码, 共收录了2.7万个汉字,与国标码兼容,同时收录了 藏、蒙、维吾尔等主要少数民族文字。 BIG5码:台湾、香港等地区使用的繁体汉字编 码标准。 2.3 信息表示与编码 2.3.6 多媒体信息的数字化 数字化就是对模拟世界的一种量化,表示信息 的最小单位是位(bit)——“0”或“1”。多媒体信息在 计算机中也要转换为 0和1,因此也需要进行编码。 也就是说无论是文字、图像、声音或视频,数字化 后都可分解为一系列 0或 1的排列组合。各种多媒体 信息在进入到计算机中进行运算、存储、传输等过 程中,需要进行数字化处理,输出时再将其还原成 各自本身的特性呈现在我们面前。 2.3 信息表示与编码 数值 西文 汉字 十—二进制转换 ASCII码 输入码—机内码 十—二进制转换 二 —十进制转换 数值 数值 ASCII码 西文 西文 西文形码 输入码—机内码 汉字字形码 汉字 汉字 内存 声像 模数转换 声像 数模转换 模数转换 声像 各种多媒体信息的数字化处理过程示意图 第三章 计算机硬件体系结构 本章主要介绍计算机硬件方面的有关 内容,包括计算机硬件系统的构成;微机 的结构(CPU、主板、内存、总线、接口等); 外部存储器 (软盘、硬盘、光盘、 U盘等 ); 常用外部设备(显示器、打印机等);计算机 指令系统等。 3.1 计算机系统的构成 一个完整的计算机系统是由硬件和软件组成。 硬件是由运算器、控制器、存储器、输入设备、 输出设备五部分组成。其中: 中央处理器(简称CPU)=运算器+控制器 主机=中央处理器+主存储器 软件是指各类程序和数据,计算机软件包括计 算机本身运行所需要的系统软件和用户完成任务所 需要的应用软件。 3.1计算机系统的构成 3.1.1 计算机的硬件系统 U盘 3.1计算机系统的构成 3.1.2 冯· 诺依曼型计算机的结构 冯· 诺依曼型计算机是将程序和数据事先存放在外存储器 中,在执行时将程序和数据先从外存装入内存,然后让计算 机在工作时自动地从内存取出指令并加以执行,这就是存储 程序的基本原理。 冯· 诺依曼计算机体系结构的主要特点是: (1) 采用二进制形式表示程序和数据。 (2) 计算机硬件是由运算器、控制器、存储器、输入设备 和输出设备五大部分组成 。 (3) 程序和数据以二进制形式存放在存储器中。 (4) 控制器根据存放在存储器中的指令 (程序) 工作。 3.1计算机系统的构成 3.1.3 微型计算机的诞生与发展 微型机属于第四代电子计算机产品,其核心部件是 CPU ,因此 我们主要通过CPU的发展、演变来介绍微机系统的发展过程。 开始时间 1971 1978 1982 1985 CPU芯片 4004 8086/8088 80286 80386 集成度 2300 2.9万 14.3万 27.5万 主频 108KHz 4.77-10MHz 6-20MHz 12.5-33MHz 字长(b) 4 16 16 32 最大内存 640B 1MB 16MB 4GB 1989 1993 1997 1999 2000 80486 Pentium Pentium Ⅱ Pentium III Pentium 4 125万 310万 750万 2800万 4200万 33-133MHz 60-233MHz 233-450MHz 450-800MHz 400M-3.2GHz 32 32 32 32 32/64 4GB 4GB 4GB 64GB 64GB 微型机基本是由显示器、键盘和主机箱构成。在主机箱 内有CPU、主板、内存、硬盘、光驱、电源等。 3.2 微型计算机主机结 构 3.2.1中央处理器 CPU CPU 从存储器取出指令,放入 CPU 内部的指令寄存器, 并对指令译码。它把指令分解成一系列的微操作,然后发出各 种控制命令,执行微操作系列,从而完成一条指令的执行。 CPU的主要性能指标 : (1) 主频/外频(主频=外频×倍频,即CPU工作频率) (2) 数据总线宽度(即字长,指CPU传输数据的位数) (3) 地址总线宽度(决定了CPU可访问的地址空间) (4) 工作电压(低电压可减少CPU过热,降低功耗) (5) 高速缓存Cache(加速CPU与其它设备间数据交换) (6) 运算速度(CPU每秒能处理的指令数) 3.2 微型计算机主机结构 1. 运算器 运算器是完成算术和逻辑运算的部件,又称算术和逻辑 运算单元。计算机所完成的全部运算都是在运算器中进行的。 运算器的核心部件是: (1) 运算逻辑部件 (2) 寄存器部件 2. 控制器 控制器负责从存储器中取出指令,并对指令进行译码, 并根据指令译码的结果,按指令先后顺序,负责向其它各部 件发出控制信号,保证各部件协调一致地完成各种操作。 3.2 微型计算机主机结构 控制器主要由以下部件组成: ① 程序计数器。存放下一条将要执行的指令在内存中 的地址; ② 指令寄存器。保存现在正在执行的指令; ③ 指令译码器。用来识别指令的功能,分析指令的操 作要求; ④ 时序部件。产生各种定时控制信号。简单讲就是为 保证不出现任何动作差错而对各种操作实施时间上的控制; ⑤ 微操作控制电路。一条指令的执行可以分解为一系 列不可再分的微操作命令信号,这些信号通过微操作控制电 路以一定的时间顺序发往各部件,控制各部件动作。 3.2 微型计算机主机结构 3.2.2 高级CPU技术 双核心CPU技术:组建双CPU系统成本高且复杂,而 采用“双核”技术,就是在单个 CPU中真正集成两个物理 的核心。在实际使用中,这种“双核心处理器”和使用两 个独立CPU的系统在工作原理和性能上基本没有区别。目 前,CPU已从双核向4核、8核和多核方向发展。 64位简介: (1) CPU、操作系统软件是64位,且应用软件用64编 译器重新编译,效率最高(未来)。 (2) CPU是 64位,操作系统和应用软件是 32位(现状 ), 64位的CPU未发挥很好的作用。 (3) CPU、操作系统和应用软件是32位(现状) 。 3.2 微型计算机主机结构 3.2.3 主板 主板是电脑中各种设备的连接载体。它提供了CPU、各种 接口卡、内存条和硬盘、软驱、光驱的插槽,其它的外部设备 也会通过主板上的I/O接口连接到计算机上。 3.2 微型计算机主机结构 CMOS与BIOS CMOS是主板上一块可读写的RAM芯片,用于保存系统 初始化时要用到的许多参数,如硬件配置、启动盘顺序、开 机密码、机器时间等。可以在开机时按下特定键 (一般是 Del 键)进入CMOS参数设置程序,从而对CMOS参数进行设置。 BIOS 芯片是一块特殊的 ROM 芯片,其中保存 的最重要程序之一是基本输入 /输出程序,另外还有 CMOS 参数设置程序、 POST( 加电自检程序 ) 等。 BIOS在开机之后最先执行,它首先检测系统硬件有 无故障,给出最低级的引导程序,然后调用操作系 统。 3.2 微型计算机主机结构 早期的PC机主板是将快速的CPU、中速的内存、慢速的 外设都连接在一条总线上,使系统的总体性能得不到优化。 486到Pentium II期间,主板一般采用南北桥芯片结构。 北桥:主板上离CPU最近 的一块芯片,负责与CPU 的联系并控制内存、缓存、 显卡数据在北桥内部传输。 南桥:主板上另一块 芯片,主要负责I/O接 口以及IDE设备的控 制等。 Pentium II采用的南北桥芯片结构主板 3.2 微型计算机主机结构 Pentium III以上的主板结构(采用中心结构的主板结构 )。 处理器 处理器 CPU总线 芯片组由 3 块芯片构成。跟南北桥 架构相差不大,它主要是把 PCI 系 统总线控制部分从北桥转到南桥。 存储控制中心: 相当北桥芯片。 AGP图形控制器 8XX系列 存储控制中心 主存储器 PCI槽 IDE驱动器 中心高速接口 PCI总线 USB端口 AC’97编码 LAN连接 I/O控制中心 LPC I/F Super I/O I/O控制中心: 相当南桥芯片。 键盘 鼠标 固件中心 固件中心: 相当BIOS ROM。 串 行 口 并 行 口 3.2 微型计算机主机结构 采用中心结构的主板结构 PCI-E :PCI Express的简称, 是用来代替PCI、 AGP接口的一种 新的总线和接口 标准,其传输速 度远远高于PCI 和AGP总线 。 3.2 微型计算机主机结构 3.2.4 内存储器 内存储器 ( 简称内存 ) ,由半导体材料构成。内存分 为只读存储器和随机读写存储器。 内存储器分类 存储位 0000H 存储单元 (字节) 0001H 0002H 存储单元特点: 存储单元地址 ? 地址与存储单元是一一对应的 存储体 ? 512 MB ? 一个数据存放在一个或多个字节中 FFFFH ? 2 GB ? CPU通过单元地址访问存储单元中的数据 ? 往存储单元放新数据时原数据将被覆盖 存储体结构图示意 3.2 微型计算机主机结构 1. 只读存储器ROM ? 特点:存储的信息只能读出,不能随机改写或存入, 断电后信息不会丢失,可靠性高。 ? ROM分类 (1) 掩膜式 ROM(Mask ROM) (2) 可编程 PROM(Programmable ROM) (3) 可擦除 EPROM (Erasable PROM) (4) 电可擦 EEPROM(Electrically EPROM) (5) 快擦写 ROM(Flash ROM) 3.2 微型计算机主机结构 2. 随机存储器RAM 特点:用于存放原始数据、中间结果、最终结果。开机 前是空的,断电后数据消失。 RAM 分类: (1) SRAM:静态RAM。不需要充电来保持数据完整性, 成本高且集成低,一般做高速缓冲存储器。 (2) DRAM:动态RAM。需要定时充电来保持数据的完整 性,通常所说的“内存”主要由它构成。一般指以下两种类型: ① SDRAM---同步动态存储器 ② DDR---双倍速率内存 (DDR2\DDR3\DDR4\DDR5等) 3.2 微型计算机主机结构 3.2 微型计算机主机结构 3. Cache(高速缓存 ) Cache是一种高速缓冲存储器,是为了解决 CPU与主存 之间速度不匹配而采用的一种重要技术。其中片内 Cache 集 成在 CPU 芯片中,片外 Cache 安插在主板上。高速缓存的存 取速度比主存要快一个数量级,接近CPU的处理速度。 3.2 微型计算机主机结构 4.多级缓存 最早的CPU缓存容量很低。当集成在CPU内核中的缓存 已不能满足CPU的需求时,出现了集成在与CPU同一块主板 上的缓存,此时把CPU内核集成的缓存称为一级缓存,而外 部的称为二级缓存。 现在多数CPU内部也有二级缓存,于是二级缓存又可分 为内部二级缓存和外部二级缓存。较高端的CPU中还会带有 三级缓存 。 5.双核心CPU的二级缓存(略) 3.2 微型计算机主机结构 6. 存储器的层次结构 既要速度快,又要求容量大,同时价格又要求 合理,在目前技术条件下这三项指标很难用单一种 类的存储器来实现。折衷的方法是采用层次结构。 (通用寄存器) 3.2 微型计算机主机结构 3.2.5 总线 总线:是一组连接各个部件的公共通信线路,是计算机 内部传输指令、数据和各种控制信息的高速通道,是计算机 硬件的一个重要组成部分。 3.2 微型计算机主机结构 总线按所传输信号不同可分为: 数据总线 地址总线 控制总线。 ① 地址总线。传输的是地址信号,一 ② 数据总线。传输的是数据,一般是 般是单向传输。当 CPU需要访问某个外 ③ 控制总线。有的是 CPU向内存或外部设备 双向传输。 CPU 进行“读”时,数据由 设时,它向地址总线发出相应外设的地 发出的信号;有的是内存或外部设备向 CPU 外设流向 CPU ,当 CPU 进行“写”时, 址信号,以选择某个外设。 发出的信号。对每条控制线而言信号是单向 数据由 CPU流向外设。 传送,但作为整体是双向的。 3.2 微型计算机主机结构 总线按处于计算机硬件系统中的位置来分: ① 片内总线 (又称内部总线 )。是指 CPU ② 片间总线 (又称局部总线 )。是主板上 ③ 系统总线CPU (又称输入 /输出总线)。是微 微机各级总线的简易关系 各外围芯片与 之间的总线,用于芯 芯片内部的总线。 机中各插件板与系统主板之间的总线, ④ 外部总线(又称通信总线)。是微机和 片一级互连。 用于插件板一级的互连。 中低速外部设备之间连接的总线。 3.2 微型计算机主机结构 CPU 前端总线 Cache PCI Express X16显卡 PCI扩展总线 北桥 内存 存储器总线 片内总线 局部总线 系统总线 外部总线 硬盘、光驱、网 络、音频接口 USB接口 键盘、鼠标接口 中心快速通道 南桥 PCI 和PCI Express X1接口 (网卡、声卡等) BIOS ROM 微机系统三层总线示意简图 3.2 微型计算机主机结构 系统总线标准 系统总线标准大致可分为ISA总线、PCI总线、 PCI Express三个阶段。 ① ISA总线。是最早的8位系统总线。后 ② PCI总线。主要特点是传输速度高, 来扩展到 16位。ISA是现代个人计算机 ③ AGP总线。专为系统中一块图形显示 广泛应用于现代微机中。 的基础。 ④ PCI Express总线。是新一代的总线 卡设计的总线。 接口。 3.2 微型计算机主机结构 外部总线标准 常见的I/O总线: ① USB总线 属高速串行接口总线。该总线最多可连接 127 个 设备,支持热拔插,支持即插即用,该接口已经成为 许多外设的标准接口。 USB 有两个规范,即 USB1.1 和USB2.0。 ② IEEE1394总线 属高速串行接口总线,主要用于连接DV产品。 3.2 微型计算机主机结构 3.2.6 接口 I/O 接口是 连接主机和外 部设备之间的 逻辑部件,由 I/O接口电路、 连接器(一般为 连接电缆)和接 口软件(即设备 驱动程序)组成。 3.2 微型计算机主机结构 I/O接口分为内置I/O接口和外置I/O接口两类。 (1) 内置I/O接口 将 I/O 接口电路内嵌 在主板中,由主板提供 外设接口电路插座,如 键盘接口、鼠标接口、 USB 接 口 、串 口 、并口 及软硬盘接口等。 (2) 外置I/O接口 将I/O接口集成到一块独立的电路板(接口卡)上,接口卡 必须插在总线扩展插槽上(如PCI、PCI Express插槽等) 。 3.3 外部存储器 外部存储器通常用来存放需要长期保存的各种 程序和数据。当需要执行或处理这些程序和数据时, 必须将其先调入到内存中然后再被CPU处理, 所以 外存实际上属于输入/输出设备。 目前微机常用的外存储器主要有软盘、硬盘、 光盘、 U盘等。 3.3 外部存储器 3.3.1 软盘 79 3.3 外部存储器 3.3.2 硬盘 硬盘是微机最重要的外部存储器,常用于安装微机运 行所需的系统软件和应用软件,以及存储大量数据。 磁头 臂 柱 面 (1) 硬盘存储格式 在对硬盘进行格式化时,将对盘片进行划分磁道和扇区,对于大容 量的硬盘还将多个扇区组织起来成为一个块——“簇”,簇成为磁盘读写 的基本单位。有的簇是一个扇区,有的有好几个扇区,一般在格式化时 根据硬盘大小确定。 3.3 外部存储器 (2) 硬盘性能指标 ① 硬盘的容量。现在微机配置的硬盘一般在200GB以上。 ② 硬盘的转速。硬盘的转速越快,硬盘寻找文件的速度也就越快。现 在的主流硬盘转速一般为7200rpm以上。 ③ 缓存。硬盘自带的缓存能提高硬盘的访问速度。 (3) 硬盘接口 硬盘接口分为IDE、SATA、SCSI和光纤通道四种,IDE接口硬盘多用 于家用产品中,SATA是种新生的硬盘接口类型。 (4) 硬盘格式化 ① 硬盘低级格式化。主要是对一个新硬盘划分磁道和扇区。 ② 硬盘分区。把硬盘划分为成若干个相对独立的逻辑分区 。 ③ 硬盘高级格式化。高级格式化主要是对指定的硬盘分区进行初始化, 建立文件分配表以便系统按指定格式存储文件。 3.3 外部存储器 3.3.3 光盘存储器 光盘简称CD(Compact Disc)是利用塑料盘片表面凹凸不 平的特征,通过光的反射来记录和识别二进制的0、1信息。 光盘的分类: 1.只读型光盘 只读光盘中的数据是在制作时写入的,用户只能读数据, 而不能写入或修改光盘中的数据。音频光盘 CD-DA 、数据 光盘 CD-ROM、 VCD、DVD等都属于只读光盘。 2.一次写入光盘 这种光盘允许一次写入数据,但不能修改和擦除数据, 如 CD-R。 3.可擦写光盘 这种光盘可多次写入或修改数据,如CD-RW。 3.3 外部存储器 光驱把经过聚焦后的激光投射到光盘上,利用光盘的凹 坑或非凹坑边缘反射的激光强度不同而将其表示为不同的 电信号。 光驱倍数是指光盘的数据传输率( 150KB/s 为单倍, 以此类推)。CD-ROM光驱能读除 DVD以外的所有光盘。 而DVD光驱不仅兼容CD-ROM光驱,还可以读DVD光盘。 3.3 外部存储器 DVD光盘 DVD盘片的物理规格与CD盘片是一样的,CD盘只使用 一个面记录一层的信息,而DVD盘可分为单面单层、单面双 层、双面单层以及双面双层 4 种结构。 DVD按用途可分为以下几类: 应用最广的是DVD-Video 格式,用于存储影音信息。此 外还有DVD-ROM(只读DVD)、 DVD-Audio(音频DVD)、 DVD±R(可写DVD)、 DVD-RAM或DVD±RW (可擦写 DVD)。 另外,还有蓝光高清DVD光盘。 3.3 外部存储器 光盘刻录机 包括CD和DVD两种刻录机。 ① CD 刻录机既有 CD-ROM 光驱的功能,也能够向刻录 CD 光 盘 。 其 传 输 速 率 一 般 标 注 为 A/B/C 的 形 式 ( 如 20/10/40 ),其中 A 表示写 CD-R 盘的倍速, B 表示写 CD-RW 盘的倍速,C表示读盘的倍速。 ② DVD刻录机既具有 DVD-ROM 光驱的功能,也能够刻 录DVD光盘和CD光盘。 3.3.4 USB盘 通过 USB 接口与电脑连接,无任何机械式装置,抗震性 能强。U盘中的存储模块其实就是Flash-ROM。 移动硬盘一般由笔记本硬盘和硬盘盒组成。 3.4常用的外部设备 3.4.1 输入设备 (1) 键盘 (2) 鼠标 (3) 扫描仪 …… 3.4.2 输出设备 (1) 显示器 (2) 打印机 …… 3.4常用的外部设备 (1) 显示器 CRT 显示器在工作时,电子枪发出电 子束轰击荧光粉层上的某一点,使该点发光, 每个像素有红、绿、蓝三基色组成,通过对 三基色的强度的控制就能合成各种不同颜色。 液晶显示器LCD的优点在于: ① 图像稳定。由于只有在画面内容发生变化时才需要刷 新,因此没有闪烁感; ② 液晶底板整体发光,真正的完全平面; ③ LCD显示器基本上没有辐射; ④ 能耗低。约为CRT显示器的三分之一。 3.4常用的外部设备 (2) 打印机 常用的有针式打印机、喷墨打印机和激光打印机等。 ① 针式打印机特点。利用钢针击打色带把色带上的墨打 印在纸上形成文本或图形。缺点是打印质量差、速度慢、噪 声大;优点是可以打多联纸,耗材相对较便宜。 ② 喷墨打印机特点。打印时,墨水经喷头以每秒近万次 的频率喷射到纸上。其打印质量、速度、噪声及成本方面处 于中等层次。 ③ 激光打印机特点。利用激光将碳粉固着在纸上,加热 后印出文字和图片。优点是打印速度快、噪音低、质量好, 缺点是价格及打印成本较高。 对三种打印机的打印效果对比来说,激光最好,喷墨其 次,而针式相对较差。 3.4常用的外部设备 激光打印机工作原理简介 硒鼓表面带正电荷,被激光照射时照射点位置的正电荷减弱或消 失,而未消失部分吸附带负电荷的碳粉形成潜影。送纸机构将打印纸送 入,此时打印纸会带上很强的正电荷。打印纸与硒鼓墨粉影像区接触后, 墨粉会在更强的静电作用力下转移到纸张上面,形成打印影像。加热纸 张,墨粉被熔化固定在纸上,完成一个扫描行的打印。硒鼓不断转动、 墨粉连续被吸附、纸张持续被送入,最终完成整幅图像的打印。 3.4常用的外部设备 3.4.3 其他外部设备 (1) 多媒体设备(第七章) (2) 调制解调器 010011 010011 3.5 计算机指令系统 3.5.1 计算机指令系统概述 指令:是指计算机执行特定操作的命令,是程序设计的 最小语言单位。 指令构成:操作码+操作数 例如:某单片机指令 00100011 00000010 作数 将2送累加器A,前8位是操作码,后8位是操 指令系统:是指一台计算机所能执行的全部指令的集合。 不同型号的计算机有不同的指令系统,它反映了计算机的处理 能力。 3.5 计算机指令系统 指令 结构 操作码 操作码 操作数 内存 操作数 分 类 要完成的操作类型或性质 操作的内容或所在的地址 CPU 数据传送指令 数据处理指令 ?程序控制指令 输入输出指令 + - ×÷ And Or…… If Goto…… 主机 I/O设备 其它指令 对计算机的硬件进行管理等 3.5 计算机指令系统 3.5.2 指令的执行过程 开始 取一条指令 分析指令 执行指令 停机指令 取数 执行指令 停止 3.5 计算机指令系统 可分为以下四个步骤: 首先,将被执行程序第一条指 令的首地址 0100H 写入程序计数器 PC。 ①取指令 按计数器中的地址从 内存中取出指令 (070270H) ,并送往 指令寄存器。然后计数器PC自动加1 指向下一指令地址。 ②分析指令 由译码器对操作码 (07H)进行译码,由地址码 (0270H)确 定操作数地址。 ③执行指令 取出操作数,去完 成该指令所要求的操作。例如,取内 存单元 (0270H) 的值和累加器的值相 加,结果还是放在累加器。 ④一条指令执行完成,再回到① 取指令阶段开始下一指令的执行。 起始地址 内存储器 程序计数器 PC 程序计数器 0100 PC ( 4) 操作码 07 ( 2) 控制器 译码器 地址码 0270 内存储器 地址 ? 0100 ( 1) 0101 内容 ?? 070270 程 序 区 自动加 1 指令寄存器 操作控制线路 ( 3) 累加寄存器 算术、逻辑运算部件 运算器 ? 0270 ?? 数据 数 据 区 3.5 计算机指令系统 3.5.3 计算机硬件系统的性能指标 (1) CPU的主频。主频越高,单位时间内完成的指令数也 越多,CPU工作的速度也就越快。 (2) 字长。字长越长,一次所能处理信息的位数就越多, 计算机的运算速度越快。 (3) 运算速度。它是一项综合性性能指标。指计算机每秒 钟执行的指令数,即每秒百万条指令(MIPS) 。 (4) 内存容量。容量越大,一次读入的程序、数据就越多, 计算机的运行速度也就越快。 (5) 内存存取速度。内存连续启动两次独立的“读”或 “写”操作所需的最短时间,称为存取周期。 (6) I/O 速度。 I/O 的速度是指 CPU 与外部设备进行数据交 换的速度。目前系统性能的瓶颈越来越多地体现在 I/O 速度上。 第四章 计算机操作系统 操作系统是配置在计算机硬件上的第一层软 件,是控制计算机所有操作的软件。 本章主要讲述操作系统概念及构成;以点的 方式重点讲述操作系统中的几个基本功能及相关 概念,主要是:进程管理、内存管理、文件管理、 输入/输出系统管理;最后介绍几个典型的操作系 统产品。 4.1 操作系统概念及构成 4.1.1 操作系统的概念 操作系统:是管理计算机软硬件资源的程序,同 时它又是用户与计算机硬件的接口。 没有操作系 统,应用软 件如同空中 楼阁,无法 运行。 用户 系统程序和应用程序 操 作 系 统 硬 件 层 4.1 操作系统概念及构成 4.1.2 操作系统的构成 就是对 CPU的 管理。 就是如何合 就是对文件 就是对外部各 理分配和使 及文件夹进 种输入输出设 用内存。 行管理。 备进行管理。 主要是指对 硬盘进行管 理。 就是提供对网 络管理、对进 程工作过程的 保护及提供用 户与操作系统 的接口程序。 ② 内存管理 ③ 文件管理 ④ 输入/输出系统管理 ① 进程管理 操作系统 ⑤ 二级存储管理 用户接口 ⑥ 联网、保护系统和命令解释程序系统 4.2 操作系统类别与计算环境 4.2.1 操作系统的类别 经过多年的发展,操作系统多种 多样。早期,操作系统从批处理,多 道程序发展为分时操作系统;另外, 为满足计算机处理实时事件的需要, 就有了实时操作系统;为适应个人计 算机系统的需要又出现了桌面操作系 统;为适应并行系统的需要,就有了 多处理机操作系统;为满足网络和分 布计算的需要,就有了网络操作系统 和分布式操作系统;此外,还有为支 持嵌入式计算机的嵌入式操作系统。 1 2 3 批处理系统 多道程序系统 分时系统 4 5 6 7 实时系统 桌面系统 多处理机系统 网络系统 8 9 分布式系统 嵌入式系统 4.2 操作系统类别与计算环境 4.2.2 计算环境 1. 传统计算环境 指普通意义下的独立或联网工作下所形成的计算环境。 2.基于Web的计算环境 互联网的普及使得计算被延伸到Web环境。 3.嵌入式计算环境 嵌入式计算机就是安装在某些设备上的计算部件,其 计算相对比较简单。 操作系统总是在某种计算环境中设置和使用,就 目前来看计算环境可分为以下几类: 4.3 进程管理 什么是进程?它与程序有什么区别? 程序:用户为完成某一个特定问题而编写的操作步骤。 进程:可简单地看作是正在执行的程序。但是进程需要 一定的资源来完成它的任务(例如CPU时间、内存、文件和I/O 设备) 。 进程与程序的区别在于进程是动态的、有生命力的,而 程序是静态的。一个程序加载到内存,系统就创建一个进程, 程序执行结束后,该进程也就消亡了。 4.3.1 进程的概念 在计算机中,由于多个程序共享系统资源,就 必然引发对 CPU 的争夺。如何有效地利用 CPU 资源, 如何在多个请求CPU的进程中选择取舍,这就是进程 管理要解决的问题。 4.3 进程管理 4.3.2 进程的状态转移 进程正在被创建 新的 进程等待分配CPU 允许 如CPU时间片被用完, 迫使进程让出CPU 进程已完成 中断 退出 运行 终止 进程已分配到 CPU , 正在被执行。 就绪 允许 等待 进程等待一些事件的出现 如进程可能要使用某个I/O设备而进入等待状态,等待 使用相应的设备,当 I/O完成后进程进入就绪队列。 进程状态及转换图 4.3 进程管理 4.3.3 进程控制块 为了控制进程,操作系统就必须知道进程存储在哪里, PCB(略) 以及进程的一些属性。 进程控制块是进程实体的一部分,是操作系统中记录进 程的专用数据结构。一个新的进程创建时,操作系统就会为 该进程建立一个进程控制块。操作系统根据进程控制块对并 发进程进行控制。 4.3 进程管理 4.3.4 进程调度及队列 在某一时刻,计算机的CPU(单核)只能运行一个进程,如 图 果存在多个进程,其它进程就需要等 CPU 空闲时才能被调度 执行。 当一个进程处于等待或 CPU 时间片用完时,操作系统就 会从该进程中拿走 CPU 控制权,然后再交给其它进程使用, 这就是进程的调度。 进程A 进程B 进程C CPU时间 进程A 进程B 进程C 4.3 进程管理 4.3.5 CPU调度及其 在设计CPU 调度程序时主要应该考虑的准则包括: 准则 (1) CPU使用率。让CPU尽可能地忙。 (2) 吞吐量。让CPU在一定时间内完成的进程数尽可能多。 (3) 周转时间。让进程从提交到运行完成的时间尽可能短。 (4) 等待时间。让进程在就绪队列中等待所花时间之和尽可 能短。 (5) 响应时间。让进程从提交请求到产生第一响应之间的时 间尽可能短。 4.3 进程管理 4.3.7 进程的同步与互斥 进程的同步就是指相互协作的进程不断调整它们之间的相 对速度,以实现共同有序地推进。 换句话说 , 在操作系统中,允许多个进程并发运行。然而, 有些进程之间本身存在某种联系,它们在系统中需要一种协作, 以保证进程能正确有序地执行并维护数据的一致性。 例:A、B两进程同步工作如下图(A进程负责从键盘读数据到缓冲区,B进程从缓冲 区取数据并计算。 A进程 B进程 把数据从键盘送入缓冲区 等待A信号(等待取数据并计算) 给B发信号(缓冲区已满) 等待B发回信号(再送数据到缓冲区) 取缓冲区中的数据进行计算 给A发信号(缓冲区数据已取走) 4.3 进程管理 在操作系统中,可能存在着多个进程。而系统中一些资 源一次只允许一个进程使用,这类资源被称为临界资源。在 进程中访问临界资源的那段程序称为临界区。当一个进程进 入临界区执行时,其它进程就不允许进入临界区执行,否则 就会导致错误结果。例如: 多个进程在竞争使用打印机时表现为互斥。 一个文件可供多个进程共享,其中有一个进程在写操作 时,其它进程则不允许同时写或读,表现为互斥。 由此得出: 多个进程并发执行时,只允许一个进程进入临 界区运行,这就是进程的互斥。 4.3 进程管理 4.3.8 进程的死锁及处理方法 在多道程序设计中,多个进程可能竞争一定数量的资源。 一个进程在申请资源时,如果所申请资源不足,该进程就必 须处于等待状态。如果所申请的资源被其它进程占有,那么 进程的等待状态就可能无法改变,从而形成进程之间相互一 直等待的局面,这就是死锁。 竞争资源引起死锁 死锁举例: 四方街区的车辆阻塞。每 个方向都希望其它方让出通道, 但谁也不能够让出。 4.3 进程管理 引起死锁的四个必要条件: (1) 互斥:某一资源任一时刻只能有一个进程独占,若另一进程申请该 资源则需延迟到该资源释放为止。 (2) 占有并等待:即该进程占有部分资源后还在等待其它资源,而该资 源被其它进程占有。 (3) 非抢占:某进程已占用资源且不主动放弃它所占有的资源时,其它 进程不能强占该资源,只有等其完成任务并释放资源。 (4) 循环等待:在出现死锁的系统中,一定存在这样一个进程链,其中 每个进程至少占有其它进程所必需的资源,从而形成一个等待链。 死锁举例: – 进程A:获得CD-ROM使用权,申请打印机 – 进程B:获得打印机使用权,申请CD-ROM 进程A – 死锁:此时进程A、B均被阻塞,无法运行 打印机 进程B CD-ROM 4.3 进程管理 处理死锁问题的三种方式: (1) 使用协议预防和避免死锁,确保系统从不进入死锁状态。 (2) 允许系统进入死锁状态,然后检测出死锁,并加以恢复。 (3) 可忽略进程死锁问题,并假装系统中死锁从来不会发生。 即没有必要把精力花在小概率事件上。 处理死锁优先考虑的顺序: 先预防和避免 再检测和恢复 4.4 内存管理 内存是现代操作系统的核心,是可被 CPU 和 I/O 设备所共同访问的数据仓库。计算机的所有程 序运行时都要调入内存。 内存管理的主要工作是:为每个用户进程合理 地分配内存,以保证各个进程之间在存储区不发生 冲突;当内存不足时,如何把内存和外存结合起来, 给用户提供一个比实际内存大得多的虚拟内存,使 得程序能顺利执行。 4.4 内存管理 4.4.1 用户程序执行与地址映射 用户编写程序在执行前,需要 (了解) 多个处理步骤,然后在内存中等待 执行。当然有时并非每个步骤都是 必需的。 说明:编译器和汇编器用于将高级 语言源程序翻译成二进制代码的机 器语言程序。链接器将编译后不同 的程序、函数库文件等连接生成 EXE 文件 。当运行 EXE 文件时, 操作系统的加载器读取 EXE文件并 将它们加载到内存中。预先编译好 的在调入内存前加载的库文件就是 静态链接库文件。运行时动态装入 的库文件叫动态链接库文件。 其它目 标模块 EXE文件 系统库 动态装入 的系统库 动态链接 源程序 编译器或 汇编器 目标模块 链接编辑器 编译阶段 OBJ文件 加载模块 加载器 内存中 二进制内存 映像 加载阶段 执行阶段 图4.4 用户程序多步骤处理 4.4 内存管理 通常,将指令和数据的地址映射成内存地址可以发生在以 下三个执行阶段。(了解) 1.编译阶段:如果在编译时就知道进程将在内存中的什么位 置驻留,那么编译器就可以直接以生成绝对地址代码。 2.加载阶段: 不知道进程将驻留在什么位置,那么编译器 就必须生成程序的逻辑地址,在加载阶段再转变成内存的绝 对地址。 3.执行阶段:如果进程在执行时可以从一个内存段移动到 另一个内存段,那么进程的绝对地址映射工作只能延迟到执 行时进行。 4.4 内存管理 4.4.2 物理地址空间与逻辑地址 空间 ? 几个相关概念 物理地址:是计算机内存单元的真实地址。 物理地址空间:由物理地址所构成的地址范围。 逻辑地址:经编译后的用户程序地址,从0开始编址。 逻辑地址空间:由逻辑地址所构成的地址范围。 地址映射 :用户程序在运行时要装入内存,这就需要将逻 辑地址变换成物理地址,该过程称为地址映射,也称重定 位。 4.4 内存管理 ... 用户编写的源 程序是不考虑地址 100 LOAD 1, 500 的,源程序经编译 ... 后产生逻辑地址。 12345 将逻辑地址转换为 500 ... 内存中的物理地址 是由计算机中被称 700 程序A的逻辑地址空间 为内存管理单元的 硬件设备来实现的, 将逻辑地址与内存 重定位寄存 器 Base 管理单元中存放的 内存基址相加就得 CPU 逻辑地址 + X 到物理地址。 内存管理单元 0 程序A的物理在址空间 5000 ... LOAD 1, 500 ... 5100 12345 ... 5500 5700 物理地址 Base + X 内存 4.4 内存管理 为更加有效地使用内存,进程在不运行时,可以暂时从 内存移至外存,需要再运行时再重新调回到内存中。也就是 说内存管理程序可将刚刚运行过的进程从内存中换出以释放 占用的内存空间,然后将另一个要运行的进程占据前者释放 的内存空间。 未用内存区 进程B 进程A 操作系统 进程A 操作系统 未用内存区 未用内存区 未用内存区 进程C 进程B 进程A 操作系统 进程C 进程B 未用内存区 操作系统 进程C 进程B 未用内存区 4.4.3 进程使用内存的交换技术 未用内存区 进程D 操作系统 注:这种交换技术多用于分时系 统 4.4 内存管理 4.4.4 内存分配方案-连 开始时所有内存是一个大的孔,随着内存分配的进行就 续 会形成许多不连续的大小不同的孔。在连续内存分配方案中, 当新进程需要内存时,就为其寻找合适的孔,实现内存分配。 该方案需要为每个进程分配连续的内存物理空间。 未用内存区 在内存分配中, 常常把内存中还 没有被分配的可 用空间称为孔 (hole)。 进程C 未用内存区 进程A 操作系统 4.4 内存管理 分页管理基本思想: 内存物理地址空间划分为若干个大小相等的块(页框) 进程的逻辑地址空间也划分为同样大小的块(页面) 内存分配时每个页面对应地分配一个页框,而一个进程 内存 所分得页框在位置上不必是连续的。 页表:操作系统 为每个用户程序 建立一张页表, 该表记录用户程 序的每个逻辑页 面存放在哪一个 内存物理页框。 页表 用户程序 0页 1页 2页 3页 4页 5页 6页 7页 页号 0 1 2 3 4 5 6 7 块号 5 2 4 6 7 10 9 11 0 1 2 3 4 5 6 7 8 9 10 11 …… 4.4.5 内存分配方案-分页式 页面 页框 4.4 内存管理 分页式内存管理从逻辑地址到物理地址的映射 : (了解) 物理内存 f 物理地址 逻辑地址 d d 页表 f 1111…1111 p f f d f 0000…0000 CPU p 注:逻辑地址的表示: 页号p 页内地址d(偏移量) 4.5 虚拟内存方案 虚拟内存是一个容量很大的存储器的逻辑模型,它不是 任何实际的物理存储器。虚拟内存包括物理内存和一部分外 存(这里所指的外存一般是指硬盘)。 4.5.1 基本思想 4.5 虚拟内存方案 虚拟内存:对于一个进程来讲,如果仅将当前 要运行的几个页面装入内存便可以开始运行,而其余 页面可暂时留在磁盘上,需要时再调入内存,并且调 入时也不占用新的内存空间,而是对原来运行过的页 面进行置换。这样,就可以在计算机有限的内存中同 时驻留多个进程。而对用户来讲感觉到系统提供了足 够大的物理内存,而实际上并非真实的,这就是虚拟 内存。 4.5 虚拟内存方案 4.5.2 页面请求与页面置换算法 在虚拟内存技术中,进程运行时并没有将所有页面装 入到内存,在运行过程中进程会不断地请求页面,如果访 问的页面已在内存,就继续执行下去;但如果要访问的页 面尚未调入内存,便请求操作系统将所缺页面调入内存, 以便进程能继续运行,这个过程叫页面请求。 如果请求页面调入内存时,分配给该进程的页框已用 完,就无法立即装入所请求页面。此时,必须将进程中的 某个页面从内存的页框调出到磁盘上,再从磁盘上将所请 求的页面调入到内存该页框中,这个过程叫页面置换。 4.6 文件管理 文件:保存在外部存储设备上的相关信息的集合。 文件命名:文件主名+扩展名 文件存取属性: ?只读:只允许授权用户进行读操作。 ?读写:只允许授权用户进行读和写的操作。 ?文档:允许任何用户进行读写操作。 ?隐藏:不允许用户直接看到文件名。 4.6.1 文件的概念 4.6 文件管理 文件系统:是对文件进行操作和管理的软件,是用户与 外存之间的接口。该系统将所有文件组织成目录结构保存在 外存,一个文件对应其中的一个目录条,目录条记录了文件 名、文件位置、文件大小、创建时间等信息。 操作系统对文件的基 本操作包括:创建文件、 文件写、文件读、文件重 定位、文件删除、文件截 短、文件复制、重命名、 更改属性等。 4.6 文件管理 4.6.2 文件的物理结构和逻辑结构 文件结构分物理和逻辑结构。其中物理结构是文件在外 存上的存储组织形式,它与具体的存储设备有关。文件逻辑 结构是指用户能直接感受到的文件组织结构,它与具体的存 储设备无关。 无结构文件 文件的逻辑结构 有结构文件 流式文件 顺序文件 索引文件 索引顺序文件 4.6 文件管理 (1) 无结构文件 可以看成是由无结构的字 符序列组成的文件。 main( ) { int a, b, sum; scanf("%d %d", &a, &b); sum=a+b; printf("sum=%d", sum); } (2) 有结构文件 学号 0001 0002 姓名 张为华 赵国迎 性别 男 男 是带有结构的、性质相同的记录的集合。 电话 6211628 8 邮箱地址 zwh@163.co m 0003 韩莹莹 女 5168561 zgy@163.com 1 5168563 hyy@yahu.co 3 m 4.6 文件管理 ① 顺序文件:文件所包含的一系列记录按照某种顺序依 次连续存储。顺序文件是按记录进入文件的先后顺序存放、 其逻辑顺序和物理顺序一致的文件。 ②索引文件:由主文件和索引表构成。可实现快速访问。 ·按输入记录的先后次序建立数据区和索引表。 ·全部记录输入完毕后对索引表进行排序,排序后的索引 表和主文件一起就形成了索引文件。 4.6 文件管理 ③索引顺序文件:顺序文件和索引文件特点的结合。 主文件是按主关键字有序排列的,将主文件的所有记录分 组,每组记录是连续的,不同组记录是分散的。索引表中 为每组的首记录建立一索引项,组与组之间按关键字大小 有序排列,组内记录按顺序查找。 键值 逻辑地址 姓名 An qi 年龄 性别等 An qi Bao lin Chen mi An ta …… Bao lin …… Chen mi …… …… 索引表 4.6 文件管理 4.6.3 文件的访问方式 1. 顺序访问方式 主要适合于对顺序文件的访问。其访问的位置是由指针 定位的。读操作是读取指针所指示位置的内容,并自动将指 针向后移动,以指示下一次读的位置。而对写操作,所写的 内容总是添加到文件的尾部。 一切存储在顺序存储设备(如磁带)上的文件,都只能是顺 序文件,所以顺序访问方式是基于磁带的模型。该访问方式 不仅适合顺序存储设备 (如磁带),对直接存储设备(如磁盘)也 适合。 4.6 文件管理 2. 直接访问方式 直接访问也称随机访问,它指的是允许跳跃式地随意 存取文件中的任何记录,而不需要任何顺序限制。直接访 问是最为常见和高效的文件访问方式。磁盘是随机存储设 备,所以直接访问方式是基于磁盘的模型。 3.索引访问方式 在进行文件访问时,首先对索引文件按关键字进行检 索,查找到指向数据记录的指针,根据该指针实现对具体 数据记录的访问。 4.6 文件管理 4.6.4 文件的目录结构 通常,一个磁盘至少应包含一个分区,每个分区 用来保存文件和目录结构 。 文件目录的组成:每 个文件有一个文件控制块 FCB , 它 是 文 件 存 在 的 标 志,存放了为管理文件所 需的所有有关信息。把所 有的文件控制块组织在一 起,就构成了文件目录, 每个文件控制块就是其中 的一个目录项。 FORMAT之后,磁盘的盘卷结构如下: DOS盘卷 引导区 FAT1 0扇区 1-2扇区 FAT2 3-4扇区 根目录区 5-11扇区 文件区 ≥12扇区 FAT … … 6 15 … … 根目录下各文 件的目录项 …… 文件名 my 长度=3 …… 6 …… 15 …… 23 …… 15 23 … … 以簇为分配单位。 23 -1 n 1簇=2 扇区 … 首簇号6 …… 文件控制块的有序集合 子目录文 件内容 4.6 文件管理 文件的目录系统可以组织成单层目录结构、双 层目录结构、树型目录结构、无环路目录结构和通 用图目录结构。 树型目录结构 是目前使用最为广 泛的一种目录结构。 这种目录结构在逻 辑上的构成是一棵 树,子目录是树枝, 而文件是树叶。 4.7 输入/输出系统管理 每台计算机都配备了许多外部设备,它们的性 能和操作方式都不一样。操作系统对设备(即输入/输 出系统)管理的主要目标是方便用户使用外部设备, 提高CPU和设备的利用率。 4.7.1 I/O设备和主要术语 1.端口(I/O设备端口) I/O设备与计算机通信的连接点被称为端口。 2.控制器(I/O设备控制器) 用于操作端口、总线和设备的一组电子器件, 是设备与总线的连接装置。 中断的概念:中断是现代计算机中CPU处理外部突发事件 的一个重要技术。它能使CPU在运行过程中对外部事件发出 的中断请求及时地进行处理, 处理完成后又立即返回断点, 继续进行CPU原来的工作。根据中断源的不同,可以把中断 分为: 外部中断 如:键盘中断、打印机中断等 硬中断 中断 软中断 内部中断 如突然掉电、除数为零等 程序运行时其它程序对它的中断 异常和随机事件 正在执行的程序 被中断处 返回处 中断请求 执行中断服务程序 1、IRQ(Interrupt Request)(线) IRQ即中断请求线。计算机中有许多设备(例如声卡、硬盘等)需要 定期中断CPU,让CPU为其做一些特定的工作。这些设备在中断请求线上 把请求中断的信号发给CPU。所以每个设备只能使用自己独立的中断请求 线(PCI总线、USB总线上的设备可共享)。一般微机共有16条中断请求线 与各种外设相连接,(每个中断线有一个标号也就是中断号)。 2、DMA(Direct Memory Access)(芯片) 计算机与外设之间的联系一般通过两种方法:一是通过 CPU控制来进 行数据的传送;二是在芯片控制下进行数据的传送。在 DMA 方式下,外 设利用 DMA通道直接将数据写入或读出存储器,而基本不用 CPU 参与, 系统的速度会大大增加。 3、I/O端口(Input/Output)(地址) 就是计算机外设与CPU连接的接口。每个端口都有自己唯一的一个端 口号,这个端口号称为地址。每一个和CPU通信的外设都有不同的I/O地 址,通常在PC机内部一共有1024个地址。 4.7 输入/输出系统管理 4.7.2 输入/输出控制方式 CPU通过端口对外设进行控制的方式有以下几种: (1) 程序控制方式 早期计算机采用的方式。 CPU向设备控制器发出一条 I/O指令启动设 备进行一个字节的输入或输出,然后 CPU就等待 I/O设备进行数据传送, 直到一个字节传送完毕后CPU再继续处理下一个字节的输入或输出。 CPU绝大部分时间都用于循环等待及测试 I/O是否完成,造成 CPU资 源的极大浪费。CPU和外围设备只能串行工作。 (2) 中断驱动方式 首先由CPU向相应设备的控制器发出一条 I/O命令,然后CPU立即返 回继续执行原来的任务,设备控制器则按照命令的要求去控制 I/O设备工 作。这时CPU与I/O设备并行工作。 这种方式CPU的利用率较高。但这种方式的缺点是在一次数据传送 过程中,发生中断次数较多(每传一个字节就要请示求中断),这将耗去大 量CPU处理时间。 4.7 输入/输出系统管理 (3) 直接存储器访问方式 引入DMA控制器,在其控制下,以数据块为单位完成设 备与内存间的数据交换,当数据块传送完毕时才需要 CPU干 预。该方式CPU的利用率高。 (4) 通道控制方式 通道控制方式是 DMA的发展,它把对每一块数据的读写 变成对一组数据块的读写,可以进一步减少 CPU 的干预。更 大程度地提高了系统资源的利用率。 4.7 输入/输出系统管理 4.7.3 I/O缓冲管理 现代操作系统中,I/O设备与 CPU(实际指内存 )交换数 据时,需要使用缓冲技术。也就是为I/O设备设置缓冲区暂 存数据,等到数据积累到一定程度时,再做批量处理。 引入缓冲: (1) 缓和CPU与I/O设备间速度不匹配的矛盾; (2) 减少对CPU中断频率; (3) 提高CPU与I/O设备间的并行性。 4.7 输入/输出系统管理 4.7.4 设备驱动程 设备驱动程序与具体设备有关,用户安装好硬件后还 序 要再安装驱动程序,计算机才能识别和使用该设备。每个 外部设备都有相应的设备驱动程序,它也是硬件的身份识 别标志,负责完成设备具体的各种动作(输入/输出操作)。 一旦为 I/O设备安装了驱动程序,那么应用程序在使用 I/O设备时,就不必关心设备的特性、I/O控制方式,这样就 实现了应用程序与设备的无关性。 4.8 典型操作系统 4.8.1 Unix Unix是一个通用、交互式、分时多用户并支持网络的 操作系统,是可以运行在各种机型(从微机到巨型机在内)上 的通用操作系统。目前主要用于网络服务器、大中小型机。 缺点:软件少,价格贵,难掌握。 4.8.2 DOS DOS是单用户、单任务和字符界面的操作系统,主要 为16位微型计算机而设计,属于淘汰产品。 4.8 典型操作系统 4.8.3 Windows 优点:界面图形化、操作便捷、 采用多任务机制、支持网络功能、 出 色的多媒体功能、硬件更容易使用、 具有众多应用程序的支持。 微软:世界最强大公司之一,90年代蓬勃兴起,但产品处于二、三流 之间。它以人们喜欢占便宜的心里,采取允许人们盗版的方式迅速扩张, 短时间占领市场。凭借着其成功的商业推广模式,一步步把自己的操作系 统做成了世界上最流行的操作系统。 Windows :可靠性低(补丁、漏洞比比皆是,病毒不可抗拒),软 件耗费资源大。一直未公开其源代码。但通用性强,操作习惯,被认为是 无形标准。 影响:人人皆知,深入中、小学课本,影响一代乃至几代人。我国在 科研、教学、商业等方面的软件投入都建立在 Windows 基础上,从军队 到地方、从政府到民间,微软产品横扫中国大江南北。 4.8 典型操作系统 4.8.4 Linux Linux 是一个免费、源代码开放、自由传播、类似于 Unix 的操作系统。它既可以做各种服务器操作系统,也可 以安装在微机上,并提供上网软件、文字处理软件、绘图 软件、动画软件等,它除了命令操作外还提供了类似 Windows 风格的图形界面,我国自行开发的有红旗、蓝点 Linux、麒麟Linux等。缺点是兼容性差,使用不习惯。 4.8.5 Mac OSOS是一运行在苹果系列微机上的操作系统。苹果 Mac 机多用于图形领域,它往往代表了潮流和时尚,代表精美 的工业设计,但它不兼容 Windows 软件,所以叫好不叫座。 几种计算机操作系统界面 windows Windows Mac OS DOS Linux Unix 操作系统的作用 操作系统对整个软件产业影响极大。随着Vista的推广 应用,将重新构建一套应用软件体系,并会导致以前许多应 用软件淘汰。未来的Windows 7又将引起新一轮的软件更新 换代。 1. 在软件中的作用 2. 经济作用 使用国外 (微软)的操作系统,所有应用软件都在其掌控 之下,我国自主软件产业的发展将受制于人。如同将荒地开 发成良田,让大家种庄稼,若有收获就得交土地使用费,否 则侵权。 微软已宣布黑屏警告中国的Windows XP及Office盗版用 户。 操作系统意义和价值及发展与未来 3.意义和价值 操作系统决定软件产业发展,是信息产业的基石,是 “两件一芯” ( 操作系统、 CPU 、数字化芯片 ) 中的一件,地 位与当年的“两弹一星”一样。 操作系统是硬件发展的标准和导向,是软件开发基础, 谁掌握操作系统,谁就统领信息领域。 4. 发展与未来 目前我国的操作系统等基础软件主要依赖国外进口,特 别是在国防、金融等关键领域大量应用国外软件,将会直接 威胁国家安全。未来我们要开发有自主产权和自控的操作系 统,也许在操作系统上中国未来会全面走向Linux。 来自中国军方的声音:我们不能把未来打赢一场 战争寄托在微软的良心上。 第五章 计算机软件技术基 础 硬件是计算机系统的基础,但没有软件的计算机 是无法工作的。计算机能广泛地应用于各个领域完全 是因为有了丰富的计算机软件。 本章将学习计算机软件和计算机软件开发的相关 知识,如什么是软件,程序设计语言的分类及构成、 数据结构与算法、软件开发过程等。 5.1 计算机软件系统 5.1.1 软件的概念与特点 软件是由程序、数据及其相关文档三部分组成。 ① 程序:按照事先设计的功能和性能要求执行的 计算机指令序列。 ② 数据:使程序能够正常操纵信息的数据结构。 ③ 文档:与程序开发、维护和使用有关的资料。 5.1 计算机软件系统 5.1.2 软件的分类 软件可以按功能、工作方式、服务对象进行划分,其 中按软件功能可划分为: ① 系统软件:能与计算机硬件紧密配合,使计算机系 统的各个部件、相关的软件和数据协调、高效工作。 ② 支撑软件:又称为软件开发环境。是介于系统软件 和应用软件之间的中间层软件,是支撑各种软件的开发与 维护的软件。 ③ 应用软件:针对特定领域开发,为特定目的服务的 软件。 5.1 计算机软件系统 5.1.3 计算机软件的层次结构 计算机软件系统中所包括的各种软件之间的关系不是 并列的,而是有一定的层次关系。 应用 软件 支撑 软件 系统 软件 5.2 程序设计语言 简单讲,程序设计就是用计算机语言编写程序。 程序 = 算法 + 数据结构 对数据操作的步骤 如何表示、组织和存储数据 编写计算机程序时使用的语言称为程序设计语 言(Programming Language),程序设计语言分为机 器语言、汇编语言和高级语言三种。 5.2 程序设计语言 5.2.1 机器语言 机器语言是唯一能被计算机直接理解和执行的程序设计 语言,属低级语言。机器语言的一条语句就是一条指令,机 器指令的格式如下: 操作码 操作数 例如:计算256+16结果的机器代码如下(以十六进制表示): B8 0001 05 1000 10111000 00000001 00000101 00001000 ;把256放入累加器AX ;把16与AX中值相加,结果存入AX 5.2 程序设计语言 5.2.2 汇编语言 为了解决机器语言难记忆、可读性差的缺点,人们把机 器指令中的操作码和操作数用英文助记符来表示,这种助记 符语言称为汇编语言,也属于低级语言。 MOV AX, 256 ;把256放入累加器AX ADD AX, 16 ;把16与AX中值相加,结果存入AX 汇编语言编写的程序属于符号程序,计算机不能直接识 别和执行,必须翻译成计算机能识别的机器指令后才能在计 算机上执行,其翻译过程如下: 5.2 程序设计语言 5.2.3 高级语言 高级语言是一类程序设计语言的统称,它采用接近人类 自然语言的表示方法,并遵循一定的语法规则来编写程序。 实现求整数的绝对值的程序段: int intVar, result; scanf(“%d”, &intVar); if(intVar >= 0) result = intVar; else result = -1*intVar; printf(“%d的绝对值是:%d”, intVar, result); 5.2 程序设计语言 高级语言编写的程序也属于符号程序,不能直接在计算 机上执行,必须通过程序的翻译才能执行,其翻译成指令代 码的方法主要有编译和解释两种。 高级语言程序的翻译和执行过程如下: 5.2 程序设计语言 5.2 程序设计语言 5.2.4 程序设计语言的构成 程序设计语言的构成主要包括以下几个方面: (1) 数据类型 基本数据类型:是由程序设计语言内置的,其特点是不 能再分解为其它的类型。在主流的程序设计语言中一般包括: 整数类型、实数类型、字符类型、布尔类型等。 构造数据类型:是由基本数据类型按照某种方式组合构 成的。常见的构造数据类型有:数组类型、记录类型 ( 结构 体) 等等。 (2) 运算符和表达式 在程序设计中使用表达式可完成各种各样的运算。表达 式通常包括:常量、变量、运算符和函数调用等。 5.2 程序设计语言 (3) 语句 程序是对计算机要执行的操作的描述,高级语言源程序的 基本组成单位就是语句。 语句按功能可以分为两类: ① 用于描述操作运算的语句,如赋值语句; ② 用于控制操作运算流程的语句,如分支控制语句。 (4) 控制结构 ① 顺序结构,按照语句出现的先后顺序依次执行。 ② 分支结构,根据给定条件判断,决定程序执行的顺序。 ③ 循环结构,循环(重复)是计算机解题的一个重要特征。 5.2 程序设计语言 (5) 输入/输出 高级程序设计语言中通常以函数或语句的形式提供输入 输出操作。现代高级程序设计语言通常都提供通过窗口、文 本框、按钮、组合框、图表等图形组件进行输入输出。 (6) 子程序 子程序就是将需要重复使用的程序段或分解的子问题 编写成一个独立的子程序,当程序中需要使用子程序时, 再对其进行调用。 子程序有两种:函数 (Function) 和过程 (Procedure) ,它 们的主要区别是函数有返回值,而过程不能有返回值。 5.3 数据结构 5.3.1 什么是数据 数据是对客观事物的描述,对计算机来说,数字、字符、 图形、色彩、声音等都是数据。 数据元素是组成数据的基本单位。一个数据元素可以是一 个单个数据也可以由若干个数据项组成,数据项是数据不可分 割的最小单位。 例:公司员工数据的存储(一个员工信息可以构造一个 一维数组的数据结构) 姓名 性别 出生日期 职位 工资 张军 李芳 王明 刘杰 男 女 男 男 1975.5.6 1980.12.12 1979.4.19 1974.6.23 总经理 项目经理 程序员 系统分析员 2080.00 1800.00 1500.00 1750.00 数据元素 数据项 5.3 数据结构 5.3.2 数据结构研究的内容 数据结构指的是数据间的相互关系。数据结构研究的内 容包括:数据的逻辑结构、物理结构和数据结构运算。 (1)数据的逻辑结构 数据元素之间的逻辑上的相互关系称为数据的逻辑结 构,它描述数据的组织形式。 元素之间是松散关系 例如:自然数的全体 元素之间是一对一关系 例如:公司员工数据表中 每个成员关系 元素之间是一对多关系 例如:一对夫妇和他们的 全部子孙 元素之间是多对多关系 例如:华农与周边地区的 位置关系 5.3 数据结构 (2) 数据的物理结构 数据在计算机存储器中的存储方式,称为数据的物理结 构或存储结构。它包括: ① 顺序存储方式,把逻辑上相邻的数据元素存储在物理 上相邻的存储单元中。 ② 链式存储方式,每个结点分为数据域和指针域两部分, 数据域存储数据元素,指针域存储与该结点具有逻辑关系的 结点的地址。 ③ 索引存储方式,数据元素存放在一个不连续存储区域 里。再建一个附加的索引表,索引表中的第 i 项表示第 i 个元 素的存储地址。 ④ 散列存储方式,数据元素均匀地分布在连续的存储区 域里,用散列函数计算各结点的存储地址。 5.3 数据结构 例如 :线性表是一种逻辑结构 ,若采用顺序存储方式,可称 其为顺序表;若采用链式存储方法,可称其为链表;若采用 散列存储方法,可称其为散列表。 右图为某学生各 科成绩表分别采用顺 序和链式存储的情形。 前者存储在一片连续 空间,后者则存储在 非连续空间。 5.3 数据结构 (3) 数据结构的运算 数据结构的运算是定义在数据逻辑结构上的操作,如插 入、删除、查找、排序等。 比如一张表格,可能需要进行查找、增加、修改、删除 记录等,进行这样的操作已不是加减乘除这样一些算术运算, 在数据结构中,运算常常涉及算法的问题。 5.3 数据结构 5.3.3 常见数据结构介绍 (了解) (1) 数组 数组属于线性数据结构,是在计算机内存中使用一组连 续的存储单元保存数据类型相同的一组数据,这些数据拥有 相同的变量名,称为数组名。 5.3 数据结构 (2) 链表 链表(Linked List)是采用链式存储的线性表。线性链表的 结点由数据域和指针域两个部分组成,数据域存储数据元素, 指针域存储一个指向直接后继结点的指针。 5.3 数据结构 (3) 二叉树 二叉树是一种常用的非线性数据结构,其定义为:二叉 树是一个结点的集合,该集合或者为空,或者满足下面两个 条件: ① 有且仅有一个称为根的结点。 ② 其它结点分为两个互不相交的集合T1、T2。T1和T2 均为二叉树,并且在 T1 和 T2 之间存在顺序关系 (T1 在 T2 之 前),分别称为根的左子树和右子树。 二叉树的5种基本形态 5.3 数据结构 二叉树的存储结构 5.3 数据结构 遍历二叉树 遍历二叉树是非常重要的一种运算。“遍历”的含义是 对结构中的每个数据都访问一次且仅访问一次。可以有三种 访问路径: ① 前序遍历:访问根结点;前序遍历左子树;前序遍历右子树 ② 中序遍历:中序遍历左子树;访问根结点;中序遍历右子树 ③ 后序遍历:后序遍历左子树;后序遍历右子树;访问根结点 ① 前序遍历:A B D E F G C ② 中序遍历:D B F E G A C ③ 后序遍历:D F G E B C A 5.4 算法 5.4.1 算法的基本概念 算法是指为解决给定问题而需实施的有穷操作 步骤的描述。 5.4.2 算法的描述方法 算法的描述方法有以下四种: (1) 用自然语言描述算法 (2) 用流程图描述算法 (3) 使用伪代码描述算法 (4) 用程序设计语言描述算法 5.4 算法 5.4.3 查找算法(了解) 查找(Searching)也称检索,设表F中有n个结点,Ki是记 录Ri的关键字,现给定关键字K,在F中寻找关键字与K相同 的结点R的过程,叫做查找。 (1) 顺序查找 顺序查找是线性表的最简单的查找算法。它是用给定 的值与表中的每个结点的关键字逐个进行比较运算,若找 到相等的关键字则查找成功,否则查找失败。 顺序查找算法的优点是适用范围广,对线性表中结点 逻辑次序无关,即不要求按关键字排序。对线性表的物理 存储结构也没有要求,顺序存储与链式存储均可。 5.4 算法 (2) 折半查找 折半查找的基本思想是: 先取表的中间位置的结点关键字与所给定的关键字进行比 较,如果相等,则查找成功。如果给定值比该结点的关键字 大,则所找结点在表的后半部分;否则所找结点在表的前半 部分,然后再把选定的部分表的中间结点的关键字与给定关 键字进行比较。如此反复进行,直到查找成功或者查找失败 为止。 5.4 算法 例: 5.4 算法 5.4.4 排序算法(了解) 排序(Sort)是数据处理中的一种重要运算,它的功能是将 一组数据元素(或记录)从任意序列排列成一个按关键字排序的 序列。 按照排序过程中涉及的存储器的不同将排序分为内部排 序和外部排序两类,其中内部排序是指整个排序过程都在内 存中进行的排序。 5.4 算法 (1) 直接插入排序 算法的基本思想如下: ① 开始时,把第一个记录看成是已经排好序的子序列, 这时子序列中只有一个记录; ② 从第二个记录起到最后一个记录,依次将每个记录 与前面子序列的记录按关键字比较,确定记录插入的位置; ③ 将记录插入到子序列中,子序列记录个数加1,直至 子序列长度与待排序列长度相等时结束。 5.4 算法 (1) 直接插入排序 5.4 算法 5.4.4 排序算法(了解) (2) 冒泡排序 冒泡排序的算法思想是: ① 将第 n个记录的关键字与将第 n-1个记录的关键字进行比较,若为逆 序则将两个记录进行位置的交换,否则保持原来顺序; ② 将第n-1个记录的关键字与将第n-2个记录的关键字进行比较; ③ 重复上述排序过程,直到全部关键字均比较一遍; ④ 上面三步的比较交换过程称为第一趟排序,其结果是使关键字最小 的记录被交换到了第1个记录的位置,完成一趟排序; ⑤ 第二趟排序从第 n个记录到第2个记录进行同样的操作,结果是使关 键字次小的记录被交换到了第2个记录的位置; 依次类推,第i趟排序是从第n个记录到第i个记录依次比较交换。 5.4 算法 (2) 冒泡排序 5.5 软件工程简介 5.5.1 软件工程提出 早期 , 在软件开发过程中出现了许多严重阻碍软件发展 的问题,主要表现在以下几个方面: ① 软件开发无计划性。 ② 软件开发过程无规范。 ③ 软件产品无评测手段。 1990年电气电子工程师协会 (IEEE)给出了软件工程的一 个定义:“软件工程是把系统化的、规范的、可度量的方法 应用于软件开发、运行和维护的过程,也就是把工程化运用 于软件工程,并对这样的方法进行研究”。 5.5 软件工程简介 5.5.2 软件生命周期 与其它工业产品一样,软件产品也有一个生产、使用和消亡的 过程,称为软件生命周期。软件生命周期分为六个步骤: ① 制定计划:确定要开发软件系统的总体目标。 ② 需求分析:对要开发软件提出的需求进行分析并给出详细定义。 ③ 软件设计:设计人员首先进行概要设计,然后进行详细设计,为 程序代码的编写打下基础。 ④ 程序编码:使用程序设计语言把软件设计转换成计算机可以接受 的程序代码,也称为软件实现。 ⑤ 软件测试:测试是保证软件质量的重要手段。 ⑥ 运行与维护:软件交付后就进入它的运行时期,在这个过程中可 能由于多方面的原因需要对软件进行修改,称为软件的维护。 5.5 软件工程简介 5.5.3 软件开发模型 软件开发模型也叫软件过程模型,是软件系统开发项目 总貌的一种描述,它是从软件项目计划的制定到软件最后停 止使用的整个过程的结构框架。 到目前为止,已经提出了多种软件生命周期模型,如: 瀑布模型、螺旋模型、演化模型、喷泉模型等。 5.5 软件工程简介 5.5.4 软件开发方法 软件开发方法主要包括以下两种: (1) 结构化开发方法 结构化方法是一种传统的系统开发方法,它采用了自顶 向下地分析和设计系统。 (2) 面向对象软件开发方法 面向对象软件开发方法是一种以对象为中心,以类和 继承为构造机制来抽象现实世界,通过建立模型,最终构 建相应的软件系统。 5.5 软件工程简介 5.5.5 软件测试技术 软件测试就是在软件投入运行前,对软件需求分析、设 计规格说明和编码的最终复审,是软件质量保证的关键步骤。 软件测试是为了发现错误而执行程序的过程。 (1) 静态测试:通过对被测程序的静态审查,而不是运行 程序来发现代码中潜在的错误。 (2) 动态测试:通过在计算机是运行程序来发现其中的错 误。

文档贡献者

zhenlou2

贡献于2019-01-15