第二次寒假作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2023learning
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/2023learning/homework/12899
这个作业的目标 <不拖下学期专业课后腿>

GitHub个人主页链接

知识要点

17.集成电路&摩尔定律

  • 计算机的组成
    • 分立元件
      • 定义:只有一个电路元件的组件(可以是被动的电阻,电容,电感,也可以是主动的晶体管,真空管)
  • 集成电路
    • 晶圆
    • 硅片
    • 氧化层
      • 作为晶圆的保护层
    • 光刻胶
      • 在被光照射后变得可溶
    • 光掩模
    • 掺杂
      • 通常使用高温气体,比如磷,用于改变暴露出的硅的电学性质
    • 金属化
      • 用于制作晶体管
  • 摩尔定律
    • 每两年左右,得益于材料和制造技术的发展,同样大小的空间,能塞进两倍数量的晶体管。

18.操作系统

  • Atlas Supervisor
    • 防止处理器由于速率远高于机械设备而空闲
    • 能够自动加载程序(如同早期的批处理操作系统)
    • 能够在单个CPU上运行多个程序(通过调度)
      • 将CPU已经完成操作但打印机还未完成操作的程序暂时休眠,待打印完成后在某一时刻让CPU继续进行执行Print语句之后的下一行代码
    • 使多个程序可以同时运行,在单个CPU上共享时间,操作系统的这种能力叫做"多任务处理"
  • 内存块
    • 每个程序都会占一些内存,当切换到另一个程序时,为了避免丢失数据,会给每个程序分配专属内存块。如果一个程序请求更多内存,由操作系统决定是否同意。

    • 为了解决程序被操作系统分配到内存中不连续的各处,避免程序员难以追踪,操作系统会把内存地址虚拟化——虚拟内存

      • 虚拟内存:程序可以假定内存从地址0开始。操作系统会自动处理虚拟内存和物理内存之间的映射

        这种机制使程序的内存大小可以灵活增减,叫"动态内存分配"

      • 内存保护:给程序分配专用的内存范围,将不同的程序隔离,若一个程序出错,只会捣乱自己的内存不会影响其他程序。

  • Multics(多任务信息与计算系统)

19.内存&储存介质

  • 内存——易失性储存器

  • 储存器——非易失性:任何写入储存器的数据,如硬盘,数据会一直存着,知道被覆盖或删除,断电不消失。

  • 储存介质

    • 纸卡

      • 优点:不耗电,便宜耐用。
      • 缺点:读取慢且只能写入一次,打的孔无法轻易补上,不便于存储临时值。
    • 延迟线存储器(为了解决纸卡面临的问题而诞生)

      • 原理:扬声器产生压力波传向麦克风,麦克风将压力波转为电信号。用压力波的传播延迟来存储数据。
      • 缺点:每一个时刻只能读一位数据,被称为顺序存储器循环存储器
    • 其他类型的延迟线处理器——磁致伸缩延迟存储器

      • 用金属线的震动代表数据,通过把线卷成线圈,1英尺x1英尺的面积能储存大概1000bit。
    • 最早的"储存程序计算机"之一———EDVAC

    • 磁芯存储器

      • 通过电流方向的改变,极性的更改来存储0和1
    • 磁带

      • 主要缺点:访问速度慢
    • 磁鼓存储器

    • 光学存储器

      • CD
      • DVD
    • 机械硬盘

    • 固态硬盘(SSD)

