计算机是怎样跑起来的

2020-06-23  本文已影响0人  雪上霜

计算机三大原则

  1. 初级问题,硬件和软件的区别是什么?
    • 硬件:看得见,摸得着,真实存在的设备。
    • 软件:运行在硬件之上,计算机所执行的程序,即指令和数据。
  2. 中级问题,存储字符串“中国”需要几个字节?
    -utf8中占3个字节,GBK中占两个字节。
  3. 高级问题,什么是编码(Code)?
    • 为了便于计算机处理而及经过数字化处理的信息。
  4. 计算机三大原则:
    1.计算机是执行输入、运算、输出的机器
    2.程序是指令和数据的集合
    3.计算机的处理方式有时与人们的思维习惯不同

只要定义出了指令和数据的规范,装有符合规范的程序的计算机自然就可以相互协作了。所谓计算机的协同工作指的是,输入到一台计算机中的数据,可以通过互联网传送到与这台计算机相连的其他计算机上执行运算,运算所输出的结果再返回给这台计算机。像这样部署在其他计算机上能执行某种运算的程序就叫作XML Web服务。

面向组件编程的方法是通过将组件(程序的零件)组装到一起完成程序;面向对象编程的方法是先如实地对现实世界的业务建模,之后再把模型搬到程序中。使用符合人类思维习惯的编程方法,可以实现高效率的开发

试着制造一台计算机吧

  1. 初级问题CPU是什么的缩写?
  1. 中级问题Hz是表示什么的单位?
  1. 高级问题Z80 CPU是多少比特的CPU?

制作微型计算机所需的基础元件只有3个,CPU、内存和I/O,CPU是计算机的大脑,负责解释、执行程序。内存负责存储程序和数据。I/O是Input/Output(输入/输出)的缩写,负责将计算机和外部设备(周边设备)连接在一起。为了制作微型计算机,除了CPU、内存和I/O,还需要若干辅助元件。
为了驱动CPU运转,称为“时钟信号”的电信号必不可少。这种电信号就好像带有一个时钟,滴答滴答地每隔一定时间就变换一次电压的高低(如图2.2所示)。输出时钟信号的元件叫作“时钟发生器”。时钟发生器中带有晶振,根据其自身的频率(振动的次数)产生时钟信号。时钟信号的频率可以衡量CPU的运转速度。这里使用的是2.5MHz(兆赫兹)的时钟发生器。
寄存器是位于CPU和I/O中的数据存储器。端口就是I/O与外部设备之间输入输出数据的场所

体验一次手工汇编

  1. 初级问题,什么是机器语言?
  1. 中级问题,通常把标识内存或I/O中存储单元的数字称作什么?
  1. 高级问题,CPU中的标志寄存器(Flags Register)有什么作用?

所谓I/O的地址空间,是指用于指定I/O寄存器的地址范围。在内存中,每个地址的功能都一样,既可用于存储指令又可用于存储数据。而I/O则不同,地址编号不同(即寄存器的类型不同),功能也就不同

CPU负责解释、执行程序,从内存或I/O输入数据,在内部进行运算,再把运算结果输出到内存或I/O。

既然数据的运算是在CPU中进行的,那么在CPU内部就应该有存储数据的地方。这种存储数据的地方叫作“寄存器”。虽然也叫寄存器,但是与I/O的寄存器不同,CPU的寄存器不仅能存储数据,还具备对数据进行运算的能力。CPU带有什么样的寄存器取决于CPU的种类

程序像河水一样流动着

  1. 初级问题,Flow Chart的中文意思是什么?
  1. 中级问题,请说出自然界中河流的三种流动方式。
  1. 高级问题,事件驱动是什么?

与算法成为好朋友的七个要点

1.初级问题,Algorithm翻译成中文是什么?

  1. 中级问题,辗转相除法是用于计算什么的算法?
  1. 高级问题,程序中的“哨兵”指的是什么
image.png
image.png
image.png

