【计算机基础】《计算机是怎样跑起来的》要点摘录
  EFTJ6596AiAP 2023年11月02日 80 0

以下是超级简略版的要点,比较零碎,主要是用来唤起记忆、辅助理解~

计算机组成

(1)三个根本原则

  • 计算机是执行输入、运算、输出的机器
  • 程序是指令和数据的集合
  • 计算机的处理方式有时和人的思考习惯不同

(2)汇编

机器码:二进制,是唯一能被CPU直接理解的语言

汇编语言:只有一个语法,一行包括:标签、操作码(指令)、操作数(指令的对象)

(3)软硬件

计算机硬件:CPU(其中有各种寄存器,其中PC寄存器指向下一条执行的程序)、内存、I/O


程序

(1)有三种流动方式:顺序、分支、循环

(2)结构化程序:只用顺序、分支、循环,不用Gogo语句

(3)其他特殊的程序流程:

  • 中断处理:是一种特殊的条件分支,计算机硬件上支持中断
  • 事件驱动:应用于GUI环境中的应用程序

(4)可以使用的工具:FlowChart、状态转化表


算法和数据结构

(1)程序=数据结构+算法

(2)算法的原则:步骤明确&有限

(3)一些经典的算法:

  • 求最大公约数:辗转相除法
  • 判定素数:埃拉托斯特尼筛法
  • 查找
  • 排序

(4)一些编程技巧:线性搜索中可以使用哨兵

(5)数据结构

  • 变量:程序中数据存储的最小单位
  • 声明变量:分配内存中的物理空间
  • 赋值:给这个空间中填充一个值
  • 存储的位置:内存中
  • 数组:数据结构的基础
  • 会分配连续的内存空间,反映了内存的物理结构
  • 是一种直接利用内存的物理结构的最基本的数据结构
  • 可以利用数组构建栈和队列
  • 栈:数组;栈顶指针;入栈函数、出栈函数
  • 队列:数组;队头、队尾索引变量;入队函数、出队函数
  • 其他数据结构
  • 栈Stack:LIFO:先进后出
  • 队列Queue:FIFO:先进先出,和栈都是将不能立即处理的数据先暂存起来
  • 链表ListNode
  • 二叉树:链表的特殊形态
  • 结构体:可以利用结构体构建链表和二叉树


面向对象

(1)C++在C的基础上实现了面向对象

发展历程:C——C++——Java/C#

(2)对象:表示事物的抽象名词

构成:属性+操作

好处:利于复用、提高效率;便于维护

一些概念:

  • 类库:组件集合
  • 接口:规定类看起来是什么样子的,对于类的规范描述

(3)面向对象的一些外延:

  • 面向对象就是把类拼装在一起:类就是程序的组件
  • 就是对于现实世界建模(建模就是一个组件化的过程),可以借助UML
  • 程序的执行方式:
  • 面向对象:在对象间传递消息驱动程序
  • 非面向对象:面向过程,叫做“过程型语言”,可以用流程图表示
  • 封装、继承、多态:
  • 类和对象之间的关系:类是对象的定义,对象是类的实例
  • 类需要创建对象实例之后才能被使用

(4)Java和.Net都是位于操作系统上的程序集,也被叫做框架

框架包含两个部分:执行引擎:负责安全执行程序;类库:一个组件集合

数据库

(1)类别:

  • 卡片式数据库:小型
  • 关系型数据库:大型

(2)组成

应用程序—(请求操作数据)—DBMS—(实际操作数据)—数据文件

  • 独立系统(小型):三要素齐全
  • 文件共享系统(中型):服务器(存储数据文件)被多个客户端(包含DBMS和应用程序)共享
  • 客户端/服务器系统:数据文件+DBMS在服务端上,程序在客户端上运行
  • Web系统:数据文件和DBMS在服务器上,通过浏览器进行访问

(3)DBMS

  • 概念:数据库管理系统
  • 实例:Access、Oracle、SQL Server
  • 两种机制:
  • 安全存储:主键上不能存储相同的值
  • 检查参照完整性:删除的时候会拒绝那些会导致表不完整的操作
  • 高级功能:事物控制
  • 开启、提交、回滚
  • 记住银行转账的例子

