菜机互啄 自己的学习记录

                                            

               永不停息

             为了不输给时代的浪潮



    程序 指令+数据组成  储里器面存放着数据和指令

 

CUP重要的组成 运算器,控制器,寄存器

 

输入输出设备称为I/O设备,用来交互的;例如鼠标键盘显示器 鼠标和键盘是I 也就是输入设备 显示出就是O 输出设备 把结果输出到屏幕让你能看到

 

 

Cup的运算器需要去存储里面读取指令,那么谁来告诉Cup到底读取什么指令或者操作呢?

那么就必须通过控制器,由控制器作为中间连接。I/O设备把信息传送到CPU,在通过控制器找空闲空间放在存储器里

 

地址总线:是由CPU或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。

 
DMA 是让硬盘不用通过CPU来控制读写
直接存储器存取,是一种快速传送数据的机制,DMA技术的重要性在于,利用它进行 数据存取 时不需要CPU进行干预,可提高系统执行应用程序的效率。利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要是中间媒介

 

地址总线宽度 地址总线数据宽度决定了CPU可以访问的物理地址空间,简单地说就是CPU到底能够使用多大容量的内存。对于486以上的微机系统地址线的宽度为32位,最多可以直接访问4096 MB(4GB)的物理空间。Pentium Pro/Pentium /Pentium为36位,可以直接访问64GB的物理空间。

地址总线的位数决定了CPU直接寻址内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为2^16=64KB,16位微型机的地址总线为20位,其可寻址空间为2^20=1MB。一般来说,若地址总线为n位,则可寻址空间为2^n位。[1] 

 

传输数据的线路叫做数据总线

对于控制器而言获取控制指令叫做控制总线

 

存储 Ram 随机访问存储器

    Rom 只读存储器 此前适用于这台计算的一堆指令。

 

加电自检含义:指令能够映射到内存里面,控制器就会读取这些指令,告诉CPU 显卡内存是否存在 这个就叫做加电自检

 

内存分为三段:post加电自检以后 bios自动映射到内存第一段实现加电自检,第二段载入操作系统内核,第二段内核空间(kernel space)第三段被多个应用程序彼此共享

Interrupt: 中断 可以理解为硬件通知机制  那么我们怎么知道 中断是鼠标或者键盘,计算机内部有个可中断编程控制器,这个控制器和CUP是针脚相连的,cup有多跟线,每一根线对应一个设备,这样CUP就可以知道是哪里出现中断了

设备分南桥和北桥

南桥:低速控制总线 连接大量I/O外围设备(键盘,鼠标,显示器) 汇总后通过同一根线交给北桥,北桥通过控制器传给CUP

北桥:高速控制总线  cup和内存打交道,Cup和内存需要总线相连,所以需要大量数据传输,需要高频率快速数据交换

现在为了高效率 内存直接连接CUP了 北桥只负责连接南桥,因为北桥速度快,因此可以将固态硬盘直接连接到北桥,实现更高效率,这就是一种硬件调优

 

Cup缓存:CUP是从内存读取数据,缓存是从三级到一级层层缓存。但是CPU的处理速度依然远远大于内存,CPU依然需要等待大量的时间从内存读取数据,CPU性能被浪费,所以CPU引入了一级缓存,一级缓存分为指令缓存和数据缓存 他的容量很小,只有几十K左右,但他的读写速度却已经与CPU处理速度非常接近了。

但因为这样的一级缓存成本非常非常高,所以是不可能做的很大的,但这么小的几十K跟内存成百上千M的容量比,实在是不够用,一级缓存与内存的数据传递又成了瓶颈,出于成本考虑一级缓存不可能增大太多,所以又加入了二级缓存,他的速度比一级缓存要小的多,但成本低,而且可以做到比一级缓存大很多,所以就出现了二级缓存,现在二级缓存基本都是1M以上的了,甚至都6M的了。

 

缓存工作要遵循程序局部性原理,

时间局部性刚访问的数据,可能最近还需要访问缓存下来

空间局部性:如果访问一个数据,离周围的数据非常近,所以把周围的数据一起载入进来

 

机器只能识别二进制编程为了方便编程,CPu芯片会有微码也叫微程序,称为汇编语言 人类认识的语言,在用编译器(编译器也是软件),转换为机器语言,微码是芯片是自带的,每个厂家的芯片不一样,所以无法相互使用。

API(ApplicationProgramming Interface)应用编程接口 为了让不同厂家的芯片可以互相使用,可以让cup直接相互通过编程接口 把指令往上传输 就跟翻译器是一个道理

 

硬件架构:cpu芯片的不同系列 因为ntel公司 发展出了代号为8086,所以这种架构的CUP叫做x86

