linux学习基础篇01--硬件基础

最近看马哥的linux运维视频,虽然我是我做软件测试的,但是最近也对运维方面的东西很感兴趣,因为以前总是写写测试框架代码,谢谢自动化测试代码。发现自己懂得东西很少。我的目标是成为一个测试架构师,可是只是会写写代码的话,永远也达不到这个目标。测试架构师需要在各个计算机领域都有一定深度的了解。所以前一段时间学习mysql调优后,现在开始看马哥的linux视频。学习一下运维的知识。这里有一个很诧异的地方就是,运维需要会的东西是很多的,而且要很深。为什么国内运维人员的工资缺普遍还不如我们测试呢。这是个问题。今天开始我会陆续记录一下我学到东西。我只记录一些我觉得重要的东西

  1. 大概的概念

    我们计算机有5个组成部分:控制器,运算器,存储器,输入设备,输出设备。其中控制器和运算器组成了我们的CUP。存储器就是我们的主存,也就是内存。输入设备和输出设备就是我们的键盘鼠标和显示器之类的设备。

  2. 详细概念

    运算器:运算器就是我们的CUP用来计算的设备。我们知道在我们计算机中使用的是二进制算法。与CPU相连的针脚会传递电信号,通电时值为1,关闭电路时值为0。通过如此方式向运算器传递数据。以累加器为例,我们的CUP中会有多个累加器并组成我们的运算器。每个累加器都分别有两条传递加数和被加数的线,同时还有将计算出的数据传出的线。这样就组成了我们的累加器。而当我们进行运算的时候,例如十进制的9+9. 这样的操作需要进位。这样我们需要传递的数据除了相加后的结果外还需要存储“进位”,于是我们的寄存器就出现了。寄存器就是用来存储这样的数据。寄存器也是速度最快的存储设备,它可以与CPU同速。

    控制器:有了运算器还是不够得,我们需要知道数据从哪来,往哪去。并且操作运算的指令集从哪里取。所以便有了控制器。控制器负责从内存中取出运算的指令和数据。

    主存:也就是我们的内存,用来存储数据的地方。这里说一下系统开机自检测的流程。计算机程序就是指令集加数据的集合,我们之所以能够运行程序是因为控制器将主存中的数据和指令集传输到运算器中。但是当我们开机的时候我们的内存中是什么都没有的。那我们怎么运行开机自检测呢。这里除了主存(RAM)之外还有ROM和另外一个硬件存储设备,这种存储设备中拥有开机自检测的指令集,开机的时候它会用硬件原理(啥原理我还不知道)将指令集放到主存中。这些指令集就是去检测你的鼠标,键盘。这样控制器就知道如何开机自检测了。

    输入设备和输出设备:这两个设备很好理解,我们的鼠标键盘就是输入设备,显示器就是输出设备。同时网卡和硬盘既是输入设备也是输出设备。

  3. 中断

    刚才说了5大部件的作用,其中我们知道内存中的数据和指令集是由控制器读取传给运算器的。内存和控制器中有前端总线相连,那么我们的输入输出设备是怎么告诉CPU我现在有一个操作呢?答案就是中断。我们有一个中断控制器与CPU相连,同时中断控制器与每一个输入输出设备项链。每当我们点击鼠标的时候,都会产生一个中断,CPU接收到中断信号就会停止手上的工作跑去处理这个中断操作。因为中断信号的优先级很高,CPU会停止手上的工作,所以才叫中断。可想而知中断是十分消耗CPU资源的操作。这也就是为什么在服务器中如果网络流量太大的话,CPU的消耗会非常高,因为网卡也是一种输入输出设备,也是会产生中断信号的。

  4. CPU缓存与局部法则

    我们知道CPU的运算时间要比内存快的多的多。打个比方,如果CPU一秒钟内能向内存发出10个请求,但是内存只能返回1一个请求。这个时候怎么办?CPU的资源岂不是都浪费了。所以这个时候我们有了CPU的一级缓存和二级缓存。在CPU和内存中起到缓冲作用。CPU缓存的速度要比内存块的多但是慢与CPU。但是这已经大大的缓解了内存太慢的问题。想要CPU缓存起作用就需要我们的局部法则出场了。局部法则中有时间局部法则和空间局部法则:

    时间局部法则:最近读取的数据在之后的时间内可能也会要读取。

    空间局部法则:读取一个数据时与它相邻的数据也很可能会读取。

    有了这两个法则,我们的缓存就会将内存中的数据“预读”到缓存中以供CPU使用。这样就能提高速度了。

  5. CPU种类

    ARM:省电,性能

    X86:inter

    X64:inter

    alpha

    安腾

    power:IBM

    M68000也叫M68K

    PowerPC:inter,苹果和IBM联合设计的,性能比power稍差

