关于问题vxworks与linux区别

vxWorks

 

                                         Linux



内核

结构


 微内核,

内核只提供

了基本的服

务,如:任

务管理,内

存管理,中

断处理等

   宏内核,  

除了基本的

服务,内核

还包括文件

系统,网络

协议等


运行

模式

应用程序运

行在“实模

式”下,无

用户模式和

内核模式之

采用“保护

模式”,用

户进程、线

程运行在用

户模式下,

内核线程运

行于内核模

内存

访问

和内

存保

内核采用实

存储管理方

式,所有任

务运行于同

一物理地址

空间,用户

程序直接操

作物理地

址,不能直

接地提供内

存保护,不

能防止错误

蔓延

内核采用虚

拟存储管理

方式,用户

具有独立的

地址空间

,用户进程

只能访问本

进程的虚拟

空间,提供

了内存保

护,可以防

止错误蔓延

执行

单元




任务





进程、线程

请求

内核

服务

方式



函数调用,

更快

系统调用

,更安全

 


硬实时

软实时

http://baike.baidu.com/view/1027685.htm?fr=ala0_1

宏内核与为内核的区别

宏内核的内部可被分为若干模块(或者是层次或其他)。但是在运行时,它是一个独立的二进制大映像。模块间的通信不是通过消息传递,而是通过直接调用其他模块中的函数来实现的

关于微内核的概念见:http://www.dzsc.com/data/html/2009-1-16/75785.html  

在微内核中,用以完成系统调用功能的程序模块通常只进行简短的处理,而把其余工作通过消息传递交给内核之外的进程来处理。在典型情况下,每个系统调用程序模块都有一个与之对应的进程,微内核部分经常只不过是一个消息转发站,这种方式有助于实现模块间的隔离。这种内核设计的最根本思想就是要保持操作系统的内核尽可能小,因为内核是直接与计算机硬件相关的,内核越小,就越便于在不同的硬件系统间进行移植。微内核结构的另外一个优点是,可以使不需要的模块不加载到内存中,因此,微内核就可以更有效地利用内存。

  

http://www.itqun.net/content-detail/155701.html

设备驱动部分的比较和分析
     由于Linux操作系统和Linux引导装载器在结构上的分离,使得它俩之间的设备驱动程序不能够通用,当然在芯片的硬件初始化一些硬件相关的代码上可以互相借鉴。而 VxWorks的BOOTROM和运行版本的设备驱动是相同的,因为,它的运行版本和BOOTROM的结构是一致的,使用同一操作系统内核。 Linux操作系统的设备驱动运行在内核空间,用户进程运行在用户空间。在Linux操作系统中,内核空间和用户空间的内存管理和映射方式是不同的,应用和设备驱动在数据交换时会涉及到不同的内存空间,会影响到一定效率,但这个问题可以通过修改系统内存空间配置等方法来解决。
VxWorks操作系统没有分开内核空间和用户空间,设备驱动和应用都运行于同一空间,相互之间的内存都可以访问,数据交换非常方便,但是,这种结构的稳定性就不如 Linux系统好了。两种操作系统都提供了很多设备驱动的资源和模板。但是由于Linux的开源特性,它提供的设备驱动的种类和数量远远超过了VxWorks.


4 结论
     本文简单介绍了Linux和VxWorks操作系统的BSP开发的内容。通过比较发现,VxWorks作为专业的商用实时操作系统,提供BSP开发方式,开发资源都非常适宜于嵌入式应用。而Linux作为从通用操作系统发展而来的,在嵌入式应用的BSP开发方面,需要多做一些工作,但是它却有更丰富的资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python学习】——获取桌面路径,获取系统盘符,获取电脑用户名,获取软件自启动存放目录

目录 1、获取桌面路径 法一:利用winshell库 法二:利用winreg库 2、获取系统盘符 3、获取电脑用户名 4、获取软件自启动存放目录 1、获取桌面路径 法一:利用winshell库 import winshell print(winshell.desktop()) 法二:利…

团队项目:个人工作总结10

团队项目:个人工作总结10 一.昨天干了什么改进现有的成果二.今天准备干什么做最后的调试分析改进整合。三.遇到的困难任务还是没有完成转载于:https://www.cnblogs.com/kongyuhang/p/5442714.html

WPF ClickOnce应用程序IIS部署发布攻略

WPF程序非常适合公司内网使用,唯一缺点就是客户端要安装.net框架4.0。优势也很明显,在客户端运行的是一个WinForm程序,自动下载,可以充分利用客户机的性能,而且是以当前的Windows用户权限运行,避免了权限带…

文件传输协议

文件传输协议(英文:File Transfer Protocol,简称为FTP)是用于在网络上进行文件传输的一套标准协议。它属于网络传输协议的应用层。 FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理&#xff…

36.LEN() 函数

LEN() 函数 LEN 函数返回文本字段中值的长度。 SQL LEN() 语法 SELECT LEN(column_name) FROM table_name SQL LEN() 实例 我们拥有下面这个 "Persons" 表: IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York…

【python学习】——为exe软件创建快捷方式;实现软件自启动

目录 1、为exe创建快捷方式 2、实现软件自启动 3、完整代码 4、结果展示 1、为exe创建快捷方式 利用winshell库的CreateShortCut函数进行创建 【python学习】——获取桌面路径,获取系统盘符,获取电脑用户名,获取软件自启动存放目录_有情怀…