手持智能设备:硬件架构 移动硬件架构叫做 ARM(啊木)

X86

X86-64也叫AMD64

32位 计算机中的位数指的是CPU一次能处理的最大位数,一次最多能处理32位数据

64位计算机中的位数指的是CPU一次能处理的最大位数,一次最多能处理64位数据

 

进程

运行的程序称之为进程,进程是有生命周期的,处理完毕进程就结束了,而程序在内存里保留的 所以进程和程序是不一样的,

进程的原理:CUP运算是根据时间的流逝完成的CPU是时间驱动的。所以将CPU样件切分为CPU的时间片time slice

time sluce

第一个程序运行5ms

第二个程序运行5ms

来回交替运行

内存可以通过访问不动的段来进行交替也称分段机制,例如第一个程序访问第一段,第二个程序访问第二段,每个程序都是从头开始的,那么内存如何知道我要去访问相应的段落呢? CPU内部也可以分段,内部会把不同的任务放入相应的段落里,来进行相互交替 ,内存分段由CPU完成



操作系统

                            

操作系统也是个软件,运行在硬件上,负责管理硬件资源,将硬件资源所提供的计算能力,分配给不同程序,CUP分成多个片,内存分成为多个段,并且负责协调,协调包括程序的启动,终止和回收等工作,还负责程序切换等工作

负责协调硬件和程序。有了操作系统,进程不能和硬件直接打交道

要想使用硬件必须通过操作系统进行协调 进程向操作系统内核进行程序调用,

由系统内核把程序从内存中取出来返还给应用层程序和进程,

操作系统是由system cal(系统调用)进行协调,但是由于这种方式过于底层 ,使用起来比较麻烦,所以将底层系统调用一个或者多个,把功能封装打包起来,做出更高级的接口,那么这个高级接口称作为库,库不能独立运行,只能被调用。

除了系统调用还有库调用(library),库对于操作系统或者内核叫:应用编程接口API

程序员开发程序都是通过库去开发,windos和linux库不同。所以windos开发的程序不能再linux上使用 ,先要程序通用如何windos和linux使用的库一样,似乎就可以

所以操作系统底层是硬件 操作系统就是通过系统调用

Shell:人机交互接口, 为什么我们双击就能点开word呢 就是通过shell实现,把计算机的功能通过人类容易操作的方式,输出一个接口,通过这个接头才能操作计算机

Shell分两种

1.GUI图形用户界面

2.CLT命令行接口


内核:操作系统的核心,内核负责管理硬件资源,并且将

硬件资源虚拟提供给上层所需要的运行程序。如何程序运行在硬件上那么这个程序就可以控制硬件的各种属性,如果多个程序同事运行,相互之间就会产生干扰,所以需要内核负责管理和协调,内核确认硬件的运算能力通过系统调用的方式,返还给程序

 

程序的执行过程:有了操作系统,内核负责整个系统的监控和上层程序的监控,能够和程序进行交互的只有内核,软件程序输入信息先到达CPU,CPU通知内核进行处理,在由内核转交给应用程序

操作系统也是一种程序,程序是由指令+数据组成,所以内核的数据再也存储器(内存里),如果有恶意的应用程序访问内核那么系统的稳定性没有保障,所以有保护机制把应用程序和内核隔离开,所以CPU分为4个级别,只有内核能运行在特权级别下(0级别),而其他程序运行在最外围级别上,cup会把级别映射到存储器的(内存)

内核的功能:

进程管理

 内存管理

文件系统

网络功能

硬件驱动

安全机制

ABI应用二进制接口每个CPU的编译器不一样,使用ABI可以实现交叉编译

 

 

所有程序都需要进行编译,因为计算机内核只认识二进制,所以就有了第三方公司专门做编译,把程序编译完打包封装给系统使用,这就是redhat红帽公司 这些公司都不是开发者他们只是将·源代码格式的linux在通用的计算机上编译成通用格式,其他人就不用编译了,所以红帽这些公司是linux的发行商,内核有Linux之父 李纳斯维护 软件由GNU 组织戈怒维护的 redhat负责包装发行,但是因为红帽有些是要服务费升级补丁是要钱的,后来成立了组织centOS 开放社区版的linux 因为免费所以如果任何事情导致系统崩溃centOS不负责任

 

LINUX基本原则

1. 由单一小程序组成,组合小程序完成复杂任务比如搭建服务 一个安装包需要很多个安装包去支持和依赖 所以叫组合小程序完成复杂任务

2. 一切皆文件,所有东西都保存为文件格式,甚至连访问入口都是文件

3. 尽量避免捕获用户接口,不根用户交互,只要执行命令不需要用户输入任何信息

4. 配置文件保存为文本格式,在linux配置服务创建个文本就可以完成所有功能





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值