算法就是“把解决问题的步骤无一遗漏地用文字或图表示出来”。步骤必须是明确的并且步骤数必须是有限的”
要点1:算法中解决问题的步骤是明确且有限的
要点2:计算机不靠直觉而是机械地解决问题
要点3:了解并应用典型算法
要点4:利用计算机的处理速度
要点5:使用编程技巧提升程序执行速度
要点6:找出数字间的规律
要点7:先在纸上考虑算法、

与数据结构成为好朋友的七个要点

  1. 初级问题,程序中的变量是指什么?
  1. 中级问题,把若干个数据沿直线排列起来的数据结构叫作什么?
  1. 高级问题,栈和队列的区别是什么?

数组实际上是为了存储多个数据而在内存上集中分配出的一块内存空间


image.png

要点1:了解内存和变量的关系
要点2:了解作为数据结构基础的数组
要点3:了解数组的应用——作为典型算法的数据结构
要点4:了解并掌握典型数据结构的类型和概念
要点5:了解栈和队列的实现方法
要点6:了解结构体的组成
要点7:了解链表和二叉树的实现方法

成为会使用面向对象编程的程序员吧

  1. 初级问题,Object翻译成中文是什么?
  1. 中级问题,OOP是什么的缩略语?
  1. 高级问题,哪种编程语言在C语言的基础上增加了对OOP的支持?

面向对象编程是一种基于以下思路的程序设计方法:将关注点置于对象(Object)本身,对象的构成要素包含对象的行为及操作,以此为基础进行编程。这种方法使程序易于复用,软件的生产效率因而得以提升。其中所使用的主要编程技巧有继承、封装、多态三种。


image.png

继承指的是通过继承已存在的类所拥有的成员而生成新的类。封装指的是在类所拥有的成员中,隐藏掉那些没有必要展现给该类调用者的成员。多态指的是针对同一种消息,不同的对象可以进行不同的操作。

框架由两部分构成,一部分是负责安全执行程序的“执行引擎”,另一部分是作为程序组件集合的“类库

观点1:面向对象编程通过把组件拼装到一起构建程序
观点2:面向对象编程能够提升程序的开发效率和可维护性
观点3:面向对象编程是适用于大型程序的开发方法
观点4:面向对象编程就是在为现实世界建模
观点5:面向对象编程可以借助UML设计程序
观点6:面向对象编程通过在对象间传递消息驱动程序
观点7:在面向对象编程中使用继承、封装和多态

一用就会的数据库

1.初级问题,数据库术语中的“表”是什么意思?

适合存储大规模数据的是关系型数据库。在关系型数据库中,数据被拆分整理到多张表中,同时表与表之间的关系也可以被记录下来。

image.png

数据库系统的构成要素包括“数据文件”“DBMS”“应用程序”三部分。在小型系统中,把三个要素全部部署在一台计算机上,称作“独立型系统”。在中型系统中,把数据文件部署在一台计算机上,并且使数据文件被部署了DBMS和应用程序的多台计算机共享,这样的系统被称为“文件共享型系统”。在大型系统中,把数据文件和DBMS部署在一台(或者多台)计算机上,然后用户从另外一些部署着应用程序的计算机上访问,这样的系统被称作“客户端/服务器型系统”。其中部署着数据文件和DBMS的计算机是服务器(Server),即服务的提供者;部署着应用程序的计算机是客户端(Client),即服务的使用者。如果把服务器和客户端之间用互联网联结起来,就形成了Web系统。在Web系统中,一般情况下应用程序也是部署在服务器中的,在客户端只部署Web浏览器


image.png
image.png

在关系型数据库中,把录入到表中的每一行数据都称为记录,把构成一条记录中的各个数据项(在本例中是商品名称、单价等)所在的列都称作字段。记录有时也被称为行或元组(Tuple),字段有时也被称为列或属性(Attribute)。

在设计关系型数据库时,还要进行“规范化”。所谓规范化,就是将一张大表分割成多张小表,然后再在小表之间建立关系,以此来达到整理数据库结构的目的。通过规范化,可以形成结构更加优良的数据库。

为了在表间建立关系,就必须加入能够反映表与表之间关系的字段,为此所添加的新字段就被称为键(Key)。首先要在各个表中添加一个名为主键(Primary Key)的字段,该字段的值能够唯一地标识表中的一条记录。

