当前位置:首页 > 芯闻号 > 充电吧
[导读]嵌入式OS入门笔记-以RTX为案例:一.简介         最近在做OS相关的项目,一方面涉及到大量(通用)操作系统的概念和理解,另一方面要深入到一个小实时操作系统的源代码中,并在此操作系统上开发应

嵌入式OS入门笔记-以RTX为案例:一.简介

 

        最近在做OS相关的项目,一方面涉及到大量(通用)操作系统的概念和理解,另一方面要深入到一个小实时操作系统的源代码中,并在此操作系统上开发应用。虽然说内容上并不难,但是操作系统本身是一个非常基础,影响深远的计算机科技的小分支,所以把操作系统的知识重新整理一遍,同时结合实时操作系统的实际情况,形成这样一套笔记,一是对项目的一个回顾,另外也方便将来回来查阅吧。

 

1.操作系统的角色

        OS其实是一个很宏大的概念,不好捉摸。根据维基百科的定义,OS是一组管理硬件和为应用软件提供服务的软件。这个说法很精练但依然抽象。我觉得大部分OS扮演着两个最主要的角色:硬件的抽象表达者和资源的管理者。

 

硬件的抽象

        如果要读取硬盘中的某一个数据,首先得确定盘片,然后确定磁道和扇区,最后通过磁头读取进内存。这实际上是一系列复杂的机械和电子的操作,虽然说复杂,但是影响最终运作结果的因素(读写地址)不多,大部分操作是对于不同的读写都是相同的。如果每一次执行读写硬盘操作,应用程序都要明确地对硬件作出准确的指示,那么应用程序会臃肿无比,程序员也会为编写这样的程序感到非常无趣。

 

        正如David Wheeler的那句名言:“Any problem in computer science can besolved with another layer of indirection.”OS的首要任务正是把这些繁杂的底层硬件的执行细节隐藏,提供给程序和用户一个相对抽象的概念。例如把一系列的机械和电子操作转化为简单的一句代码-读取硬盘(地址)。

 

        一般普通计算机使用者之所以不熟悉底层的这些细节,也正是因为有OS,这个硬件的抽象的存在。他们对计算机运作的认识,只是一个建立在OS基础之上的心理模型(mental model)。

  

Hard  Disk Driver - 《Operating System Concepts》

 

资源的管理

        最早期的计算机是没有操作系统的,一般会有一个操作人员(operator)负责给程序排序,安排下一个时间段运行何程序。其实这就是操作系统的雏形,而这时这个操作人员的主要任务就是分配计算机资源。操作系统的核心其实就是资源的分配和管理,特别是在多程序(multiprogramming)的环境下。如何优化资源的分配,减少有害的竞争,提高某些资源的共享效率,都是操作系统关心的核心话题。这里说的资源主要指的是硬件资源,例如内存,CPU,网络带宽和I/O等等。

  

        其实纵观很多OS的教科书的组织,一般主要的讨论话题不外乎进程,内存和外设。这些话题都离不开OS的这两个角色,例如进程管理,很大一部分就是关于资源的分配,而进程本身又是OS对程序的一个抽象。所以我觉得具体学习研究OS时,只要能够抓住1.它抽象的对象和抽象的程度;2.如何合理的优化资源的安排,就能够达到学习研究的目的。

 

2.实时操作系统

        其实嵌入式操作系统不一定就是实时操作系统(RTOS),反之亦然。但很多场合下嵌入式开发应用都对实时性的要求很高,所以这两个概念经常混用。RTOS最突出的就是它要在deadline之前完成任务,其中又分两种,一种是硬deadline,如果不能在规定deadline前完成,那么后果会很严重甚至产生一些致命的错误;而软deadline则稍微宽松一点,即使不能够在deadline前完成,deadline后继续完成任务直至完成也是可以接受的。

 

        一个很通常的误区就是,RTOS和通用OS的最大差别是RTOS要快。虽然速度快很重要,但这不是RTOS的核心特征。RTOS最为重要的是其行为的决定性(determinism)和可预测性(Predictability),同时RTOS对系统的响应速度要求也很高。当然,RTOS的容错,纠错能力也要足够强。

 

        这些特性其实都是一些极端工业环境下对OS的要求,例如在核反应和化学反应中,非常精确的控制,特别是在时间上的控制,往往决定了整个工业过程的成败,而且失败的代价往往非常高。所以一个好的RTOS,虽然没有一些通用的操作系统全面,但其行为的差异(variance)会比通用OS小得多。


3.RTX

我会以Keil开发的RTX实时操作系统作为主要的参考操作系统。这里面有几个原因:

RTX五脏俱全,是个完整且优秀的实时操作系统 RTX对ARM设备Cortex-M系列的芯片有比较好的支持(自家产品) 更重要的是,RTX不仅免费,而且其代码是开放的,是可以自由查阅的!


这些基本情况就写到这里,下次我会更具体地介绍一下RTX和其他涉及到的工具。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