admin 管理员组

文章数量: 887021

1.继电器

进化过程:继电器->真空管->晶体管

2.内存

算数逻辑单元ALU

输入二进制,它会执行计算

逻辑门

  1. 特殊的异或门:

  2. 使用逻辑门可以做到储存数据–>进而可以实现手搓内存;

内存

引入锁存器——是数字电路中一种具有记忆功能的逻辑元件,用于存储一位二进制信息(0或1)。通常由多个逻辑门组成,并且可以根据输入信号的状态保持或改变其输出状态。

  1. 锁存器

放入数据称为“写入”,拿出数据称为“读取”。
一个简单的锁存器一般只能储存一个 位(bit),0或1。

  1. 锁存器进化成寄存器
    寄存器是由多个锁存器组成的存储器阵列,可以存储多个位的数据。可以理解为很小的一块内存,能存一个值。

并排放置8个锁存器,可以存8位的数据,比如一个8位的数字。寄存器能存一个数字,这个数字有多少位,叫做“位宽”。

写入数据之前,需要打开来启用内存,可以使用一根线来连接所有的“允许输入线”。
比如说8位寄存器(8位内存),8条输入线,8条输出线,一条贯穿的允许写入线(是否启用内存):

可是,尽管简化了允许输入线,但是这种形式下,并排放置组成的寄存器的每个锁存器都需要2条线(数据输入和数据输出)。那么如何简化这部分?

  1. 解决方法是矩阵

如果要启用寄存器中的某个锁存器,就相应的打开行线和列线,放大每一个锁存器来看:

这种情况下,还是用一根“允许写入线”来贯穿所有的锁存器。但是想要启用某个锁存器的内存(也就是想要向里面存/取数据),就需要满足两个条件:一个是锁存器“允许写入线打开”;另一个是行线和列线被打开。
简化结果:一条“允许写入线”、一条“数据线(读/写数据经过的线)”、一条“允许读取线”,16X16=256,16条行线、16条列线。可以理解为:因为有了行线和列线的约束,其他权限线和数据线可以都设置为一条即可。
可以将允许写入线和允许读取线理解为权限线,这只是权限是否允许,具体的操作还是在数据线那里执行。

  1. 矩阵中锁存器的地址
    因为这个例子是256个锁存器排成的矩阵,16X16=256。一共16行16列,每个锁存器的地址就可以表示为(行,列)。行/列的表示使用4位足矣。例如,12行8列可以表示为(1100行,1000列),八位地址:11001000.
  2. 多路复用器

使用一个多路复用器处理行,另一个多路复用器处理列,那么我们抽象一下:

  1. 扩大规模—RAM
    RAM是一块大内存,能在不同地址上存大量数字

不断把内存打包到更大规模…
将8个256位内存并排放置,组成:

8个256内存有256个不同的地址,每个地址对应着8个位的位置,那么一个地址可以存1*8=8位=1字节的数据;总共可以存256字节数据:

内存的一个重要特性是:可以随时访问任何位置。

不同种类的RAM本质上都是矩阵的层层嵌套,来储存大量信息

3.中央处理器—CPU

  1. 主要组成:寄存器+RAM+ALU+ …
  2. 基本流程:取指令->解释->执行

4.编程方式

  1. 早期的编程方式进化过程:打孔纸卡->插线板->面板拨动开关

  2. 计算机只能理解二进制,称为“机器语言”或者“机器码”。所以在编早期,只能通过写对程序的高层次描述(伪代码),然后使用操作码表转换成机器码来进行编程

  3. 之后出现了助记符——汇编语言,通过汇编器读取使用汇编语言写的程序,然后转成机器码。汇编器能够将汇编语言转换成机器码。但是,一条汇编指令对应一条机器指令,这个时候程序员依旧需要思考用什么寄存器和内存地址;

  4. 高级语言的出现
    第一个高级语言—A-0诞生。通过编译器,一行高级语言可转换成几十条二进制机器指令。编译器专门把高级语言转换成汇编或者机器码等低级语言。需要注意的是,计算机只能直接执行机器码。
    与使用汇编语言不同,使用高级语言不用从内存取值和寄存器打交道,只需要使用内存的抽象——变量来储存数据。

