一、 计算机组成原理
1.1、什么是计算机?
俗称电脑,即通电的大脑,电脑二字蕴含了人类对计算机的终极期望,希望它能真的像人脑一样去工作,从而解放人力。
1.2、为什么要用计算机?
世界是由聪明的懒人统治的,任何时期,总有一群聪明的懒人想要奴隶别人。在奴隶制社会,聪明的懒人奴役的是真正的人,而人是无法不吃、不喝、不睡觉一直工作的,但是计算机作为一台机器是可以做到的,所以把计算机当奴隶是上上之选。
1.3、计算机的五大组成部分
计算机有五大组成部分,既然计算机是人的奴隶,那么计算机设计核心肯定也是在模仿真正的人,所以我们完全可以把计算机的五大组件比喻成人类的各种器官
1.3.1、控制器
控制器是计算机的指挥系统,用来控制计算机其他组件的运行,相当于人类的大脑
1.3.2、运算器
运算器是计算机的运算功能,用来做算术运算和逻辑运算,相当于人脑。
ps:控制器+运算器=CPU,cpu相当于人的大脑
1.3.3、存储器
存储器是计算机的记忆功能,用来存取数据。
存储器主要分为内存与外存:
内存相当于人的短期记忆。断电数据丢失
外存(如磁盘),相当于记事的本子,断电数据不会丢失,是用来永久保存数据的
ps:内存的存取速度要远远高于外存
1.3.4、输入设备input
输入设备是计算接收外界输入数据的工具,如键盘、鼠标,相当于人的眼睛或耳朵。
1.3.5、输出设备output
输出设备是计算机向外输出数据的工具,如显示器、打印机,相当于人说的话,写出的文章。
ps:存储器如内存、磁盘等既是输入设备又是输出设备,统称为IO
二、与运行程序相关的三大核心硬件:
CPU、内存、硬盘。
ps:程序最先是存放于硬盘中的,程序的运行是先从硬盘把代码加载到内存中,然后CPU是从内存中读取指令运行。
三、计算机的三层结构
1.应用程序
2.操作系统
3.计算机硬件(cpu、内存、硬盘)
计算机硬件详解(******)
3.3.1.CPU:中央处理器,是电子计算机的主要设备之一,电脑中的核心配件。cpu x86-64一个cpu芯片4核8线程
其功能主要是解释计算机指令以及处理计算机软件中的数据。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。
中央处理器。控制器+运算器=CPU,CPU相当于人的大脑。
3.3.2.内存:内存是计算机的重要部件之一。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行。内存性能的强弱影响计算机整体发挥的水平。内存也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算。当运算完成,CPU将结果传送出来。内存的运行也决定计算机整体运行快慢的程度。内存条由内存芯片、电路板、金手指等部分组成。
3.3.3硬盘:
硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。
硬盘有固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)。
SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,HHD是把磁性硬盘和闪存集成到一起的一种硬盘。
绝大多数硬盘都是固定硬盘,被永久性地密封固定在中。磁头复位节能技术:通过在闲时对磁头的复位来节能。
多磁头技术:通过在同一碟片上增加多个磁头同时的读或写来为硬盘提速,或同时在多碟片同时利用磁头来读或写来为磁盘提速,多用于服务器和数据库中心。
四、操作系统
操作系统是一个协调、管理、控制计算机硬件资源与软件资源的控制程序。它处于计算机硬件与应用程序之间
五、什么是python
python是一门编程语言
1.什么是编程语言?
编程语言可以简单的理解为一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
2.什么是编程?编程就是人把自己想命令计算机干的事用编程语言翻译出来并写到文件里(这一系列的文件就是程序)。3.什么是程序?
程序是为了实现一个特定的目标而设计的一组可操作的工作步骤,对于计算机而言,程序就是系统可以识别的一组有序的指令。
4.什么是进程?
进程:进程就是正在进行中的程序。
5.为何要编程?
编程的目的就是为了让计算机按照人类的思维逻辑(程序)自发地去工作从而把人力解放出来。
六、缓存(cache)与缓冲(buffer)的主要区别
Buffer的核心作用是用来缓冲,缓和冲击。比如你每秒要写100次硬盘,对系统冲击很大,浪费了大量时间在忙着处理开始写和结束写这两件事嘛。用个buffer暂存起来,变成每10秒写一次硬盘,对系统的冲击就很小,写入效率高了,日子过得爽了。极大缓和了冲击。
Cache的核心作用是加快取用的速度。比如你一个很复杂的计算做完了,下次还要用结果,就把结果放手边一个好拿的地方存着,下次不用再算了。加快了数据取用的速度。
简单来说就是buffer偏重于写,而cache偏重于读。
缓冲:缓解冲击,缓存:临时存储