在销售记录表上,还要添加顾客ID和商品ID字段,这两个字段分别是另外两张表的主键,对于销售记录表来说,它们就都是“外键”(ForeignKey)。通过主键和外键上相同的值,多个表之间就产生了关联,就可以顺藤摸瓜取出数据

当出现多对多关系时,可以在这两张表之间再加入一张表,把多对多关系分解成两个一对多关系。加入的这张表被称作连接表


image.png

索引仅仅是提升数据检索和排序速度的内部机制。一旦在字段上设置了索引,DBMS就会自动为这个字段创建索引表,索引表是一种数据结构,存储着字段的值以及字段所对应记录的位置


image.png
一旦设置了索引,每次向表中插入数据时,DBMS都必须更新索引表。提升数据检索和排序速度的代价,就是插入或更新数据速度的降低。因此,只有对那些要频繁地进行检索和排序的字段,才需要设置索引

事务由若干条SQL语句构成,表示对数据库一系列相关操作的集合
在SQL语言中设计了以下三条语句:1. BEGINTRANSACTION(开启事务)语句,用于通知DBMS开启事务;2.COMMIT(提交事务)语句,用于通知DBMS提交事务;3. ROLLBACK(事务回滚)语句,用于在事务进行中发生问题时,把数据库中的数据恢复到事务开始前的状态


image.png

通过七个简单的实验理解TCP/IP 网络

  1. 初级问题,LAN是什么的缩略语?
  1. 中级问题,TCP/IP是什么的缩略语?
  1. 高级问题,MAC地址是什么?

所谓载波监听(CarrierSense),指的是这套机制会去监听(Sense)表示网络是否正在使用的电信号(Carrier)。而多路复用(Multiple Access)指的是多个(Multiple)设备可以同时访问(Access)传输介质。带冲突检测(withCollision Detection)则表示这套机制会去检测(Detection)因同一时刻的传输而导致的电信号冲突(Collision)

windows:ipconfig/all :查看网络信息。
00-00-5D-B8-39-B0就是MAC地址。其中00-00-5D代表制造商,B8-39-B0代表产品的编号。

IP地址的整数是0.0.0.0~255.255.255.255,共计4294967296个
把IP地址中表示分组(即LAN)的部分称作“网络地址”、表示各台计算机(即主机)的部分称为“主机地址”

路由器正如其名,就是决定数据传输路径的设备。

Windows:route print:查看链路表信息。

Windows:tracert 域名:查看路由过程。

Windows:hostname:查看主机名

Windows:nslookup:查看域名的IP地址。

Windows:arp -a:查看ARP缓存表,用于IP地址和Mac地址映射的。

IP协议用于指定数据发送目的地的IP地址以及通过路由器转发数据。而TCP协议则用于通过数据发送者和接收者相互回应对方发来的确认信号,可靠地传输数据。

image.png

试着加密数据吧

  1. 初级问题,通常把还原加密过的文件这一操作叫作什么?
  1. 中级问题,在字母A的字符编码上加上3,可以得到哪个字母?
  1. 高级问题,在数字签名中使用的信息摘要是什么?
image.png
image.png
image.png

XML究竟是什么

  1. 初级问题,XML是什么的缩写?
  1. 中级问题,HTML和XML的区别是什么?
  1. 高级问题,在处理XML文档的程序组件中,哪个成为了W3C的推荐标准?
image.png

SE负责监管计算机系统的构建

  1. 初级问题,SE是什么的缩略语?
  1. 中级问题,IT是什么的缩略语?
  1. 高级问题,请列举一个软件开发过程的模型。

SE指的是在进行业务的信息化时,负责调查、分析业务内容,确定计算机系统的基础设计及其详细规格的技术人员。同时SE也负责系统开发的项目管理和软件的开发管理、维护管理工作。由于主要的工作是基础设计,所以不同于编写程序的程序员,SE需要具备从硬件结构、软件的构建方法乃至横跨整个业务的广泛知识以及项目管理的经验。

image.png
image.png
image.png
image.png
image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读