第一课:VxWorks系统概述

2023-10-27

目录

1.1 VxWorks系统简介

1.2 VxWorks的特点

1.3VxWorks系统和Linux系统的区别

1.4 VxWorks开发环境获取



1.1 VxWorks系统简介

        VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。

        其良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。

        在美国的 F-16、FA-18战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器、2008年5月登陆的凤凰号,和2012年8月登陆的好奇号也都使用到了VxWorks。

1.2 VxWorks的特点

  • 可靠性
  • 实时性

        实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。实时性的强弱是以完成规定功能和作出响应时间的长短来衡量的。

        VxWorks的实时性做的非常好,其系统本身的开销很小,进程调度,进程间通信,中断处理等系统公用程序精练而有效,它们造成的延迟很短。VxWorks提供的多任务机制中对任务的控制采用了优先级抢占(Preemptive Priority Scheduling)和轮转调度(Round-Robin Scheduling)机制,也充分保证了可靠的实时性。

  • 可裁减性

        用户在使用操作系统时,并不是操作系统中的每一个部件都要用到。例如图形显示,文件系统以及一些设备驱动在某些嵌入式系统中往往并不使用。

        VxWorks由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。VxWorks内核最小为8KB。

1.3VxWorks系统和Linux系统的区别

对比项

 VxWorks       

linux

内核结构

微内核,内核只提供了基本的服务,如:任务管理,内存管理,中断处理等

宏内核,除了基本的服务,内核还包括文件系统,网络协议等

运行模式

应用程序运行在“实模式”下,无用户模式和内核模式之分

采用“保护 模式”,用户进程、线程运行在用户模式下,内核线程运行于内核模式

内存访问和内存保护

内核采用实 存储管理方式,所有任务运行于同一物理地间,用户程序直接操作物理地址,不能直接地提供内存护,不能防错误蔓延

内核采用虚拟存储管理方式,用户具有独立的地址空间,用户进程只能访问本进程的虚拟空间提供了内存保护,可以防止错误蔓延

执行单元

任务

进程、线程

请求内核服务方式

函数调用,更快

系统调用,更安全

实时性

硬实时

 软实时

1.4 VxWorks开发环境获取

点击这里,咨询作者,获取VxWorks开发环境以及BSP

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第一课:VxWorks系统概述 的相关文章

  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理
  • 如何从类似于 eclipse 的命令行创建可运行的 jar 文件

    我知道 eclipse 会生成一个可运行的 jar 文件 其中提取并包含在该 jar 文件中的所有库 jar 文件 从命令提示符手动创建 jar 文件时如何执行类似的操作 我需要将所有 lib jar 解压到类文件夹中吗 目前我正在使用 j
  • CentOS目录结构是树形的吗?

    CentOS 上有相当于树的东西吗 如果你的 Centos 系统上没有安装 tree 无论如何我通常建议服务器设置使用最小安装磁盘 你应该在命令行中输入以下内容 yum install tree y 如果没有安装 那是因为您没有正确的存储库
  • 如何从 Linux 命令行获取视频文件的分辨率(宽度和高度)?

    我一直在挖掘 mplayer mencoder 和 ffmpeg 文档 但我似乎无法想出anything 我对输出格式不是特别挑剔 因为我可以使用正则表达式将其拉出来 我只是似乎无法首先获取数据 Use ffprobe https ffmp
  • 套接字:监听积压并接受

    listen sock backlog 在我看来 参数backlog限制连接数量 这是我的测试代码 server initialize the sockaddr of server server sin family AF INET ser
  • numpy 未定义符号:PyFPE_jbuf

    我正在尝试使用一百万首歌曲数据集 为此我必须安装 python 表 numpy cython hdf5 numexpr 等 昨天我设法安装了我需要的所有内容 在使用 hdf5 遇到一些麻烦之后 我下载了预编译的二进制包并将它们保存在我的 b
  • 构建 makefile 依赖/继承树

    如果我解释得不好或者问了一些明显的问题 我很抱歉 但我是 Linux 内核的新手 而且有点深入 我们有一个嵌入式 Linux 系统 它附带一个 文档非常糟糕的 SDK 其中包含数百个文件夹stuff 大多数文件夹包含rules make m
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 停止服务时单元陷入故障状态(状态=143)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的问题 我有 CentOS 和 java 进程在上面运行 Java进程是通过启动 停止脚本来操作的 它也创建了 java 实例的 p
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • Linux 桌面快捷方式和安装图标

    我需要添加什么到我的 spec文件来创建桌面快捷方式并在安装过程中为快捷方式分配一个图标 rpm 如果需要脚本 一个示例将非常有帮助 您在 Linux 下使用 desktop 文件作为图标 图标放置的位置取决于您使用的发行版和桌面环境 由于
  • Linux shell 脚本中的 while 循环超时

    这工作正常 无限循环 while TRUE do printf done 我在尝试着timeout this while loop与timeout命令 所有这些都不起作用 timeout 5 while TRUE do printf don
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat

