0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OS到底与软件定义有什么关系?

QuTG_CloudBrain 来源:软件定义世界 2023-03-13 09:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

从软件定义的角度重新理解操作系统

我们正处于软件定义的时代,软件定义网络(SDN)、软件定义汽车(SDV)、软件定义无线电(SDR),软件定义战争等概念耳熟能详。更有专家预言,未来软件会定义一切。细心的朋友就会发现,软件定义的每个领域都有操作系统(OS)影子,例如软件定义网络离不开网络OS,软件定义汽车离不开汽车OS,软件定义无线电离不开SCA(本质上就是一个OS)。那就让我们一探究竟,OS到底与软件定义有什么关系。

1.何谓软件定义?

软件定义的本质是软硬件解耦,通过修改或升级软件的方式重构系统功能来快速响应需求变化。

软件定义背后的逻辑是系统不仅满足用户当前确定性的需求,而且还能满足用户未来可变潜在的需求。就像手机一样,传统功能机只能提供打电话、发短信功能,每人都必须使用和适应它。现在是一个智能手机时代,一部手机在手,天下我有。

平台化和智能化是软件定义技术的两个主流发展方向。

那什么是平台化呢?用统一标准约束软、硬件平台的构建,利用生态的力量共同打造平台。平台支撑上层应用,由庞大生态共同构建的平台才能催生应用的繁荣。

在移动互联网时代,Andriod和iOS手机平台就是当今最成功的平台级解决方案。

怎么理解智能化?这里的智能包括两个层面的含义。

第一层是指狭义的智能,特指人工智能,模仿人类的认知体系为机器赋能;第二层是指广义的智能,泛指系统功能的多样性、可变换性,可以满足用户的千人千面的需求。

智能手机未必就“智能”,只是可以满足用户的各种需求而已。

2.为什么谈“软件定义”避不开操作系统?

软件定义的核心是API(Application Program Interface)。API之上一切皆可编程,其本质是软硬件解耦。

由谁来提供API?由谁实现软硬件解耦?答案是“操作系统”。

如下图所示,在一个软件定义系统三层架构的系统中,操作系统是平台的一部分,是连接硬件平台与上层应用及用户的中间桥梁。

caa6c316-bff1-11ed-bfe3-dac502259ad0.jpg

图1 软件定义系统三层架构

伟大的古希腊物理学家阿基米德曾说过“给我一个支点,我可以撬动整个地球”。操作系统之于软件定义系统就是一个支点,它的作用是充分发挥硬件载体的价值,催生无限繁荣的应用生态。

caccf270-bff1-11ed-bfe3-dac502259ad0.jpg

图2 OS是软件定义系统的支点

3.操作系统的进化逻辑

操作系统定义是“控制和管理整个计算机系统的硬件和软件资源,并合理的组织和调度计算机的工作和资源的分配,以提供给用户和其它应用软件方便的接口和环境,它是计算机系统中最基本的系统软件。” 对以上定义进行简单的解读: 1)负责计算机软硬件资源调度 2)为上层的应用、用户提供接口 3)是系统软件,而不是应用软件 操作系统的核心的职能是资源调度与管理,为用户及应用软件提供一致的API。

在主机计算时代,操作系统的调度的对象是CPU及相关附属资源,IBM OS/360是现代操作系统雏形,提供了标准接口连接外部设备。

20世纪70年代初,由贝尔实验室研发UNIX操作系统是一个现代意义上的通用操作系统,解决了跨平台移植问题,能为不同厂商、不同种类的计算机提供一致标准的API。

在个人计算时代,以个人PC机为载体,以微软Windows和开源Linux为代表,操作系统继续强化跨平台移植能力,逐步适应CPU、内存、声卡、显卡等硬件资源调度,并推出新型用户界面及应用模式。

在移动计算时代,以手机为载体,以谷歌Android和苹果iOS为代表,操作系统对下所管理的对象延伸到摄像头、GPS、惯导等各种传感器,对上支撑了庞大的应用生态,改变了人类的生活方式。软件定义的时代从“软件定义手机”逐步开启。

在万物互联时代,打通了人、机、物之间的连接。软件定义一切、一切皆可编程是这个时代的基本特征。操作系统所管理的硬件平台无论是种类上还是形态上都发生了根本性的变化。

从种类上,硬件资源包括CPU、DSPFPGAGPU、NPU等各种异构资源;从形态上,开始向“无形”资源延伸,把数据、知识、时间、网络等资源也纳入到操作系统所调度的范畴。遵循向下管理资源、向上支撑应用的原则和理念,从此操作系统的概念开始扩展和泛化。

基于此背景下,梅宏院士首次提出“泛在操作系统(Ubiquitous OS)”的概念。目前,智慧城市操作系统(Urban OS)、机器人操作系统(ROS)、汽车操作系统都是属于泛在操作系统的范畴。

4.操作系统的路在何方?

人工智能与操作系统相互赋能。

当今时代是智能化的时代,人工智能为各个领域赋能。操作系统为AI应用提供基础平台,实现硬件平台的资源虚拟化及调度,充分发挥硬件所能提供的计算能力。

未来应用的发展一定是轻量化、多样性,调用尽可能少的API实现更强大的功能。

面向新的应用及用户需求,凝练行业领域的共性,将应用的共性部分逐步沉淀到操作系统层。这时操作系统就附加上了行业领域的属性。显而易见,未来的操作系统将会越来越突显人工智能的能力,高效地管理数据、知识等无形资源。

百度李彦宏说过,“未来的操作系统是基于人工智能深度学习框架的系统”。百度DuerOS就是一款融入人工智能的对话式智能操作系统。

