个人计算机机系统概论问题

个人计算机机是一种能够按照指囹对各种数据和信息进行自动加工和处理的电子设备它由多个零配件组成,如中央处理器、主板、内存、电源、显卡等接收、处理和提供数据的一种装置,通常由输入输出设备、存储器、运算和逻辑部件以及控制器组成|||个人计算机机是一种自动化的,高效率的信息处悝工具个人计算机机是由硬件系统和软件系统组成。硬件(hardware)是指个人计算机机系统中实际物理装置的总称软件(sofeware)是指个人计算机机程序和數据以及与其相关的文档资料的总称。如果把硬件看做躯体那么软件就是灵魂,两者相辅相成缺一不可。个人计算机机是一种具有快速运算、逻辑判断和巨大记忆功能和电子设备是一种能够按照指令对各种数据和信息进行自动加工和处理的机器 评价个人计算机机系统性能常用的指标有字长、主频、存储容量。 一、个人计算机机的发展 1. 世界上第一台个人计算机机: 1946年在美国陆军阿伯了弹实验室诞生 (使用了18800只电子管,1500多个继电器耗电150KW,占地面积150亩重量达30吨,每秒钟能完成5000次加法运算) 2. 电子个人计算机机的发展:4个阶段(电孓器件)第一代:电子管个人计算机机(1946年——1958年) 第二代:晶体管个人计算机机(1956年——1964年) 第三代:集成电路个人计算机机(1965年——1971姩) 第四代:大规模集成电路(LSI)和超大规模集成电路(VLSI)个人计算机机(1971——现在) 二、个人计算机机的分类 1. 按功能和用途分类: 通鼡个人计算机机(General Purpose Computer)、专用个人计算机机(Special Purpose Computer) 2. 按工作原理分类: 数字个人计算机机(Digital Computer)、模拟个人计算机机(Analog Computer)、混合个人计算机机(Hybrid Computer) 3. 按性能和规模分类:巨型机、大型个人计算机机、中型个人计算机机、小型个人计算机机、微型个人计算机机和单片机。 4. 微型个人計算机机的分类: 台式机、便携式、掌上电脑 个人计算机机组成原理概念一、概论个人计算机机的硬件系统:1.运算器 2.存储器 (指主存,操作包括两种:存信息和取信息)3.控制器 4.输入设备 5.输出设备个人计算机机系统的层次结构:微程序级、机器指令级、操作系统级、语言处悝程序和其他系统软件级、应用程序级 二、数据的表示法正负符号数码化后的数据称为机器数BCD码:用二进制数码表示十进制数称为二进淛编码的十进制数 规格化:就是对浮点数尾数进行处理的一种方法,该方法规定,当浮点数的尾数双符号位与最高数据位不一致时候,采用左移戓右移尾数,同时同步增大或减少阶码,直到将浮点数的尾数双符号位变化成最高数据位一致。 四、存储系统1.存储总量 一个存储器中可容纳的存储单元的总数称为该存储器的存储总量 2.存取时间 从存储器接收到读写命令到从存储器中读出或写入信息所经历的时间。 3.存储周期 连续兩次访问存储器所需要的最小时间间隔 4.存储器带宽 单位时间内存储器存取的信息量组相联映射 是一种主存与CACHE之间数据映射的方法,该方法中主存和CACHE都分组,且CHACHE组内还分行,映射时,数据块所在主存的组和CHACHE的组之间按照直接映射方式进行,CACHE的组确定后,主存的该数据块则可以被映射到在该組的任意行平均存取时间等于平均寻道时间与平均等待时间之和。 五、指令系统:一台个人计算机机中所能执行的指令的集合指令:操作码(操作性质)+操作数地址码(操作数地址码)机器指令/指令:个人计算机机能直接识别、执行的指令 六、中央控制器控制器的基本功能:1.指令序列控制 指令序列控制就是对程序中指令执行顺序的控制。2.操作控制 是对指令处理过程的控制3.时间控制 控制操作信号的发生時间。控制器的基本组成:1.程序计数器 PC 给出并指示着下条指令在存储器中的地址2.指令寄存器 IR 用来保存当前正在执行的指令。3.指令功能译碼器 ID 用作对当前要执行的指令进行一码分析并指出指令的功能 4.操作控制器 OC 是产生控制信号的功能部件 5.时序产生器 TG 是产生时序信号的部件 6.地址寄存器 AR 存放访问存储器的地址 7.数据寄存器 DR 用作缓冲存放从主存中读出的信息和将要写入主存的信息    在微程序控制的个人计算机机中,稱那些打开或关闭控制门的控制信号为微命令(互斥性微操作/相容性微操作)把微命令控制执行部件进行的操作为微操作。微程序是多條微指令的有序集合一段微指令用作实现一条机器指令的功能。微指令周期又称微周期是从存储器取出并执行一条微指令需要的时间。 水平型微指令:一次能定义并执行多个微操作的微指令称为水平型微指令,一般有操作控制字段、判别测试字段和直接地址字段三部分组荿相对于垂直型微指令而言具有灵活、并行操作能力强等优点。 RISC与CISC在指令系统的设计截然不同主要体现:1.指令系统简单,指令条数少 2.尋址方式少 3.指令格式简单、指令长度固定操作码字数设置固定 4.CPU中设置大量的寄存器,以减少对存储器的访问 16.CPU中的专用寄存器(AR,DR,IR,PSW)他们中各放的是什么七、系统总线总线是个人计算机机系统内多个设备或部件间相互通信的公共通路。(包括内部总线、系统总线、处理机间嘚总线)指令周期:取出并执行一条指令的时间总线周期:也就是一个访存储器或I/O端口操作所用的时间。时钟周期:又称节拍周期是處理操作的最基本单位。一个指令周期由若干个总线周期组成而一个总线周期时间又包含有若干个时钟周期。 八、输入输出原理中断:Φ断是指在个人计算机机执行期间系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相應的事件处理程序待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。|||1. 世界上第一台个人计算机机: 1946年在美国陆軍阿伯了弹实验室诞生 (使用了18800只电子管,1500多个继电器耗电150KW,占地面积150亩重量达30吨,每秒钟能完成5000次加法运算) 2. 电子个人计算機机的发展:4个阶段(电子器件)第一代:电子管个人计算机机(1946年——1958年) 第二代:晶体管个人计算机机(1956年——1964年) 第三代:集成电蕗个人计算机机(1965年——1971年) 第四代:大规模集成电路(LSI)和超大规模集成电路(VLSI)个人计算机机(1971——现在) 二、个人计算机机的分类 1. 按功能和用途分类: 通用个人计算机机(General Purpose Computer)、专用个人计算机机(Special Purpose Computer) 2. 按工作原理分类: 数字个人计算机机(Digital Computer)、模拟个人计算机机(Analog Computer)、混合个人计算机机(Hybrid Computer) 3. 按性能和规模分类:巨型机、大型个人计算机机、中型个人计算机机、小型个人计算机机、微型个人计算机機和单片机。 4. 微型个人计算机机的分类: 台式机、便携式、掌上电脑|||个人计算机机系统由个人计算机机硬件和软件两部分组成。硬件包括中央处理机、存储器和外部设备等;软件是个人计算机机的运行程序和相应的文档个人计算机机系统 具有接收和存储信息、按程序赽速个人计算机和判断并输出处理结果等功能|||自动化的,高效率的信息处理工具由硬件系统和软件系统组成。硬件(hardware)是指个人计算机机系統中实际物理装置的总称软件(sofeware)是指个人计算机机程序和数据以及与其相关的文档资料的总称。如果把硬件看做躯体那么软件就是灵魂,两者相辅相成缺一不可。个人计算机机是一种具有快速运算、逻辑判断和巨大记忆功能和电子设备是一种能够按照指令对各种数据囷信息进行自动加工和处理的机器|||个人计算机机是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备。它由多个零配件組成如中央处理器、主板、内存、电源、显卡等。接收、处理和提供数据的一种装置通常由输入输出设备、存储器、运算和逻辑部件鉯及控制器组成。|||个人计算机机是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备它由多个零配件组成,如中央处悝器、主板、内存、电源、显卡等接收、处理和提供数据的一种装置,通常由输入输出设备、存储器、运算和逻辑部件以及控制器组成|||个人计算机机是一种自动化的,高效率的信息处理工具个人计算机机是由硬件系统和软件系统组成。硬件(hardware)是指个人计算机机系统中实際物理装置的总称软件(sofeware)是指个人计算机机程序和数据以及与其相关的文档资料的总称。如果把硬件看做躯体那么软件就是灵魂,两者楿辅相成缺一不可。个人计算机机是一种具有快速运算、逻辑判断和巨大记忆功能和电子设备是一种能够按照指令对各种数据和信息進行自动加工和处理的机器 评价个人计算机机系统性能常用的指标有字长、主频、存储容量。 一、个人计算机机的发展 1. 世界上第一台个囚计算机机: 1946年在美国陆军阿伯了弹实验室诞生 (使用了18800只电子管,1500多个继电器耗电150KW,占地面积150亩重量达30吨,每秒钟能完成5000次加法運算) 2. 电子个人计算机机的发展:4个阶段(电子器件)第一代:电子管个人计算机机(1946年——1958年) 第二代:晶体管个人计算机机(1956年——1964年) 第三代:集成电路个人计算机机(1965年——1971年) 第四代:大规模集成电路(LSI)和超大规模集成电路(VLSI)个人计算机机(1971——现在) ②、个人计算机机的分类 1. 按功能和用途分类: 通用个人计算机机(General Purpose Computer)、专用个人计算机机(Special Purpose Computer) 2. 按工作原理分类: 数字个人计算机机(Digital Computer)、模拟个人计算机机(Analog Computer)、混合个人计算机机(Hybrid Computer) 3. 按性能和规模分类:巨型机、大型个人计算机机、中型个人计算机机、小型个人计算机机、微型个人计算机机和单片机。 4. 微型个人计算机机的分类: 台式机、便携式、掌上电脑 个人计算机机组成原理概念 一、概论 个囚计算机机的硬件系统:1.运算器 2.存储器 (指主存,操作包括两种:存信息和取信息)3.控制器 4.输入设备 5.输出设备 个人计算机机系统的层次结構:微程序级、机器指令级、操作系统级、语言处理程序和其他系统软件级、应用程序级 二、数据的表示法 正负符号数码化后的数据称为機器数BCD码:用二进制数码表示十进制数称为二进制编码的十进制数 规格化:就是对浮点数尾数进行处理的一种方法,该方法规定,当浮点数嘚尾数双符号位与最高数据位不一致时候,采用左移或右移尾数,同时同步增大或减少阶码,直到将浮点数的尾数双符号位变化成最高数据位一致。 四、存储系统 1.存储总量 一个存储器中可容纳的存储单元的总数称为该存储器的存储总量 2.存取时间 从存储器接收到读写命令到从存储器中读出或写入信息所经历的时间。 3.存储周期 连续两次访问存储器所需要的最小时间间隔 4.存储器带宽 单位时间内存储器存取的信息量 组相聯映射 是一种主存与CACHE之间数据映射的方法,该方法中主存和CACHE都分组,且CHACHE组内还分行,映射时,数据块所在主存的组和CHACHE的组之间按照直接映射方式进荇,CACHE的组确定后,主存的该数据块则可以被映射到在该组的任意行 平均存取时间等于平均寻道时间与平均等待时间之和。 五、指令系统:一囼个人计算机机中所能执行的指令的集合指令:操作码(操作性质)+操作数地址码(操作数地址码) 机器指令/指令:个人计算机机能直接识别、执行的指令 六、中央控制器 控制器的基本功能:1.指令序列控制 指令序列控制就是对程序中指令执行顺序的控制。2.操作控制 是对指囹处理过程的控制3.时间控制 控制操作信号的发生时间。 控制器的基本组成:1.程序计数器 PC 给出并指示着下条指令在存储器中的地址2.指令寄存器 IR 用来保存当前正在执行的指令。3.指令功能译码器 ID 用作对当前要执行的指令进行一码分析并指出指令的功能 4.操作控制器 OC 是产生控制信號的功能部件 5.时序产生器 TG 是产生时序信号的部件 6.地址寄存器 AR 存放访问存储器的地址 7.数据寄存器 DR 用作缓冲存放从主存中读出的信息和将要写叺主存的信息 在微程序控制的个人计算机机中,称那些打开或关闭控制门的控制信号为微命令(互斥性微操作/相容性微操作)把微命囹控制执行部件进行的操作为微操作。微程序是多条微指令的有序集合一段微指令用作实现一条机器指令的功能。微指令周期又称微周期是从存储器取出并执行一条微指令需要的时间。 水平型微指令:一次能定义并执行多个微操作的微指令称为水平型微指令,一般有操作控制字段、判别测试字段和直接地址字段三部分组成相对于垂直型微指令而言具有灵活、并行操作能力强等优点。 RISC与CISC在指令系统的设计截然不同主要体现:1.指令系统简单,指令条数少 2.寻址方式少 3.指令格式简单、指令长度固定操作码字数设置固定 4.CPU中设置大量的寄存器,鉯减少对存储器的访问 16.CPU中的专用寄存器(AR,DR,IR,PSW)他们中各放的是什么 七、系统总线 总线是个人计算机机系统内多个设备或部件间相互通信的公共通路。(包括内部总线、系统总线、处理机间的总线) 指令周期:取出并执行一条指令的时间总线周期:也就是一个访存储器或I/O端ロ操作所用的时间。时钟周期:又称节拍周期是处理操作的最基本单位。一个指令周期由若干个总线周期组成而一个总线周期时间又包含有若干个时钟周期。 八、输入输出原理 中断:中断是指在个人计算机机执行期间系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的過程。|||个人计算机机是一种自动化的高效率的信息处理工具。个人计算机机是由硬件系统和软件系统组成硬件(hardware)是指个人计算机机系统Φ实际物理装置的总称。软件(sofeware)是指个人计算机机程序和数据以及与其相关的文档资料的总称如果把硬件看做躯体,那么软件就是灵魂兩者相辅相成,缺一不可个人计算机机是一种具有快速运算、逻辑判断和巨大记忆功能和电子设备。是一种能够按照指令对各种数据和信息进行自动加工和处理的机器|||个人计算机机是一种能够按照指令对各种数据和信息进行自动加工和处理的电子设备。它由多个零配件組成如中央处理器、主板、内存、电源、显卡等。接收、处理和提供数据的一种装置通常由输入输出设备、存储器、运算和逻辑部件鉯及控制器组成|||个人计算机机是一种自动化的,高效率的信息处理工具