5.计算机科学之父—阿兰·图灵

  1. Lambda算子证明了不存在可以回答可判定性问题的算法
  2. 阿兰·图灵发明了图灵机—具有和Lambda算子等同的数学计算力。图灵起初证明了图灵计算机理论上可以执行任何计算;然而证明了停机问题是无法解决的,所以计算机的能力有限,无论有多少时间和内存,有些问题是无法通过计算解决的。
  3. 图灵测试:如果计算机能够欺骗人类相信它是人类,才算是智能。

6.软件工程(Software Engineering)

1.打包成对象的思想——“面向对象编程
一个大的项目程序可以打包成若干函数(Function);某些相关的函数又可以分类打包成层级、对象(Object);相关的对象可以作为子对象打包成新的一个层级对象。
总的来说,对象可以包括其他对象、函数以及变量。

  1. API—Application Programming Interface

定义好的“程序编程接口”。不用知道具体细节,只要知道怎么使用就行了。API控制哪些函数和数据能够让外部访问,那些仅供内部,即设置public和private来设置权限。隐藏复杂度,选择性的公布功能。

  1. IDE—Integrated Development Environment集成开发环境
  2. Coding——码代码
  3. Debugging——调试
  4. Documentation——代码文档 README
  5. Source Control——源代码管理
  6. Check out——检查编辑代码
  7. Commit——提交代码
  8. Rolled Back——回滚版本
  9. QA——质量保证测试

7.集成电路与摩尔定律

  1. 集成电路(IC)

  2. 印刷电路板 (PCB)
    通过蚀刻金属线的方式,把零件连接到一起。把PCB和IC结合使用,可以大幅减少独立组件和电线,实现同样的功能。

  3. 全新制作工艺—光刻
    用光把复杂图案印到材料上,可以制作出更加复杂的电路


  4. 半导体、芯片和集成电路

半导体材料就是元素周期表上特定位置的元素;集成电路就是许多小的电子组件的集成;集成电路一般约等于芯片,将集成电路进行封装


(两种不同的封装方式)

  1. 摩尔定律
    集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍;

8.操作系统 (OS)

计算机越来越快,迫切需要一种方式,让计算机自动运作,于是,操作系统诞生了。

  1. 操作系统也是程序
    但它有硬件操作的特殊权限,可以运行和管理其他程序。操作系统一般是开机第一个启动的程序,其他所有程序都由操作系统启动。
  2. 批处理
    一次给计算机多个程序,运行完一个会自动运行下一个程序。
  3. 外部设备
    和计算机连接着的其他设备。
    和早期的外部设备交互是非常底层的,程序员要了解硬件的细节…

OS的功能

  1. 设备驱动程序
    所以操作系统来充当硬件和软件之间的媒介,提供API来抽象硬件
  2. 多任务处理
    操作系统能力的进化——多个程序可以同时运行,在单个CPU上共享时间
  3. 虚拟内存
    真正的程序可能会分配到内存中数十个地方,存在一堆不连续的内存中。为了隐藏这种复杂性,操作系统会把内存地址进行虚拟化——虚拟内存。程序可以假定内存总是从地址0开始。操作系统会自行处理虚拟内存和实际物理内存之间的映射。
  4. 动态内存分配
    程序的内存大小可以灵活增减。为操作系统同时运行多个程序提供了极大的灵活性。
  5. 内存保护
    如果一个程序开始出错,它只会捣乱自己所被分配的内存,而其他程序所在的内存不受影响。

发展

  1. Unix 和 panic警告
    Unix,当时最流行的操作系统之一
  2. 个人电脑(PC)
    操作系统很小,缺乏内存保护和多任务处理等功能,程序经常崩溃,但是可以重启解决。
    对比现代的操作系统:Mac系列、Win系列、Linux、iOS 和 Android。虽然大多是情况下个人使用,但它们都具有“多任务、虚拟内存、内存保护”等功能。

9.内存与储存介质

机械化信息存储形式

  1. 最早的储存介质是打孔纸卡和打孔纸带

磁性存储时代的开始

  1. 磁带,顺序存取数据
    电流方向决定了极性,代表1和0。缺点是访问速度很慢。

  2. 磁鼓存储器,顺序存取数据
    类似磁带,硬盘驱动器的前身,之后有了磁盘的发展。

  3. 延迟线存储器,顺序存储器

  4. 磁芯存储器,随机存储器的早期版本



