第五课:集成电路与摩尔定律(硬件的发展)、操作系统、内存和储存介质(存储技术的发展)、文件系统、压缩、命令行界面及屏幕与 2D 图形显示

第五课:集成电路与摩尔定律(硬件的发展)、操作系统、内存和储存介质(存储技术的发展)、文件系统、压缩、命令行界面及屏幕与 2D 图形显示

各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料!

第十七章:集成电路与摩尔定律(硬件的发展)

1、分立元件与数字暴政

一开始,计算机都有独立组件构成,叫"分立元件 ",然后不同组件再用线连在一起,这会导致计算机的构成很复杂,这个问题叫做数字暴政

2、集成电路与仙童半导体

封装复杂性:与其把多个独立部件用电线连起来,拼装出计算机,不如把多个组件包在一起,变成一个新的独立组件。

这种新的独立组件就叫集成电路(IC),仙童半导体(用硅做成)让集成电路变成了现实。为了不用焊接或用一大堆线,发明了印刷电路板(PCB),他通过蚀刻金属线的方式把零件连接到一起。

3、光刻0421

即用光把复杂图案印到材料上。我们把一片薄片状的硅叫做晶圆,通过一系列生产步骤,将晶圆表面薄膜的特定部分除去的工艺叫做光刻

光刻组件示意图如下:

光刻成品示意图如下:

4、摩尔定律

每两年左右,得益于材料和制造技术的发展,同样大小的空间,能塞进两倍数量的晶体管。

5、进一步小型化会碰到的问题

  1. 由于光的波长限制,精度已到极限。
  2. 量子隧穿效应:当晶体管非常小,电极之间可能只距离几个原子,电子会跳过间隙,会产生漏电问题。

第18章:操作系统

1、操作系统(OS)

操作系统也是一种程序,不过它有操作硬件的特殊权限,可以运行和管理其他程序。

2、批处理

一个程序运行后会自动运行下一个程序。

3、外部设备

和计算机连着的其他设备,如打印机。

4、设备驱动程序

为了使所写程序和不同类型的电脑兼容,我们需要操作系统充当软件和硬件之间的媒介,更具体地说,操作系统提供程序编程接口(API)来抽象硬件,叫"设备驱动程序"。程序员可以用标准化机制,和输入输出硬件(I/O)交互。

5、多任务处理

操作系统能使多个程序在单个CPU上同时进行的能力,叫做"多任务处理"。

6、虚拟内存

多程序处理带来了一个程序所占用内存可能不连续的问题,导致程序员难以追踪一个程序,为了解决这个问题操作系统会把内存地址虚拟化,这叫"虚拟内存"。

7、动态内存分配

虚拟内存的机制使程序的内存大小可以灵活增减,叫做"动态内存分配",对程序来说,内存看上去是连续的。

8、内存保护

给每个程序分配单独的内存,那当这个程序出现混乱时,它不会影响到其他程序的内存,同时也能有效地防止恶意程序篡改其他程序,这叫做内存保护。

9、多用户分时操作系统(Multics)

用来处理多用户同时使用一台计算机的情况,即每个用户只能用一小部分处理器,内存等。

10、Unix

把操作系统分成两个部分,一个是操作系统的核心部分,如内存管理,多任务和输入/输出处理,这叫做"内核",第二部分是一堆有用的工具,比如程序和运行库。

第十九章:内存和储存介质(存储技术的发展)

1、纸卡 纸带

问题:读取慢、难修改、难存临时值

2、延迟线存储器

利用线的延迟在线里存储数据,又叫顺序存储器或者循环存储器。

存在问题:

1.不能随意调出数据

2.难以增加内存密度

3、磁芯

原理:电磁感应

问题:成本高

4、磁带

问题:访问速度慢

5、磁鼓

与磁带相似

6、硬盘

与磁带相似

7、内存层次结构

在计算机中,高速昂贵和低速便宜的内存混合使用以取得一个平衡。

8、软盘

除了磁盘是软的,其他都和硬盘一样,好处是便携。

9、光盘

原理:光盘表面有很多小坑,造成光的不同反射,光学传感器会捕获到,并解码为1和0。

10、固定硬盘(SSD)

里面是集成电路

第二十章:文件系统

为什么要采用文件格式

可以随便存文件数据,但按格式存会更方便。

1、TXT 文本文件

用ASCII解码。

2、WAV 音频文件

记录的是振幅。

3、BMP 图片文件

记录每个像素的红绿蓝 RGB 值

