我们从硬件开始说

我们假如在组装一台电脑,我们需要 cpu,主板,显卡,网卡,硬盘,鼠标,键盘,显示器等

组装完成后

我们需要安装一个操作系统,操作系统的安装涉及十几个步骤,配置,每一个都完成后,才可以进行实际的操作

那么我们对于此流程,带来一下常见的疑问

1.桌面的图标是什么,我们点击是如何触发操作的

2.键盘上敲击,如何生成字符的

3.鼠标的移动是怎么做到的

4.聊天的时候,如何传递消息的

我们在解答这些问题的时候,将操作系统比喻为一个软件外包公司,内核就好比是这个外包公司的老板,我们将自己代入老板,也就是内核,来理解系统如何调用资源的

鼠标和键盘是计算机的输入设备,大部分的用户操作系统都是靠着这两个设备,比如用户移动一下鼠标,鼠标就要告诉系统,鼠标的位移距离

就好比外包公司中具有的销售,售前等角色,负责和客户对接,称为客户的对接员

鼠标在插入系统的时候,会显示安装驱动中 驱动就是客户的对接员,如果点击一下鼠标,鼠标就会触发一个中断事件

屏幕,也就是显示器,就是输出设备,将事件处理后的记过告诉给客户

然后显示器的输出取决于显卡,显卡利用坐标系的概念来进行绘图,常见的就是鼠标,在某个坐标画了一个鼠标箭头,如果有移动鼠标的事件,就要按照一定的顺序和速度去画新的箭头

我们来模拟一下QQ的整体流程

我们首先点击QQ的图标

就是利用客户对接员,来触发一个中断事件

操作系统接到中断函数,进行处理,运行QQ

运行QQ就好比进行一个项目,如何有关的事件,都交给这个项目组处理

对于这个项目,核心是一个项目执行计划书,如何做,功能,都在这个这个项目计划书上,这就是QQ的程序代码

然后对于QQ产生的文件,就需要一个系统统一管理,这就是文件管理子系统

这个文件管理子系统管理存放这些程序源代码

然后触发的事件就需要运行QQ这个文件,这个文件原本是静态的,称为程序,后来运行起来了,称为进程

对于这个创建这个进程,需要一定的内存资源,也就是我们的办公场所,这就需要到办事大厅,申请核心资源,也就是系统调用

我们利用系统调用来进行创建进程

进程的执行需要一个元件,就就是CPU,这个是系统默认调度的,但一个CPU往往面对多个进程,就需要一个进程管理子系统来进行管理

对于内存的申请,也需要系统调用,其中的内存管理子系统

对于用户,可以利用任务管理器,看到对应进程消耗的CPU和内存

那么进程创建之后,就会告诉显卡驱动,显示对应的对话框等操作

用户在对话的时候,利用键盘打字,也就是键盘也是输入设备,触发对应的输入设备驱动程序

这时候,因为键盘的焦点在QQ这个对话框上,系统知道,这个事件交给QQ,程序就会执行后告诉显卡驱动,显示一个a,这时候输入完成之后,用户点击发送

就需要发送到网上

QQ进程就需要调用系统调用,使用网卡驱动程序进行发送

整体的架构如下

图片

总结一下,整体如下

图片

发表评论

邮箱地址不会被公开。 必填项已用*标注