20.文件系统

  • TXT文件

    • 解码数据的关键:ASCII编码
  • 波形(WAVE)文件

    • 用于储存音频
    • WAV文件组成
  • 位图(Bitmap)

    • 用于存储图片(.bmp)
    • BMP文件组成
  • 文件在底层全是一样的:一长串二进制

  • 平面文件存储(文件都在同一层次)

    • 多个文件的存储

      • 存储器没有文件的概念,只是存储大量位
      • 需要一种特殊的文件,记录其他文件的位置,泛称——"目录文件"
        • 经常存于最开头,位置0
        • 目录文件里存有其他文件的名字,格式为:文件名+"."+拓展名
        • 目录文件里还存有文件的元数据,比如文件起始位置与长度,创建时间,最后修改时间,拥有者,读/写权限
    • 将空间分块,并给每个数据预留额外空间,以便于改动

    • 若要删除文件,只需在文件目录删除对应记录,让对应空间变得可用,可以被新文件覆盖。

    • 碎片(单个文件被存储在不连续的多个块中)

      • 碎片是增/删/改文件导致的,不可避免

      • 碎片整理

        • 计算机会把文件来回移动,排列成正确的顺序
  • 分层文件系统(文件套文件)

    • 目录文件不止要指向文件,还要指向目录

    • 需要额外元数据来区分文件和目录

    • 移动文件无需移动数据块,只需改两个目录文件(一个文件夹里删去对应记录,一个文件夹增加对应记录)

21.压缩

  • 把数据的占用空间压缩的更小,用更少的位来表示数据
    • 方法一:减少重复信息
      • 游程编码(用一个额外的字节代替后方N个重复字节)为了让计算机能分辨出"颜色"字节与"长度"字节,需要在所有像素前标上长度,但有时会使数据比未压缩时还多。
        • 无损压缩,解压后数据和之前完全一样
    • 方法二:字典编码(DFTBA)
      • 需要一个字典,储存"代码"和"数据"间的对应关系
        • 霍夫曼树(按频率排列)

          把每个分支用0,1标注生成字典,用代码代替原先的像素对,实现压缩的效果
          注意:字典也需要保存下来,放在代码前面

        • 无损压缩,解压后数据和之前完全一样

    • 方法三:感知编码(删掉人类无法感知的数据)
      • 大多数有损压缩使用这一点实现压缩

22.命令行界面

  • 早期机械计算设备
    • 用齿轮,旋钮和开关等机械结构输入输出
    • 获得数据的方法:打印到纸上
  • 交互式计算机
    • 打字机(用户输入,给计算机提供数据)
      • 电传打字机
        • 电传交互界面(用户和计算机来回对话)被称为"命令行界面"
        • "虚拟电传打印机"或"玻璃电传打印机"被称为终端

23.屏幕&2D图形显示

  • PDP-1计算机

    • 键盘和显示器分开,屏幕显示临时值
    • 早期屏幕的典型用途:跟踪程序的运行情况(如寄存器的值)
  • 阴极射线管

    • 原理:把电子发射到有磷光体涂层的屏幕上,当电子撞击涂层时,会发光几分之一秒,由于电子是带电粒子,路径可以被磁场控制,屏幕内用板子或者线圈,把电子引导到想要的位置
    • CRT的两种绘图方式
      • 矢量扫描(引导电子束描绘出形状)
      • 光栅扫描(按照固定路径,一行行来,从上到下从左到右不断重复)
  • 液晶显示器(简称LCD)

    • 使用光栅扫描,每秒更新多次像素里的红绿蓝的颜色
  • 字符生成器(从内存中读取字符,转化为光栅图形,显示到屏幕上)

    • 算是第一代显卡
      • 内部有一小块只读储存器(ROM)存着每个字符的图形(点阵图案)
    • 为了显示,字符生成器会访问屏幕缓冲区
      • 屏幕缓冲区(内存中的一块特殊区域,专为图形保留)
  • 矢量命令画图

    • 所有东西都由线组成,与文字无关
    • 仅占160bit 比存一个庞大的像素矩阵好
  • SKetchpad的诞生

    • 一个交互式图形界面,用途是计算机辅助设计(CAD)
    • 光笔(输入设备,有线连着电脑的触控笔)
      • 笔尖有光线传感器,可以检测到显示器刷新,通过判断刷新时间,电脑可以知道笔的位置。有了光笔和各种按钮,用户可以画线和其他简单形状
    • 计算机把像素数据存在内存中一个特殊区域——"帧缓冲区"
      • 程序可以操纵帧缓冲区中的像素数据,实现交互式图形。
  • 函数画线