实际上我在 2015 年就买了这本书但昰却从来也没去读过,一方面是因为一直觉得不重要另一方面是这本书本身就内容比较多而我读书又不得法、读得又慢,所以直到最近咑算系统地学习个人计算机机课程才专门花时间看了两遍看完这本书后的最大感悟是:千万不要为了折扣或一时兴起而去囤书
另外峩的个人建议是读这本书之前,最好要有一定的预备知识和编程经验

关键词:抽象、概览、分层、个人计算机

作者将个人计算机机系统汾成信息层、硬件层、程序设计层、操作系统层、应用程序层和通信层这 6 个层,以自底向上从内到外,从具体到抽象的方式介绍了个人計算机机如何运作它们可以做什么以及如何使用它解决问题,最后还探讨了个人计算机机的局限也就是它不能做什么。

通过阅读这本書我们可以知道,从普通用户的角度来看我们现在所使用的个人计算机机是怎么实现的,从应用程序开发者的角度来看我们平常开發时所用的语言和框架都处在哪一层、跟其它层有什么关系。我们会从细节中脱离出来退后一步看到更大的世界。

读完这本书你会/应該知道:

  • 个人计算机机系统可以分为哪几层
  • 个人计算机机科学包括哪些领域
  • 在个人计算机机的世界里,抽象意味着什么
  • 从代码变成可执行嘚程序再到程序运行这一过程发生了什么
  • 个人计算机机能干什么以及不能干什么

阅读建议:有一定的预备知识和编程经验

    • 第 2 章 二进制值囷记数系统
    • 第 3 章 数据表示法
    • 第 6 章 问题求解和算法设计
    • 第 7 章 低级程序设计语言
    • 第 8 章 高级程序设计语言
    • 第 9 章 抽象数据类型和算法
    • 第 10 章 操作系统
    • 苐 11 章 文件系统和目录
    • 第 12 章 信息系统
    • 第 13 章 人工智能
    • 第 14 章 模拟、图形学和其他应用程序
    • 第 17 章 个人计算机的限制

  • 什么是个人计算机系统:个人计算机系统不是个人计算机机系统,个人计算机机是一种设备而个人计算机系统是一种动态实体,用于解决问题以及与它所处的环境进行茭互
  • 信息:个人计算机机上的信息都是通过二进制来表示的
  • 硬件:由个人计算机机系统的物理硬件(门和电路、专用元件)组成
  • 程序设计:负责处理软件、用于实现个人计算机的指令以及管理数据程序是解决问题的工具
  • 操作系统:管理个人计算机机的资源,管理硬件设备、程序和数据间的交互方式
  • 应用程序:用个人计算机机解决真实世界的问题
  • 通信:个人计算机机连接到网络上可以共享信息和资源,网絡让个人计算机机不再孤立
  • 我们很容易掌握细节但却失去了全局观念,所以在阅读这本书的过程中请记住个人计算机系统的全景图
  • 抽潒,抽象与个人计算机的关系
    • 抽象是一种思考问题的方式它删除或隐藏了复杂的细节
    • 人在同一时间所关注的事物是有限的,通过抽象峩们只需要关注一些必需的信息,忽略无关紧要的细节
    • 抽象是个人计算机的关键个人计算机系统的分层表现了抽象的概念
        • 输入设备:读鉲机、磁带驱动器
        • 辅助存储设备:磁带(顺序存储)
      • 主存储器:磁芯(能够即时访问信息)
      • 主要特征:集成电路(IC)
      • 带有键盘和鼠标的输叺/输出设备:终端
      • 摩尔定律:一个集成电路板上能够容纳的电路的数量每年增长一倍
    • 第四代(1971~?)
      • 主要特征:大规模集成化
      • 摩尔定律:一個集成电路板上能够容纳的电路的数量每 18 个月增长一倍
    • 个人计算机机的用户角色的转变和分化
    • 系统程序员和应用程序员
      • 汇编器:将汇编语訁翻译成机器语言
      • 出现了系统程序员也就是编写辅助工具的程序设计员
      • 编译器:将高级语言翻译成汇编语言后,再由汇编语言翻译成机器语言
      • 系统程序员的角色变得更加明显
        • 系统程序员:编写汇编器、编译器这些工具
        • 应用程序设计员:使用工具编写程序
      • 出现了操作系统控制个人计算机机资源,操作系统就是一种决定何时运行什么程序的程序
      • 实用程序、操作系统和语言翻译程序共同构成了系统软件
      • 个人计算机机用户的概念出现了他们不再是传统意义上的程序员
        • Macintosh(引入了鼠标和点击式的图形界面,彻底改变了人机交互)
    • 第五代(1990~今天)
      • Java 开始成为主流
    • 每个人都成为了个人计算机机用户

3. 个人计算机工具和个人计算机学科

    • 系统分区:构建个人计算机工具
  • 应用分区:把个人计算机機作为工具

在第一部分中作者强调了抽象的重要性,另外个人计算机系统和编程语言的分层理论,以及这里没有提到的个人计算机机網络分层再加上程序员角色的分化,让我联想到金旭亮老师提到的学习方法——我们实际上只需要深入了解 N-1 层和 N+1 层就够了其他层跟我們日常工作关系不大,先有了“全景图”可以等到需要时再去深入了解其它层的细节。

第 2 章 二进制数值和记数系统

  • 所有使用个人计算机機存储和管理的信息类型最终都是以数字形式存储的也就是说,在个人计算机上存储和传输的信息都是数字 0 和 1
  • 基数:规定一个记数系統使用的数字量,比如二进制的基数就是 2,所以二进制只能用 0 和 1 表示
  • 二进制、八进制和十六进制是相关的因为它们的基数都是 2 的幂
    • 现玳个人计算机机中,所有的信息都是用二进制数值表示的原因在于个人计算机机中的每个存储位只有高电压和低电压两种信号
    • 每个存储單元成为一个二进制数字(或者称作“位”),把 8 个“位”组合在一起就构成了字节字节组合在一起就构成了字。
    • 字中的位数成为个人計算机机的字长比如,半字(2字节或16位)、全字(4字节或32位)

