01. 计算机基础
01. 计算机基础
1. 计算机基本介绍
1. 为什么需要计算机
对于现在的我们来说,每天要处理的信息量是巨大的,如果还是人工的来对这些数据进行处理,效率是很低的。计算机的出现就可以帮助我们的来提高处理数据的速度。
2. 计算机是什么
计算机就是一台可以自动、高效完成计算的电子设备,俗称叫电脑(PC)
计算机(Computer)俗称电脑,是现代一种用于高速计算的电子机器,可以进行
数值计算
,又可以进行逻辑运算
,还具有存储、记忆功能,且能够按照程序的运行,自动、高速处理数据。
3. 计算机的特点
- 计算机可以进行数学和逻辑运算。 逻辑运算可以实现在接收到不同操作指令的时候做出不同的响应
- 计算机可以对数据进行记忆和存储。( 数据不仅仅只是数字,图片、文字、声音、视频.... )
- 计算机可以在程序的指令下自动高效的完成计算。
4. 计算机组成
从大的系统分类上将计算机的组成分为:软件系统 + 硬件系统
硬件
- 可以认为是组成计算机的那些物理设备(看得见、摸得着)
软件
- 所谓的软件就是安装在计算机上供用户使用的操作指令集合。
计算机的发展经历了电子管计算机、晶体管计算机、集成电路计算机和大规模集成电路计算机4个发展阶段
2. 硬件系统
1. 为什么需要硬件
任何的计算操作,最终都需要通过相应的硬件来完成。硬件主要分为主机和外设两部分,是指那些构成计算机系统的物理实体,它们主要由各种各样的电子器件和机电装置组成。
2. 硬件的组成
现代的电子计算机我们依据 "冯诺依曼" 理论将它的硬件分成五个级成部分。
输入设备:实现将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。核心作用就是给计算输入不同格式的数据。
输出设备:实现将计算机处理后生成的中间结果或最后结果(各种数据符号及文字或各种控制信号等信息)输出出来。作用就是将计算机处理之后的数据以不同的形式展示给用户。
运算器:负责数据的算术运算和逻辑运算,即数据的加工处理。
控制器:是整个计算机的中枢神经,分析程序规定的控制信息,并根据程序要求进行控制,协调计算机各部分组件工作及内存与外设的访问等
- 运算器 + 控制器:这二个部分合在一起就是我们所说的中央处理器(CPU)
存储设备:实现记忆功能的部件,用来存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。我们将计算机当中的存储器分为内存和外存二种,无论是哪一种,它的作用都是对数据进行存储。
3. 内存与外存
- 内存:平常所说的内存条,它的大小一般在(4G~32G)
- 外存:外存的表现形式很多,例如硬盘(128G~2T)、U盘
4. 内存与外存比较
- 内存的运算速度要快于外存
- 内存当中的数据断电之后会消失,而外存不会。
- 内存本身我们又分为只读内存(ROM:数据在ROM中是持久的,不会因电源关闭而丢失)和随机内存( RAM:RAM中的数据是临时的,当计算机关闭或重新启动时,存储在RAM中的数据将丢失)
3. 软件系统
1. 为什么需要软件
如果计算要没有软件系统那么它里面的硬件就不知道如何进行工作。
2. 软件系统介绍
我们人为的将软件系统分为二类:系统软件 + 应用软件 ,系统软件和应用软件,是指计算机证运行所需的各种各样的计算机程序。
系统软件的任务是既要保证计算机硬件的正常工作,又要使计算机硬件的性能得到充分发挥,并且为计算机用户提供一个比较直观、方便和友好的使用界面。
操作系统:是一种方便用户管理和控制计算机软硬件资源的系统软件,同时也是一个大型的软件系统,其功能复杂,体系庞大,在整个计算机系统中具有承上启下的地位。我们操作计算机实际上是通过操作系统来进行的,它是所有软件的基础和核心。
语言处理程序:也称为编译程序,作用是把程序员用某种编程语言(如Python) 所编写的程序,翻译成计算机可执行的机器语言。机器语言也被称为机器码,是可以通过CPU进行分析和执行的指令集。
2.1 系统分类(操作系统软件 )
(1)桌面操作系统:
**Windows **: 由微软推出,用户量很大,分很多系列
**MacOS **: 苹果公司,本质其实也是一个 unix 分支
**Linux **: 应用软件少,但系统稳定
(2)移动设备操作系统
iOS :苹果公司移动端设备系统
Android : 底层就是一款小型的 Linux
(3)服务器操作系统
Windows Server :由微软件推出,是收费的
Linux:开源、稳定
服务器 :所谓的服务器我们就可以理解为是一台给用户提供相应的服务的机器(文件上传下载服务,视频上传下载服务.....),只不过这台机器的处理能力要远远大于我们的个人电脑
服务器操作系统查询地址 :
查看淘宝的服务信息:https://toolbar.netcraft.com/site_report?url=https://www.taobao.com
2.2 应用软件
- 可以安装在操作系统之上的第三方软件。( 酷狗、微信、 QQ ..... )
4. 计算机是如何处理程序的
按照冯·诺依曼存储程序的原理,计算机的工作流程大致如下
- 用户打开程序,程序开始执行;
- 操作系统将程序内容和相关数据送入计算机的内存;
- CPU根据程序内容从内存中读取指令;
- CPU分析、处理指令,并为取下一条指令做准备;
- 取下一条指令并分析、处理,如此重复操作,直至执行完程序中全部指令,最后将计算的结果放入指令指定的存储器地址中。
5. 二进制基本介绍
进制: 就是一种人为规定的计数规则
1. 二进制介绍
二进制是什么?
二进制:它就是逢二进 1 的一种计算规则
在二进制里"基数"只有 0 和 1
二进制当前被广泛的应用于计算机当中( 计算机底层只能读懂 0 和 1 )
2. 计算机如何理解0 和1
现代的计算机都是通电进行工作,当电流走过设备的时候必然会产生电压。此时前辈们就人为的设定规则,取了一个电压值,比这个值大的叫高电位。用数字 1 表示,比这个值小的叫低电位。用数字 0 表示。基于这种原理,此时的计算机就可以认识 0 和 1 了。刚好 0 与 1 又是二进制当中的基数。( 计算机应用了二进制 )
3. 计算机采用二进制的好处
- 二进制技术实现简单,状态稳定。
- 二进制里只有 0 和 1 二个基数,刚好与程序语言当中的 真和 假 对应。【全世界都人为的认为 1 可以代表程序语言中真,0 就可以代表程序语言中的假】
- 二进制数值可以很容易的转成十进制。
6. 常见的数学进制
二进制:基数就是 0/1 ,逢二进 1
八进制:基数就是 0~7 ,逢八进 1
十进制:基数就是 0~9 ,逢十进 1
十六进制:基本数就是 0~9、 A ~ F, 逢十六进 1
用二进制数数
0、 1、 10、 11、 100、 101、 110、 111、 1000
7. 进制转换
http://tool.oschina.net/hexconvert/ 【 在线的进制转换工具地址 】
1. 其它进制转十进制
先确定当前数字的位数,然后从右向左数,依次认为是低位到高位。
记下每位数字所在的位数 N( N 不是一个固定的数字,由当前所在位数决定 )
取出每一位上的数字 m ,然后用这个 m 去乘以当前进制的 N-1 次方。( m 也不是固定的,它就是当前位上所具有的数字 )
将每位上的相乘结果进行相加,最后的和就是该数值所对应的十进制值。
1101 = 1*2^0 + 0*2^1 + 1*2^2 + 1*2^3 = 1 + 0 + 4 + 8 = 13
2. 其它进制转二进制
1. 十进制转二进制
用这个十进制的数字除以 2 ,得到商和余数。
判断商是否为 0,如果不是 0 则继续用这个商除以 2
直到某一次商为 0 时结束,将这个除法过程中产生的余数反向排列
最终的排列结果就是当前这个十进制转成二进制后的数值
11 / 2 = 5 …… 1 5 / 2 = 2 …… 1 2 / 2 = 1 …… 0 1 / 2 = 0 …… 1 对余数进行倒叙: 11 = 1011
2. 八进制/十六进制转二进制
- 将八进制或十六制中的所有"基数"都转成二进制。(需要注意的就是八进制转二进制要写成三位,而十六进制要写在四位)
- 有了上述的二进制基数转换之后,当我们拿到一个具体的八进制或者十六进制数值之后我们只需要将其进行拼接就可以
8. 编码
1. 编码是什么
所谓的编码指的就是将我们人类可以理解的语言编译成计算机可以执行的语言
编码简史
https://blog.csdn.net/z_ssyy/article/details/106462612
https://blog.csdn.net/aicang1759/article/details/101947353
2. 编码的思想
将我们人类中的自然语言人为的按照一种规则与一个二进制的数值做对应。 这种对应当关系越来越多的时候,就会形成一张表,我们将这个表称之为叫编码表
3. ASCII 码表
- 它是全世界第一张通用单字节编码表
- 它分成三个部分,一共有 256 个字符
- 当我们没有使用正确的编码来处理汉字的时候在网页展示就会乱码。
- 对于中文汉字来说,我们目前使用最多的一种编码标准就是 UTF-8 编码。
9. 数据计量单位
1. 为什么需要计量单位
计算机是用来处理数据的, 当数据积累到一定的量级之后就会需要有相应的单位来对它们进行衡量。
2. 最基本的计量单位
- 比特( bit/位 ):它被认为是计算机当中最小的一个单位。
- 字节( Bytes ):它比位要大一些,人为规定 1 字节 = 8 位
3. 常见的单位及转换关系
1B = 8b (bit)
1KB = 1024B (byte)【文档和小图片】
1MB = 1024KB【 大图片,或者音乐 】
1GB = 1024MB【 高清的电影 】
1TB = 1024GB
1PB = 1024TB
10. 编程语言
由人类来设计的一种计算机可以理解的语言
1. 编程语言发展历史
1.1 机器语言
机器语言就是纯二进制,将我们人类想让计算机完成的事情都直接用 0、1 来表示。
1.2 汇编语言
汇编语言就是在机器语言的基础之上将一些常用的操作直接规定成人类的一些语句来表达,但是随着计算机要做的事情越来越多,同时生产计算要的厂商也越来越多,我们不能保证所有的硬件都能很好支持我们的二进制。
1.3 高级编程语言
它就是一种类似于人类的自然语言, 人类很容易理解, 时又不用担心计算机如何识别。 当前全世界大概有(600)多种编程语言
2. 常见的编程语言
- C 语言: 我们认为 C 是高级编程语言的鼻祖
- C++ :它就是在 C 语言的基础上做了减化。更利于我们学习,C 和 C++ 都是由贝尔实验室推出
- Java : 由 SUN 公司在 1995 推出,最大的点是跨平台。( JVM虚拟机 )
- C# : 由微软推出的一个语言
- Python : 一种数学计算能力很强的语言
- PHP :这门语言在出生的时候最大的特点就是用来做 Web 网站
- JavaScript:当前最流行的一种前端脚本语言
- NodeJS : 全栈型语言,前后端都可以写
- Golang : 由谷歌公推出的一门语言
- ……
编程语言排行榜:https://www.tiobe.com/tiobe-index/
11. 域名基本介绍
域名就是为了方便用户去记忆而自已设计的一个名字,一般需要花钱购买。它的组成一股分为三个部分
- 一级域名:一级域名就是最后一个点号后面的内容.com .cn .net
- 二级域名:二级域名就是一级左边,baidu,一般都是需求方自已设计,一级域名和二级域名连在一起应当是全世界唯-(yyshi.cn yyshi.com )
- 三级域名:三级域名一般都是用户自定义,最常见的就是www
注:域名和服务器一样都需要花钱购买,国内常见的服务商有:万网 新网 西部数据 美橙互联......
12. 服务器与 URL
服务器
- 我们就认为是一台电脑,它的上面可以安装相应的服务器软件,来为我们的用户提供服务操作
URL
- 所谓的URL我们就认为是用户写在浏览器地址栏里的一长串,它由 协议 + 城名 + 端口号 + 路径 + 具体的文件名称组成
13. 网站的访问过程【只需了解】
- 在浏览器中输入 URL
- 这个URL需要通过解析去找到相应的IP
- 查找 IP 首先会从本地的 hosts 文件开始,如果找不到则去 DNS 服务器查找
- 如果 DNS 帮我们找到了目标的 IP ,我们先发送一个测试的请求,通过之后再发送正式请求
- 服务器接收到正式的请求之后,它还需要进行验证。如果验证通过,则去帮我们找到当次请求想要的文件
- 服务器开始处理我们的想要的文件,在这个过程中有可能会用到数据库中的数据
14. 空间、服务器、云存储
1. 空间
空间购买(推荐香港)
公司一般会根据自身的情况来购买不同的空间(国内空间、香港空间、国际空间)
- https://free.3v.do/
- https://www.fkw.com/
2. 服务器
一般都是在IDC服务商租用或者托管服务器,也可以自己搭建托管机房。
- http://www.g-cloud.com.cn/
- https://www.aliyun.com/
3. 云存储
云存储是一种数据存储在远端服务器集群在线访问的存储类型,用户无需关注存储位置。云存储服务提供商负责安全地存储、管理和维护存储服务器、基础设施和网络,以确保用户数据的可靠性、可用性以及性能。基于高度虚拟化的基础架构云存储可以提供广泛的弹性来应对不确定性的容量和性能的诉求。
- 云存储
- 对象存储 OSS 提供了安全、可靠、低成本的数据存储和访问解决方案。
- 块存储 EBS 为云服务器ECS提供的块设备,高性能、低时延、随机读写。
- 文件存储 NAS 面向ECS实例、E-HPC和容器服务等计算节点的高可靠、高性能分布式文件系统。
15. 常见的 DOS 命令
1. DOS 是什么
DOS 是一个操作系统,属于 Windows ,和我们现在用的 windows7、 8、 10, 去比较其实差别就在于 ,我们现在用的是图形桌面系统,而 DOS 是一个命令行执行的操作系统
2. 如何使用 DOS
- 进入终端:win + r 调出运行面板
- 在运行中输入
cmd
进入终端 - 在终端面板中书写 DOS 命令 ,然后回执行。
3. 常见的命令
time 显示当前计算机的本地时间
ctrl+ c 退出当前正在执行的命令
shutdown /s /t 时间(秒) :设置在多少时间后自动关机【 中间有空格 】
shutdown /a 取消之前设置的自动关机
cls 清空当前正在编辑的屏幕
ping 网址
- 可以检查当前的网络是否是通的
- 可以得到当前被访问网页的 IP 地址
ipconfig -all (命令语句一定都是在英文输入法下面书写的,命令和参数之间往往都用空格隔开 )
- 可以将当前计算机当中的所有网卡信息都列出来。
- ip 地址:这个地址一般是用来在网络上唯一标识计算机。( 一台机器的 IP 地址可以变)
- mac 地址:也叫物理地址,它是被写入 ROM 的。理论上每台计算机的 mac 地址是唯一的。
上下键 :调用我们之前使用过的命令,上键就是往回找,下键就是往下找。
切换盘符 : 具体盘符名称
- d:
返回上一级或根目
- cd .. 返回上一级
- cd / 返回当前盘符的根目录
- cd 就是 change directory 的首字母缩写,表示切换目录的意思
- cd 命令不可以切换盘符
- 根目录指的就是某个盘符的一级目录
列表示展示某个目录下的内容
- dir
目录及文件相关操作
- 新建目录: md 路径
- md 只能新建目录
- 新建文件: echo "内容" > 文件名称,通过这种方法间接得到一个文件
- 删除目录: rd 路径 【默认情况下只能删除空目录,如果想连带它里的文件一起删除则需要设置 /s 参数】
- rd 默认只能删除空目录
- 删除文件: del 文件名称
- 如果 del 后面直接写的不是文件,而是一个目录,那么它就会将这个目录下的所有文件都删除( 前提是我们选择 Y )
- 新建目录: md 路径
文件复制和剪切命令
- 将目录 aa 下在的 aa.txt 文件,复制 到 c 盘 test 目录下,同时将名称修改为 bb
- copy aa/aa.txt c:\test\bb.txt
- copy 被复制文件路径 将这个文件复制到哪里 ,复制操作语句,我们可以分为三段,第一段就是命令 copy ,第二段就是被复制文件的在地,第三段可以指明将当前文件复制到哪里,三段之间都要用空格隔开,第三段可以省略,省略之后的结果就是会将相应的文件直接复制到我们的当前所在位置。
- copy aa/aa.txt c:\test\bb.txt
- 将目录 aa 下在的 aa.txt 文件,复制 到 c 盘 test 目录下,同时将名称修改为 bb
move 被剪切文件所在地 将这个文件剪切到哪里
- 对于剪切操作来说 必须要进入到想要操作文件所在目录去执行命令,第三段用来指明目标所在地的部分不能省略。