26.图形用户界面(GUI)

  • 图形界面先驱:道格拉斯·恩格尔巴特
  • 所见即所得 WYSIWYG
  • 1983年推出 Apple Lisa
  • 1984年推出 Macintosh
  • 1985年推出 Windows 1.0,之后出到 3.1
  • 1995年推出 Windows 95 提供图形界面
  • 1995年微软做失败的 Microsoft Bob

28.计算机网络

  • 局域网
    • 计算机近距离构成的小型网络叫做局域网,简称lan
  • 媒体访问控制地址
    • 为了分辨数据是给局域网内哪个计算机,以太网需要每台计算机有唯一的媒体访问控制地址,简称MAC地址
  • 载波侦听多路访问
    • 多台电脑共享一个传输媒介,这种方法叫载波侦听多路访问,简称CSMA
    • 载体指运输数据的共享媒介
      • 载体传输的速度叫——"带宽"
      • 以太网的载体是铜线
      • WIFI的载体是传播无线电波的空气
      • 很多计算机同时侦听载体,所以叫侦听与多路访问
    • 共享载体的弊端
      • 随着网络流量的上升,两台计算机想同时写入数据的概率也会上升,会造成冲突导致数据混乱
  • 指数退避
    • 网络上的节点在发送数据冲突后,等待一定时间后再发,等待时间是随指数增长,从而避免频繁的触发冲突。
  • 冲突域
    • 载体和其中的设备总称:冲突域
    • 使用交换机将单个冲突域拆分为不止一个冲突域
  • 电路交换
    • 电路交换是一种直接的交换方式,它为一对需要进行通信的装置(站)之间提供一条临时的专用通道,即提供一条专用的传输通道。
    • 缺点:不灵活且昂贵
    • 优点:不用与他人共享,自己可以最大程度使用
  • 报文交换
    • 存储接收到的报文,判断其目标地址以选择路由,最后,在下一跳路由空闲时,将数据转发给下一跳路由。
    • 跳数限制
      • 若某条线路条数很高,那条线路肯定哪里错了
  • 分组交换
    • 将数据拆分成多个数据包,然后通过灵活的路由传递

29.互联网

  • WIFI路由器连着的设备组成了局域网,局域网再连广域网(WAN)。WAN的路由器一般属于"互联网服务供应商",简称ISP。广域网先连接到区域性的路由器,可能再跳几次,但最终会到达互联网主干。互联网主干由一群超大型,带宽超高路由器组成
  • IP-互联网协议
    • 数据包想在互联网上传输 要符合"互联网协议"的标准,简称IP
      • 每封信的地址要独特且数据包大小和重量有限制
    • IP是一个非常底层的协议,头部存元数据,后面存数据。意味着当数据包到达对方电脑时,对方不知道把包交给哪一个程序
    • IP负责把数据包送到正确的计算机
  • UDP-用户数据报协议
    • UDP头部,位于数据前面。含有用信息,其一为端口号(每个想访问网络的程序,都要向操作系统申请一个端口号)
    • UDP负责把数据包送到正确的程序
    • 校验和
      • 同样位于UDP头部,用于检查数据是否正确(但UDP不提供数据重发或数据修复的机制)
  • TCP-传输控制协议
    • 使"所有数据全部到达"
    • TCP数据包结构
    • TCP头部也有"端口号"与"校验和"
    • TCP数据包更高级的部分功能
      1. TCP数据包有序号(序号使接收方可以把数据包排成正确顺序,即使到达的时间不同)
      2. TCP 要求接收方的电脑收到数据包并且校验检查无误后(数据没有损坏)给发送方发一个确认码,代表收到了
    • 若数据包丢失可重发,可以根据网络的拥堵情况自动调整传输率
    • 最大的缺点:"确认码"数据包把数量翻了一倍,并没有传递更多信息
  • DNS-域名系统
    • 当计算机访问一个网站时,需要两样东西
      1. IP地址
      2. 端口号
      • 组合样例:172.217.7.238的80端口 (172.217.7.238:80)
    • 由于一长串数字过于难记,所以互联网有一个特殊服务,负责域名和IP地址一一对应,它叫"域名系统",简称DNS
    • 顶级域名(简称TLD)在最顶部,如.com,.gov
    • 二级域名 如.com下面有google.com
    • 子域名 如images.geogle.com
  • OSI-开放式系统互联网通信参考模型
    • 线路中的电信号,无线网络中的无线信号(物理层)
    • 数据链路层负责操控物理层,数据链路层有:媒体访问控制地址(MAC),碰撞检测,指数退避和其他一些底层协议
    • 网络层:负责各种报文交换和路由
    • 传输层的大部分:UDP和TCP协议,负责计算机之间进行点对点的传输,还会检测与修复错误。
    • 会话层:会使用UDP和TCP来创立连接,传递信息然后关闭连接,这一整套(三步)称为会话
    • 表示层应用程序层:其中有浏览器,HTML解码,在线看电影等