磁盘储存时代

  1. 磁盘(包括硬盘和软盘等)
磁盘属于直接存取存储器,即既不像 RAM 那样随机地访问任何一个存储单元,又不像顺序存取存储器那样完全按顺序存取,而是介于两者之间。存取信息时通常先寻找整个存储器中的某个小区域(如磁盘上的磁道),再在小区域内顺序查找。

原理还是一样的,磁盘表面有磁性,使得写入头和读取头可以处理0和1。优点是可以叠在一起。

另外还有光存储

如DVD和CD,原理如下:

硬盘细究

如今储存技术正在朝固态前进,机械硬盘(HDD)逐渐被固态硬盘(SSD)取代,二者都属于非易失性内存类型

  1. SSD是完全没有机械零件的,使用的是集成电路,而不是光纤或磁力存储媒介;数据存储在哪里并不重要,因为固态硬盘各个扇区的访问速度都一样,访问时间是很快的。
  2. HDD基于磁性旋转盘片技术,使用移动磁头在旋转盘片或磁盘上执行数据读取和写入操作,在外边缘上存储的数据访问起来要比中心位置存储的数据快;使用了大量的活动机械结构,因此较容易发生机械性的故障,同时也容易因为热、冷、冲击及震动等环境条件而产生数据损毁的问题。

内存层次结构

访问速度、空间大小、成本因素不同

10.文件系统

文件格式

  1. TXT文件
    原始数据是一堆二进制机器码,先将二进制转成十进制,解码数据的关键是ASCII码。
  2. WAV文件
  • 波形(Wave)文件 ,它来存储音频数据。数据的数据称为元数据,WAV音频数据的元数据有码率、单/双音道、立体声等。

  • 元数据存在文件开头,在实际数据前面,因此也叫文件头(Header)。WAV文件的前44个字节的元数据形式是这样的:

  • 其中有一部分都是一样的(写着WAVE的部分),其他部分的内容会随着数据具体内容变化;

  • 音频数据紧跟在元数据之后,是一长串的数字。

  • 储存的就是音频采样数据的振幅。

  1. BMP文件
  • 位图(Bitmap),它存储图片。计算机上图片是由许多像素方块组成的,每个像素由红绿蓝三种颜色组成(RGB)。

  • 其中,颜色深度24位(8位红色、8位蓝色、8位绿色)。8bit=1byte,所以表示颜色的深度程度是0-255。由于成色效果是在三种颜色共同作用下,所以每3字节组成一个像素的颜色,第一个像素颜色为白色(255红+255蓝+255绿)。

  • 假设元数据中的图片大小是4X4像素的,那么成像效果就是4x4的像素矩阵:

以上文件格式或是其他文件格式,文件在底层是完全一样的:一长串的二进制数字。为了知道文件是什么,文件格式至关重要。

储存文件

  1. 将储存器抽象成能排数据的桶。

  2. 把文件连续储存,分文件。为了记录不同文件位置,需要额外的“目录文件”。目录文件经常放在开头,位置0,方便寻找。

  3. 在目录文件中,其他不同文件的显示格式为“文件名” + “.文件格式”,还有其他的文件信息。如果对任何分文件进行改动,需要更新目录文件。

  4. 以上属于一个文件系统管理文件的例子,属于“平面文件系统”,因为文件都在同一个目录里、文件都在同一个层次。可以想到,如果对顺次连接的文件新增内容,那么就会覆盖掉后面的文件数据…

  5. 所以现代文件系统会做两件事:1.把空间划分成一块一块的,预留一些空间方便改动和管理,那么饿目录文件还要记录每个文件储存在哪个块里面;2.拆分文件,将文件存放在多个块里面。因为预留的空间是有限的,假如增添的内容过大,为了避免覆盖掉之后文件的数据,文件系统会分配一个没用的块来容纳额外的数据。这种操作有点像“虚拟内存”。

  6. 如果要删掉文件,只需要将目录文件中的记录删除,表示那块空间可用。但是保持内存块中的文件不动,当需要存入新的数据的时候,只需要覆盖掉无用的数据即可。注意在此之前,只是擦除了记录,并没有立刻删除数据,所以某种情况下的计算机数据是可以恢复的!

  7. 碎片
    由于对文件数据的增加和删除等操作,会导致某个文件中的数据占用不同的块,处于分隔的状态,顺序也是乱的。碎片的产生不可避免。

  8. 碎片整理

  9. 分层文件系统

  • 与平面文件系统相对的,平面文件系统将文件放在不同的文件夹下,文件夹套文件夹。
    最大的变化是,需要在目录添加额外元数据(Is Directory?)。因为目录之下还可以有目录,所以要区分出文件和目录。

  • 最顶层的目录文件是根目录,所有其他的文件和目录都在根目录下。可以看到这个根目录下有三个文件和两个子目录文件。

  • 如果要查看子目录文件有什么文件,就要去访问它:

  • 轻松移动文件:如果想把根目录中的一个WAV文件移动到music子目录文件,不需要改动任何数据块,只需要在对应的两个文件中增、删记录即可。

  1. 文件系统使我们不必关心文件在磁盘或磁带中的具体位置,使得整理和访问文件更加方便。

