一 软件的重要性
计算机科学,学了有什么用?你是月入3K还是月入30K,就看你计算机科学学得扎实不扎实了。
举例“码农翻身”公众号,提倡学习内容:注重计算机科学,注重基础
电脑如果没有软件的话,电脑仅仅是一个盒子,里面是一些主板,IC电路等
由源代码生成的汇编(机器语言),来告诉CPU怎么执行。其实就是通过软件来控制硬件来执行的。
cpu是台车,我们就是控制这台车向前走的人。
我们平时是不能真正直接操作硬件的,只调用API间接调用
有了操作系统后,我们是坐车的人,告诉司机(操作系统)往哪走,操作系统开车(操作硬件)。
操作系统是如何与硬件打交道的呢?
所有的硬件者是IC ,操作系统用 in 和 out 来进行沟通 。
in 寄存器名, 端口号 就是从硬件读取到cpu当中来
out 端口号 , 寄存器名 从CPU当中写入指令到端口号里面去
什么是端口号
设备管理器 属性 --》 资源 里面有个 I/O范围 这里就是端口号叫
每个硬件里面和别的硬件里面端口号是不同的
I/O范围我们可以认为它是硬件在计算机里的唯一编号
xp时代里面硬件冲突,或者驱动冲突等,其实就是端口冲突了,两个硬件 I/O范围 端口一样了。
如何不让端口不冲突呢?我们分配的时候注意就行了。现在是操作系统统一调配了。
IO控制器
每个硬件都有一个IO控制器,把电流翻译成统一的一个信号
IRQ 发送中断请求
什么是中断
比如你正在工作,突然一个电话来了,你要接电话,这就是电话向你申请了一个中断。
N个硬件不停的中断请求呢?cpu其实有一个中断控制器,同时处理多个中断。
DMA机制
不经过cpu的调派,直接存储进内存,现在的磁盘都具有DMA机制。
与显卡的通信
VRAM 显存 dos时期会在主内存中划分出一块,专门用来显示,现在显卡都有GPU和显存,不浪费内存和cpu性能
总结:应用程序,会写出一些逻辑代码,交给操作系统来和硬件进行通信,使用 in 和 out 两者之间进行交互,硬件很多的时候,
中断和轮巡的机制开始作用,能保障cpu能快速处理多种硬件通信。电脑就是一些电路,就是一电子原件,通过通电不通电来进行一些机械化的应用 。但为什么觉得电脑是有生命,是能思考的,会下围棋,而且还能赢了世界冠军,这就是程序的进化
程序进化
举例 猜拳游戏
作业,把这两星期学的东西,给它重新做下笔记。整理好。回顾总结下。