计算机知识01:计算机基础知识入门

article/2025/9/7 10:54:25

1. 计算机运行流程

如果不是很了解电脑运行流程的话,我们可以类比一下,假设电脑是一个人体,那么每个元件对应到哪个地方呢?可以这样思考:

CPU=脑袋:每个人会做的事情都不一样(微指令集的差异),但主要都是通过脑袋来进行判断与控制身体各部分的活动;

内存=脑袋中放置正在被思考的数据的区块:在实际活动过程中,我们的大脑需要有外界刺激的数据 (例如光线、环境、语言等) 来分析,那这些互动数据暂时存放的地方就是内存,主要是用来提供给大脑判断用的信息;

硬盘=脑袋中放置回忆的记忆区块:跟刚刚的内存不同,内存是提供脑袋目前要思考与处理的信息,但是有些生活琐事或其他没有要立刻处理的事情, 就当成回忆先放置到脑袋 的记忆深处吧!那就是硬盘!主要目的是将重要的数据记录起来,以便未来将这些重要的经验再次的使用;

主板=神经系统:好像人类的神经一样,将所有重要的元件连接起来,包括手脚的活动都是大脑发布命令后, 通过神经(主板)传导给手脚来进行活动啊!

各项周边设备=人体与外界沟通的手、脚、皮肤、眼睛等:就好像手脚一般,是人体与外界互动的重要关键!

显卡=脑袋中的影像:将来自眼睛的刺激转成影像后在脑袋中呈现,所以显卡所产生的数据来源也是CPU控制的。

电源供应器 (Power)=心脏:所有的元件要能运行得要有足够的电力供给才行!这电力供给就好像心脏一样,如果心脏不够力, 那么全身也就无法动弹的!心脏不稳定呢?那你的身体当然可能断断续续的~不稳定!

2 计算机常用的计算单位

电脑的运算能力除了 CPU 微指令集设计的优劣之外,但主要还是由速度来决定的。至于存放在电脑储存设备当中的数据容量也是有单位的。

2.1 容量单位

电脑对数据的判断主要依据有没有通电来记录信息,所以理论上对于每一个记录单位而言,它只认识0与1而已。0/1 这个二进制的的单位我们称为bit(比特)。但 bit 实在太小了,所以在储存数据时每份简单的数据都会使用到 8 个 bits 的大小来记录,因此定义出 Byte(字节)这个单位,他 们的关系为:

1 Byte = 8 bits 不过同样的,Byte 还是太小了,在较大的容量情况下,使用 Byte 相当不容易判断数据的大小,举例来说,1000000 Bytes 这样的显示方式你能够看得出有几个零吗?所以后来就有一 些常见的简化单位表达式,例如 K 代表 1024Byte,M 代表 1024K 等。 而这些单位在不同的 进位制下有不同的数值表示,下面就列出常见的单位与进位制对应:
在这里插入图片描述
一般来说,文件大小使用的是二进制的方式,所以 1GBytes 的文件大小实际上为: 1024x1024x1024Bytes 这么大!速度单位则常使用十进制,例如 1GHz 就是 1000x1000x1000Hz 的意思。

2.2 速度单位

CPU的运算速度常使用 MHz 或者是 GHz 之类的单位,这个 Hz 其实就是秒分之一。而在网络传输方面,由于网络使用的是 bit 为单位,因此网络常使用的单位为 Mbps 是 Mbits per second,亦即是每秒多少 Mbit。举例来说,大家常听到的 20M/5M 光世代传输速度,如果转成文件大小的 Byte 时,其实理论最大传输值为:每秒 2.5MByte/ 每秒625KByte的下载/上传 速度喔!

3 文字编码系统

