计算机体系的认知(数据结构day2)

Source

什么是IT?

作为今后的IT人员,对 IT 没有一个明确的认识,实属有点说不过去。所谓IT是指信息技术(Information Technology),也称为信息和通信技术(Information and Communications Technology,ICT),是主要用于管理和处理信息所采用的各种技术总称,主要是应用 计算器科学通信技术来设计,开发,安装和部署信息系统应用软件

冯·诺依曼体系结构

电子计算机的问世,奠基人是英国科学家爱兰·图灵(Alan Turing)和美籍匈牙利科学家冯·诺依曼,图灵的贡献是建立了图灵机的理论模型,奠定了人工智能的理论基础。冯·诺依曼则是首先提出了计算机体结构的设想。

存储程序计算机在体系结构上的主要特点有:
  1. 以运算单元为中心
  2. 采用存储程序原理
  3. 存储器是按地址访问,线性编址的空间
  4. 控制流由指令流产生
  5. 指令由操作码(表示操作性质)和地址码(表示操作数在存储器中的位置)组成
  6. 数据以二进制编码:指令与数据在计算机中均以二进制数表示。
计算机科学范围

1. 计算机科学(computer science, 缩写为CS)是系统的研究信息与计算的理论基础以及他们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造,描述以及转换信息的的算法处理的系统研究。

2.数据结构和算法:算法指定义良好的计算过程,它取一个或一组值作为输入,经过一系列定义好的计算过程,得到一个或一组输出。算法是计算机科学研究的一个重要领域,也是许多其他计算机科学技术的基础。算法主要包括数据结构,计算几何、图论等。除此之外,算法还包括许多杂项,如模式匹配、部分数论等。

3.计算理论: 按照Peter J. Denning的说法,计算机科学的最根本问题是“什么能够被有效地自动化?”计算理论的研究就是专注于回答这个根本问题,关于什么能够被计算,去实施这些计算又需要用到多少资源。为了试图回答第一个问题,递归论检验在多种理论计算模型中哪个计算问题是可解的。而计算复杂性理论则被用于回答第二个问题,研究解决一个不同目的的计算问题的时间与空间消耗。
著名的“P=NP?”问题,千禧年大奖难题之一,是计算理论的一个开放问题。

4.信息论与编码理论: 信息论与信息量化相关,由克劳德·香农创建,用于寻找信号处理操作的根本极限,比如压缩数据和可靠的数据存储与通讯。编码理论是对编码以及它们适用的特定应用性质的研究。编码(code)被用于数据压缩,密码学,前向纠错,近期也被用于网络编码。研究编码的目的在于设计更高效、可靠的数据传输方法。
5.编程语言和编译器和形式化方法 等等

计算机系统层次与结构
  1. 硬件层
    是指由电子,机械,和光电元件等组成的看得见摸得着的部分
  2. 汇编层
    汇编层是指我们的cpu和寄存器,是执行汇编语言。对于人类来说,二进制程序是不可读的,根本看不出来机器干了什么。为了解决可读性的问题,以及偶尔的编辑需求,就诞生了汇编语言。
  3. 操作系统层
    操作系统是管理硬件和软件的计算机程序,也是计算机的内核与基石,提供一个人机交互的界面。我们将其成为“大管家”。
  4. 虚拟机层
    虚拟机(Virtual Machine) 指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。Java等相关语言的跨平台性依赖于虚拟机。虚拟机屏蔽了系统之间的差异。
  5. 软件应用层
人机交互的基本工具——程序设计语言
  1. 语言的定义
    语言是用来记录和交流的一种符号,是思维的载体和物质外壳的表现形式。
  2. 程序设计语言
    是用于书写计算机程序的语言,满足人机交互的语言。需要满足语法,语义和语用。
  3. 常用的程序设计语言
    Java ,python ,PHP, JavaScript ,C语言,c++…
  4. 程序语言的发展史,非结构化到结构化的跃迁
    结构化语言满足:顺序结构 ,分支结构
    ,循环结构。
程序,软件和应用的区别
  1. 程序(program)
    是一组计算机能够识别和执行的指令,是以某种程序设计语言编写,运行于某种目标体系结构上。

  2. 软件(software)
    软件是一系列按照特定顺序组织的计算机数据和指令。

  3. 应用(application)
    通常指能够执行某种功能的软件程序。如 我们称微信小程序为APP,而不是软件。