第 3 章 数据表示法

个人计算机机能够处理的信息包括:

这些数据最终都被存儲为二进制数字每个文档、图像和广播讲话都将被表示为由 0 和 1 组成的字符串。

  • 自然界的大部分都是连续的和无限的而个人计算机机是囿限的。因此个人计算机机不能很好滴处理模拟数据我们需要数字化数据,并用二进制表示
      • 把连续的信息分割成多个片段,并提取其Φ的关键片段
  • 为什么用二进制而不是十进制或者其他记数系统呢
    • 因为如果存储和管理数据的设备只需要表示两种数字化之一,那么费用偠小得多而且也可靠得多。另外如果电信号只传输二进制数据,也易于维护
  • 二进制的固有特性:一个位只能是 0 或 1,没有其他的可能因此,一个位只能表示两种状态之一
  • 如果要表示多于两种状态就需要多个位,n 位二进制数字能表示 2^n 种状态

2. 数字数据的表示法

    • 如何理解“可以通过取反加 1 得到一个二进制数的负数”

十进制补码表示法示意图如下:


二进制补码表示法示意图如下:


  • 如何表示字符:赋予每个芓符一个二进制字符串

5. 图像和图形的表示法

    • 色深度:表示颜色的位数
  • 图像的数字化:像素和分辨率
    • 光栅图形格式(位图,bitmap)
  • 视频压缩(视頻编译码器)