既然电脑都只有记录0/1而已,甚至记录的数据都是使用Byte/bit等单位来记录的,那么文字该如何记录啊? 事实上文字文件也是被记录为0与1而已,而这个文件的内容要被取出来查阅时,必须要经过一个编码系统的处理才行。 所谓的“编码系统”可以想成是一个“字码对照表”, 他的概念有点像下面的图示:
在这里插入图片描述
当我们要写入文件的文字数据时,该文字数据会由编码对照表将该文字转成数字后,再存入文件当中。同样的,当我们要将文件内容的数据读出时,也会经过编码对照表将该数字转成对应的文字后,再显示到屏幕上。 现在你知道为何Xftp工具或者我们选用文件服务器时编码写错时,会出现乱码了吗?这是因为编码对照表写错, 导致对照的文字产生误差之故啦!

常见的编码方式有:ASCII编码、GB2312编码(简体中文)、GBK、BIG5编码(繁体中文)、ANSI编码、unicode、utf-8编码等。

4 机器程序与编译程序

计算机功能的体现核心在于软件,现在我们了解一下“软件”是什么?目前的电脑系统通常将软件分为两大类,一个是系统软件,一个是应用程序,在了解这两个之前我们还需要了解一下什么是“程序”,尤其是机器程序。我们前面谈到电脑只认识0与1,而且电脑最重要的运算与逻辑判断是在CPU内部, 而 CPU其实是具有微指令集的。因此,我们需要CPU帮忙工作时,就得要参考微指令集的内容, 然后撰写让CPU读的懂的指令码给CPU执行,这样就能够让CPU运行了。

不过这个流程里人们需要掌握机器语言、了解所有硬件的相关功能函数,编写的程序还不具备通用性,总的来说很麻烦。因此电脑科学家设计出一种可以让人类看的懂得程序语言, 然后创造一种“编译器”来将这些人类能够写的程序语言转译成为机器能看懂得机器码, 如此一来 我们修改与撰写程序就变的容易多了!目前常见的编译器有C, C++, Java, Fortran等等。 机器语言与高阶程序语言的差别如下所示:
在这里插入图片描述
那么,有两个问题思考一下;

a、华为在已取得Arm v8架构永久授权的情况下,被英国芯片设计巨头ARM制裁,制裁的是什么?

b、为什么使用源码包编译安装redis、nginx的时候要用到GCC编译器?

5 操作系统

5.1 操作系统核心(Kernel)

操作系统(Operating System, OS)其实也是一组程序, 这组程序的重点在于管理电脑的所有活动以及驱动系统中的所有硬件。操作系统的功能就是让CPU可以开始判断逻辑与运算数值、 让内存可以开始载入/读出数据与程序 码、让硬盘可以开始被存取、让网卡可以开始传输数据、 让所有周边可以开始运行等等。总之,我们知道硬件的所有动作都必须要通过操作系统来达成就是了。

上述的功能就是操作系统的核心(Kernel)。你的电脑能不能做到某些事情,都与核心有关! 只有核心有提供的功能,你的电脑系统才能帮你完成!举例来说,你的核心并不支持 TCP/IP的网络协定, 那么无论你购买了什么样的网卡,这个核心都无法提供网络能力的! 但是单有核心我们使用者也不知道能作啥事,因为核心主要在管控硬件与提供相关的能力 (例如存取硬盘、网络功能、CPU资源取得等), 这些管理的动作是非常的重要的,如果使用者能够直接使用到核心的话,万一使用者不小心将核心程序停止或破坏, 将会导致整个系统的崩溃!因此核心程序所放置到内存当中的区块是受保护的! 并且开机后就一直常驻在内存当中。

5.2 系统调用(System Call)

因为电脑的硬件都是由核心管理,那么如果想要开发软件的话,自然就得要去参考这个核心的相关功能! 但是从原本参考硬件函数变成参考核心功能还是很麻烦啊, 有没有更简单的方法呢? 为了解决这个问题,操作系统通常会提供一整组的开发接口给工程师来开发软件! 工程师只要遵守该开发接口那就很容易开发软件了!举例来说,我们学习C程序语言只要参考C程序语言的函数即可, 不需要再去考虑其他核心的相关功能,因为核心的系统调用接口会主动的将 C程序语言的相关语法转成核心可以了解的任务函数, 那核心自然就能够顺利运行该程序了!