dedecms如何调用当前栏目的子栏目及子栏目文章

前面ytkah谈到了 dedecms调用当前栏目的子栏目怎么操作,有的朋友会问如果再增加一个调用子栏目文章的需求,即调用当前栏目的子栏目及子栏目文章,这个有办法实现吗?这时就要涉及到另外两个标签的调用了,dede:channelart…

控制面板项 .cpl 文件说明

控制面板项 .cpl 文件说明appwiz.cpl 程序和功能、卸载或更改程序bthprops.cpl 蓝牙控制面板desk.cpl 屏幕分辨率Firewall.cpl WINDOWS防火墙hdwwiz.cpl 设备管理器igfxcpl.cpl 英特尔图形和…

vxWorks下常用的几种延时方法

在应用编程的时候,通常会碰到需要一个任务在特定的延时之后执行一个指定的动作,如等待外设以确保数据可靠,控制扬声器发声时间以及串口通信超时重发等。这就需要利用定时器机制来计量特定长度的时间段。 vxWorks作为实时嵌入式系统&#xff0…

【pyqt5学习】——窗口最小化至托盘、取消任务栏图标

目录 1、最小化至托盘 1)重写系统托盘类,设置托盘图标等属性 2)将具体的窗口放入托盘 2、取消任务栏界面图标 3、问题汇总 1)退出后托盘图标还是存在,没有消失 2)最小化后左下角会出现 窗口 3&#…

标准库类型String,Vector

string对象中每个字符的处理&#xff1a; 要用到 for(声明:表达式) 语句 比如简单的打印string str中每一个字符 --- string str("hello world!!!"); for(auto c: str)cout<<c<<endl; (ps:这里auto 的意思是让编译器自己来决定c变量的类型) --- 再举一…

React 是怎样炼成的

本文主要讲述 React 的诞生过程和优化思路。 内容整理自 2014 年的 OSCON - React Architecture by vjeux&#xff0c;虽然从今天&#xff08;2018&#xff09;来看可能会有点历史感&#xff0c;但仍然值得学习了解。以史为鉴&#xff0c;从中也可以管窥 Facebook 优秀的工程管…

HOJ 1640 Mobile Phone

题意&#xff1a;有一个n*n的矩阵&#xff0c;op1时&#xff0c;在(x,y)增加值z&#xff0c;op2时&#xff0c;求以(x1,y1)和(x2,y2)构成的矩阵的和。 思路&#xff1a;二维线段树。 代码&#xff1a; 1 #include<stdio.h>2 #include<string.h>3 const int N1111;4…

vxWorks多任务编程初探-上

进程&#xff08;Process&#xff09;是具有一定独立功能的程序关于某个数据集合上的一次运行活动&#xff0c;是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合&#xff0c;它本身没有任何运行的含义&#xff0c;只是一个静态实体。而进程则不同&#xff…

【pyqt5学习】——重写窗口右上角关闭事件closeEvent()

目录 1、法一&#xff1a;设置中文按钮 2、法二&#xff1a;不设置中文按钮 pyqt5 关闭按钮显示提示信息_Marvin_Xavier的博客-CSDN博客_pyqt 关闭按钮https://blog.csdn.net/marwenx/article/details/107226531 1、法一&#xff1a;设置中文按钮 def closeEvent(self, even…

感动要哭 撸了一个半小时的重载预算符高精

撸了一个半小时代码&#xff0c;没玩守望&#xff08;垃圾游戏毁我青春五个金牌都带不起队友&#xff09;最后编译出312个错误。吓我&#xff0c;然而改了几个地方就直接过了直接过了直接过了&#xff0c;目前还是不明白ostream&#xff0c;istream的用处&#xff0c;上网才搞定…

LVDS DP等显示器接口简介

LVDS 产品传输速率从几百Mbps到2Gbps。它是电流驱动的&#xff0c;他通过在接收端放置一个负载而得到的电压&#xff0c;当电流正向流动&#xff0c;接收端输出为1&#xff0c;反之为0&#xff0c;它的摆幅250mV-450mV. lvds 即低压差分信号传输&#xff0c;是一种满足高性能传…

http协议相关内容

二、HTTP协议1、协议&#xff1a;共同遵守的规则。2、网络协议有&#xff1a;TCP&#xff08;有三次握手机制&#xff09;/IP&#xff1a;传输控制协议/地址协议&#xff0c;SMTP&#xff1a;简单邮件传输协议&#xff0c;FTP&#xff1a;文件传输协议&#xff0c;http&#xf…

使用XmlTextReader 读取XML

XmlTextReader 限于只向前的读取 XmlTextReader 的技术类似于读取其他任何文件 首先打开文件&#xff0c;然后从文件中读取信息,最后关闭文件. 每次从文件中读取信息时&#xff0c;他在文件中的位置都会前移.到达文件结尾的时候就什么都不读了。 1 创建XmlTextReader对象 …

C#中ComboBox动态绑定赋值

http://www.crifan.com/csharp_combobox_data_dynamic_binding/ C#中&#xff0c;已有一个List&#xff0c;想要动态的&#xff0c;绑定到ComboBox中。 【解决过程】 1.参考&#xff1a; c# winform comboBox动态绑定数据 去试试代码&#xff1a; cmbSubCategory.DataSource g…