1、11点半睡觉,8点起床,8:30开始学习

2、除了生活必须的吃喝拉沙都应该用在学习上

3、每天作业要求:条理清晰的归纳与总结每天知识点(发布到博客上),做到能让有linux基础的人看完能够理解与操作。(更好的强化你的知识结构['记忆'],面试的时候也能够讲清楚)

4、笔记与梳理,优化自己的思维框架


4wdh写博客的规范:

1、声明是什么

2、用在什么地方

3、什么时候用

4、为什么要用到它

5、怎么去用


一、计算机体系结构:

wKiom1ixfSyhNGWhAAE9fRSCANU775.jpg-wh_50

1、通过I/O设备输入发信息——控制器调用指令——调用数据(电信号)——交付运算器运算

2、一个线路的复合使用,把前一个数据暂时存在寄存器,再接收下一个数据,再合并计算



虚拟机是模拟的计算机结构


RAM:随机访问存储器

ROM:只读存储器(适用于这台计算机设备的指令)


加电字节:元芯片(保存硬件指令)一开机就加载到内存最前端运行的识别显示器键盘显卡等硬件的指令


调优就是调内存里的数据怎么排列,CPU怎么去运行程序


poll(轮询)如cpu不停去查看键盘

interrupt(中断)硬件通知机制——可编程中断控制器(硬件),连接着各个硬件(多条线),哪根线来的就是哪个硬件(一根线可以连接多个同设备如多个硬盘)CUP处理中断数据越多性能下降


前端总线:

北桥是高速总线控制器(一根线连接,以及其他高速总线控制【如显卡】){现在的内存直接与cpu相连、以前也会通过北桥}

南桥低速总线控制器(连接各种外围设备【显示器、键盘】)


传统硬盘通过南桥连接如web并发多会很慢,淘宝已经使用固态直接连接北桥的方式


cpu I/O频率:通过特殊的电器设备使CPU I/O设备的闭合速度极快


折中(技术与人都需要折中):cpu与内存频率不同导致内存拖慢CPU,折中通过中间放一个中间设备(缓存[cpu的1级缓存..])


缓存:级越小距离cpu越近,越贵,越小。缓存越大整体性能越好,(缓存造价很高所以很小)

寄存器与cpu相同频率工作,1级更慢..(先到2级再到1级)


程序的局部性原理:缓存工作遵循的原理【时间上局部性(我一会就要访问所以直接放在1或2级缓存里)、空间上的局部性(我访问一个数据同时需要的其他数据也放在旁边就可以加快访问效率)】



wKioL1ixkIaSsFgdAAByLO1R6gk423.jpg-wh_50


CPU的运算逻辑不一样汇编语言不一样


API应用编程接口(库):在不同的CPU上使用汇编语言编写的具有相同功能的程序(使用软件的形式抽象出来),虚拟一个相同的开发执行环境


二、硬件架构:(cpu芯片的不同,需要移值)


ARM:移动硬件架构芯片

x86

x64

安腾

alpha

UltraSparc

Power

M68000, M68K

PowerPC


OS:

Windows

Linux

Unix

HP-UX

Solaris

AIX

SCO UNIX

Unixware

OS/2


wKiom1ixlmzCw3EQAACi5aTNdQA296.jpg


三、操作系统(协调程序工作的软件):


1、运行在硬件上的软件,(进程)把CPU分成多个片来分给多个程序(按时间)或多核心,内存切成多段(1[0、1..]、2[0、1..])\32位默认按4G来分割


2、库提供调用接口call,程序看到的就是库API了(操作系统的接口)


3、通过操作系统协调使用硬件(system call最底层)面粉


4、将底层接口再封装就形成了API(库、功能、馒头)


5、shell:外壳 人机交互接口(图形化{GUI}、命令行{CLI})翻译成内核可以理解的命令


6、kernel:内核 操作系统的核心(通过内核(系统调用{底层})硬件供程序使用)


7、库的调用接口一样的程序,可以在不同系统运行


8、四环:CPU的0级在内存中的内核程序对应0级,程序不能访问(只能访问4级)