在定义上,只要能够让计算机硬件正确无误的运行,那就算是操作系统了。所以说,操作系统其实就是核心与其提供的接口工具,不过就如同上面讲的,因为最原始的核心缺乏了与使用者沟通的友好接口, 所以在目前,一般我们提到的“操作系统”都会包含核心与相关的使用者应用软件!

6 应用程序

应用程序是参考操作系统提供的开发接口所开发出来软件,这些软件可以让使用者操作,以达到某些电脑的功能利用。举例来说,办公室软件(Office)主要是用来让使用者办公用的; 影像处理软件主要是让使用者用来处理影音数据的; 浏览器软件主要是让使用者用来上网浏览用的等等。需要注意的是,应用程序是与操作系统有关系的,不同的操作系统,会对应不同的操作版本,例如在windows7上能用的软件,不一定能在windows8上面用,也不能再Linux相关的操作系统上使用。

最后说一下,我们平时说的服务器,不管是云服务器还是物理服务器,本质上也是一台台运行的计算机。

本文参考文档:《鸟哥的Linux私房菜》


http://chatgpt.dhexx.cn/article/chbi4YOH.shtml

相关文章

IP地址(IP Address)

IP Address在网络中,通信节点都需要一个IP地址 以点分十进制表示,有32位二进制构成(大约43亿) 分为两个部分:网络位和主机位 网络位:代表IP地址所属的网段 主机位:代表网点上的某个节点 由子…

IP地址构成 ,以及如何求“网络地址“以及“广播地址“

IP地址(英语:IP Address, 全称:Internet Protocol Address)又称互联网协议地址。当设备连接网络,设备将被分配一个IP地址,用作标识。通过IP地址,设备间可以互相通讯,如果没有IP地址&…

电话号码对应的英语单词

问题: 电话的号码盘一般可以用于输入字母,如用2可以输入a,b,c,用3可以输入d,e,f等。 对于号码5869872,可以依次输出其代表的所有字母组合。如:jtmwtpa,jtmwtpb......... 1、您能否可以根据这样的对应关系设计一个程序&#xff…

地址的概念

