一.计算机由硬件和软件组成
二.冯诺依曼计算机五大部件:
1.运算器,控制器(CPU)
运算器负责运算,控制器用于各程序之间协调和控制数据存和取
2.存储器
存储数据
3.I/O设备
基本输入输出设备
三.处理器(CPU)
CPU是一个电气蕊片不能以电压大小来表示.只能通过有电或无电来表示.0 ,1
0:假
1:真
只能进行与,或,非,异或之类的逻辑操作.
基本的计算过程:
1.使用一组线路来理行输入电信号
2.电信号在线路上保存,再来一组电信号之前的信号就被冲掉了.
3.所以使用寄存器将每次输入的数据保存.运算器再执行运算.
CPU指今和指令集
CPU生产厂商内置的能够技持的操作叫指令.而指令集合称为指令集.不同厂商的指令集可能不一样.
编程: 用户需要解决的问题称为问题空间.而CPU蕊片能够完成的操作称为解空间.如:将乘法运算转换为加法运算.(将问题空间的问题映射为解空间问题执行的过程)
微码编程:CPU蕊片只能识别0101的二进制代码.而CPU生产厂商内置了能够技持的操作的指令集合.而指令集支持以一些内生的编程逻辑.
四.存储器(内存)
内存:存放数据的容器,编址的存储单元
CPU取出要进行运算的如数.需要以每个存储块的地址来识别存储器中的每一个存储空间.
CPU的针脚和内存的针脚相互连接,32位的针脚为2的32次方转换为存储空间为4G ,所以32位的CPU最大只能使用4G的内存.而64位的CPU转换为存储空间为4亿多个4G.
程序:指令+数据
CPU每一次执行程序以控制器控制从内存中存取指令和数据.CPU每一次读的是数据还是指令取决于程序本身.
五.输入输出设备I/O
poll 轮循
interrupt 中断
dma直接内存访问
轮循:由CPU守护,CPU处于忙等状态,准备好一个取一个。
中断:由I/O设备向控制申请一个端口并算动通知CPU。
直接内存:由程序代替CPU执行存取,可以理解为虚拟CPU
由程序员编写程序通过外部IO自身的控制器通知CPU将数据(存/取)于内存的哪一个地址空间。CPU从内存中取出需要进行运算的数据放置寄存器内再取第二个数据进行计算,并将计算结果回存到内存中。
六,计算机运行
1.解释型语言
翻译一条执行一条的语言
2.编译型语言
全翻译好再一次执行的语言
计算机执行的任务称为一个作业
作业:内存中只有一个程序在CPU中执行.执行完毕再执行一下个程序
批处理作业:job$$$$$job2$$$$job3:执行时遇到$符CPU就会认为第一个程序执行完毕接着执行第二个程序.
多任务:多个作业程序和一个监控程序
监控程序:不完成任何具体作业.只用来协调各作业.
用户模式:
特权模式:
当一个程序由用户模式转换为特权模式时需要调用内核的系统调用.
内核把底层的实现细节隐藏起来.虚拟成一个个的节口向上输出,这些节口封装为系统调用.而程序员再也不用微码编程,而使用系统调用节口来编程了.
系统调用的表现形式:
系统调用的二次封装称为库
shell(壳)
特殊指令集的CPU类型
inter x86
amd x86_64
IBM-power,powerPC
HP,alpha,安腾(IA32,IA64)
motorola.m68k
计算机五大部件的物理连接
各IO设备通过总线与南桥北桥蕊片连接再和CPU相连接
程序:
进程:程序执行的实例.可以有多个.且每个进程有寿命周期.
进程切换:上下文切换
编译型语言执行步骤
预处理->编译->汇编->链接
Gcc:Gnu C Complier
动态链接库:
DLL: Dynamic Link Libraries
so: share object
进程:由父进程fork自身而来
shell---ls