h**********c 发帖数: 4120 | 1 说不好瞎说
1.所有的锁必须timeout,
2.所有线程的锁必须在scheduler的一个周期内释放
当然需要实时系统,比如qnx |
|
d****i 发帖数: 4809 | 2 C#是有一些工作的,毕竟Windows下它是主流,但是随着微软的萎缩,桌面需求的下降
,Windows会逐渐萎缩,现在的客户端平台除了Windows基本都是Unix的体系出来的:
Android: Linux
iOS: Unix-like
BlackBerry OS: QNX (Unix-like)
Tizen: Linux
Firefox OS: Linux
WebOS: Linux
Chrome OS: Linux
这还不包括很多运行在嵌入式系统上的实时操作系统,它们中很多也是Unix-like,象
VxWorks, Integrity, Nucleus, ThreadX等等。
然后服务器端,除了Windows以外也都是Unix血统
Linux (Ubuntu, Fedora, Red Hat Linux, SUSE, CentOS, Debian)
IBM AIX (Unix)
HP/UX (Unix)
Sun Solaris (Unix)
DEC/Compaq Tru64 (Unix)
FreeBSD (Unix)
OpenBSD (Unix)
Mac OS (Unix-lik... 阅读全帖 |
|
s********k 发帖数: 6180 | 3 看来要再说一遍,IAR不是OS,是IDE,直接上linux要看满足你需求不,你好像可以直
接找一个linux+x86就能满足你大部分需求了(ARM也行,不过没看到你有太多功耗要求)
,这样各种类库也好找。
如果你要追求real time,显然linux是不合适的,QNX也未必好,ucOS这样的更好,但
是real time和web server太不搭界,不知道你想做啥
uClinux |
|
b***i 发帖数: 3043 | 4 实时太难开发了。很少有人懂, 越来越少的人懂。我就能看上三个操作系统:linux (
or + android), windows 8, iOS。这里面linux有源代码,用的人多,所以可以保证有
问题的时候可以解决。上QNX, Sys/Bios类型的实时系统的问题是它有一些问题,却没
有人有经验去解决。
我们需要的实时基本上是2Kbps的串口通讯,而这个可以用buffer来保证。其他什么ftp
, http都不需要实时。关键是吧,按照嵌入式的目的,我尽量不用动态变量,都是静态
的,要避开gc问题。 |
|
z*******3 发帖数: 13709 | 5 eclipse背后是一堆公司和组织
red hat,ibm什么都在里面,还有suse
大神您对linux比较熟,不会不知道red hat和suse这两个名词意味着什么吧?
古德霸瞎喷它有底气,大神您站在对立面的话,怕就怕你没有什么底气
In November 2001, a consortium was formed with a board of stewards to
further the development of Eclipse as open-source software. The original
members were Borland, IBM, Merant, QNX Software Systems, Rational Software,
Red Hat, SuSE, TogetherSoft and WebGain.[5] The number of stewards increased
to over 80 by the end of 2003. In January 2004, the Eclipse Foundation was
created.[6]... 阅读全帖 |
|
d****i 发帖数: 4809 | 6 确实,Qt已经cover了一些主流的嵌入式实时操作系统:VxWorks, Integrity, QNX, 这
个很赞,以前的嵌入式上的UI都是用自己的proprietary的库或者第三方提供的GUI库,
现在一个Qt解决所有问题。 |
|
b*******s 发帖数: 5216 | 7 一般汽车工业多数用qnx,我不认为上面的c编译器支持针对尾递归的优化 |
|
d****i 发帖数: 4809 | 8 可以啊,Lua可以做embedded Linux上的script, 某些RTOS也支持Lua吧,忘了,好像
QNX就可以。 |
|
d****i 发帖数: 4809 | 9 symbian, blackberry这样的系统严格的说已经不属于传统的嵌入式系统了, 可以称为
mobile OS。一般说的嵌入式系统的RTOS是指的象VxWorks, QNX, uC/OS, Integrity,
ThreadX, Nuclues等等这样的,一般都有很高的实时性要求,而且用在各种不同的工业
领域,而非手机操作系统。 |
|
d****i 发帖数: 4809 | 10 很对,mission safety critical system用的OS都是需要认证的,所以象embedded
Linux这种是不能用的,都要上VxWorks, QNX, Integrity这种RTOS。
OS |
|
d****i 发帖数: 4809 | 11 你搞反了,数百种RTOS都是C写的,现在RTOS虽然受到embedded Linux的一定的冲击,
但在各种工业领域还是大量使用的,比如VxWorks, QNX, Integrity,RTX, uC/OS,
Nucleus, ThreadX等等,这些RTOS实际上就是相当于嵌入式系统上的UNIX。 |
|
d****i 发帖数: 4809 | 12 你这个显然不对,各种工业上用的实时操作系统,既不是UNIX, 也不是Linux,更不是
Windows, 而是专用的实时操作系统,RTOS有几百种,常见的几种有比如
VxWorks
QNX
Greenhills Integrity
Nucleus
ThreadX
RTX
当然实际上他们的设计都深受UNIX设计思想和架构的影响,就是把普通台式机和服务器
的操作系统迷你化,实时化,和专用化后的一个个专用的操作系统。至于你说的多数都
是windows的,都是给人用的控制台程序,带有UI界面的,和实时操作系统完全是两码
事。 |
|
j******t 发帖数: 788 | 13 我是做数控的,数控机床的操作平台包括UI,仿真模块大多数公司还是用win embedded
。你们说得需要响应的部分是后端控制器的底层设计,那绝大多数以RTOS为主,主要需
要保低footprint,高相应。一般来讲这是两套独立的系统,控制仿真平台一般有机床
公司自己开发。而数控部分由各个数控公司自己搞。数控控制器以前以硬件为主体,现
在倾向于基于RTOS 的嵌入软件固化。
目前一些高端机床需要信号反馈跟前台仿真结合,可以做一些预测性控制比如干检,动
态补偿什么的,那就需要前台实时响应。Windows CE用的比较多,因为用这个前后都可
以兼顾。但是控制器一般还是UNix为主,比如QNX。如何统一这些东西,这里面有很多
问题 |
|
m********5 发帖数: 17667 | 14 我不明白,为何你们说QNX是unix,它只是unix like, interfacing支持posix而已。实
现完全和unix不同,调度方式本质不同,根本就是完全不同的另外一个操作系统。难道
实现了POSIX的都是UNIX? 这个淡扯得大了。
RT-linux还可以说是linux,因为毕竟可以看成是双核,guest OS大部分代码是linux的.
RT kernel只实现了很基本的东西。不过因为这样,RT-linux实时性也不好,只能说在
要求低的地方,勉强能用。
工控上,前台 win embedded standard 用得很多,最近几年应该是比CE流行得多。说
win要垮的,先进入这部分市场再说。
我不明白的是,很多工控应用前台就是个UI根本不需要实时响应,為什麼还用 winES,
相对于低端机价格这版费很贵的啊,就是懒得在高端机上重写?
embedded |
|
j******t 发帖数: 788 | 15 你称QNX不是Unix也没有问题,反正我开放的时候不使用Windows. 但是你说前台不使用
real time系统,这个不对。我刚才提到,在数控系统,机床公司购买控制器会在控制
器之上加一些自己的控制算法,这部分要求实时响应的越来越多了。打个比方马扎克的
机床号称可以做干涉预测,所谓干涉预测就是通过仿真手段,预测在未来几行G代码中
间会不会有指令造成机床零件之间产生碰撞。这是所谓的lookahead, 需要仿真速度没
有滞后并能实时响应。。。仿真是前台的功能,因为只有生产机床的公司才会有机床的
几何信息,这一点控制器厂家没有办法提供。所以前台有可能直接提供反馈控制。另外
就是一些机床直接把前台和后台集成为一体,完全使用软件驱动。虽然这种应用目前还只
是一些低端机床,但是我个人认为这低滞后基于Rtos的软件控制是为了数控的一个趋势
。向西门子840D是直接提供一套开放平台,供给用户做一些自己的控制模块甚至界面设
计。这样的话前台设计也等于在Rtos里做的。总之,很多老系统的确是前后两套系统,
一个管下线,一个管上线。后来计算机速度提高以后,发现前后台需要融合有很多好处
的.
, |
|
d****i 发帖数: 4809 | 16 这个是ANSI/ISO C standard的官方标准。另外有一个是UNIX/Linux的官方标准C API的
文档:
http://pubs.opengroup.org/onlinepubs/9699919799/
所有POSIX compliant的操作系统大都遵循,包括Linux(all distro), FreeBSD,
NetBSD, OpenBSD, Solaris, AIX, HP-UX, Tru64, IRIX, UnixWare, OS X等等一众
Unix和Unix-like OS。Windows除外,它有自己的一套Win32 API。嵌入式系统上的RTOS
一般除了自己的一套API外,也包括了POSIX API的一部分子集,比如VxWorks, QNX,
Greenhills Integrity, RTX等等。 |
|
d****i 发帖数: 4809 | 17 Linux, UNIX, Windows这些通用操作系统都不是real time的,真正的real time的操作
系统都是专门用于embedded上的像VxWorks, QNX,Integrity, Nucleus, RTX等等。
MSN |
|
h**********c 发帖数: 4120 | 18 这个cap的坑还是有一定深度的,我老也来搅一棍
首先实时这个概念不应该被理解为blocking synchronization,就是你不答应我就赖你
们家楼道不走。
实时在现代的操作系统里首先强调要同步时钟,我在学校real time system 上课时候
有一本小册子讲scheduler,现在只记得monotone scheduler一点点印象。本质就是要
求分布式系统同步tick,最少是tick 的sequence no.
同步时钟以后,time out 才有可能,不如说好今年2015我的生命还有50年打个比方,
你不答应我,到了2015+50+1年,你就应该知道我就死在们家楼道里了。
当时上课主要用的是qnx,可惜这么好的东西没有搞起来。这门课的教授也英年早逝,
估计是被狗逼拉稀债(laxigile)气的,净整些beach boy,PM auntie骗奶奶的rrsp. |
|
b*******s 发帖数: 5216 | 19 Qnx内核太特殊,又要收费,工具集也比较落后。 |
|
T********i 发帖数: 2416 | 20 自动驾驶作为硬实时系统,要个鸟OS啊?
本来就应该每个core一个thread,自己死循环去。连调度器都省了。几个function
call按照什么顺序去call他自己不清楚么?
自己的shit自己管理不了,指望所谓OS去管理,这得有多傻逼啊?
所有想省事的所谓架构,都是推卸责任,都是耍流氓。
我把话放在这里,这么做是世界上最有效的架构,没有之一!
OS
Ford |
|
发帖数: 1 | 21 胡扯,你做過自動駕駛麼?知道自動駕駛有多少sensor麼?SoC有幾個核心麼?知道每
個核心都要lockstep麼?你一個core一個thread,難道要自動車用64核處理器?
這個是現在的配置,未來會更多:
communication devices, thermal and stereo cameras, short-range radars, GPS/
Glonass receivers, rear-mounted Lidar scanner, forward-facing lasers,
inertia units, display units
就上面的這些東西,你不用OS給我fuse一下?你知道mars rover都有OS麼? |
|
T********i 发帖数: 2416 | 22 到底是年轻,被洗脑挺严重,脑子转不过弯儿来。
我们用OS是因为那时通用计算机。上面运行的大多数shit不是我们的。
这种专用系统,而且是硬实时的。所有的任务调度就是中断响应。硬件有个中断优先级
就OK啦。这玩意儿,你管他叫OS也行,不叫OS也行。你知道FreeRTOS才多少行代码?
至于那些sensors,算个屁啊?哪一个不是百八十行就驱动起来了?数据拿过来咋处理
?该咋处理就咋处理好了?需要OS么?
我老一个32MHz的MCU驱动10个8个sensor,外加dsisplay module,只用几K RAM,也不
是没做过。
所以回答你的问题,这些玩意儿,我用一个FreeRTOS都fuse一下,当然,不用FreeRTOS
也行。
再给你一个tip,这东西,关键代码,我要说90%以上,应该跟OS无任何鸟关系。而且架
构都和OS无关,涉及到的core都是isolate在OS之外的。所谓的OS干些杂活而已。 |
|
发帖数: 1 | 23 感覺你應該去跟車版的人溝通一下,豐田的系統就是你這麼寫出來的,成千上萬個全局
變量,你不怕跑飛了自動加速出人命麼?
OS另一個功能是保護,你的中斷task沒有OS怎麼用MPU保護?兩個團隊寫的驅動怎麼合
併?
FreeRTOS |
|
T********i 发帖数: 2416 | 24 你这么大的人不会写程序么?豐田成千上萬個全局變量那是用画框图的方法写程序自动
生成出来的。只有这几个产业傻逼认为用鼠标写程序比用敲代码写程序靠谱。和系统架
构有个鸟关系?
至于保护,那也不是个事儿。你说说需要几行代码就能实现?
问题是,你认为只要保护了,代码跑飞了就不会出人命了么?项目管理跟不上团队沟通
不好也会出人命。所以我才一直强调know your own shit! 不只限于你自己写的代码,
而是整个项目所有必须要了解的细节。
你说的这些,和OS也没一毛钱关系。我都强调过了,这是专用系统。其实也没那么复杂
。模拟一下最坏情况下需要多少算力,然后确定需要几个core。到时候让他们去算就好
了。
多大个事儿? |
|
g****t 发帖数: 31659 | 25 你说这些他听不懂的。
著名公司,著名国家,著名程序员的...洗脑效果不是盖的。
一般人十年八年或者一辈子可能都出不来。
高可靠系统必须了解物理或者需求。把软件做死。最好还可以有互补的另一块。轮流重
新启动。工业控制用的浮点数计算,跟浮在表面上的一些商标花名buzz word远不是一
回事。
: 你这么大的人不会写程序么?豐田成千上萬個全局變量那是用画框图的方
法写程
序自动
: 生成出来的。只有这几个产业傻逼认为用鼠标写程序比用敲代码写程序靠
谱。和
系统架
: 构有个鸟关系?
: 至于保护,那也不是个事儿。你说说需要几行代码就能实现?
: 问题是,你认为只要保护了,代码跑飞了就不会出人命了么?项目管理跟
不上团
队沟通
: 不好也会出人命。所以我才一直强调know your own shit! 不只限于你自
己写的
代码,
: 而是整个项目所有必须要了解的细节。
: 你说的这些,和OS也没一毛钱关系。我都强调过了,这是专用系统。其实
也没那
么复杂
: 。模拟一下最坏情况下需要多少算力,然后确定需要几个core... 阅读全帖 |
|
g****t 发帖数: 31659 | 26 车板的人是买车的,不是造车的。我以前做过汽车电控。我太太公司的日本本部公司负
责生产丰田的刹车电控软件。
丰田当年的根本问题不是软件问题。任何车都有飞跑的cruis control的情况。round
off 计算噪声理论上不可能全部消除。
丰田车当初的关键问题真的是脚垫问题。原因很简单。机械系的也不是傻子。任何车刹
车踩到底,force都是足够over ride电控的force的。这是初中力学保证的。而且都是
检查过的。这是最后一关。
但是脚垫卡住了,最后一关就没了,才会出问题。
所以大家汽车脚垫一定要注意放好。
当然你要查代码,谁家的代码也都有问题。
: 感覺你應該去跟車版的人溝通一下,豐田的系統就是你這麼寫出來的,成千上萬
個全局
: 變量,你不怕跑飛了自動加速出人命麼?
: OS另一個功能是保護,你的中斷task沒有OS怎麼用MPU保護?兩個團隊寫的驅動
怎麼合
: 併?
: FreeRTOS
|
|
T********i 发帖数: 2416 | 27 这在工程上叫fail safe。就是系统一个部分失效,系统能够进入一个比比这个部件正
常运行更安全的状态。
一般对汽车而言,这个更安全的状态就是停下来。
对于我做的交易系统,更安全的状态就是立刻crash。证交所也不傻。你打一个热线电
话,它就把你账号下所有未完成的order都cancel,然后把你的仓位一个excel
spreadsheet发给你。然后对冲风险很容易。不至于把裤子都输掉。
: 车板的人是买车的,不是造车的。我以前做过汽车电控。我太太公司的日本本部
公司负
: 责生产丰田的刹车电控软件。
: 丰田当年的根本问题不是软件问题。任何车都有飞跑的cruis control的情况。
round
: off 计算噪声理论上不可能全部消除。
: 丰田车当初的关键问题真的是脚垫问题。原因很简单。机械系的也不是傻子。任
何车刹
: 车踩到底,force都是足够over ride电控的force的。这是初中力学保证的。而
且都是
: 检查过的。这是最后一关。
: 但是脚垫卡住了,最后一关就没了,才会出问题。
: 所... 阅读全帖 |
|
x****u 发帖数: 44466 | 28 日本考驾照的标准试题:高速上油门卡住怎么办,下坡时刹车失灵怎么办,上课时配有
录像详解
美国就是司机太水,全球若干个国家驾照免路考互换,有日本澳大利亚没有美国 |
|