30.万维网(1991年正式发布)

  • 万维网:是一个透过互联网访问的,由许多互相链接的超文本组成的资讯系统
    • 超链接
      • 页面里有内容,也有去往其他页面的链接,这些链接叫超链接
    • URL(统一资源定位器)
      • 互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
    • HTTP(超文本传输协议)
      • 是用于从万维网服务器传输超文本到本地浏览器的传送协议
      • 基于TCP/IP通信协议来传递数据
      • 状态码:状态码200代表请求成功,状态码400-499代表客户端出错
      • HTML(超文本标记语言)
        • 超文本的储存和发送都是以普通文本形式,无法表明什么是链接什么不是链接,所以开发了超文本标记语言HTML
        • 使用HTML完成一个简单的网页
        • 把以上文本存入记事本,并将记事本改为.html格式,可以拖入浏览器打开,同样可以得到PREVIEW的内容
  • 搜索引擎
    • Jerry和 David 的万维网指南后来改名成 Yahoo
    • 搜索引擎 JumpStation
    • 搜索引擎Google
    • 网络中立性:应该平等对待所有数据包,即速度与优先级相同

31.计算机安全

  • 保密性,完整性,可用性
    • 保密性:只有有权限的人才能读取计算机系统和数据
    • 完整性:只有有权限的人才能使用和修改系统和数据
    • 可用性:有权限的人可以随时访问系统和数据
  • Threat Model威胁模型
    • 从抽象层面想象"敌人"可能是谁。模型会对攻击者有个大致描述:能力如何,目标可能是什么,可能用什么手段。攻击手段又叫:攻击矢量
  • 身份验证
    • WHAT YOU KNOW (确定性,即只要有密码,100%可以获得访问权限)
      • 基于某个秘密,只有计算机与用户知道,如用户名和密码
    • WHAT YOU HAVE (确定性)
      • 基于用户有特有物品,如钥匙和锁
    • WHAT YOU ARE (概率性)
      • 基于用户特征展示给计算机验证,比如指纹识别器和虹膜扫描仪就是典型例子
  • 访问控制
    • 按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术
  • Bell LaPadula model
    • 不能向上读,不能向下写
  • 隔离Isolation,沙盒Sandbox
    • 方法:给每个程序独有的内存块,其他程序不能使用

