计算机导论学习记录(三)
这个作业的目标 | <学习内容的系列记录> |
---|---|
这个作业属于哪个课程 | 计算机导论 |
这个作业要求在哪里 | https://www.bilibili.com/video/BV1EW411u7th/?spm_id_from=333.337.search-card.all.click&vd_source=2d58080e4c0c391c5f011713fd8b09b4 |
学习内容的系列记录(三)
一、知识要点(操作系统与文件系统与计算机网络)
1、操作系统
- 操作系统简称OS,实质上也是程序,它有操作硬件的特殊权限,可以运行和管理其他程序。操作系统一般是开机启动的第一个程序,其他所有程序都由操作系统启动。
- 批处理:有了OS后,当计算机运行完一个程序,会自动运行下一个程序,这叫批处理。
- 设备驱动程序:我们需要操作系统充当软件和硬件之间的媒介,操作系统提供程序编程接口(API)来抽象硬件,叫设备驱动程序。程序员可以用标准化机制,和输入输出硬件(I/O)交互。
- 多任务处理:操作系统能使多个程序在单个CPU上同时进行的能力,叫做多任务处理。
- 虚拟内存:为了隐藏不连续的内存块,操作系统会把内存地址进行虚拟化,这叫虚拟内存,程序可以假定内存总是从地址0开始。
- 动态内存分配:使程序的内存大小可以灵活增减,对程序来说,内存看上去是连续的。
- 内存保护:给每个程序分配单独的内存,那当这个程序出现混乱时,它不会影响到其他程序的内存,同时也能有效地防止恶意程序篡改其他程序。
- 多用户分时操作系统:用来处理多用户同时使用一台计算机的情况,即每个用户只能用一小部分处理器,内存等。
- Unix
- 内核:是操作系统的核心部分,如内存管理,多任务和输入/输出处理。
- 工具:不是内核的一部分,比如程序和运行库。
2、内存&储存介质
- 打孔纸带:不耗电,便宜耐用,但是读取慢,难修改,难存临时值。
- 延迟线储存器:利用线的延迟在线里存储数据,又叫顺序存储器或者循环存储器。但是不能随意调出数据,而且难以增加内存密度。
- 磁芯:可以随意调出数据,而且可以增加内存密度,但是价格昂贵,成本高。
- 磁带:磁带便宜,而且可以存比较大的内存,但是访问速度慢。 磁鼓和磁盘都和磁带相似。
- 内存层次结构:在计算机中,高速昂贵和低速便宜的内存混合使用以取得一个平衡。
- 软盘:便携,除了磁盘是软的,其他都和硬盘一样。
- 光盘:光盘表面有很多小坑,造成光的不同反射,光学传感器会捕获到,并解码为 1 和 0。
- 硬盘以及U盘里面是集成电路。
3、文件系统
- 文件格式:可以随便存文件数据,但按格式存会更方便。
- 文本文件:TXT文件。
- 波形文件:也叫WAV,它存音频数据。文件头:是存在文件开头的元数据。记录的是振幅。
- BMP图片文件:记录每个像素的红绿蓝 RGB 值。
- 目录文件:用来解决多文件问题,存其他文件的信息,比如开头,结尾,创建时间等。
- 文件系统:文件系统专门负责管理文件,文件都在同一个层次,早期空间小,只有十几个文件,平面系统够用。
- 现代文件系统
- 把空间划分为一块块,使一些预留空间可以方便改动,同时也方便管理。
- 拆分文件,存在多个块里。只要分配块,文件可以轻松增大缩小。
- 碎片整理:文件的增删改查会不可避免的造成文件散落在各个块里,如果是磁带这样的存储介质就会造成问题,所以需要碎片整理——计算机把文件内容调换位置。
- 分层文件系统:就是文件里套文件。最开头的文件叫根文件。
4、压缩
- 无损压缩:没有损失任何数据的压缩,可以恢复原数据
- 游程编码:适合经常出现相同值的文件,比如在图像文件中,每个颜色前可以插入一个额外字节,代表有n个连续的颜色像素。
- 霍夫曼树和字典编码
- 霍夫曼树:列出所有块和出现的频率,每轮选两个最低的频率,进行多轮组合,把他们组合成一棵树就完成了。
- 字典编码:把霍夫曼树中的每个分支用0和1标注,就可以生成字典了。字典编码是绝对不会冲突,因为每条路径是唯一的。这意味着代码是无前缀的。
- 有损压缩:处理掉一些人类无法察觉的数据。
- 感知编码:删掉人类无法感知的数据的有损压缩方法。如音频文件,人类听不到超声波,所以可以舍去,MP3就是音频的一种压缩形式。
- 时间冗余:一个视频由很多图片构成,其中很多图片的背景一样,这就构成了时间冗余,很多视频编码格式,只存变化的部分。进阶的视频压缩模式会找到帧与帧的相似性,然后打补丁,MPEG-4 是视频压缩的常见标准。
5、命令行界面
-
人机交互发展史
-
计算机早期同时输入程序和数据(用纸卡/纸带),运行开始直到结束,中间没有人类进行操作,原因是计算机很贵,不能等人类慢慢输入,执行完结果打印到纸上 。
-
1950年代,计算机足够便宜和快,人类和计算机交互式操作变得可行
为了让人类输入到计算机,改造之前就有的打字机,变成电传打字机。
-
1970年代末,屏幕成本足够低,屏幕代替电传打字机,屏幕成为标配。
-
人机交互工具的变化
- 早期输出数据是打印到纸上,而输入是用纸卡/纸带一次性把程序和数据都给进去。
- 电传打字机作用是用于发电报,使两人可以远距离沟通。
- QWERTY 打字机,因为人们已经习惯QWERTT打字机,所以后面就没有改变。
-
命令行界面:输入命令,计算机会给予回应。
6、屏幕&2D图形显示
- PDP-1:计算机、键盘和显示器分开,屏幕显示临时值。
- 阴极射线管(CRT)
- 矢量扫描:引导电子束描绘出形状。
- 光栅扫描:按固定路径,一行行来,从上向下,从左到右,不断重复。
- 液晶显示器(LCD):随着显示技术的发展,出现了LCD,LCD 也用光栅扫描。在屏幕上显示的清晰的点,叫像素。
- 字符生成器:相比于像素,为了减少内存,人们更喜欢使用字符,计算机需要额外硬件,来从内存读取字符,转换成光栅图形 , 这样才能显示到屏幕上。这个硬件叫 字符生成器,它内部有一小块只读存储器,简称ROM,存着每个字符的图形,叫点阵图案。
- 屏幕缓冲区:为了显示,字符生成器 会访问内存中一块特殊区域,这块区域专为图形保留,叫屏幕缓冲区,程序想显示文字时,修改这块区域里的值就行。
- 矢量命令画图:所有东西都由线组成,矢量指令可以画出线,把许多矢量指令存在硬盘上,就能画出很多由线组成的复杂图形。
- CAD、光笔、位图显示和画矩形
- CAD:一个交互式图形界面,用途是计算机辅助设计。
- 光笔:就是一个有线连着电脑的触控笔,有了它们,用户可以画出很完美的线条并进行缩放等操作。
- 位图显示:内存中的位对应着屏幕上显示的像素。想画更复杂的图形,如画矩形,我们需要四个值,起点的x y坐标,高度和宽度。
7、图形用户界面(GUI)
-
GUI是事件驱动编程,代码可以在任意时间执行以响应事件,而不像传统代码一样自上而下。
-
图形界面先驱:道格拉斯·恩格尔巴特,设想计算机成为未来知识性员工应对问题的工具,并发明了鼠标。
-
1973年,完成施乐奥托 计算机——创立了桌面,窗口等计算机概念。
-
1981年的 施乐之星系统,创建了文档概念。
-
所见即所得 ——施乐打印出来的东西和计算机上一样,并发明了剪切,复制,黏贴等计算机概念。
8、计算机网络
-
球鞋网络:第一个计算机网络出现在1950~1960年代,通常在公司或实验室内部使用。第一个好处是不用抱着纸卡和纸带在房间里乱跑,第二个好处是能共享资源。
-
计算机近距离构成的小型网络叫局域网(LAN),局域网能小到是同一个房间的两台机器,大到校园里的上千台机器。以太网是经典的局域网。
-
媒体访问控制地址(MAC地址):用于确认局域网和WiFi传输的对象,防止数据被所有以太网下的设备接受。MAC地址就如同身份证上的身份证号码,具有唯一性。
-
多台电脑共享一个传输媒介,这种方法叫载波侦听多路访问(CSMA)。载体指运输数据的共享媒介。以太网的载体是铜线,WIFI的载体是传播无线电波的空气。
-
指数退避:当多台计算机同时想要传输数据时,就会发生冲突,当计算机检测到冲突 就会在重传之前等待一小段时间,,这一段时间包括固定时间+随机时间,再次堵塞时固定时间将会指数级增加,这叫做指数退避。
-
冲突域:载体和其中的设备总称为冲突域,为了避免冲突,可以用交换器,交换机位于两个更小的网络之间,必要时才在两个网络间传数据。
-
报文交换:报文的具体格式简称IP,每一个电脑都会有一个IP地址。
-
好处:可以用不同路由,通信更可靠也更能容错。
-
坏处:当报文比较大的时候,会堵塞线路。解决方法是 将大报文分成很多小块,叫数据包,来进行运输,这叫分组交换。路由器会平衡与其他路由器之间的负载 以确保传输可以快速可靠,这叫阻塞控制。
-
消息沿着路由跳转的次数 叫"跳数",看到哪条线路的跳数很高,说明出了故障,这叫跳数限制。
-
9、互联网
- 电脑连接互联网的过程:你所用的电脑首先要连接到局域网,家里WiFi路由器连着的所有设备,组成了局域网,局域网再连到广域网(WAN),广域网的路由器一般属于你的互联网服务提供商(ISP),再连更大的WAN,往复几次,最后连到互联网主干。
- IP、UDI、TPC
- IP-互联网协议:IP负责把数据包送到正确的计算机。
- UDP - 用户数据报协议: UDP负责把数据包传送到正确的程序,有端口号(哪个程序),校验和(数据是否损坏)。
- TCP - 传输控制协议:如果要控制所有数据必须到达,就用传输控制协议。
- 控制发送的文件按顺序到达。
- 要求接收方确认无误后发送确认码(ACK),确认码的成功率和来回时间可以用来推测网络的拥堵程度,TCP可以根据这个调整传输率。由于这个特点,TCP对时间要求高的程序不适用。
- DNS - 域名系统:计算机访问网站时需要两样,IP地址和端口号,但记数字很难,所以互联网通过域名系统把域名和IP地址一一对应。域名系统是树状结构。
10、万维网
- 万维网在互联网上运行,它的基本单位是页面,点超链接可以去到另一个页面,文字超链接又叫超文本。
- URL - 统一资源定位器:为了使网页能互相连接,每个网页需要一个唯一的地址,这个地址叫URL。
- HTTP - 超文本传输协议
- GET指令: 如果想要courses页面,只需向网站服务器发送指令:GET/courses,该指令以ASCLL编码发送到服务器。服务器会返回该地址对应的网页,然后浏览器会渲染到屏幕上。
- 状态码:状态码放在返回的页面前面,它反映了网页的状态,如404就是反映网页不存在。
- HTML - 超文本标记预言:能够表明什么是链接,总共有18种HTML指令。
- 万维网发展史
- 1991年,第一个浏览器和服务器是Tim Berners-Lee花了 2 个月在CERN写的,他同时建立了几个最基本的网络标准:URL、HTML和HTTP。万维网就此诞生。
- 1993年,伊利诺伊大学香槟分校的一个小组做了Mosaic浏览器,使第一个可以在文字旁边显示图片的浏览器。
- 人们为了在不知道网址的情况下能够找到想要的网站,会维护一个目录,链接到其他网站。其中最有名的叫Jerry 和 David 的万维网指南后来改名成Yahoo。
- 最早的搜索引擎Jump Station包括了爬虫索引用法。
- 搜索引擎Google改进了排序方法,按照链接指向的多少来排序。
- 网络中立性:平等的对待每个数据包,人们对此有争议。
二、学习心得
从操作系统到各个计算机组件再到互联网,我发现都是从一层层抽象而来的,学了这些发现计算机里的所有内容都是为人类而服务的,人们在打游戏、上网的时候完全没想过这后面是由多少复杂的概念和知识组合起来的。