其他还有很多就不一一列数了。这里只记录一下我认为重要的。

时间: 2024-07-31 14:35:02

linux学习基础篇01--硬件基础的相关文章

Javascript DOM 基础篇 01

DOM基础 DOM是什么 答:文件对象模型(Document Object Model,简称DOM),DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构!来自网络 本节了解了下面知识点: DOM节点 childNodes  nodeType 获取子节点 children parentNode 例子:点击链接,隐藏整个li offsetParent 例子:获取元素在页面上的实际位置 DOM节点(2) 首尾子节点 有兼容性问题 firstChild.firstElementChil

Vue基础篇--8组件基础 component

Vue基础篇--8组件基础 component 1.简单示例 <div id='components1'> <button-conter></button-conter> </div> <script> // 定义一个名为button-conter组件 Vue.component("button-conter",{ data:function () { return { count:0 } }, template:`<b

Java并发包下锁学习第二篇Java并发基础框架-队列同步器介绍

Java并发包下锁学习第二篇队列同步器 还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图: ? 从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本文中,凯哥就用AQS来代替这个类).我们先来了解这个类.对这个类了解之后,学习后面的会更容易了. 本篇是<凯哥(凯哥Java:kagejava)并发编程学习>系列之<Lock系列>教程的第一篇:<Java并发包下锁学习第二篇:队列同步器>. 本文主要内容:同步器介绍:同步器

spark 深入学习 05】RDD编程之旅基础篇-01

---------------- 本节内容 1.RDD的工作流程 2.WordCount解说  · shell版本WordCount  · java版本WordCount ---------------- 一.RDD工作流程 1. RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据集,什么有向无环图,本文暂时不去展开这些高深概念,在阅读本文时候,大家可以就把RDD当作一个数组,这样的理解对我们学习RDD的API是非常有帮助的.本文所有示例代码都是使用scala语言编写的.RD

马哥linux学习笔记:加密,解密基础

在计算机网络建设的初期,由于能使用到计算机的人少之又少,并没有考虑到有数据加密需求,随着社会的发展,互联网已俨然成为我们生活中不可或缺的一部分,人们不管是交流,购物,还是工作都已经离不开互联网.在电脑,手机,各种电子设备构建的互联网中,数据的安全问题已经成为人们很是关注一个重要环节. 现在,我们就来了解一下linux下是如何实现数据加密及解密的. 对于确保数据的安全性,我们要达成的目标有三个: 保密性,完整性,可用性. 现今蛇龙混杂的互联网,总是有很多拥有强烈好奇心的不安分的人想尽办法要获知其他

python 基础篇01

一.python介绍python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.最新的TIOBE排行榜,Python已经占据世界第四名的位置, Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言.由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!!Python可以应用于众多领域,如:数据分析.组件集成.网

嵌入式Linux学习笔记(0)基础命令。——Arvin

学习记录: 到今天为止ARM裸机开发学习进程:1.2.1-1.2.14 预科班知识Linux介绍学习进程:0.2.1-0.2.6 学习内容笔记: 学习了Linux的开发方式的优劣介绍 学习了常用文件夹命令 ls(list) ls -a 显示所有文件(包括隐藏文件) ls -l 显示所有详细信息 ls -a -l也可以 man(查询命令) man 1 ls(1表示查询命令,ls表示查询的内容) cd(change directory) cd ..代表上一层 cd ../../代表上上层 cd .是

跟着老男孩学运维-基础篇-01

此系列只用于个人整理笔记与学习,如想学习老男孩课程,请联系老男孩教育,谢谢! 一. 学习方法与思想 1.学习方法分为:被动学习.主动学习 被动学习(百分百是知识吸收占比) 听课 5% 阅读10% 视听20% 演示30% 主动学习 讨论50% 实践75% 教授与他人 90% 实践运用     99% 二. 硬件 1. 计算机主要组成 a.主机 CPU.内存.主板 b.外设 存储:硬盘 输入设备:键盘.鼠标 输出设备:显示器 2. IO各层次性能汇总 CPU <--> Cache L1,L2,L3

Java多线程系列--“基础篇”01之 基本概念

多线程是Java中不可避免的一个重要主体.从本章开始,我们将展开对多线程的学 习.接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(), notify()等接口:Thread类中的接口:synchronized关键字. 注:JUC包是指,Java.util.concurrent包,它是由Java大师Doug Lea完成并在JDK1.5版本添加到Java中的. 在进入后面章节的学习之前,先对了解一些多线程的相关概念.线程状态图