趣谈Linuxn操作系统:03你可以把Linux内核当成一家软件外包公司的老板

【该文章知识来源《极客时间刘超老师-趣谈Linux操作系统》向大神致敬。


趣谈Linux操作系统(极客时间)链接:
http://gk.link/a/10iXZ

欢迎大家来一起交流学习,一起探索Linux内核的奥秘,一起修炼硬本领,升职加薪。哈哈】

目录

1.“双击 QQ”这个过程,都需要用到哪些硬件?

2.从点击 QQ 图标,看操作系统全貌


操作系统其实就像一个软件外包公司,其内核就相当于这家外包公司的老板。所以接下来的整个课程中,请你将自己的角色切换成这家软件外包公司的老板,设身处地地去理解操作系统是如何协调各种资源,帮客户做成事情的。

1.“双击 QQ”这个过程,都需要用到哪些硬件?

1.鼠标和键盘是计算机的输入设备--客户对接员

当客户告诉对接员需求的时候,对于操作系统来讲,输入设备会发送一个中断。这个时候客户发送的需求就被称为中断事件(Interrupt Event)。

2.显卡会有显卡驱动,在操作系统中称为输出设备驱动,相当于交付人员。

2.从点击 QQ 图标,看操作系统全貌

1.客户需求的产生

当我们双击QQ图标,产生一个中断,执行中断处理函数(运行QQ):操作系统发现双击的是一个图标,就明白了用户的原始诉求,准备运行 QQ 和别人聊天。

2.可执行文件=QQ程序的二进制文件

运行 QQ,相当于外包公司接了一个大单,需要立项交由项目组来处理。立项就需要项目执行计划书,说明这个项目打算怎么做,一步一步如何执行,遇到什么情况应该怎么办,它能做哪些事情,每件事情怎么做,先做啥后做啥等等。也就相当于QQ程序编译成的二进制代码.(QQ程序的二进制文件:项目计划书)

3.文件管理子系统(File Management Subsystem)

电脑上的程序(二进制代码的可执行文件)有很多,除了QQ,还有有道云笔记的程序、Word 程序等等,它们都以二进制文件的形式保存在硬盘上。硬盘是个物理设备,要按照规定格式化成为文件系统,才能存放这些程序。文件系统需要一个系统进行统一管理,称为文件管理子系统(File Management Subsystem)。(文件管理子系统:管理每一个项目计划书)

4.进程(Process)

当你从资料库里面拿到QQ这个项目执行计划书,然后开始执行这个项目。同理,当操作系统拿到 QQ 的二进制执行文件的时候,就可以运行这个文件了。QQ 的二进制文件是静态的,称为程序(Program),而运行起来的 QQ,是不断进行的,称为进程(Process)。(进程:执行项目计划书)

5.系统调用(System Call)

一个项目要想顺畅进行,需要用到公司的各种资源,比如说盖个公章、开个证明、申请个会议室、打印个材料等等。为了提高效率,设立个统一的办事大厅,明文列出提供哪些服务,谁需要可以来申请,然后就会有回应。该办事大厅,也就是系统调用(System Call)。(系统调用:为每个项目办事提供统一的办事入口

5.进程管理子系统(Process Management Subsystem)

一旦项目正式立项,就要开始执行,就要成立项目组,将开发人员分配到这个项目组,按照项目执行计划书一步一步执行。为了管理这个项目,我们还需要一个项目经理、一套项目管理流程、一个项目管理系统,如果项目多,可能一个开发人员需要同时执行多个项目,这就要考验项目经理的调度能力了。在操作系统中,进程的执行也需要分配 CPU 进行执行,也就是按照程序里面的二进制代码一行一行地执行。于是,为了管理进程,我们还需要一个进程管理子系统(Process Management Subsystem)。如果运行的进程很多,则一个 CPU 会并发运行多个进程,也就需要 CPU 的调度能力了。(进程管理子系统:每个项目可以并发进行)

6.内存管理子系统(Memory Management Subsystem)

每个项目都有自己的私密资料,这些资料不能被其他项目组看到,这需要把不同的项目组分配到不同的会议室,当然会议室是有限的,需要有人管理和分配,并且需要一个会议室管理系统。在操作系统中,不同的进程有不同的内存空间,但内存是有限的,所以需要统一的管理和分配,这就需要内存管理子系统。(内存管理子系统:为每个项目进行提供运行空间

 

                                                                操作系统内核体系结构图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux技术芯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值