随机推荐

  • Linux 文件系统只读

    一般在SD卡或者U盘使用的是FAT32文件系统 当Linux下写FAT32文件系统时可能会出现 只读文件系统的错误 导致变为只读文件系统的原因是在操作FAT32文件系统的之后发生过致命的错误 然后系统以只读的方式重新挂载 remount r
  • 管理者工具箱--用最佳策略和资源,留住您最优秀的人才

    近年来 离职跳槽之风盛行 但多数员工打心底里是不会轻易离开一个培养了自己多年 又能满足职业发展需求的环境的 作为管理者 您处于一个有利的位置 应努力打造一支能长期并肩合作的稳固的团队 领英制作的这本实用指南 旨在介绍实用策略 工具和模板 帮
  • leveldb源码分析--SSTable之Compaction 详解

    http www cnblogs com KevinT p 3819134 html leveldb源码分析 SSTable之Compaction 对于compaction是leveldb中体量最大的一部分 也应该是最为复杂的部分 为了便于
  • Conda——报错解决:CondaError: Cannot write to /.condarc Caused by PermissionError(13, ‘Permission denied‘)

    报错详情 解决方法 sudo chown R pc home pc condarc sudo chown R pc home pc anaconda3 pc 替换你的用户名 home pc anaconda3替换为你的anaconda路径
  • 基础算法题——牛牛的棋盘(容斥原理)

    容斥原理 一种计数方法 先不考虑重叠的情况 把包含于某内容中的所有对象的数目先计算出来 然后再把计数时重复计算的数目排斥出去 使得计算的结果既无遗漏又无重复 题目 牛客网 牛牛最近在家里看到一个棋盘 有 n m 个格子 在棋盘旁边还放着 k
  • SpringBoot学习路线

    SpringBoot 第一章Xml和JavaConfig 1 为什么要使用springboot 因为spring springmvc需要使用大量的配置文件 xml文件 还需要配置各种对象 把使用的对象放入到spring容器中才能使用对象 需
  • 【mysql基础知识】查询当前时间之前5分钟内的数据

    通过sql语句查询与当前时间相隔5分钟以内的数据 select from 数据表名 where 字段名 between date add now interval 5 minute and now 字段名是字符串格式 也是可以的
  • 数据仓库架构

    这节来说说数据仓库的架构 关于架构并没有一个统一的标准 按照数据量以及使用环境可以搭建适合当下场景的数据仓库 下面主要是介绍比较大众或者说比较通用的数据仓库架构 传统的数据仓库架构按层级可分为 ETL ODS DWD DWS 和 ADS 五
  • JDBC java连接数据库

    JDBC编程六步 注册驱动 告诉java程序 即将连接那个品牌的数据库 Driver driver new com mysql jdbc Driver DriverManager registerDriver driver 或 class
  • Maven的scope=import

    详解内容 maven有个核心文件 名曰pom xml 这个文件中的标签 简直是眼花缭乱 千姿百态 而标签中的值也非常之多 今天我们就scope标签其中一个值import 讲解一番 scope标签的作用 这里不作过多的赘述 不明白的小伙伴 可
  • 基于跳数,时延,带宽的最短/优路径和负载均衡

    基于跳数的最短路径转发 基于跳数的最短路径转发是最简单的最优路径转发应用 我们通过network awareness应用来实现网络拓扑资源的感知并计算最短路径 首先控制器通过下发LLDP报文来获取网络链路信息 然后再利用网络信息 生成网络拓
  • sklearn决策树预剪枝

    老饼讲解机器学习 http ml bbbdata com teach 102 目录 一 预剪枝即调参 二 调参方法 1 默认值预观察生长的树 2 参数限制节点过分生长 为预防模型过拟合 我们可以采用预剪枝和后剪枝方法 1 预剪枝 树构建过程
  • git错误pathspec did not match any file(s) known to git及相关操作

    git error pathspec did not match any file s known to git 本地文件与远程无对应 我这里的情况是在执行 update nrp update all git pull Already up
  • python 连接minio并上传目录及文件

    目录 python sdk安装 python 代码 python sdk安装 python需要3 7及以上版本 pip3 install minio python 代码 from minio import Minio from minio
  • web服务器设置默认网站,web服务器中默认首页和默认网站的配置(以apache服务器为例)...

    默认首页的配置 php 第一种 直接修改apache服务器的配置文件 conf httpd conf中的DirectoryIndex 如 项目web以index php为首页 html DirectoryIndex index html i
  • Python追加文件内容

    Python追加文件内容 测试中需要造几百个账号 写了个脚本可以自动生成账号 但想把生成的账号写入一个文件 开始用的如下的write 方法 发下会先把原文件的内容清空再写入新的东西 文件里面每次都是最新生成的一个账号 mobile Meth
  • c++调用libcurl示例

    include
  • 【STM32】STM32存储映射

    存储映射 stm32f40xx的存储映射图 这幅图很重要 至于为什么 我还没编好 STM32存储空间有多大 芯片能访问的存储空间有多大 为什么 这个是由芯片内 CPU 的地址总线的数量决来定的 STM32 芯片内部的地址总线为32 根 1根
  • flutter开发实战-实现marquee根据文本长度显示文本跑马灯效果

    flutter开发实战 实现marquee文本跑马灯效果 最近开发过程中需要marquee文本跑马灯效果 这里使用到了flutter的插件marquee 效果图如下 一 marquee 1 1 引入marquee 在pubspec yaml
  • 第一课:VxWorks系统概述

    目录 1 1 VxWorks系统简介 1 2 VxWorks的特点 1 3VxWorks系统和Linux系统的区别 1 4 VxWorks开发环境获取 1 1 VxWorks系统简介 VxWorks 操作系统是美国WindRiver公司于1