11.压缩

无损压缩

即不损失任何数据,解压之后和压缩前的数据完全一样。以下两种方法经常组合起来使用,现在几乎所有无压缩格式都是用它们完成。

  1. 游程编码
    减少重复数据,适合经常出现相同值的文件。连续的数据就可以新增一个字节来储存个数进行简化。删除掉后那边的重复数据,为了保持一致,所有像素化成格式一致。有的情况会导致字节数会变多,那就说明不适合这种压缩方式。

  2. 字典编码 (DFTBA)
    需要一个“字典”,储存“代码”和“数据”间的关系。使用更紧凑的方式表示数据块。
    1,把图像看做是一块一块而不是一个一个像素。(以下例子把两个像素看做一块)2,根据频率生成哈弗曼树。3,使用0 1进行生成字典(也就是哈夫曼编码)4,最后整理成压缩后的数据,编码+对应的字典。


有损压缩

一些其他文件,丢掉一些数据影响不大。

  1. 感知编码
    删掉人类无法感知的数据的方法。
  • 有损音频压缩。人类对有某些音频的频率是不敏感的、听不到的(如超声波),可以扔掉;而对于人声是敏感的,不可扔掉;低音介于两者之间,听得到但是不怎么敏感,只是感受得到震动。有损音频压缩利用这一点使用不同的精度编码不同的频段。结果是听不出什么区别,不会影响体验。
  • 有损图像压缩。最著名的是JPEG。人类的视觉也不是完美的,对于图像,我们善于看到尖锐对比(比如物体的边缘),但是不善于发现颜色的细微变化。利用这一点,JPEG把图像分解成8X8像素的块,然后删掉大量高频率空间数据



    效果图
    视频也算是一连串的图像,压缩的方法类似。

12.命令行界面

  1. 人机交互
  • 早期机械计算设备使用齿轮、旋钮、开关等机械结构来输入输出,运行完毕之后数据通过打印机打印到纸上;
  • 之后机械输入完全消失,出现了打孔纸卡和打孔纸带。但是输出还是打印到纸上,还有大量指示灯,在运行中提供实时反馈。
    以上时期,计算机不会和人类进行交互式回应,程序开始运行后会一直运行,直到结束。
  • 出现了与计算机的交互。使用类似现代的键盘——打字机,将数据输入。之后逐渐兴起了由单手到十指打字、十指盲打,使得打字速度大幅提高。这个时候是将字打到纸上。
    之后出现了电传打字机,有电子接口,稍作修改就可以连接到计算机,电传交互界面诞生,用户和计算机来回“对话”——命令行界面
  • 随着电视的量产、处理器和内存的发展,屏幕代替电传打字机变得可能。协议没有改变,这种“虚拟电传打字机”叫做终端。使用命令行界面操作计算机仍传至今。

13.图形显示

早期屏幕是用来追踪运行的程序,例如寄存器的值。实时性显示,对于更新很快的屏幕来说刚好。但屏幕很少用于输出计算结果,结果一般都会打印在纸上。

  1. 阴极射线管
  • 使用磁场来控制电子,发射到屏幕;
  • 绘制图像:
    矢量扫描。引导电子束描绘出形状;

光栅扫描。使用很多小线段绘制形状甚至文字。

14.图形学

简单了解:

  1. 扫描线填充
  2. 抗拒齿
  3. 光照
  4. 纹理化