32.黑客&攻击

  • 社会工程学

    • 欺骗别人让人泄密信息或让别人配置电脑系统,变得易于攻击。
      • 网络钓鱼
        • 最常见的攻击叫做网络钓鱼,例如银行发邮件叫你点击邮件里的链接并登陆账号,然后你会进入一个像官网的网站——而实际上是一个假的网站。当你输入用户名和密码时,信息会发给黑客,然后黑客就可以假扮你登陆网站。
      • 假托
        • 另外一种方法叫做"假托",攻击者给某个公司打电话并假装是IT部门的人。攻击者的第一通电话一般会叫人转接,这样另一个人接的时候电话号码看起来会像是公司内部的。然后攻击者就会让受害人将电脑配置得易于入侵,或者让受害者泄露机密信息——如密码和网络配置。
      • 木马
        • 邮件里带木马也是常见手段,木马会伪装成无害的东西,比如照片或者发票,但实际上是恶意软件。
  • NAND镜像

    • 如果能物理接触到电脑,可以往内存上接几根线来复制整个内存 。复制之后暴力尝试密码,直到设备让你等待。这个时候只要把之前复制的内存副本覆盖掉内存,本质上重置了内存,就不用等待,可以继续尝试密码了。
  • 漏洞利用

    • 如果你无法物理接触到设备,就必须远程攻击,比如通过互联网。远程攻击一般需要攻击者利用系统漏洞来获得某些能力或访问权限,这叫漏洞利用。
  • 缓冲区溢出

    • 缓冲区是一种概称,指预留的一块内存空间。在这个例子中超过十个字符的密码就会溢出缓冲区、覆盖掉相邻的数据,有时就会导致系统崩溃,因为重要值被垃圾数据覆盖了。而攻击者可以更巧妙地利用这个漏洞,注入有意义的新值到程序的内存中,比如"is_admin"的值改成true,这样就有了任意修改内存的能力。黑客可以绕过“登录”之类的东西甚至使用那个程序劫持整个系统。
  • 边界检测

    • 防止缓存区溢出的方法之一。
    • 方法:复制之前检查长度
  • 代码注入

    • SQL——结构查询语言
    • 将"SQL命令"输入到用户名里面,第一条执行的命令就是就是查询username是whatever的用户,由于不清楚这个用户名是否存在且也不知道密码,所以服务器会拒绝。然后注入了下一个命令drop table users,意思就是删除users这张表。这就导致存储所有用户数据的表users直接被删除了,从而制造混乱
  • 零日漏洞

    • 如果软件制造者不知道软件有新漏洞被发现了,那么这个漏洞就会被称为零日漏洞
  • 计算机蠕虫

    • 如果有足够多的电脑有漏洞,让恶意程序可以在电脑之间互相传播,这些恶意程序就叫做计算机蠕虫
  • 僵尸网络

    • 如果黑客拿下大量电脑,这些电脑可以组成一个僵尸网络。僵尸网络可以用于很多目的,比如大量发送垃圾邮件,使用他人电脑的计算能力和电费挖矿,发起拒绝服务攻击 (DDoS)来攻击服务器

33.加密

  • 多层防御

    • 由于不存在完全安全的系统。总会有漏洞存在,所以系统架构师会部署多层防御,用多层不同的安全机制来阻碍攻击者
  • 加密

    • 为了加密信息,要用加密算法把明文转为密文。将明文转为密文叫加密,把密文恢复回明文叫解密。
  • 替换加密

    • 凯撒加密
      • 把信件中的字母向后移动N个位置(比如A变成D)。
        • 为了解密,接收者要知道:
          1.用了什么算法
          2.要偏移的字母位数
  • 移位加密

    • 列位移加密
      • 把明文填入5*5表格,按不同顺序读,得到不同的暗文
        解密的关键在于收信人需要知道读取方向和网格大小。
  • 加密机

    • 到了1900年代,人们用密码学做了加密机器。其中最有名的是德国的英格玛,纳粹在战时用英格玛加密通讯信息。Enigma是一台像打字机的机器,有键盘和灯板,两者都有完整的字母表。而且它有一系列"转子",是加密的关键。(机制:替换加密)
  • 数据加密标准

    • 早期加密算法中,应用最广泛的是IBM和NSA于1977年开发的数据加密标准(DES)。DES最初使用的是56bit长度的二进制密钥 ,因此有2^56 个不同的密钥,当时只有NSA有能力暴力破解
  • 高级加密标准

    • 高级加密标准(AES)。AES使用更长的密钥——128位/192位/256位,使得暴力破解更加困难。
    • 原理:AES将数据切成一块一块,每块16字节,然后用密钥进行一系列替换加密和移位加密。然后加上一些其他操作进一步加密信息,每一块数据会重复这个过程10次或以上。
  • 密钥互换

    • 密钥交换是一种不发送密钥,但依然让两台计算机在密钥上达成共识的算法。我们可以使用单向函数来做到这一点。

      • 单向函数与密钥加密的原理

      2.双方交换颜色
      3.

      最终双方都获得了同样的颜色(密钥),外窥者可以知道部分信息,但无法知道最终颜色

    • "Diffie-Hellman 密钥交换 "是建立共享密钥的一种方法

      • 双方用一样的密钥加密和解密消息,这叫"对称加密 "(凯撒加密,英格玛,AES)
  • 非对称加密

    • 有两个不同的密钥,一个公开,一个私有。用公钥加密,用私钥解密。
  • 非对称加密算法

