zoukankan      html  css  js  c++  java
  • 你可以把Linux内核当成一家软件外包公司的老板

    你可以把Linux内核当成一家软件外包公司的老板

    电脑组装好就能直接用吗?

    有密密麻麻都是针脚的 CPU;有铺满各种复杂电路的一块板子,也就是主板;还需要买块显卡,用来连接显示器;还需要买个网卡,里面可以插网线;还要买块硬盘,将来用来存放文件;然后还需要一大堆线,将这些设备和主板连接起来;最终再来一个鼠标,一个键盘,还有一个显示器。

    好不容易组装完这一大堆硬件,还是不能直接用,你还需要安装一个操作系统。安装操作系统也是一件非常复杂的事,一点儿也不亚于把刚才那堆东西组装起来。这个安装过程可能会涉及十几个步骤、几十项配置。每一步骤配置完了,点击下一步,会出现个进度条。伴随着一堆难以理解的描述,最终安装步骤到达百分之百,才出现你熟悉的那个界面。

    操作系统究竟是如何把这么多套复杂的东西管理起来,从而弄出来一个简单到父母都会用的东西呢?

    桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一个美丽的画面?这都是从哪里跑出来的?

    凭什么我在键盘上噼里啪啦地敲,某个位置就会显示我想要的那些字符?

    电脑怎么知道我鼠标点击的是这个地方,又是怎么知道我要输入的是这个地方?

    我在键盘上点“a”,是谁在显示器上画出“a”这个图像呢?

    为什么我一回车,这些字符就发到遥远的另外一台机器上去了?

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

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

    鼠标和键盘是计算机的输入设备。大部分的普通用户想要告诉计算机应该做什么,都是通过这两个设备。例如,用户移动了一下鼠标,鼠标就会通过鼠标线给电脑发消息,告知电脑,鼠标向某个方向移动了多少距离。

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

    QQ 的二进制文件是静态的,称为程序(Program),而运行起来的 QQ,是不断进行的,称为进程(Process)。

    在操作系统中,进程的执行也需要分配 CPU 进行执行,也就是按照程序里面的二进制代码一行一行地执行。于是,为了管理进程,我们还需要一个进程管理子系统(Process Management Subsystem)。如果运行的进程很多,则一个 CPU 会并发运行多个进程,也就需要 CPU 的调度能力了。

    总结

  • 相关阅读:
    HTML5-MathML-基础篇
    HTML5-SVG-基础篇
    HTML5-canvas-基础篇
    HTML基础
    套接字缓存之skb_clone、pskb_copy、skb_copy
    套接字缓存之alloc_skb、dev_alloc_skb、kfree_skb、dev_kfree_skb、consume_skb
    套接字缓存之skb_put、skb_push、skb_pull、skb_reserve
    套接字缓存之sk_buff结构
    网络设备之监测连接状态
    网络设备之关闭
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/12664035.html
Copyright © 2011-2022 走看看