前言:地址的概念 1. 地址概念及各个单位换算1.1 地址的概念1.2 单位换算1.3 举例说明,加深理解1.4 关于地址的宽度 1. 地址概念及各个单位换算 1.1 地址的概念 计算机内的数据是存储在地址里面的,地址又是以字节(Byte&#xff09…

地址的地址?

在visual studio 2019中 #include <stdio.h> #include <stdlib.h> typedef struct student { int value; struct student* next_stu; }Student; Student * creatlist(); void insertlist(Student * list,int value); int main() { Student *my_list…

GoldenDict 上的那些精美版权词典(附下载地址)(英语、俄语、梵语、印地语)

转载▼ 标签&#xff1a; 杂谈 国内的有道词典和金山词典由于使用方便、宣传到位得到了许多同学的喜爱。在开源软件的领域&#xff0c;也有一款非常好用的词典GoldenDict&#xff0c;它的强项在于可以直接使用众多词典厂商的词库。那些正规的词典厂商通常购买了词典的版权…

【GO】map转json

咔咔博客之map转json 跟结构体转json一样都使用的是json.Marshal()方法 最后需要就是把字节转为字符串使用string即可 案例 func main() {// 定义了interface 后边就可以跟任意类型了mMap : make(map[string]interface{})mMap["博客地址"] "blog.fangkang.to…

Json4s的一些用法 JSon转对象实体 Json转Map Map转Json

Json4s 全称就是Json For Scala&#xff0c;为Scala而生 首先上Maven依赖配置&#xff0c;其实Spark中自带了Json4s如果是编写Spark代码,并不需要单独引用Json4s的依赖了 <dependency><groupId>org.json4s</groupId><artifactId>json4s-jackson_2.11&…

map转json字符串字段排序

需求&#xff1a;map转成json字符串&#xff0c;要求字段按字母升序排列 package com.data.test;import java.util.HashMap; import java.util.Map; import java.util.TreeMap; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFe…

Map与JSON数据之间的互相转化

Map与JSON mapmap转JSON字符串JSON字符串转JSON对象Map转JSON对象JSON字符串转MapJSON对象转MapJSON对象转JSON字符串IDEA功能快捷键 map 此内容是方便博主自己记忆内容&#xff0c;不用于公开学习资料&#xff0c;若发现语法错误&#xff0c;自行更正&#xff0c;勿喷 map转…

Map和JSON之间的转化

Map和JSON之间的转化 1 添加依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency>2 测试 2.1 Map转JSON //1.map转jsonTestpublic void testJson01()…

js中三个等号

&#xff1a;三个等号我们称为等同符&#xff0c;当等号两边的值为相同类型的时候&#xff0c;直接比较等号两边的值&#xff0c;值相同则返回true&#xff0c;若等号两边的值类型不同时直接返回false。

两个等号(==)和三个等号(===)的区别

2019独角兽企业重金招聘Python工程师标准>>> 两个等号()和三个等号()的区别&#xff1a; 1. ""表示&#xff1a;equality -> 等同 的意思&#xff0c;""使用两个等号时&#xff0c;如果两边值的类型不同的时候&#xff0c;是要先先进行类型转…

【javaScript】JavaScript中一个等号、二个等号、 三个等号 的区别(详细例子)

一、单等于号 1.单等于号具有赋值作用 我们在定义变量时&#xff0c;会对变量进行赋值&#xff0c;例如a1&#xff0c;就是把1赋值给a。 这就是在初始化对象的时候进行赋值。 2.单等于号具有引用对象作用 比如我们写了 var a 1;var b a ,表示变量a指向的内存地址与b相同&…

JavaScript 中 的等号(==)/不等号(!=) 和全等号(===)/非全等号(!==)

2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/u/1579702/blog/220269

有等号“=“的情况

.有等号""的情况 比如a这个字母&#xff0c;ASCII码是65&#xff0c;转换成二进制是01000001&#xff0c;转换成六个一组010000 | 01&#xff0c;就会发现后面不足以组成六位数&#xff0c;就可以在后面添零&#xff0c;就变成了&#x1f449;010000 | 010000&#…

LaTeX:公式等号对齐

LaTeX \LaTeX LATE​X 公式等号对齐 目录 LaTeX \LaTeX LATE​X 公式等号对齐0. 导包1. 对齐 0. 导包 使用公式对齐的功能&#xff0c;需要导入包 \usepackage{amsmath} 1. 对齐 使用如下的格式&#xff1a; \begin{align*}* & * \\& * \\& * \end{align*}或者 …

关于全等号

我们都知道ECMAScript 中的等于操作符用两个等于号&#xff08;&#xff09;表示&#xff0c;如果操作数相等&#xff0c;则会返回 true。不等于操作符用叹号和等于号&#xff08;!&#xff09;表示&#xff0c;如果两个操作数不相等&#xff0c;则会返回 true。这两个操作符都…

一个等号= 二个等号== 三个等号=== 的区别

一个等号是赋值操作&#xff0c;先转换类型再比较&#xff0c;先判断类型&#xff0c;如果不是同一类型直接为false。 判断规则 如果两个都是数值&#xff0c;并且是同一个值&#xff0c;那么[相等]&#xff1b;(&#xff01;例外)的是&#xff0c;如果其中至少一个是NaN&…

四川计算机专业三本大学排名,四川三本大学排名及分数线2021【文科 理科】

距离2018年高考还有不到一个月的时间了&#xff0c;四川省共有3所三本大学参与了2018四川三本大学排名及分数线&#xff0c;以下是四川三本大学排名及分数线2018具体榜单&#xff1a;四川三本大学排名学校名称所在地录取批次平均分 1西南民族大学四川本科其他批432 2西昌学院四…