4、目录文件

用来解决多文件问题,存其他文件的信息,比如开头,结尾,创建时间等。

5、平面文件系统 - Flat File System

文件都在同一个层次,早期空间小,只有十几个文件,平面系统够用。

6、解决文件紧密的排序造成的问题

  1. 把空间划分成一块块
  2. 文件拆分存在多个块里

7、碎片整理

文件的增删改查会不可避免的造成文件散落在各个块里,如果是磁带这样的存储介质就会造成问题,所以需要碎片整理------计算机把文件内容调换位置。

8、分层文件系统 - Hierarchical File System

有不同文件夹,文件夹可以层层嵌套。

第二十一章:压缩

压缩的好处

能存更多文件,传输也更快

1、游程编码 Run-Length Encoding

适合经常出现相同值的文件,以吃豆人游戏为例:


2、无损压缩 Lossless compression

没有损失任何数据的压缩。

3、霍夫曼树 Huffman Tree和字典编码 Dictionary coders

一种高效的编码模式,以压缩图片为例。



4、感知编码 Perceptual coding和有损压缩 jpeg 格式

删掉人类无法感知的数据的有损压缩方法,叫做"感知编码",如音频文件,人类听不到超声波,所以可以舍去,MP3就是音频的一种压缩形式。

有损压缩的一个例子就是jpeg模式,如图:


5、时间冗余 Temporal redundancy

一个视频由很多图片构成,其中很多图片的背景一样,这就构成了时间冗余,很多视频编码格式,只存变化的部分。进阶的视频压缩模式会找到帧与帧的相似性,然后打补丁,MPEG-4 是视频压缩的常见标准。

第二十二章:命令行界面

1、人机交互(Human-Computer Interaction)发展史

计算机早期同时输入程序和数据(用纸卡/纸带)运行开始直到结束,中间没有人类进行操作,原因是计算机很贵,不能等人类慢慢输入,执行完结果打印到纸上。

到1950年代,计算机足够便宜+快,人类和计算机交互式操作变得可行为了让人类输入到计算机,改造之前就有的打字机,变成电传打字机。

到1970年代末,屏幕成本足够低,屏幕代替电传打字机,屏幕成为标配。

2、人机交互工具的变化

  1. 早期输出数据是打印到纸上,而输入是用纸卡/纸带一次性把程序和数据都给进去。
  2. QWERTY 打字机的发展
  3. 电传打字机 Teletype machine
    作用:用于发电报,使两人可以远距离沟通。

3、命令行界面 Command line interface

输入命令,计算机会给予回应。

第二十三章:屏幕与 2D 图形显示

1、PDP-1 计算机、键盘和显示器分开,屏幕显示临时值

2、阴极射线管 Cathode Ray Tube (CRT)

CRT 有两种绘图方式:

矢量扫描 Vector Scanning

光栅扫描 Raster Scanning

3、液晶显示器 Liquid Crystal Displays (LCD),像素 (Pixel)

随着显示技术的发展,出现了LCD,LCD 也用光栅扫描。在屏幕上显示的清晰的点,叫"像素"。

4、字符生成器 Character generator

相比于像素,为了减少内存,人们更喜欢使用字符,计算机需要额外硬件,来从内存读取字符,转换成光栅图形\N 这样才能显示到屏幕上个硬件叫"字符生成器",基本算是第一代显卡。它内部有一小块只读存储器,简称 ROM,存着每个字符的图形,叫"点阵图案"。

5、屏幕缓冲区 Screen buffer

为了显示,"字符生成器"会访问内存中一块特殊区域,这块区域专为图形保留,叫屏幕缓冲区,程序想显示文字时,修改这块区域里的值就行。

6、矢量命令画图

概念非常简单:所有东西都由线组成,矢量指令可以画出线,把许多矢量指令存在硬盘上,就能画出很多由线组成的复杂图形。

7、Sketchpad,光笔(Light pen),位图显示和画矩形

Sketchpad ,一个交互式图形界面,用途是计算机辅助设计 (CAD)。

光笔,就是一个有线连着电脑的触控笔,有了它们,用户可以画出很完美的线条并进行缩放等操作。

位图显示,内存中的位对应着屏幕上显示的像素。

想画更复杂的图形,如画矩形,我们需要四个值,起点的x y坐标,高度和宽度。

相关推荐
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB6 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode7 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220708 天前
如何搭建本地yum源(上)
运维
大树8811 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质11 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务