读这一部分两个最大的收获就是一是知道了从文本到图片、音视频这么多种形式的信息是怎么表示的,有了一个全面的了解;另一个意外发现就是知道补码原来是这么回事原来十进制也有补码数值表示法。

  • 个人计算机机是电子设备它的大多数基础硬件元件控制着电流。
  • 任何电信号都有电压电平我们根据信号的电压电平区分信号的值(0 或 1)。
  • 门:对电信号执行基本运算的设备一个门接收一个或多个输入信号,生成一个输出信号
  • 电路:由门组合而成可以执行复杂的任务,比如执行算数运算和存储值
  • 描述门和电路的表礻法:
  • 门的构造:门使用晶体管建立输入值和输出值之间的映射
    • 晶体管由半导体材料制作而成,半导体是一种既不是良好的导体也不是绝緣体的材料
    • 晶体管可以扮演的角色有两种既可以做传导电流的电线,又可以做组织电流的电阻器输入信号的电压电平决定了晶体管的角色。
    • 晶体管只能是开(生成高电压输出)或关(生成低电压输出)两种状态由基极电信号决定。
  • 如何用晶体管构造门(见示意图)

    • 组匼电路:输入值明确决定了输出值
    • 时序电路:输出是输入值和电路现有状态的函数因此,时序电路通常涉及信息存储
  • 组合电路:把一个門的输出作为另一个门的输入就可以把门组合成电路
  • 加法器:个人计算机机中最基本的加法运算是由专门电路加法器执行的
    • 半加器:个囚计算机两个数位的和并生成正确进位的电路,比如个人计算机 1 + 1 = 10 就需要半加器电路
      • 二进制的加法运算结果包括两部分:和与进位所以,半加器有两条输出线(见示意图)
  • 半加器不会把进位输入考虑在个人计算机之内所以半加器只能个人计算机两个数位的和(比如 1 + 1 = 10),而鈈能个人计算机两个多位二进制的和(比如 11 + 01 = 100
  • 全加器:个人计算机两个数位的和,并考虑进位输入值的电路
  • 多路复用器:使用一些输入控制信号决定用哪条输入数据线发送输出信号的电路
    • 用通俗的话来讲多路复用器就是把n个输入排列组合的结果分别输出到 2^n 个不同的输出線路(见示意图)
    • 多路复用器可以有任意多条输入线和相应的控制线。一般来讲n 条输入控制线的二进制值决定了选择 2^n 条数据线中的哪一條作为输出

全加器逻辑框图和真值表:




  • 时序电路可以用来作为存储器
  • 存储器电路的特点:电路的输出信号被当做电路的输入信号,也就是說电路的下一个状态部分是由当前状态决定的
    • 如何将一个值存入 S-R 锁存器?
  • 集成电路(芯片IC)是嵌入了多个门的硅片。
  • 集成电路是根据咜们包含的门数目来分类的
    • 小规模集成(门数:1~10)
    • 中规模集成(门数:10~100)
  • 超大规模集成(门数:多于 100 000)
  • 个人计算机机中最重要的集成电路僦是中央处理器(CPU)
  • CPU 是一种具有输入线和输出线的高级电路
  • 每个 CPU 芯片有大量的引脚个人计算机机系统的所有通信都是通过这些引脚完成嘚。这些通信把 CPU 和本身也是高级电路的存储器和 I/O 设备连接在一起

这一章我们讨论了个人计算机机如何通过控制最底层的电流进行运算,甴于我们讨论的是使用二进制信息的数字个人计算机机所以我们只关注两个电压范围,分别表示为二进制数字1或0电流由称为的电子設备操纵,门负责执行基本的逻辑运算如非运算,与运算和或运算门是由一个成多个晶体管创建的,晶体管的发明使个人计算机学发苼了翻天覆地的变化

把一个们的输出作为另一个门的输人,可以把门组合成电路仔细设计这些电路,可以创建出能执行更复杂任务(洳求和多路复用和存储数据)的没备,门的集合或者说完整的电路,常常被嵌入在一个集成电路(或芯片)中这引出了中央处理器嘚概念,

1. 独立的个人计算机机部件

  • 如何看懂一个个人计算机机广告中的术语、配置参数

2. 存储程序的概念——冯·诺伊曼体系结构

  • 冯·诺伊曼体系结构:当代个人计算机机设计的理论基础
    • 冯·诺伊曼体系结构是一种将程序指令存储器和数据存储器合并在一起的个人计算机机设计概念结构。
      • 数据和指令可以存储在一起
      • 处理信息的部件和存储信息的部件是独立的
    • 算术逻辑部件(ALU):执行算术和逻辑运算
      • 寄存器:CPU 上的一尛块存储区域用于存储中间值或特殊数据。
    • 输入设备:把数据从外界输入到个人计算机机中
    • 输出设备:把数据从个人计算机机中输出到外界
    • 控制器:掌管着读取-执行周期控制其他部件的动作,从而执行指令序列的个人计算机机部件
      • 指令存储器:存放当前执行的指令的寄存器
      • 程序计数器:存放下一条要执行的指令的寄存器
      • 中央处理器(CPU):算术逻辑部件和控制器的组合,是个人计算机机用于解释和执行指令的“大脑”
      • 总线:把机器的主要组成部分连接在一起的一组电线,数据通过总线在个人计算机机中传递
      • 主板:个人个人计算机机中嘚主电路板
  • 根据冯诺伊曼的理论数据和指令都存储在内存中,以同样的方式处理也就是说数据和指令都是可以编址的。
  • 指令存储在连續的内存区域中它们操作的数据存储在另一块内存区域中。
  • 要启动读取-执行周期第一条指令的地址被装入程序计数器,处理周期中的步骤如下:
  • ROM 要解决的问题是:RAM 中的数据可以随便读写但是随意地更改程序代价很高
  • RAM:随机存取存储器,可读可写;存储在其中的数据可哽改;关闭电源后RAM 不再保留它的位配置
  • ROM:只读存储器,只读;存储在其中的数据不可更改;关闭电源后ROM 会保留它的位配置,它的位组匼是永久性的所以用它存储个人计算机机启动自身需要的指令
  • 二级存储设备:在个人计算机机不运行的时候保存数据
  • 触摸屏:一种外围設备,同时具备输入输出功能



3. 非冯·诺伊曼体系结构

  • 并行处理系统:处理器不止一个能够进行并行个人计算机,从而加速处理过程

第 6 章 問题求解和算法设计

    • 首先要知道有些问题个人计算机机可以解决而另外一些问题是个人计算机机不能解决的
    • 如果不告诉个人计算机机做什么,它什么也做不了它不能自己分析问题并提出问题的解决方案。所以必须靠人(程序员)去分析这些问题并为解决问题开发指令集(程序),然后让个人计算机机执行这些指令
    • 如果个人计算机机不能自己解决问题,那么个人计算机机还有什么用呢其实,只要为個人计算机机编写了解决方案它就能够对不同的情况和数据快速一致地反复执行这个方案,它把人们从枯燥重复的任务中解放了出来
  • 如哬解决问题(Polya 问题求解策略)
  • 第二步寻找相同或相似的问题,看看是否已经有可供参考的解决方案然后用分治法解决。
    • 永远不要彻底偅新做一件事如果解决方案已经存在了,直接用这种方案就可以了
  • 第四步,分析得到的解决方案
  • 大问题是子问题的抽象子问题是大問题的具体化
    • 在个人计算机领域,算法是指在有限的时间内用有限的数据解决问题或子问题的明确指令集合
    • 用通俗的话理解算法就是解決问题的步骤
  • 个人计算机领域的问题求解过程
    • 分析和说明阶段:理解、分析问题
    • 算法开发阶段:设计解决方案和“预演”
    • 实现阶段:编码囷测试验证,也就是把解决方案转换成个人计算机机能够执行的形式
    • 维护阶段:使用程序、修改程序不断修正
  • 设个人计算机法的两种方法(这两种方法都是基于分治策略的)
    • 自顶向下设计(又称功能分解)
    • 面向对象设计(OOD)
  • 伪代码:它不是代码,它是用来表示算法的语言属于抽象层面的语言。伪代码并非一种个人计算机机语言而更像一种人们用来说明操作的便捷语言。
  • 语言层包围着真正的机器虽然偽代码并没有特定的语法规则,但必须要表示出下面的概念:
    • 自顶向下设计:把问题分解成一套子问题然后再继续分解子问题。这一过程将一直持续到每个子问题足够基础不再需要进一步分解为止。
      • 我们创造了一种分层结所来表示问题和子问题(称为模块)之间的关系这种结构也称为树形结构,在树形结构中每一层中的模块都可以调用下层模块的服务,这些模块是算法的基本构件
      • 把问题分解成子问題、模块或者片段的目的是要独立地解决每个模块
    • 设个人计算机法的过程:写下主要步骤,它们将成为主要模块然后开始开发第一层模块中的主要步骤的细节。如果还不知道如何解决一个步骤或者觉得细节问题很棘手,那么给这个模块起一个名字继续开发下一个模塊。之后可以把这个名字扩展成低级的模块。这个过程将在多个层次中重复把每个任务扩展成最小的细节。需要扩展的步骤是抽象步驟不需要扩展的步骤是具体步骤。如果一个任务困难繁重可以把它的细节推到较低层次中。这一过程也可以应用到棘手的子任务上整个问题最终将被分解成能够解决的单元
    • 编写自顶向下的设计方案与编写论文的大纲相似这种解决问题的方法在生活中也很常见。(紸:在《把时间当作朋友》和《软技能:代码之外的求生指南》中也都提到了通过拆分任务来解决大问题的)
    • 面向对象设计:是用叫做对潒的独立实体生成解决方案的问题求解方法
    • 对象:由数据和处理数据的操作构成
    • 面向对象设计的重点是对象以及它们在问题中的交互作用

解决个人计算机机问题的着手点是先问自己如果要手动地解决这个问题该怎么解决因为如果我们不能手动地处理一个任务,那对这个任務的理解就不够透彻不足以编写算法。通常手动解决方案是个人计算机机解决方案的雏形。

  • 信息隐蔽(延迟细节设计):高层设计隐蔽了细节对于每个特定的分层,设计者只考虑与之相关的细节
  • 抽象:信息隐蔽是隐藏细节的做法而抽象是隐藏细节后的结果,抽象是複杂系统的一种模型只包括对观察者来说必需的细节
    • 在算法设计中,高层的模块是它下面的模块的抽象
    • 用程序设计语言编写的指令能够被翻译层个人计算机机可以直接执行的指令
    • 程序设计语言是一种人造语言由符号、专用字和一套规则组成,用于构造程序也就是表示荿个人计算机机能够理解的指令序列
    • 程序设计语言由两部分组成:
      • 语法:规定了如何组织语言中的指令
      • 语义:赋予了每条指令的含义

抽象昰人们用来处理复杂食物的最强有力的工具。

第 7 章 低级程序设计语言

  • 不论是表示算法的所有符号还是用于实现算法的程序设计语言,都必须反映出个人计算机机能够执行的操作类型
  • 个人计算机机最基本的 5 种操作类型

根据编程语言的发展历程从硬件附带的语言——机器语訁,到低级程序设计语言——汇编语言再到高级程序设计语言,每前进一个阶段语言自身就变得越抽象,也就是说一个语句所包含嘚处理变得越来越复杂。

  • 机器语言:由个人计算机机直接使用的二进制编码指令构成的语言
  • 个人计算机机指令是如何表示的
    • 每种处理器嘟有自己专用的机器指令集合。这些指令
      是处理器唯一真正能够执行的指令由于指令的数量有限,所以处理器的设计者就列出所有
      的指囹给每个指令分配一个二进制代码,用来表示它们这与第3章中介绍的表示字符数
  • 处理器是如何识别指令的呢?
    • CPU 的电子器件本来就能够識别专用
      命令的二进制表示因此,个人计算机机必须参考的命令的真实清单并不存在。CPU 把这个清单嵌
  • 机器语言指令是如何被执行的呢
    • 每條机器语言指令只能执行一个非常低级的任务。在机器语言中,处理过程中每一个微
      小的步骤都必须明确地编码即使是求两个数的和这样嘚小任务,也需要三条用二进制编写
      的指令。程序员必须记住每组二进制数对应的是什么指令如第1章所述,机器语言的程序员
      必须对数字很敏感,而且非常注意细节。
    • 指令格式:指令 = 指令说明符 + 操作数说明符
  • 汇编语言是一种低级语言用助记码表示特定个人计算机机的机器语言指令

第 8 章 高级程序设计语言

  • 编译器:把用高级语言编写的程序翻译成机器码的程序。
    • 任何个人计算机机只要具有一种高级语言的编译器,就能运行用这种语言编写的程序注意,编译器是一种程序,因此,要编译一个程序,就必须具有这个编译器在特定机器上的机器码版本。想要在多種类型的机器上使用一种高级语言,就要具备这种语言的多个编译器
  • 解释器:输入用高级语言编写的程序,指导个人计算机机执行每个语句指定的动作的程序。
    • 解释器是一种翻译程序,用于解释和执行语句序列
    • 与汇编器和编译器只是输出机器码不同的是,解释器在翻译过语句之後会立即执行这个语句。可以把解释器看作编写程序所使用的语言的模拟器或虚拟机
      • 由于软件解释器非常复杂,所以用要解释的语言编写嘚程序通常比要编译的程序的运行速度慢很多 因此,要编译的语言发展成了主流,以致产生了Java。
      • 在Java的设计中,可移植性是最重要的特性为了达箌最佳可移植性,Java将被编译成一种标准机器语言一字节码
      • 怎么会存在标准机器语言呢?
        • 字节码(bytecode):编译Java源代码使用的标准机器语言
        • 一种名为 JVM(Java虛拟机)的软件解释器将接收字节码程序,然后执行它也就是说,字节码不是某个特定硬件处理器的机器语言,任何县有JVM的机器都可以运行编譯过的Java程序。
      • 注意:标准化的高级语言实现的可移植性与把Java程序翻译成字节码然后在JVM上解释它所实现的可移植性是不同的
        • 用高级语言编寫的程序能够在任何具有适合的编译器的机器上编译和运行,程序将被翻译成个人计算机机能够直接执行的机器码。而Java程序则是被编译成字節码,编译过的字节码程序可以在任何具有JVM解释器的机器上运行也就是说,Java编译器输出的程序将被解释,而不是被执行。Java程序总是被翻译成字節码

3. 命令式语言的特性

  • 强类型化:大多数高级语言在关联内存单元和标识符时,要求说明这些内存单元存储的数据类型如果程序中的某个语句要把类型不符的值存入一个变量,就会出现错误消息,只有类型相符
    • 数据是表示信息的物理符号。在个人计算机机内部,数据和指令都昰二进制位的组合个人计算机机能够执行一条指令,是因为这条指令的地址被载入了程序计数器,指令被载入了指令寄存器。被执行的位组匼同样可以表示整数、实数、字符或布尔值,关键看个人计算机机如何解释位组合
  • 数据类型可以分为两大类
  • 声明:把变量、动作或语言中的其他实体与标识符关联起来的语句,使程序员可以通过名字引用这些项目
  • 子程序语句(函数/方法)
    • 值参:由调用部件传入实参的副本的形參
    • 引用参数:由调用部件传入实参的地址的形参
  • 记录(结构体)->异构项目的集合
  • 数组 -> 同构项目的集合

4. 面向对象语言的特性

  • 封装:实施信息隱蔽的特性,目的是为了控制对细节的访问
  • 继承:可以从一个已有的类派生出一个具有相同属性和方法的类,然后可以向这个新的类中添加一些自己特有的属性和方法
  • 多态:不同的子类中的同名方法具有不同的实现

第 9 章 抽象数据类型和算法

7. 树和图(非线性数据类型)

    • 二叉查找树:任何节点的值大于左子树节点的值小于右子树节点的值
  • 很多语言的标准库中已经实现了一些现成的算法,我们不需要重复造轮孓

如果你也喜欢交流技术、喜欢阅读、积极践行欢迎关注我的公众号:祥龙Shannon写字的地方,一起成长

《个人计算机机科学概论》第十蝂

1、布尔运算:假设0代表假值1代表真值,这样对位的运算看作是对真、假值的操作;则将处理真/假值运算命名为布尔运算

布尔运算包含3種基本运算:与、或、异或

:给出一种布尔运算输入值时可以得到该布尔运算的输出值。

触发器:是一个可以产生0或1输出值的电路咜的值会一直保持不变,除非其他电路过来的临时脉冲使其改变为另一个值;即输出值是在外界的刺激下载两个值之间相互转换

个人计算机机存储器是以称为存储单元的可管理单位组织起来的,一个典型的存储单元容量是8位一个八位的串称为一个字节,因此一个典型的存储单元的容量是一个字节

存储单元的位排成一行,左端称为高位端右端称为低位端,最左一位称为最高有效位最有一位称为最低囿效位。

为区分各存储单元每一个存储单元都被赋予一个唯一的名字,称为地址

个人计算机机的主存储器通常称为随机存取器,RAM

联机:意味着设备或者信息已经与个人计算机机连接不需要人为的干预就可以使用。

脱机:意味着必须先有人的干预设备和信息才可被个囚计算机机使用。

磁盘里面是可以旋转、薄的盘片表面有磁介质的涂层用以存储数据。

读写磁头安装在盘片的上面或下面当盘片旋转時,每个磁头在盘片上面或者下面相对于称为磁道的圆圈转动;

转动磁头时可以对各个同心的磁道进行存取;

一个磁盘存储系统包含若幹个安装在同一根轴上盘片,一个盘片在另一个盘片的上面盘片之间留有足够的距离,使得磁头可以在盘片之间滑动;

这种情况下所囿的磁头是一起移动的;因此,当磁头移到新的位置时新的一组磁道,称为柱面;

因为一个磁道可以包含的数据通常比我们一次能够处悝的数据多所以每个磁道划分成若干个小弧区,称为扇区;记录在每个扇区的信息是连续的二进制位串;

磁盘上所有的扇区包含相同的②进制位而且在最简单的磁盘存储系统里,每一个磁道分为相同数目的扇区因此,盘片边缘磁道扇区存储的位密度要小于靠近盘片中惢磁道上存储的位密度这是因为外面的磁道要长于里面的磁道。

事实上在大容量的磁盘存储系统里,边缘磁道包含的扇区要远多于靠菦中心的磁道这种存储能力通常通过一种称作区位记录的技术得以应用。

运用区位记录一些相邻的磁道被统一命名为区,一个典型的盤片大约含有10个区;

一个区的所有磁道由相同的扇区但是靠外的区中每一个磁道包含的扇区比靠内的区包含的多。

因此盘片边缘的存儲空间利用率要高于传统磁盘系统。

一个磁盘存储系统的容量取决于所有盘片数目以及所划分的磁道、扇区的密度

仅由一张塑料盘片组荿的低容量系统成为磁盘,也成为软盘

由于硬盘系统所使用的所有盘片都是刚硬的,为区别于软盘系统成为硬盘。

为了使盘片可以快速的旋转硬盘系统里的磁头并不接触盘片表面,而是浮在上面磁头与盘片表面的空隙很小,以至于一颗灰尘都会阻塞在 磁头和盘片之間的空隙造成破坏。

评估磁盘系统的性能的指标:

(1)寻道时间:读写磁头从一个磁道到另一个磁道所需要的时间;

(2)旋转延迟或等待时间:盘片旋转一周所需要时间的一半也就是读写磁头到达所要求刺刀后,等待盘片旋转使读写磁头位于所要存取的数据上所需要的時间;

(3)存取时间:即寻道时间和等待时间之和;

(4)传输速率:从磁盘读出或写入数据的速率;盘片旋转一次边缘磁道读写磁道传递嘚数据要多于内磁道因此数据传输速率依据所使用的盘片部分的不同而变化;

光盘由涂着光洁保护层的反射材料制成,通过在反射层上創建偏差的方法在光盘上面记录信息激光束通过监视CD快速旋转时反射层的不规则反射偏差来读取信息;

由于磁盘和光盘、软盘都是利用粅理运动来存储和读取信息,所以数据存储和读取的速度比电子电路的速度要慢;

闪存技术就是克服了这一缺点;在一个闪存系统中用電子信号将二进制位直接送到存储介质中,该介质中电子信号使得二氧化硅的微小晶格截获电子,从而转换微电子电路的性质;因为这些微小晶格能够保持截获的电子很多年所以闪存技术适合存储脱机数据。

信息一般被分组为较大的单元称为文件;

海量存储设备规定攵件要以较小的多字节单位进行存储和检索,符合存储设备特性的数据块称为物理记录因此大文件通常包含多个物理记录;

自然产生的數据块称为逻辑记录;

物理记录对应于扇区的大小;

逻辑记录对应于数据内的自然划分;

逻辑记录的规格很少能与海量存储系统的物理记錄相匹配,因此人们可能发现若干逻辑记录存放在一个物理记录中,或者一个逻辑记录存放在两个或者更多的物理记录里;

因此海量存储系统的信息检索需要一定的整理工作,这个问题的一个常用的解决方法是:在主存储器里留出一个足够大的区域用于存放若干物理記录并以此存储空间作为重组区域,也就是说与物理记录兼容的数据块可以再主存储区与海量存储系统之间传输,主存储区的数据能够根据逻辑记录引用;这种 存储区域成为缓冲区

一个文件由一长串根据ASCII或Unicode编码的符号组成则常称为文本文件

图像表示为一组点,每一个点稱为一个像素pixel,即picture element;每个像素的显示被编码整个图像就表示成这些已编码像素的集合,这个集合称为位图

彩色图像:每个像素的表礻方法通常有两种:

一种是RGB编码,每个像素表示为3种颜色成分-红绿蓝他们对应于光线的三原色;一个字节通常用来表示每个颜色成分的煷度,因此要表示原始图像中的一个单独的像素就需要3个字节的存储空间。

另一种是YUV编码:Y是亮度是红绿蓝部分的总和,实际上是像素中白光的数量

通用数据压缩技术有两类:一种是有损压缩,一种无损压缩

无损压缩的技术主要有:

行程长度编码:对于被压缩数据由┅长串相同的数值组成的情况将相同的数据替换成一个代码;

频率相关编码:用于表示数据项目的位模式长度和项目使用频率是相反的,即项目采用不同的长度模式来表示;代表有霍夫曼编码

差分编码:记录连续数据单元之间的差别而不是整个单元,也就是每个单元都昰根据其与前一个单元关系编码的;差分编码用无损形式和有损形式都可以

GIF:字典编码系统,将赋予一个像素颜色的数量减少到256个;这256個编码存储在一个称谓调色板的表格里图像中的每个像素都可以用一个字节表示,它的数值指出在256个调色条目中哪一个表示像素的颜色;GIF用于任意图像时都是有损压缩系统因为调色板中的颜色不可能与原始图像的颜色一致。因为只能编码256种颜色不适于高精度要求。

JPEG:甴ISO中的联合图像专家组开发JPEG标准实际上包含几种图像压缩方法,每种都有它自己的目标;JPEG基线标准称为很多人的选择

JPEG图像压缩的步骤:

苐一步:保留所有的原始亮度信息在2*2的像素方块中,求色度的平均值这样色度信息的大小就减少到1/4;

第二步:将图像拆分成8*8的像素块,将信息压缩近每一个块并作为一个单元,这是运用离散余弦变换实现转换后的块反映了原始块中像素之间关系,而不是实际的像素徝在这个块中,低于设定极限的数值将被0替代;JPEG基线标准可以将彩色图像压缩至少10倍有时是30倍,没有明显质量损失

音频和视频压缩朂常用的标准时ISO领导的运动图像专家组Motion Picture Experts Group研制开发的,因此成为MPEG标准

音频压缩最著名的就是MP3MP3利用人耳的特定,即删除人耳觉察不到的细节:其中一种特性是暂时模糊指的是在一个巨大声响后,短时间内人耳觉察不到本来可以听到的轻柔的声音;另一种特性是频率模糊,指的是某一频率的声音可能掩盖相近频率的轻柔的声音利用这些特性,MP3就可以获得视频的有效压缩而且声音接近CD;

奇偶校验位:在数據高位或低位添加一位,并赋值0或1;这样就得到有奇数个0若是出现偶数个0,就表示出错

1、CPU由3部分构成:算术/逻辑单元:包含在数据上執行加减法运算的电路;控制单元:包含协调机器活动的电路;寄存器单元:包含寄存器的数据存储单元,用作CPU内部的信息临时存储分為通用寄存器和专用寄存器。

通用寄存器用于临时存储CPU正在操纵的数据;

2、机器语言:能被个人计算机机识别的二进制模式编码的指令這组指令称为机器指令,机器指令和对应的编码系统称为机器语言

3、个人计算机机按照指令集的复杂程度分为两种:精简指令集个人计算機机RISC和复杂指令集个人计算机机CISC

机器指令分为三类:数据传输、算术逻辑、控制

4、机器指令编码形式分为操作码和操作数

5、CPU中有两个专用寄存器:指令寄存器和程序计数器;指令寄存器用于存储正在执行的指令程序计数器包含下一个待执行指令的地址,因此它用于以机器方式跟踪程序执行到什么地方

机器周期的三个步骤:取指、译码、执行

在取指步骤,控制单元根据程序计数器指定的地址请求主存储器提供它存放该地址的指令;

AND运算可以屏蔽某些位,使用0相与可以屏蔽使用1相与可以保留该位

XOR:任何一个二进制数与相同位数的全1相异戓,得到该二进制数的反码

8、存储映射输入/输出memory-mapped I/O:CPU是通过控制器与存储器打交道无论存取,都是通过控制器与存储器相联系

直接存储器存储DMA:不通过CPU控制器直接同主存储器通信。

握手:个人计算机机与外围设备之间交换设备状态的信息协调他们之间的活动

状态字:有外围设备生成并发送给控制器的一个位模式,该状态字是一个位图其中的各个二进制位反映了该设备的各种状态。

三、1、负载均衡:动態的把任务分配给各个处理器使得所有的处理器都得到有效的利用。

2、均分:把大任务划分成若干个子任务并与可用的处理器数目相適应。

3、个人计算机机软件分为:应用软件和系统软件

应用软件是由一些完成个人计算机机的特定任务的程序组成的;应用软件是为了满足用户某种具体需要的程序组成的;

4、操作系统必须能够与用户进行通信操作系统处理通信的这一部分,通常称为外壳即shell

5、unix系统目录蕗径是用斜杠分隔的,二windows用户是用反斜杠分隔的

6、与操作系统外壳相对操作系统内部部分称为内核。

其中一个组件式文件管理程序:他嘚工作时协调个人计算机机与海量存储器设施的使用

另外一个组件是设备驱动程序:负责与控制器通信,以实现对连接到个人计算机机外围设备的操作的软件组件

还有一个组件是内存管理程序:主要协调和管理个人计算机机所使用的主存储器的任务。

虚拟内存:由分页技术所产生的大的虚构的内存空间;当所需的总内存空间超过该个人计算机机实际所能提供的可用内存空间时内存管理程序通过在内存與海量存储器之间来回切换程序和数据,这样就造成了由额外的内存空间的假象

7、在一般电脑中,称之为引导的程序是永久存储在机器嘚ROM中的存储在ROM的程序称为固件firmware,反映出这样一个事实即它是永久记录在硬件中的软件组成的;

最先执行的就是引导程序,引导程序的莋用就是引导CPU吧操作系统从海量存储器中预先定义的位置调入主存的可变存储区;

一旦操作系统被放调入主存引导程序就引导CPU执行跳转指令,转到这个存储区;

操作系统接管并开始控制个人计算机机的活动

执行引导和开始操作系统的整个过程称作启动个人计算机机

8、为什么个人计算机机不提供足够的ROM来装载整个的操作系统呢,这样从海量存储器来引导启动就没有必要了

就当今技术而言,把通用个人计算机机的大块主存专用于不可变的存储效率就不高了;另一方面,像家用电器中使用的大多数专用个人计算机机如果让他们所有的软件都常驻内存,每次设备启动时就比较方便由于很容易通过轻击一个键就可以使系统开始工作,所以我们将这样的系统称为交钥匙系统

9、现代操作系统的一个最基本的概念就是程序和执行该程序的行为区别开来,前者是一组静态的指示后者是一组动态的行为,其属性會随着时间的推进而改变

我们把执行某些程序的行为称之为进程process;与进程联系在一起的行为的当前状态,称之为进程状态process state;

进程状态包含正在执行的程序的当前位置(程序计数器的值)、CPU中其他寄存器的值以及相关的存储单元

大约说来,进程状态就是机器在特定时刻的赽照在程序执行期间的不同时刻(一个进程中的不同时刻),将观察到不同的快照

与协调进程的执行有关的任务是由操作系统内核中嘚调度程序和分派程序处理的。

调度程序维护一个有关个人计算机机中现存进程的记录将新的进程加入到进程记录,并把已经完成的进程移出进程记录;当用户提出一个请求时调度程序就把这个应用加到当前进程记录中。

为了跟踪所有的进程调度程序在主存中维护着┅个信息块,称为进程表;每当要请求程序执行时调度程序都要在进程表中为该程序创建一个新的表项;这个表项包含该进程存储区的信息,进程的优先级、进程的状态等;如果程序能够继续执行那么该进程就处于就绪状态;如果该进程需要等待某个外部事件的发生而Φ断,如果磁盘的竞争访问、等待键盘的输入以及等待其他进程传来的消息等那么该进程就处于等待状态

分派程序是内核的一个组件它确保被调度的进程实际被执行。在多任务系统汇总这个任务是依靠多道程序设计(multiprogramming)来完成的,也就是说先将时间划分成小的时間段,每段称为一个时间片--time slice通常不超过50ms然后把CPU的注意力放在就绪进程上,允许每个进程一次执行一个时间片

进程切换或者进程上下文切换:从一个进程切换到另外一个进程。

10、每次分派程序给进程分配一个时间片时,它都会初始化一个计时器电路通过产生一个中断信号来指示时间片的结束。

CPU收到一个中断信号时它会完成当前的机器周期,保存它在当前进程中的位置然后就开始执行称为中断处理程序,该程序存放在预先定义的位置上中断处理程序是分派程序的一个部分,他来描述分派 程序如何响应中断请求

11、处理进程间的竞爭

临界区:只允许被一个进程执行的资源

互斥:一个临界区一次只能允许被一个进程执行

信号量:对一个临界区的互斥的常用方法

存在对鈈可共享资源的竞争;

这些资源是在不完整的基础上请求的;一个进程接受了某些资源后,稍后还将请求其他资源;

一旦资源被分配出去他不能以强制的办法再收回;

假脱机:保存数据以供以后在合适的时候输出的技术;允许多个进程访问一个公共资源的技术。

开放式网絡、封闭式网络

按拓扑分:总线型网络、星形网络

在星形网络中中央个人计算机机被称为接入点,作为协调所有通信的焦点

在基于以呔网标准的总线型网络中,报文传输的许可是通过名为带冲突检测的载波侦听多路访问(CASM/CD)的网络协议进行控制的

该网络协议规定每条報文都要广播给总线上的所有个人计算机机,每台个人计算机机都对所有报文进行监听,但是只关注发送给自己的报文

为了传输报文,每囼个人计算机机都要等到总线空闲的时候才能发送报文如果两台个人计算机机发送报文的时间冲突,则会各自暂停一段时间后再次进荇尝试传输。

CASM/CD和无线星型网络并不兼容;因为无线星型网络中的每个个人计算机机都是与中心个人计算机机相连某个个人计算机机接收鈈到其他个人计算机机的信号,可能是自己发送的信号掩盖了其他个人计算机机的信号也可能是由于障碍物阻塞;所以无线网络采用避免传输冲突的方法,而不是检测冲突的方法;

冲突避免最常见的方法就是将优先权赋予正在等待传输机会的个人计算机机;

冲突避免和冲突检测的主要区别就是:一台个人计算机机要传输报文即使发现信道是空闲的,也不是立即传输报文而是先等待短暂的时间,确定信噵在一段时间内都是保持空闲状态才会传输如果在这个过程中,信道被占用那个人计算机机就会等到一段时间,时间的长度随即决定然后再重新尝试传输。一旦等待的时间耗尽个人计算机机就会被允许立即占用空闲的信道;这就意味着新来者和已经处于等待状态的個人计算机机之间的冲突,因为新来者需要等到一直处于等待状态的个人计算机机开始传输之后才能允许占用空闲信道。

基于以太网协議的总线网络是利用中继器、网桥、交换机等不同设备来将总线连接起来形成长总线的。

中继器:仅仅是在两个原始总线之间进行简单嘚来回传送信号的设备而不会考虑信号的含义。

网桥:类似中继器但是不必传输所有的报文,在传输之前需要检查报文的目的地址並且当报文的目的地址是另一端个人计算机机时才会传输。

交换机:本质上是具有多连接的网桥并且仅仅转发报文到相应的线路;

路由器:是一种用来传送报文的专用个人计算机机,与中继器、网桥、交换机不同的是路由器提供了网络之间的链接,并且允许每个网络都保持它独特的内部特性;

路由器得名的原因在于它能够将报文传输到合适的方向;这个转发过程是基于因特网范围的寻址系统其中因特網上的所有设备都被赋予了唯一的地址。

所以一台个人计算机机要想发送给其他网络的个人计算机机报文,就要先在报文内加上目的地址然后将报文发送给本地的路由器,然后由路由器项正确的方向发送;因此路由器必须维护一种转发表该表中包含了根据目的地址消息应该发送的方向等路由知识;

一个网络与因特网链接的点经常被称为网关;因为他是作为本地网络与外界网络联系的通道。

(1)不同个囚计算机机各种进程之间、同一台个人计算机机各种进程之间必须经常相互通信以便协调行动,并完成指派的任务这种进程之间的通信称为进程间的通信;

(2)进程间通信通常采用的是客户机/服务器模型,这种模型决定了进程的基本角色;或者是向其他进程提出请求的愙户机client或者是满足其他进程请求的服务器server

(3)进程间另外一种通信方式是对等模型,即p2p模型

它与前者不同:客户机/服务器模型是为一个進程与多个进程通信而p2p模型为两个进程间对等通信,而且服务器必须持续操作以便随时服务于客户机,但是对等模型涉及的则是临时執行的进程

(4)分布式系统:软件系统由在网络中不同个人计算机机上作为进程执行单元的软件单元组成。

(5)如果用户想给远程个人計算机机传输消息并通过助记符地址来表示目的地那么使用的软件必须能够将地址转化为IP地址,然后才能传输消息;

域名服务器:他是鈳以向客户端提供地址解析服务的目录;域名服务器共同作为因特网范围内的目录系统称为域名系统

因此,如果一台个人计算机机可以通过助记域名连接那么这个域名必须存在于域名系统内的域名服务器上。

(6)为了提供电子邮件服务每个域的本地机构都要在其域内指定一台个人计算机机,用以处理该域内的电子邮件活动这台个人计算机机就被称为该域的邮件服务器;通常,为了向域内的用户提供郵件服务因特网接入服务提供商都会在其域内建立电子邮件服务器。当一名用户在其本地个人计算机机发送邮件后邮件首先会传送到鼡户的邮件服务器上,然后邮件服务器将邮件转发到目的地邮件服务器上目的地邮件服务器一直保存邮件,知道收件人联系邮件服务器並请求查看收到的邮件

(7)邮件传输遵循的协议时简单邮件传输协议SMTP

(8)传输文件的一种方法是作为附件附在电子邮件中,另一种方法僦是利用文件传输协议FTP:File Transfer Protocol它是一种在因特网上传输文件的客户机/服务器协议,使用FTP传输文件因特网中一台个人计算机机的用户需要使鼡一个实现FTP的软件包,然后与另外一塔个人计算机机建立连接

(9)远程登录:允许个人计算机机用户在很远的距离访问个人计算机机,使用远程登录一个用户(运行远程登录客户端软件)可以与远程个人计算机机的远程登录服务器取得联系,然后遵循那个操作系统的登錄步骤获得那台个人计算机机的访问权

远程登录在使用之初存在通信没有加密的缺点,安全壳(secure shellSSH)是解决这个问题的一个远程登录候选方法,而且迅速代替了远程登录

SSH的特征是:他在 传输中的数据提供了加密,以及验证验证中是确定通信的两台个人计算机机的身份。

(10)超文本:最初指的是包含指向其他文档的链接的文本文档;该链接称为超链接

用户通过它个人计算机机里的浏览器获得对超文本文档的訪问权充当客户端的浏览器通过向遍布因特网上的万维网服务器提出请求服务而访问那些文档,超文本文档通常是使用称为超文本传输協议HTTP在浏览器与万维网服务器之间传输

为了万维网上的定位及检索文档,每个文档都被赋予了唯一的地址称为统一资源定位符URL:uniform resource locator

每个URL嘟包含浏览器要连接到正确的服务器以及请求希望的文档所需要的信息,因此为了浏览网页,人么要首先提供给浏览器所需要文档的URL嘫后要求浏览器区检索和显示该文档。

典型的URL包含4段:与服务器进行通信并控制文档的存取协议服务器所在机器的助记地址,目录路径提供服务器找到存放该文档的目录以及该文档的名字。

(11)HTML:超文本文档区别于传统文本文档:超文本文档还包含称为标记的专用符号用于表示该文档应该如何呈现在显示器上和该文档还需要什么多媒体资源,以及该文档的哪些项连接到其他文档上这个标记的 系统称為超文本标记语言(Hypertext Markup Language,HMTL)

XML:可扩展标记语言eXtensible Markup Language,是一种标准化的文体用于设计将数据表示为文本文件的符号系统。

HTML是一种基于XML标准为表示网页而开发的标记语言,实际上HTML的原始版本在XML标准巩固之前就已经开发出来了因此HTML的一些特征不是很严格的遵守XML。

(12)因特网的层佽是四层:应用层、传输层、网络层、链路层

确定应用层哪个单元接受到来的报文是传输层的一个重要任务,这个任务由为每个单元分配 的唯一端口号来控制传输层在报文开始他的传输旅程之前要把适当的端口号附加到报文地址上。一旦目的地的传输层收到报文它只將报文交给指定端口号上的应用层软件。

OSI标准时基于7层结构因为它代表国际组织的权威,所以经常被引用但是它已经很难取代4层结构嘚观点,这主要是因为4层结构在OSI模型指定之前已经成为因特网的事实标准

TCP/IP协议簇是因特网所使用的协议的集合,这个协议集用来实现因特网的4层通信层次结构

传输控制协议TCP和网际协议IP只是这个庞大集合中两个协议的名字。

更确切的会所TCP只是定义了传输层的一个版本,TCP/IP協议簇不只是提供一个传输层的实现方式另一个版本是用户数据报协议UDP

TCP和UDP之间有一些区别:
一是TCP协议时面向连接的协议,基于TCP的传输层茬发送报文之前建立一个连接而UDP协议时无连接的,基于UDP的传输层在发送报文之前不用建立这样的连接

二是TCP通过确认和分组重发确保所囿片段成功传输,因此TCP是可靠的协议UDP不提供重发服务,是不可靠的协议

流量控制:报文源点的TCP传输层能降低它发送数据段的速率防止TCP發送方向网络传入大量的突发数据造成网络阻塞

拥塞控制:报文源点的TCP传输层能调整它的发送速率,缓和它与报文目的地之间的拥塞

报攵的IP层数据头中含有跳数或者生存时间,跳数限制了数据包向前转发的次数IP层每次向前转发一个数据包,该数据包的跳数减1这样以免數据包在系统内无休止的循环,

(13)代理服务器:它作为客户机和服务器之间的媒介其目标是保护客户机屏蔽来自服务器的不利行为,洳果不适用代理服务器客户机就直接与服务器通信,这就意味着服务器有机会获得客户机的一定数量的信息时间长了,该服务器就能收集大量关于内联网内部结构的信息而这些信息有可能用于破坏。

使用代理服务器客户机实际连接的是代理服务器,代理服务器扮演叻客户机的角色与实际的服务器相连代理服务器实际扮演了实际客户机与实际服务器之间媒介的角色,来回的中转报文

这种设置的好處之一:实际的服务器没法知道,代理服务器不是真的客户机事实上,他永远不会意识到实际的客户机的存在

好处之二:代理服务器能夠过滤所有服务器发往客户机的报文的作用

(14)公钥加密:在这个加密系统中,可以知道是如何对报文进行加密的但是不允许知道如哬对报文进行解密。

公钥加密系统涉及到两个称为密钥的值的使用一个密钥称为公钥,用来对报文进行加密另一个密钥称为私钥,用來对报文进行解密

为了使用这个系统,首先将公钥分发给那些需要向某个目的地发送报文的一方二私钥则在这个目的端保存。于是初始报文可以用公钥进行加密,然后将报文送往目的地即使在这期间,报文被也知道公钥的人截获还能保证它的内容是安全的,事实仩唯一能对报文进行解密的是在报文目的地持有私钥的那一方。

需要保证的是:所用公钥事实上对目的地一方而言是一个正确的密钥

哃时将公钥关联到正确的另一方的任务很重要:解决这个问题的办法就是建立一个可信任的因特网站点,称之为认证机构其任务是维护楿关方的准确列表以及他们的公钥。于是这些起着服务器作用的认证机构为他们的客户提供了可靠的公钥信息,这些信息是用称为证书嘚软件包的形式表示的

证书是一个软件包,它包含有关方的姓名和该方的公钥

如果报文的作者实际上是他们声称的一方,这里关键就昰:在有些公钥加密系统中加密公钥和解密密钥的作用可以转换,即原文可以由私钥来加密并且由于只有一方可以访问真个密钥,因此这样加密的任何原文必须是从那一方产生而来的;在这种方式下私钥的持有者就能产生一个位模式,称之为数字签名只有那一方才知道是怎么产生的。通过对报文附加这样的签名发送者就能对报文做可以信任的标签。

1、原语:个人计算机机科学解决某些问题的途径昰建立一组严格定义的构建块利用他们来构建算法的表示,这些构建块称作原语、

原语的集合以及说明如何组合这些原语来表示比较複杂的想法的规则集合就构成了一种程序设计语言。

2、伪代码是一种在算法开发过程中非正式表达思想的符号系统

3、迭代结构:在这种結构中,一组指令以循环的方式重复执行

4、算法的有效性和正确性

命令型范型:开发一个命令序列,遵照这个序列对数据进行操作以產生所期望的结果。

说明性范型:要求程序员描述要解决的问题而不是解决该问题的算法。

函数型范型:接受输入和产生输出的实体

媔向对象范型:一个软件系统被看做是对象的集合,每一个对象都能够执行与自己相关的以及其他对象请求的动作总之,这些对象之间嘚交互可以很方便的解决问题

3、程序一般由3类语句构成:

声明语句:定义了在程序中使用的需要自定义的术语

命令语句:描述了潜在算法里的步骤

注释:通过人性化的语言解释一个复杂的程序

4、重载:一个运算符的多种用法

5、过程是实现一个任务的一组指令的集合,它能夠作为其他程序单元使用的抽象工具

调用:将控制权转移给过程的步骤

调用单元:请求过程执行的程序单元

过程内部使用的变量称为局蔀变量,不限定某个过程使用的变量称为全局变量

过程内部使用的通用项称为参数即形参

在过程调用中,赋给形参的值称为实参

6、翻译:将程序从一种语言转换到另一种语言的过程

源程序:原始形式的程序

目标程序:翻译后的版本

翻译过程包括3部分的工作:词法分析、语法分析、代码生成

完成这三部的相应单元分别是词法分析器、语法分析器、代码生成器

7、类是一组对象的模板

面向对象允许一个类通过称為继承的方法包含其他类的属性

封装是指限制对一个对象内部属性的访问说一个对象的特定属性石封装的,意味着就只有对象自己才可鉯访问他们

被封装的属性称为私有属性、而可以从对象外部访问到的属性称为公有属性。

1、集成开发环境:IDE把软件开发工具诸如编辑器、编译器、调试工具等组合到单个集成的程序包中,有些还提供了可视化编程特性其中 程序是被在个人计算机机上显示为表示构件块嘚图标可视化的构造。

其主要目标是确定预期系统要提供的服务、这些服务运行条件以及定义外界与系统的交互方式

需求被记录在软件需求规格说明文档中,从某种意义上来说这个文档是涉及到各个方面的之间达成的书面确认。

为预期系统的构建提供一个解决方案

实现階段涉及程序的具体编写、数据文件的创建和数据库的开发

测试本质上是调试程序和确认最终的软件产品是否与软件需求规格说明书相┅致的过程。

强调以一个严格的顺序按照需求分析、设计、实现和测试阶段进行,理由是在大型软件中,允许作出随意变更会冒太大嘚风险结果软件工程师坚持:完全按照顺序来

依据这个模型,所需的软件系统以一种渐进的模式来构建即软件产品先是以功能有限的簡化版本出现,一旦这个版本的系统通过测试或者经未来用户的评估更过的功能就以递增的方式加到系统中来,然后在测试直到整个系统全部完成。

增量模型使用扩展产品的每个前期版本到更大版本的概念二迭代模型则使用重建每个版本的概念,实际增量模型通常會包含一个迭代过程,而迭代过程通常导致增量结果

(4)增量模型和迭代模型反映出软件开发采用原型开发,即将预期系统先做成一个非完整版本称之为原型,并加以评估

在增量模型中,将这些原型发展为一个最终的完整系统将这样一个过程称为演化式原型开发。

茬另外一些模型中原型可能会抛弃不用,以使得最后设计有全新的实现这种方式称为抛弃式原型开发。快速原型开发通常属于抛弃式原型开发这个范畴

由瀑布模型转化而来的最显著的方法就是被称为敏捷方法的方法学集合,他们都建议在增量的基础上的早期和快速实現以响应需求变更,降低严格需求规格说明和设计的重要性

敏捷方法的一个例子就是极限编程。

就是把软件分割成几个易于处理的单え通常称为模块,每个模块仅仅承担整个软件的一部分功能

模块之间的了联系称为耦合

一种是控制耦合:出现在一个模块传递控制信息控制另外一个模块执行时

一种数据耦合:模块间的数据共享

模块间的耦合应最小化,每个模块内部绑定程度应该最大化

内聚就用来表示這种内部绑定

一种是逻辑内聚:内聚度较弱的内聚形式

一种功能内聚:内聚度较强

用例图:用大的矩形框来描述预期系统在这个矩形框Φ,系统与其用户之间的交互为用例用例图是从预期系统的外部来观察系统的。

类图:用来表示类的结构和类之间的联系

类图代表的程序设计中的静态特征不能表示程序在执行过程中发生的事件序列。

交互图是一种序列图它描述了完成任务所涉及的个体间的通信。

帕累托法则:尽量多测试确定容易出错的模块对他们进行彻底的测试,就可以发现系统更多的错误

黑盒测试:不依赖对软件内部构成的悝解

黑盒测试的一种方法是称为边界值分析的技术,它由表明数据范围的等价类构成其中要确定软件规格说明的边界点,并在这些边界點上测试软件

另一种测试是β测试:在最终版本发行之前,先将初步版本发给愿意学习的人试用,通过试用来测试。

白盒测试:依赖于對软件内部构成的理解

1、数据库是一种多维的数据抽象;之所以说是多维的,是因为在这种集合中通过数据项间的内部链接,信息可以從不同的角度来获取;传统的文件系统有时也称平面文件,是一种一维的文件系统因为它只从一种观点来展示信息;

2、通常数据库都依赖所谓的模式和子模式。

模式是整个数据库结构的一个描述数据库软件用它来维护整个数据库;

子模式只是与特定用户需求相关的那蔀分数据库的一个描述。

3、典型的数据库分层两个主要的层:应用层和数据库管理层

应用软件并不直接操纵数据库而是由数据库管理系統软件来完成。

应用软件与数据库管理系统分离的好处:

(1)允许构建和使用抽象工具数据库实际如何存放数据这样一个细节被数据库管理系统屏蔽,那应用软件的设计就可以大大简化;

(2)这样的结构提供了对数据库访问进行控制的一种手段;这样DBMS就能实施由不同子模式确定的限制

(3)为了获得数据独立性,即改变数据库组织本身而不改变应用软件能力

(1)关系模型:用矩形表格存放数据,类似于電子制表程序显示信息的 格式

关系中的一行称为一个元组,列称为属性

(1)顺序文件:从头到尾都是以顺序的方式进行访问的好像文件中的信息都排成一行。这种文件的例子有音频文件、视频文件、包含程序的文件和包含文本文档的文件

顺序文件处理中的一个固有问題就是必须要检测何时到达文件的末尾,通常我们把顺序文件的末尾称之为文件结束EOF有许多方法可以用来标识EOF,一种方法是在文件的末尾放置一个专用的标记称为哨兵;另一种方法就是利用操作系统的目录系统中的信息来确定一个文件的EOF,也就是说由于操作系统知道哪个扇区包含有此文件,它也就知道这个文件什么地方结束

(2)索引文件:使用文件索引,这种方式与书本里的索引定位主题在书中位置的方式非常一致这样一种文件系统称之为索引文件;

文件的索引包含存放在该文件中的见的列表和指示包含每个键的记录存放位置的項;这样一来,为了找到某个记录首先需要在索引中找到指定的键,然后再读取存放在与该键相关联的信息块

(3)散列文件:数据存儲空间被分成几个区,称为存储桶每个桶能放几条记录,根据一个将键的值转换为桶号的算法可以将记录分散存放在这些桶中,这里将键的值转换为桶号的算法称为散列函数。因此要检索一条已经置于这种存储结构中的记录首先要把散列函数作用于该条记录的标识苻,以确定相应的桶然后检索桶中内容,最后从检索的数据中查找所需要的记录

散列不仅能用于从海量存储器中检索数据,也是从存放在主存的大数据块中检索数据项的一种方法

当散列用在海量存储器中的存储结构时,其结果称为散列文件;

当散列用在主存中的存储結构时其结果通常称为散列表;

只要记录的数目与文件中总的记录容量之比即负载因子保持在50%之下,那么散列文件就会表现良好的性能;但是负载因子超过75%系统的性能就会降低;

所以,通过散列系统来获得记录检索的高效率是需要花费一定代价的

(1)数据挖掘活动与傳统的数据库查询不同,原因在于数据挖掘所做的工作是寻找确定以前未知的模式而传统数据库需要做的只是检索已经存储好了的事实。

此外数据挖掘操作的是静态的数据集合,称为数据仓库而不是经常要更新的联机运行的数据库。

(2)数据挖掘有两种常见的形式:類型描述和类型识别

类型描述是用来确定一组数据项的属性

类型识别是区分两组数据项的属性。

数据挖掘的另外一种形式是聚类分析:聚类分析试图找到那些引导发现组群的数据项的特性

数据挖掘还有一种形式:关联分析:他是寻找数据组之间的联系。

孤立点分析:试圖识别出不符合规则的数据项用于确定数据集中的错误

序列模式分析:试图确定随时间变化的行为模式。

1、个人计算机机图形学愈来愈哆的被用来指一个称之为3D图形学的特定领域;

2、处理平面二维图形和图像的操作有两个相关领域:一个是2D图形学一个是图像处理

二者的區别是:2D图形学着重于把二维图形转化为像素模式,产生图像;而图像处理着重分析图像中的像素进行模式识别,以达到增强或理解图潒的目的

简言之,就是2D图形学处理生成图像而图像处理分析图像。

3、3D图形学:将三维图形转化为图像过程是:建造三维场景的模型,然后模拟照相的过程产生这些场景的图像;

使用3D图形创建图像要经历两个不同的步骤:

一是创建、编码、存储以及操作被拍摄出来的場景;

另一个是生成图像的过程;前者是创造性、艺术的过程;而后者则是以个人计算机为主的过程。

4、创建3D图形的过程

与传统电影产业Φ的设计和构造一个场景类似不同之处在于3D图形场景是用数据结构和算法构造的,所以构造出来的场景永远不存在;

通过个人计算机场景中的物体如何显示在由特定位置的相机拍摄的照片中来生成场景的二维图像,即渲染;渲染的概念是运用解析几何来个人计算机场景中的物体到一个称为投影平面的面上会形成的投影,这种方式与相机将场景投影到胶卷上的方式类似这种投影称为透视投影;在这种投影方式下,所有的目标都沿着一条称为投影线的直线向前延伸这条直线是从一个投影中心或者视点的公共点延伸出来的;这与平行投影不同,顾名思义平行投影线是平行的,透视投影产生的投影类似于人类眼睛所看到的而平行投影产生的是物体“真正”的剖面。

用來定义最终图像边界的投影平面其中受限的部分称为图像窗口。它对应于显示在大多数相机取景器上的矩形指明潜在图像的边界;实際上,大多数相机的取景器允许用户看到相机投影平面上更大的区域而不仅仅是图像窗口;

一旦投影到图像窗口的场景确定,就可以个囚计算机出最终图像上每个像素点的显示情况这种逐个像素的个人计算机过程可能会很复杂,因为他需要确定场景中的物体如何与光线融合

当确定每个像素的显示方式后,结果被集中的表示成图像的位图并存储在称为帧缓冲区的存储区中,这个缓冲区可能是主存中的┅个区域或当有专门处理图形应用的硬件时,他可能是专用存储电路中的一个快

最后,存储在帧缓冲区的图像或者为了观看而显示戓者为以后的显示而传送给更永久的存储器。如果生成的图像将用于电影画面那他可能在最终显示前被存储或者甚至是被修改。

在个人計算机机图形学中布景称为场景,道具称为物体3D图形场景是虚拟的,因为组成它的物体是由数字化模型构建而成的并不是实际的物悝结构。

在3D图形物体的形状通常描述成称为平面片的小平面的集合其中每一个都是一个多边形;这些多边形形成了多边形网格,它近似於被描述的物体形状通过使用小平面片,近似可以达到所需要的精确度

多边形网格中的平面片通常选择为三角形,因为每个三角形能鼡它的3个定见来表示这个在三维空间中确定一个平面所需的最少点的数目;在任何情况下,多边形网格都表示成这些平面片定点的集合

分型:是Hausdorff维度大于其拓扑维度的几何物体,直观上讲这意味着物体是通过低纬度物体的副本打包形成的。

分形在3D图形领域经常是程序囮模型的主干;实际上他们已经被用来生成逼真的山脉、蔬菜、云和烟等图像。

另一种构建程序化模型方法是将物体的基础结构模拟为┅个大的粒子集合这种模型称为粒子系统,粒子系统通常会应用某些预定义的规则去移动系统中的粒子来生成所需的形状。

程序化模型的输出通常是近似于物体形状的多边形网格

仅由多边形网格构成的模型只捕获了物体的形状;

一个场景中的物体已经得到充分的描述囷数字化,他们就被赋予了场景内的位置、大小和方向将这些信息集合并连接起来形成一个数据结构,称为场景图

此外,场景图还包含了与表示光源及相机的特殊物体的链接其中记录了相机的位置、方向和焦点等。

渲染决定了当场景图中的物体投影到投影平面时将洳何显示。

(2)裁剪、扫描转化和隐藏面的消除

现在着重考虑从场景图生成图像的过程目前使用的方法正是在大多数交互式视频游戏系統中使用的技术;综合应用这些技术,形成一个效果较好的方法称为渲染流水线。

渲染流水线首先确定包含相机能看到的物体的三维场景的区域这个区域称为视体,它是角锥内的一个空间这个角锥是由从投影中心发向图像窗口边界延伸的直线所定义的。

一旦视体被确萣接下来就不用考虑那些与视体不相交的物体或物体部分了,毕竟那部分的场景投影将落在图像窗口的外面,因此不会出现在最终的圖像中;第一步就是去除完全在视体外面的物体

确定和去除那些与视体不相交的物体后,剩余的物体通过称为裁剪的操作加以整理它實际上就是去掉每个物体处在视体外面的部分。

渲染流水线的下一步是确定剩余平面片的点;这些点与最终图像中的像素位置相对应只囿这些点将会对最终图像产生影响,认识到这一点是很重要的

把像素位置与场景中的点相关联的过程称为扫描转换,因为它涉及到把面爿转化为水平的一行像素点称为扫描线或光栅化,因为一组像素称为光栅

扫描转换时从投影中心出发穿过图像窗口汇总的每个像素的射线来完成的,然后找到这些投影线与平面片的焦点最后,更具这些焦点我们得到物体在图像上的显示;实际上这些点在最终图像上昰基于像素显示的。

识别和去除场景中被遮挡的点的处理称为隐藏面消除

隐藏面消除的一个具体方法是使用后面消除法,也就是不考虑那些在多边形网格中表示物体后面的面片

解决“前景/后景”问题的一个简单办法就是画家算法:就是根据相机到物体的距离,在场景中┅次放置物体然后先扫描转换最远的物体,允许较近的物体的扫描转换结果覆盖先前的任何结果

对于前景/后景问题的更彻底的解决方案是集中考虑单个像素,而不是整个场景一种常用的技术就是使用一个称为Z缓冲区的额外存储区域,它包含图像中每个像素的通道

一旦扫描转换已经确定了要显示在最终图像中的平面片上的点之后,渲染任务就变成了决定这些点的显示方式的处理这个过程称为着色。

1、图灵测试:允许一个人与一个测试对象通过一个打字机系统进行通信而没有告知询问者测试对象究竟是一个人还是一台机器,在这环境中如果询问者没能够把一台机器与一个人区分开来,可以宣称这台机器的行为是智能的

2、理解图像的任务通常采取两步进行处理:

(1)图像处理:指标识图像的特征

(2)图像分析:指对这些特征代表什么意思的理解过程。

图像处理的研究主题包括

(1)轮廓增强:使用數学技术使图像中区域间的边界线变得更清晰

(2)滤波:使图像中存在的错误不会混淆其他图像处理步骤,即去除图像中缺陷的过程泹是太多的滤波会导致重要信息的丢失。

图像分析是确定这些特征代表什么一个方法是开始假定一个图像大概是什么,然后尝试把图像Φ的成分与那些猜测的对象相联系

理解语言是感知问题的另一个已证明的具有挑战性的问题。要弄明白一种自然语言中的一个句子的意思需要几个层次的分析:

(1)第一层是语法分析其主要成分是语法分析。

(2)第二层是语义分析语法分析仅标识每个词法上的作用,與语法分析不同语义分析担负的任务是标识句子中的每个词在语义上的作用。

(3)第三层上下文分析

4、自然语言处理的另一个研究领域关系到整个文档,而不是单个句子

这里涉及到的问题分为两类:信息检索和信息提取。

我要回帖

更多关于 个人计算机 的文章

 

随机推荐