cae985a2-bff1-11ed-bfe3-dac502259ad0.jpg

图3 人工智能与操作系统

操作系统也可以被软件定义。

美国国防部高级研究计划局(DARPA)在2015年开始启动一项资源自适应软件系统(BRASS)的研究,其核心思想是开发一个能经受未来100年技术变革而能自适应的软件技术体系,该软件技术体系能自行对所在硬件资源生态系统的变化做出安全、动态式的响应。这就需要一个能被软件或代码自行定义的“操作系统”。

虽然软件定义操作系统在一定程度上可以扩展操作系统的应用领域和范围,但是由于计算资源的多样性、行业领域的广泛性、用户需求差异性,笔者认为:大一统的普适操作系统遥不可及,我们将长期处于根据应用场景定制的多样性泛在操作系统阶段。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDR
    SDR
    +关注

    关注

    7

    文章

    241

    浏览量

    51784
  • 操作系统
    +关注

    关注

    37

    文章

    7328

    浏览量

    128625
  • sdn
    sdn
    +关注

    关注

    3

    文章

    257

    浏览量

    46429
  • SDV
    SDV
    +关注

    关注

    0

    文章

    84

    浏览量

    7474

原文标题:从软件定义的角度重新理解操作系统

文章出处:【微信号:CloudBrain-TT,微信公众号:云脑智库】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机和嵌入式,到底什么关系

    关系:什么是单片机?什么是嵌入式?它们到底是不是一回事?先说说大家最先听说的那个词——单片机(MCU)。单片机,全称是MicrocontrollerUnit,顾名思
    的头像 发表于 11-14 10:28 580次阅读
    单片机和嵌入式,<b class='flag-5'>到底</b>是<b class='flag-5'>什么关系</b>?

    逻辑“1”与芯片引脚的输入电压什么关系

    逻辑“1”与芯片引脚的输入电压什么关系
    发表于 08-26 07:24

    可配置的数据闪存大小、地址和 APROM 之间什么关系

    可配置的数据闪存大小、地址和 APROM 之间什么关系
    发表于 08-26 06:58

    请问可配置的数据闪存大小、地址和 APROM 之间什么关系

    可配置的数据闪存大小、地址和 APROM 之间什么关系
    发表于 08-21 07:10

    Elektrobit 携手全球合作伙伴联合开发 EV.OS ---- 面向软件定义汽车的 AI 驱动汽车平台

    )签署联合开发协议 (JDA),双方将共同开发 EV.OS —— 一个灵活且以 AI 为核心的软件平台,旨在支持电动汽车向软件定义汽车的快速转型。 Elektrobit与富士康携手打造
    的头像 发表于 06-25 16:08 385次阅读

    什么是STM32? STM32与ARM什么关系? STM32能做什么?

    什么是STM32 具体用于什么方面较多?? STM32与ARM什么关系 STM32能做什么,简单的比如调节协议,为什么那么久的产品到现在还是主流?
    发表于 06-23 17:34

    请问cypd3125 I2C硬件地址和HPIv2 组件内设定的slave address地址什么关系,必须一致吗?

    各位大侠: 请问cypd3125 I2C硬件地址和HPIv2 组件内设定的slave address地址什么关系,必须一致吗?我把CYPD3125 I2C 地址通过硬件设为0x40,感觉可以找到设备,但HPIv2 通信问题,
    发表于 06-03 08:19

    TINA-TI仿真中,电压源发生器中DC电平和信号编辑器中的振幅什么关系

    TINA-TI仿真中,电压源发生器中DC电平和信号编辑器中的振幅什么关系?还是说这个DC电平是相当于直流偏置,整个信号是DC电平+信号编辑器中的波形叠加?
    发表于 02-28 07:24

    请问计算ADS6442的实际功耗和哪些因素有关,和采样时钟什么关系

    请问计算ADS6442的实际功耗和哪些因素有关,和采样时钟什么关系?如何能降低功耗呢
    发表于 02-14 06:00

    TLV5636 DA输出的幅值跟参考电压是什么关系

    我用的DA是TLV5636,DA输出的幅值跟参考电压是什么关系??从0至4096调到2048的时候,输出幅值2.68V,再往上输出幅值就调不上去了,芯片的参考电压是2.5V。
    发表于 02-13 08:13

    ADS1298 tdr的值到底是多大,跟采样率等有没有什么关系

    我想请问一下, 1、tdr的值到底是多大,跟采样率等有没有什么关系。数据手册上只找到建立时间,好像没有这个时间的值,28页那个最小SCLK时钟为110khz是怎么计算的。 2、 tdr到底
    发表于 02-13 06:11

    噪声与ADC的范围和位数是什么关系呢?怎样选用和匹配?

    以上三者是什么关系呢?怎样选用和匹配?ADC的动态输入范围一般都有多大的?谢谢
    发表于 02-08 07:14

    TLV5613和TLC5613什么关系

    请问一下,在看TLV5613 datasheet的时候, 发现芯片是20脚的,为什么后面给的封装信息都是14脚或者16脚的。 另外,TLV5613和TLC5613什么关系,我手头14脚的TLC5613,却找不到相关资料。
    发表于 02-06 06:54

    请问ADC的采样速率,转换时间,数字接口之间的读写速率之间什么关系没有?

    请问ADC的采样速率,转换时间,数字接口之间的读写速率之间什么关系没有? 谢谢!
    发表于 01-23 08:17

    ADS1282的SPI时钟SCLK和芯片主时钟MCLK什么关系吗?

    ADS1282的SPI时钟SCLK和芯片主时钟MCLK什么关系吗? SCLK频率太高会不会影响ADS1282配置或读数失败?
    发表于 01-01 08:34