寒假作业(二)
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzzcxy/2023learning |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzzcxy/2023learning/homework/12898 |
这个作业的目标 | <听懂课> |
|
github地址:
学习要点:
十八 操作系统
操作系统(OS)
操作系统也是一种程序,不过它有操作硬件的特殊权限,可以运行和管理其他程序。
批处理
一个程序运行后会自动运行下一个程序。
外部设备
和计算机连着的其他设备,如打印机。
设备驱动程序
为了使所写程序和不同类型的电脑兼容,我们需要操作系统充当软件和硬件之间的媒介,更具体地说,操作系统提供程序编程接口(API)来抽象硬件,叫“设备驱动程序”。程序员可以用标准化机制,和输入输出硬件(I/O)交互。
多任务处理
操作系统能使多个程序在单个CPU上同时进行的能力,叫做“多任务处理”
虚拟内存
多程序处理带来了一个程序所占用内存可能不连续的问题,导致程序员难以追踪一个程序,为了解决这个问题操作系统会把内存地址虚拟化,这叫“虚拟内存”。
动态内存分配
虚拟内存的机制使程序的内存大小可以灵活增减,叫做“动态内存分配”,对程序来说,内存看上去是连续的。
内存保护
给每个程序分配单独的内存,那当这个程序出现混乱时,它不会影响到其他程序的内存,同时也能有效地防止恶意程序篡改其他程序,这叫做内存保护。
多用户分时操作系统(Multics)
用来处理多用户同时使用一台计算机的情况,即每个用户只能用一小部分处理器,内存等。
Unix
把操作系统分成两个部分,一个是操作系统的核心部分,如内存管理,多任务和输入/输出处理,这叫做“内核”,第二部分是一堆有用的工具,比如程序和运行库。
十九 内存和储存介质(存储技术的发展)
纸卡 纸带
问题:读取慢 难修改 难存临时值
延迟线存储器
利用线的延迟在线里存储数据,又叫顺序存储器或者循环存储器。(存在问题:1 不能随意调出数据 2 难以增加内存密度)
磁芯
利用电磁感应原理(问题 成本高)
磁带
问题 访问速度慢
磁鼓
硬盘
内存层次结构
在计算机中,高速昂贵和低速便宜的内存混合使用以取得一个平衡
软盘
除了磁盘是软的,其他都和硬盘一样,好处是便携
光盘
原理:光盘表面有很多小坑,造成光的不同反射,光学传感器会捕获到,并解码为 1 和 0
固定硬盘(SSD)
里面是集成电路
二十 文件系统
为什么要采用文件格式:
可以随便存文件数据,但按格式存会更方便
TXT 文本文件
用ASCII解码
WAV 音频文件
记录的是振幅
BMP 图片文件
记录每个像素的红绿蓝 RGB 值
目录文件:用来解决多文件问题,存其他文件的信息,比如开头,结尾,创建时间等
平面文件系统 - Flat File System文件都在同一个层次,早期空间小,只有十几个文件,平面系统够用
解决文件紧密的排序造成的问题
- 把空间划分成一块块
- 文件拆分存在多个块里
碎片整理
文件的增删改查会不可避免的造成文件散落在各个块里,如果是磁带这样的存储介质就会造成 问题,所以需要碎片整理——计算机把文件内容调换位置
分层文件系统 - Hierarchical File System
有不同文件夹,文件夹可以层层嵌套
二十一 压缩
压缩的好处
能存更多文件,传输也更快
游程编码 Run-Length Encoding
适合经常出现相同值的文件
无损压缩 Lossless compression
没有损失任何数据的压缩。
霍夫曼树 Huffman Tree和字典编码 Dictionary coders
一种高效的编码模式
感知编码 Perceptual coding和有损压缩 jpeg 格式
删掉人类无法感知的数据的有损压缩方法,叫做“感知编码”,如音频文件,人类听不到超声波,所以可以舍去,MP3就是音频的一种压缩形式。
时间冗余 Temporal redundancy
一个视频由很多图片构成,其中很多图片的背景一样,这就构成了时间冗余,很多视频编码格式,只存变化的部分。进阶的视频压缩模式会找到帧与帧的相似性,然后打补丁,MPEG-4 是视频压缩的常见标准。
二十二 课 命令行界面
人机交互 (Human-Computer Interaction)发展史
计算机早期同时输入程序和数据(用纸卡/纸带)运行开始直到结束,中间没有人类进行操作,原因是计算机很贵,不能等人类慢慢输入,执行完结果打印到纸上 到1950年代,计算机足够便宜+快,人类和计算机交互式操作变得可行为了让人类输入到计算机,改造之前就有的打字机,变成电传打字机 到1970年代末,屏幕成本足够低,屏幕代替电传打字机,屏幕成为标配
人机交互工具的变化
1 早期输出数据是打印到纸上,而输入是用纸卡/纸带一次性把程序和数据都给进去2 QWERTY 打字机的发展3 电传打字机 Teletype machine 作用:用于发电报,使两人可以远距离沟通
命令行界面 Command line interface
输入命令,计算机会给予回应
二十三 屏幕与 2D 图形显示
PDP-1 计算机、键盘和显示器分开,屏幕显示临时值
阴极射线管 Cathode Ray Tube (CRT) CRT
有两种绘图方式: 矢量扫描 Vector Scanning 光栅扫描 Raster Scanning02:14
液晶显示器 Liquid Crystal Displays (LCD),像素 (Pixel)
随着显示技术的发展,出现了LCD,LCD 也用光栅扫描。在屏幕上显示的清晰的点,叫"像素"
字符生成器 Character generator
相比于像素,为了减少内存,人们更喜欢使用字符,计算机需要额外硬件,来从内存读取字符,转换成光栅图形 \N 这样才能显示到屏幕上个硬件叫 "字符生成器",基本算是第一代显卡。它内部有一小块只读存储器,简称 ROM,存着每个字符的图形,叫"点阵图案",。
屏幕缓冲区 Screen buffer
为了显示,"字符生成器" 会访问内存中一块特殊区域 这块区域专为图形保留,叫 屏幕缓冲区,程序想显示文字时,修改这块区域里的值就行。
矢量命令画图
所有东西都由线组成,矢量指令可以画出线,把许多矢量指令存在硬盘上,就能画出很多由线组成的复杂图形。
Sketchpad, 光笔 (Light pen),位图显示和画矩形
Sketchpad ,一个交互式图形界面,用途是计算机辅助设计 (CAD)。
光笔,就是一个有线连着电脑的触控笔,有了它们,用户可以画出很完美的线条并进行缩放等操作。位图显示,内存中的位对应着屏幕上显示的像素。想画更复杂的图形,如画矩形,我们需要四个值,起点的x y坐标,高度和宽度。
二十六 图形用户界面 (GUI)
二十八 计算机网络
1.局域网 Local Area Networks - LAN
计算机近距离构成的小型网络,叫局域网(LAN),以太网是经典的局域网
2.媒体访问控制地址 Media Access Control address - MAC
用于确认局域网和WiFi传输的对象
3.载波侦听多路访问 Carrier Sense Multiple Access - CSMA
多台电脑共享一个传输媒介,叫做载波侦听多路访问,共享媒介又称载体,如WiFi的载体是空气,以太网的载体是电线。载体传输数据的速度叫带宽,
4.指数退避 Exponential Backoff
当多台计算机同时想要传输数据时,就会发生冲突,当计算机检测到冲突 就会在重传之前等待一小段时间,,这一段时间包括固定时间+随机时间,再次堵塞时固定时间将会指数级增加,这叫做指数退避。
5.冲突域 Collision Domain
载体和其中的设备总称为“冲突域”,为了避免冲突,可以用交换器07:08 电路交换 Circuit Switching缺点:不灵活且数量昂贵
6. 报文交换 Message Switching
报文的具体格式简称IP,每一个电脑都会有一个IP地址好处,可以用不同路由,通信更可靠也更能容错。坏处,当报文比较大的时候,会堵塞线路。解决方法是 将大报文分成很多小块,叫"数据包",来进行运输,这叫“分组交换”。路由器会平衡与其他路由器之间的负载 以确保传输可以快速可靠,这叫"阻塞控制"消息沿着路由跳转的次数 叫"跳数"(hop count),看到哪条线路的跳数很高,说明出了故障,这叫跳数限制。
二十九 互联网
1.电脑连接互联网的过程
你所用的电脑首先要连接到局域网,家里WiFi路由器连着的所有设备,组成了局域网,局域网再连到广域网(WAN),广域网的路由器一般属于你的互联网服务提供商(ISP),再连更大的WAN,往复几次,最后连到互联网主干。
2.IP - 互联网协议 - Internet Protocol
IP负责把数据包送到正确的计算机
3. UDP - 用户数据报协议 - User Datagram ProtocolUDP
负责把数据包传送到正确的程序,有端口号(哪个程序),校验和(数据是否损坏)
4.校验和 - ChecksumUDP
校验和只有16位,超过这个数,弃高位。
5.TCP - 传输控制协议 - Transmission Control Protocol
如果要控制所有数据必须到达,就用传输控制协议TCP的特点 (1.控制发送的文件按顺序到达.2 要求接收方确认无误后发送确认码(ACK),确认码的成功率和来回时间可以用来推测网络的拥堵程度,TCP可以根据这个调整传输率。由于这个特点,TCP对时间要求高的程序不适用)
6 DNS - 域名系统Domain Name System
计算机访问网站时需要两样,IP地址和端口号,但记数字很难,所以互联网通过域名系统把域名和IP地址一一对应。域名系统是树状结构
OSI - 开放式系统互联通信参考模型 - Open System Interconnection
三十 万维网(WWW)
1.基本单位万维网在互联网上运行,它的基本单位是页面
2.超链接 Hyperlinks
点超链接可以去到另一个页面,文字超链接又叫超文本超链接工作过程中示意
3.状态码
状态码代表所访问网页的状态
4.URL - 统一资源定位器 - Uniform Resource Locator
网页的唯一网址
5.HTTP - 超文本传输协议 - HyperText Transfer Protocol
6.HTML - 超文本标记语言 - HyperText Markup Language
7.万维网发展史
1 第一个浏览器和服务器是 Tim Berners-Lee 花了 2 个月在 CERN 写的2 1991年万维网就此诞生3 Jerry 和 David 的万维网指南 后来改名成 Yahoo4 搜索引擎 JumpStation(包括爬虫 索引 用法)5 搜索引擎 Google 改进排序方法,按照链接指向的多少来排序
8.网络中立性
平等地对待每个数据包
三十一 计算机安全
1. 保密性, 完整性, 可用性 Secrecy, Integrity, Availability
计算机为了安全,要实现三性
保密性:只有有权限的人,才能读取计算机系统和数据
完整性:只有有权限的人,才能使用和修改系统和数据
可用性:有权限的人,可以随时访问计算机系统和数据
2.Threat Model 威胁模型
为了实现这三个目标,安全专家会从 \N 抽象层面想象"敌人"可能是谁,这叫"威胁模型分析",模型会对攻击者有个大致描述:\N 能力如何,目标可能是什么,可能用什么手段,攻击手段又叫"攻击矢量","威胁模型分析"让你能为特定情境做准备,不被可能的攻击手段数量所淹没。
很多安全问题可以总结成两个:你是谁?你能访问什么?
3.身份验证 (Authentication) 的三种方式:
What you know, 你知道什么
What you have, 你有什么
What you are, 你是什么
4.访问控制 Access ControlBell LaPadula model
不能向上读取,不能向下写入
5.安全内核
安全内核应该有一组尽可能少的操作系统软件,和尽量少的代码。
6.独立安全检查和质量验证
最有效的验证手段
7.隔离 Isolation, 沙盒 Sandbox
三十二 黑客与攻击
1.社会工程学 Social Engineering
欺骗别人获得信息,或让人安装易于攻击的系统
2.钓鱼 Phishing
3.假托 Pretexting
4.木马 Trojan Horses
5.NAND镜像 NAND Mirroring
来避免输错密码后等待
6.漏洞利用 Exploit
7. 缓冲区溢出Buffer Overflow
一种常见的漏洞利用.
8.边界检查 Bounds Checking和金丝雀
防止缓冲区溢出的手段,金丝雀,留出一些不用的空间,当空间变少时,说明有攻击者乱来。
9. 代码注入 Code Injection
把代码注入到程序中,造成混乱
10.零日漏洞 Zero Day Vulnerability
当软件制造者不知道软件有新漏洞被发现了,这个漏洞被称为“零日漏洞”
11.计算机蠕虫 Worms
如果有足够多的电脑有漏洞,让恶意程序可以在电脑间互相传播,这种恶意程序叫做蠕虫
12.僵尸网络 Botnet
如果黑客掌握足够多电脑,那他们可以组成“僵尸网络”
三十三 加密
1. 加密 - Encryption,解密 - Decryption
2. 密钥交换 - Key exchange
用颜色来举例"单向函数"和"密钥加密"的原理实例:迪菲-赫尔曼密钥交换 - Diffie-Hellman Key Exchange用模幂计算来得到秘钥
3. 非对称加密 - Asymmetric encryption
以上的例子,双方用一样的秘钥加密和解密信息,叫对称解密。也可以人们用公钥加密信息,只有有私钥的人能解密,或者反过来,这叫非对称解密。最有名的非对称加密算法是RSA
三十四 机器学习与人工智能以区分飞蛾为例
1. 分类 Classification
2.做分类的算法 分类器 Classifier
3.用于分类的值是特征 Feature
4. 特征值+种类叫做标记数据 Labeled data标记数据
5. 决策边界 Decision boundaries
6.混淆矩阵 Confusion matrix右下角表为混淆矩阵
7. 决策树 Decision tree
8.支持向量机 Support Vector Machines
本质上是用任意线段来切分决策空间,不一定是直线。
9.人工神经网络 Artificial Neural Network
不用统计学的算法。模拟人类学习的过程,将数据进行加权求和修正等一系列处理。
10.深度学习 Deep learning
得名原因:有很多的隐藏层
11. 弱AI, 窄AI Weak AI, Narrow AI
只能做指定内容的内容
12. 强AI Strong AI
通用的,和人一样智能的AI叫做强AI,目前没有人能做到。
13.强化学习 Reinforcement Learning
学习什么管用,什么不管用,自己发现成功的策略,这叫强化学习。
三十五 计算机视觉
1.颜色跟踪算法——跟踪一个像素
2. 检测垂直边缘的算法
物体的边缘有多个色素,不适合颜色跟踪算法。要识别边缘,可以判断其两边像素的颜色差异程度
3. 核/过滤器 kernel or filter
用来检测垂直边缘的算法的数学符号,
4. 卷积 convolution
把核应用于像素块
5.Prewitt 算子 Prewitt Operators水平和垂直边缘增强的核叫Prewitt 算子
6. 维奥拉·琼斯 人脸检测 Viola-Jones Face Detection
7.卷积神经网络 Convolutional Neural Networks
用一层层不同的核来识别复杂场景,用脸来举例,先识别边缘,然后形状,器官...直至某一层把所有特征堆积在一起,识别出脸之后,可以进一步用其他算法定位面部标志,如眼睛和眉毛具体位置,从而判断心情等信息
三十六 自然语言处理 NLP
1.过程
通过词性 Parts of speech和短语结构规则 Phrase structure rules构建分析树 Parse tree,并结合语言模型 Language Model来实现语音识别 Speech recognition
2.实现原理:
快速傅立叶变换 Fast Fourier Transform,把波形转换成频率
3. 音素 Phonemes
构成单词的声音片段
4.语音合成 Speech Synthesis
四十 奇点,天网,计算机的未来
1. 普适计算 Ubiquitous Computing
计算机融入生活的方方面面
2.奇点 Singularity
智能科技的失控性发展
3.把工作分为4个象限,讨论自动化带来的影响
4.机器人的存在时间可能长过人类,可以长时间探索宇宙
学习心得
听课的过程中,我明白了计算机在我们生活中的重要性,并且了解了它的演变以及如何更好的服务我们,此外,我觉得在信息时代网络是双面性的,服务我们的同时我们也要提防信息的泄露
视频评论区阅读心得
听课时观看评论区的交流,可以与我学的知识产生共鸣,形成良好的闭环,使学习的知识和内容更加巩固,发现学习的乐趣。
《计算机导论》课程学习思维导图