34.机器学习与人工智能

  • 分类(判断)

    • 分类器

      • 特征
      • 标记数据
    • 决策边界

    • 混淆矩阵

      • 记录正确与错误的次数的表,叫做混淆矩阵
    • 未标签数据

      • 新加入且未被AI判断的数据
  • 决策树

  • 支持向量机

    • 本质上是用任意线段来切分决策空间,不一定是直线
  • 人工神经网络

    • 深层神经网络(最近才成为可能,得益于强大的处理器和超快的CPU)
  • 深度学习

    • 深度学习的概念源于人工神经网络的研究,含多隐层的多层感知器就是一种深度学习结构,是机器学习中一种基于对数据进行表征学习的方法

    • 隐藏层可以不止一层

  • 弱AI,窄AI

    • 弱AI :指不能制造出真正地推理和解决问题的智能机器
    • 窄AI:是指那些特别擅长处理单一任务或者特定范围内工作的系统
  • 强化学习

    • 学什么管用,什么不管用,自己发现成功的策略

35.计算机视觉

  • 检测垂直边缘的算法

    • 某像素是垂直边缘的可能性,取决于左右两边像素的颜色差异程度
  • 核/过滤器

    • 里面的数字用来做像素乘法,总和存到中间像素中(得到的值若小则不认为是边缘)
    • 不同核的图像转化(可以根据目的自行设计核)
      1.锐化图像

      2.模糊图像
  • 卷积

    • 核应用于像素块,这种操作叫作卷积
    • 卷积神经网络
      • 用多层神经元处理器处理图像数据,直到某一层把所有特征放到一起,识别出这是脸
  • Prewitt算子

    • 水平边缘垂直边缘增强的核叫"Prewitt算子"
  • 人脸检测

    • 扫描时一个窗口内不同的核同时计算,找到人脸的特征组合
  • 跟踪全身的标记点

    • 识别出人脸后,用更专业的计算机视觉算法来定位面部标志
      • 情感识别算法
        • 识别眼睛与眉毛的相对位置,嘴的标记点,让电脑知道用户的心情,然后做出合适的行为
    • 可以用于生物识别

36.自然语言处理(NLP)

  • 词性

    • 名词,动词,形容词,介词,副词,代词,冠词,连词,感叹词。
  • 短语结构规则

    • 为了让计算机也知道语法,因此开发了"短语结构规则"来代表语法规则
      • 分析树
        • 给每个单词表明可能的词性,也表明了句子的结构。数据块更小,更容易处理
  • 准确度最高的语音识别系统,使用深度神经网络训练

  • 谱图

    • 横轴为时间,纵轴为不同频率的振幅,颜色越亮 ,那个频率的声音越大 。信号的螺纹图案,为声道的回声
    • 从底向上看的高峰,叫共振峰
    • 计算机可以通过共振峰的高度,识别元音,然后识别整个词
  • 快速傅里叶变换(FFT)

    • 波形到频率的转换,谱图就是用这种算法做的
  • 音素

    • 构成单词的声音片段,英语中大概有44种音素
  • 语音合成

    • 把一段文字分解为多个声音,然后播放这些声音

40.奇点,天网,计算机的未来

  • 计算机算力发展图
  • 奇点
    • 智能科技的失控性发展叫"奇点"
  • 复杂度刹车
    • 随着复杂度的增加,进步会越来越难
  • 工作象限图

思维导图

图太大了,只能分段截图,观感太差了。由于博客上传不了HTML文件 + .txt格式转化为.html格式后点开后格式错误
所以把整个思维导图的.html文件传到github库里了 点击传送至我的Github库下载后双击即可食用 交互式HTML思维导图





posted @ 2023-02-16 04:13  LssRyan  阅读(80)  评论(0编辑  收藏  举报