(4)表

  • 组成:一条记录:元组、行;一列:字段、属性
  • 规范化处理:将大表分割成小表,再在小表之间建立关系,要点是避免存储相同的数据
  • 字段——键——主键
  • 键:反映表和表之间关系的字段
  • 主键:能标识唯一一条记录的键
  • 索引:
  • 和键完全不同的概念
  • 为某个字段设置索引——DBMS自动创建索引表(字段值+字段对应的记录的位置)
  • 设置之后查询数据的流程:先在索引表中进行检索排序;然后再去取完整的记录
  • 设置索引的效果:
  • 检索速度提高
  • 但是插入和更新的速度降低了

(5)操作:CRUD:插入、获取、更新、删除


TCP/IP网络

(1)概念

  • 种类:
  • WAN:广域网
  • LAN:局域网
  • TCP/IP:同时包含这两个协议,其中传输的数据包含IP地址和MAC地址
  • MAC地址:Media Access Control,也被叫做物理地址,是网卡的ROM中预先烧录的,标识网卡的编号。指定电信号的接收者。

(2)网络系统组成

  • 组建系统:Server、Client、Hub(集线器)、Router(路由器)
  • 所需硬件:网卡、网线、集线器、路由器

(3)网络传输中的信息查询

  • DHCP服务器:获取IP地址和子网掩码
  • 路由器:决定数据传输路径的设备,路由器传输的信息是路由表
  • DNS:将主机名解析成IP地址
  • FQDN:完整限定域名 = 主机名+域名
  • ARP:Address Resolution Protocol 地址解析协议,将IP地址转换为MAC地址

查看网络相关内容的命令行代码:

//查看网络相关的信息:包括IP地址、主机名、MAC地址等,需要注意MAC地址就是物理地址
ipconfig /all

//查看路由表
route print
//知识点:一些中英文对照
//Network Destination:网络目标
//NetMask:网络掩码
//GateWay:网关
//Metric: 跃点数

//查看路由过程
tracert 某个网址

//查看主机名
hostname

//实现DNS转换,输入之后打开DNS转换器,然后输入任意网页可以查询其背后的服务器IP地址
nslookup

下图展示查看打开51CTO网页的路由过程案例:

【计算机基础】《计算机是怎样跑起来的》要点摘录_mac地址

其他的内容涉及到太多的隐私信息就不展示效果了,大家可以自己输入之后试试。

(4)TCP/IP的层级模型:

  • TCP:通过两者来回确认来安全传输信息,以包作为传输的数据单元,包:MAC、IP、TCP、数据、错误检查信息
  • IP:指定目的地的IP地址——通过路由器转发数据
  • 网卡发送数据的层级:网卡—(硬件驱动程序)—程序——IP——TCP——应用程序(Web、邮件等有不同的端口号,web80、邮件25)


数据加密

(1)概念

  • 信息摘要:从作为数字签名对象的文件中计算出的数值
  • 加密&解密:明文转换成密文;密文转换成明文

(2)类型

  • 对称加密(秘密密钥加密):例如:后移三位、将编码和密钥做异或运算;前提是发送者和接收者都知道密钥且保护好了
  • 公开密钥加密:可以直接传输密码,例如用RSA算法,公钥用来加密,私钥用来解密

(3)生成数据签名的过程

  • 发送者:
  • 选取一段明文
  • 计算出明文内容的信息摘要
  • 用私钥进行加密
  • 将第三步骤的值附加在明文后发送
  • 接收者:
  • 用公钥进行解密
  • 计算出明文部分的信息摘要(常用的生成公式:MD5(Message Digest 5))
  • 如果步骤1和步骤2的内容相同,那么接收的信息就是有效的

(4)意义

  • 签名的两层约束:内容完整有效、发送者是本人
  • 合理的密钥:长度适中、能反复使用、可以通过某种手段发给接收者、通信双方以外的其他人难以解密


XML

(1)概念

  • XML —— Extensible Markup Language
  • 标记:通过添加标签赋予数据意义
  • 标记语言:定义标记规则的语言
  • XML中的标签可以随意创建,仅限定了书写格式,所以被称为元语言

(2)标准

  • W3C制定了推荐标准之后,XML跨越了厂商和应用程序的差异
  • 格式良好的XML文档:遵循XML约束;正确标记了
  • 文档结构:
  • XML声明:开头
  • XML实例:中间内容
  • DTD:Document Type Definition,文档类型描述,定义必须要包含的内容
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

EFTJ6596AiAP