计算机分为硬件系统与软件系统
硬件系统由五大部件组成:
运算器:加法器只是运算器的一种,一次只能加一位,运算器用来暂存的设备叫寄存器,速度与cpu一致
控制器:功能是控制运算器去到数据
存储器:是存放指令与数据的硬件
以上三个部件称为cpu三大核心部件,程序先放到内存,运算器和控制器才能读到指令和数据
硬件架构:cpu不同架构系列
Arm移动设备
X86 32位
X64
输入设备,输出设备统称为IO设备
运算器与控制器,控制器与存储器之前数据传送的线路叫总线,数据总线,控制总线等
另外
北桥直接与cpu通讯,它比较高速主要负责连接南桥与控制总线,数据总线的控制
南桥主要与外部设备通讯,相对低速,一些文件系统为了使io读取更快,把io直接接入到北桥上,用固态硬盘
缓存:cpu主频为1ghz 很快,但是内存速度跟不上,用到了缓存,缓存数字越小,离cpu更近,速度更高,如一级缓存,二级缓存等
开机加电自检:开机时,有写到芯片里的指令,由硬件逻辑写到内存,控制器取指令,运算器计算,判断有没有网卡,键盘之类的
软件系统:
首先是操作系统Os;
Windows
Linux:安卓等
Unix:ios等
为了让cpu尽量少空闲,提高cpu的运算效率多任务
多个进程,进程有生命周期
cpu和memory 进行切割
Cpu slice 5ms 5ms
Memory 分段
操作系统就是管理者负责分割,与切换
其实也操作系统是一个特殊的程序.
操作终统是最底层 ,只提供system call,系统调用
将底层再封装成为高级调用这就是库就是api
Api是在操作系统上再抽象出来的程序,也叫库一般用汇编语言编写功能是让高级语言开发的程序可以运行在不同的芯片上面,
库是一个入口,被调用执行,call
程序的局部性原理:时间上的局部性,空间上的局部性
时间:刚刚访问到的数据有可能马上又被访问到
空间:访问到数据之后,这个数据旁边的数据很可能被访问
Shell 是人机交互接口
Shell 是人机交互接口
图形用户界面 :gui
命令行用户界面:cli
内核功能:
进程管理,内存管理,文件系统,网络功能,硬件驱动,安全机制
Library,api 库
Windows: dll:dynamic linklibrary
Linux:so:shared object