zoukankan      html  css  js  c++  java
  • 微内核OS学习

    背景

    最近在看《计算机操作系统》这本书,里面有介绍到微内核OS结构,想到之前华为发布的鸿蒙OS,有一些新的认识。

    一、从鸿蒙OS说起

    鸿蒙OS说自己使用了“分布式架构”,后面还有一个高大上的词“确定时延引擎”。当时就感觉高大上,具体是啥也没想清楚。

    二、说说微内核OS结构

    微内核结构是一个精简的结构。具体什么样的结构是微内核结构,目前还没有定义。

    但是可以从几个方面来描述。

    1、足够小的内核(定义有些主观)

    微内核不是一个完整的OS,只是OS中最基本的部分。

    2、基于客户/服务器模式(是不是很奇怪?)

    C/S模式常见于网络服务,微内核是OS的一部分,C是谁?S是谁?

    书上说了,OS中最基本的部分放入内核,其他大部分功能放在微内核外面的一组服务器(进程)中实现。

    这个很明显可以理解了,C/S并不特指跨系统的交互,即使是在一个系统内,也是适用的。

    这个从宏观上也可以打个比方:

    我们通过58到家APP使用58到家的服务,这整个过程是一种基于C/S模式,但是在S端,内部又是通过各种微服务调用来实现的。也就是说,在S内部,还是基于C/S模式。

    3)应用“机制与策略分离”原理

    这个“机制”、“策略”是更进一步的抽象,暂时还不太能理解。

    4)采用面向对象技术

    这个大家应该都很熟悉了。

    三、再看OS的分布式架构

    1、分布式架构

    因为微内核采用C/S模式,所以它提供了对分布式系统的支持(书上有写)。

    C/S就是基于通信的,对于服务调用方而言,只要能够定位到服务提供方,就能够进行通信。不管服务提供方是在同一个系统内,还是分布在因特网上。

    所以说,鸿蒙OS的“分布式架构”,就是指OS的分布式。

    2、确定时延引擎

    既然是基于通信的机制,那么对一个通信加上“超时”的参数,是不是就是所谓的“确定时延引擎”了呢?

    当然,超时时间参数容易加,具体实现还是不那么简单的。

    四、后记

    既然上面提到了“超时”,那么常用的超时功能是怎么实现的呢?

  • 相关阅读:
    [erlang 002]gen_server中何时会跑到terminate函数
    设计模式:桥接模式
    设计模式:组合模式
    Harbor:镜像上传和下载
    Harbor:简介和安装
    Docker:compose
    ThinkPHP的静态化页面方法
    php使用memcached详解
    大话PHP设计模式
    PHP魔术方法使用
  • 原文地址:https://www.cnblogs.com/shuimutong/p/12820918.html
Copyright © 2011-2022 走看看