对于渲染图形,CPU(中央处理器)不是为此设计的,负责处理操作系统和应用程序运行所需的各类计算任务,它的图形运算能力不强。所以计算机工程师为图形做了专门的处理器——GPU(图形处理器),做图像和图形相关运算工作,实现图形加速。

15.计算机网络

  1. 第一个计算机网络
    “球鞋网络”。1,安全可靠;2,联网可以共享打印机、储存空间…
  2. 局域网(LAN)
    计算机近距离构成的小型网络。小到同一个房间里的两台电脑,大到校园里的上千台机器。
  3. 以太网
    在不同的LAN技术中,最著名和成功的是“以太网”,至今仍在使用中。使用一条以太网电线连接数台计算机,当其中一台计算机要传递数据时,就会以电信号的形式将数据传入电缆,因为电缆是共享的,所其他任何计算机都可以看到数据,但不知道传递的数据是给哪一台计算机的。
  • 为了解决这个问题,以太网需要每台计算机有唯一的媒体访问控制地址(MAC地址)。将要发送到的计算机的地址放在头部,作为数据的前缀发送到网络,那么其他计算机只有看到自己的MAC地址才会处理数据。
  • 这种多台计算机共享一个传输媒介的方法,称为“载波监听多路访问”,Carrier Sense Multiple Access,简称“CSMA”。因为很多计算机同时监听载体,所以叫监听、多路访问。
  • 载体(Carrier)是指运输数据的共享媒介。以太网的载体是铜线;WIFI的载体是传播无线电波的空间。
  • 载体传输数据的速度,叫“带宽”。
  • 一个缺点是如果两台计算机同时传输数据,就会检测到冲突。
  • 以太网的一个解决方法是,计算机会等待1s+随机时间,如果有网络堵塞,就会等待更多的时间…——指数退避
  • 载体和其中的设备总称为“冲突域”。最好减少同一载体上计算机的数量。下面这种情况下,只有需要跨过交换机的数据传输才会同时占用两个网络。
  1. 路由
    计算机网络由许多机器(称为节点)和连接这些节点的路径或链接组成。互连网络中两个节点之间的通信可以通过许多不同的路径进行。
    路由是根据一些预先确定的规则选择最佳路径的程序,提高了网络通信的效率。
  • 路由的类型
    有两种不同的路由类型,取决于路由器创建路由表的方式:
    1)静态路由
    静态路由本身并不需要像动态路由那样通过协议来交换路由信息。静态路由是由网络管理员手动配置和维护的,不会自动更新。
    2)动态路由
    动态路由使用动态路由协议来自动学习和更新路由信息,尝试使用路由协议找出到目的地的最快路径。
  1. 路由表
    路由表是存储在路由器或节点中的一个数据表,用于存储网络路径信息,供路由器查找路径使用,帮助路由器确定将数据包发送到哪个路径。
    储存的信息包括:
    1)接口:数据包应从哪个接口发送出去。
    2)目的网络:目标网络的地址。
    3)子网掩码:用于确定目标网络的网络部分和主机部分。
    4)下一跳地址:数据包应发送到的下一个路由器或节点的地址。
  2. 路由器
    路由器是连接多个网络进行数据包的路由选择(执行路由过程)的联网设备。主要功能包括:
    1)路径选择:使用路由协议路由表选择最佳路径。
    2)数据包转发:根据路径选择的结果,将数据包转发到下一个路由器或目标设备。

  1. 动态路由协议
    一组用于创建、维护和更新动态路由表的规则,使用具体的动态路由算法

  2. 动态路由算法
    是实现动态路由协议的核心算法,用于计算最佳路由路径。

  3. 度量标准
    跳数、带宽和延迟都是用于评估和选择最佳路由路径的度量标准,帮助路由协议在不同网络环境下选择最优路径。某些高级路由协议会综合考虑多个度量标准。

  • 跳数
    指数据包从源到目的地经过的路由器数量。每经过一个路由器,跳数增加1。
  • 带宽
    带宽是指链路上传输数据的最大能力(传输速度),通常以比特每秒(bps)为单位。带宽越大,链路的传输能力越强。
  • 延迟
    延迟是指数据包从源到目的地所需的时间,包括传输延迟、处理延迟和排队延迟等。延迟通常以毫秒(ms)为单位。
  1. 三种交换方式
    1)电路交换
  • 定义:在通讯开始前为通信双方建立一条专用通道,通讯过程中此通道一直被占用,直到通信结束释放资源。
  • 三个步骤
    1,建立连接,分配资源
    2,进行通信过程
    3,释放资源
  • 缺点:资源浪费

2)报文交换

  • 定义:将整个传送的数据作为独立的单元进行传输,报文在传输路径上的各个节点都要完全接收并存储,然后再转发到下一个节点。
  • 特点:和分组交换类似,但是需要足够的存储空间来保存完整的报文。

3)分组交换

  • 定义:将数据分组,分割成较小的数据包,每个数据包独立进行传输。
  • 特点:
    1,每个数据包可以走不同的路径
    2,分组传输的数据是乱序的,到达目的网络不一定按照顺序,需要重新组装成完整数据(例如TCP协议把顺序排对)。
  • 步骤:
    1,将报文分成更小的等长的数据段
    2,基于协议,每一个数据段加上一些元数据【如目的地址和原地址等组成首部 header。不同的协议加载的元数据不同,更高级的协议具有不同作用的header】,构成一个分组(packet),每个分组又称为“数据包”。如以下的IP协议和更高级的UDP协议组合成的UDP/IP协议

3,每个数据包独立选择路由,路由器在每个节点对数据包进行路由,基于当前数据包的信息和路由表。

在现代计算机网络中,分组交换是最常用的方式,尤其是互联网,广泛依赖于这种方式来实现高效的数据传输和动态路由选择。

16.互联网

基于协议的数据传输

  1. 个人计算机和巨大的分布式网络连在一起,这个网络叫互联网。
  2. 计算机要获取数据,首先要连接到局域网。家里(这个范围内)路由器连接着的所有设备,组成了局域网(LAN)。
  3. 局域网再连接到广域网(WAN)。WAN的路由器一般属于用户的“互联网服务提供商”(ISP)。广域网里,线连接到一个区域性路由器(这个路由器可能会覆盖整个街区),然后在连接到一个更大的WAN(可能覆盖整个城市)…最终到达互联网主干。
  4. 互联网主干由一群超大型、带宽超高的路由器组成。

域名系统(DNS)

  1. 当计算机要访问一个网站时,需要两个东西:1.IP地址2.端口号。例如172.217.7.238的80端口号就是谷歌的IP地址和端口号。

  2. 实际上可以在浏览器输入IP地址和端口号,就会进入到对应的网站,但是记忆长串数字很麻烦,google就比较好记。所以互联网有个服务就负责把域名和IP地址一一对应,简称为DNS。

  3. DNS工作原理:在浏览器输入youtube,浏览器会去访问DNS服务器得到它的IP地址。DNS服务器一般是由互联网供应商提供,DNS会查表,如果域名存在,就返回对应的IP地址。

  4. DNS不是存成一个超长的列表,而是存成树状结构:

  5. OSI模型

17.万维网

  1. 定义:是一个信息共享的空间,用户可以通过互联网访问和浏览网页。

  2. 组成部分:
    1)HTML:HTML(超文本标记语言)编写网页,为万维网的基本构成单元。
    2)浏览器:用户通过浏览器(如Chrome、Firefox)访问和浏览网页。
    3)URL: 每个网页都有一个唯一的URL(统一资源定位器)来标识和访问。
    4)HTTP/HTTPS: 传输协议,用于在浏览器和服务器之间传输数据。

  3. 功能:
    1)提供信息和资源的访问。
    2)支持超文本链接,使用户可以从一个网页跳转到另一个网页。
    3)支持多媒体内容,如文本、图像、视频和音频。

  4. 互联网是全球计算机网络的集合,是物理基础设备刚和协议的总和;万维网是基于互联网运行的服务之一,来访问和浏览网页。

  5. 例如使用HTML来写一个简单的网页

  6. 搜索引擎开始出现

  7. 网络中立性

18.计算机安全

可以把计算机安全看成是保护系统和数据的:保密性、完整性和可用性,称为信息安全的三大支柱。

  1. 保密性
    只有拥有权限的人才能够访问和读取计算机系统和数据。
  2. 完整性
    只有拥有权限的人才能够修改或者破坏数据
  3. 可用性
    确保有权限的人可以随时访问系统和数据

本文标签: 导论 计算机科学 基础