有懂操作系统的吗,给説説这个文章中提到的操作系统
3113
78
[1 楼] georgefan2008
[禁言中]
21-4-25 07:15
实时操作系统,分时操作系统,本质的区分是什么。
https://mp.weixin.qq.com/s/wudyEruLQXrPSQosC4BjSQ 听上去,分时操作系统就是多任务操作系统。 实时操作系统,就是单任务操作系统,典型地,如DOS。 本帖最后由 georgefan2008 于 2021-4-25 07:15 编辑 |
[80 楼] helpmejssz
[泡菜]
21-5-9 20:57
现在设置中断还是8259A还是local APIC ? 特别现在是在MP环境下.
|
[79 楼] 老顽童
[陈年泡菜]
21-5-9 20:50
|
[78 楼] Album2018
[泡菜]
21-5-9 19:32
实时操作系统需要有强大的中断处理能力,在规定的时间内快速响应外部事件,对被控设备发出控制信号或数据信号。
分时系统一般应用于多任务或多用户场景,将时间片轮流分配给每一个用户或任务,让他们有处理的机会。 windows是一个基于优先级的多任务分时操作系统。 |
[77 楼] 娲姝
[泡菜]
21-5-9 19:08
|
[76 楼] 老顽童
[陈年泡菜]
21-5-8 22:11
|
[75 楼] Appalachian
[泡菜]
21-5-8 21:26
CATWK 发表于 2021-05-08 10:06 受教了,谢谢 发布自 安卓客户端 |
[74 楼] 娲姝
[泡菜]
21-5-8 20:32
|
[73 楼] 娲姝
[泡菜]
21-5-8 20:28
|
[72 楼] CATWK
[泡菜]
21-5-8 18:06
Appalachian 发表于 2021-05-07 15:39 C是用来写的,不是用来run的 发布自 安卓客户端 |
[71 楼] alchen
[老坛泡菜]
21-5-8 17:40
我曾经想在几十k到百k的内存上基于开源实时操作系统eCos搞pda,当时想和需要运行在数m内存的linux区别开来。但我显然低估了芯片的发展速度,因为很快数百m到数g的系统就流行了,基于linux 和其他类unix的设备大兴其道。搞电脑的,一旦估计错了趋势,错误是致命的。 本帖最后由 alchen 于 2021-5-8 17:43 编辑
|
[70 楼] Marbas
[泡菜]
21-5-8 16:57
|
[69 楼] BlackEyes
[资深泡菜]
21-5-8 15:42
之前写了个回复, 不知怎么审查不合格, 直接给删除了。
以前CPU 处理能力还不那么强大的时候, 实时系统还不少, 像什么pSOS,Vxworks之类, 实际上连windows好像都推出过实时内核,不过似乎没人用, 现在各种新的CPU处理能力强大, 越来越多实时系统都开始在linux上实现了吧, 例如现在的通讯系统。 实时系统的最大差异,一个是更灵活的任务优先级控制; 一个是更高精度的时钟任务。 虽然说实时系统事件处理基本都是基于中断, 但是大多数事件的处理不可能都在中断处理程序里,还是要转给相应的处理任务, 所以任务调度的优先级设置就要求比较强; 时钟方面, 像windows系统的时钟调度任务最小也在10ms级别, 实时系统对时间响应要求更高, 这个级别显然是不够。 楼下都说中断处理, 哪个操作系统没有中断处理, 完全不是实时系统的差异化特点。除了一些很简单的应用,大部分实时任务都不可能在中断里完成。 本帖最后由 BlackEyes 于 2021-5-8 16:08 编辑 |
[68 楼] 老顽童
[陈年泡菜]
21-5-8 10:09
你想的是有这么回事,但是你可能记反了!
![]() ![]() ![]() 我印象里是这样的:中断发生的时候,硬件会自动屏蔽中断。进入中断处理程序后,第一条指令是“开中断”,以防止更高级中断被屏蔽,影响了实时性。虽然你执行了“开中断”指令,但只能开放更高级中断,硬件会保证同级和更低级中断不会发生。退出中断处理程序时硬件会自动开中断。中断处理程序中如果有一段程序不能被别的中断处理打扰,这段程序前要“关中断”过后要“开中断”。非中断处理程序如果有必要,也可以这样做。 几十年没写过这样的程序了,不知道记忆的对不对。 |
[67 楼] celeneg
[禁言中]
21-5-8 09:56
老顽童 发表于 2021-05-07 06:18 发布自 安卓客户端 |
[66 楼] arcsense
[泡菜]
21-5-8 07:15
[65楼] fanndian 发表于 2021-05-07 20:39[/co?lor] 发布自 安卓客户端 |
[65 楼] fanndian
[资深泡菜]
21-5-8 04:39
可以这样类比吗?CAN bus就是分时系统,flexray就是实时系统?
|
[64 楼] Appalachian
[泡菜]
21-5-7 23:39
|
[63 楼] 天高云清
[资深泡菜]
21-5-7 18:09
|
[62 楼] 老顽童
[陈年泡菜]
21-5-7 14:18
celeneg 发表于 2021-5-6 10:15 如果第一次响应没完,会将中断屏蔽的,第二次请求必须等待。如果等待会造成错误后果,说明你的计算机速度不够,不能执行这种任务,必须升级计算机。 没有所谓“真正的实时”,因为无论是硬件还是软件,都是需要时间的。如果等待时间足够短,短到没有妨碍,就可以认为是“真正的”实时。 是否实时,关键问题不是足够强的硬件,而是软件处理时间。软件处理时间,要比硬件响应时间长得多。 |
[61 楼] cnzxy
[泡菜]
21-5-7 13:49
|
[60 楼] cnzxy
[泡菜]
21-5-7 13:42
现代操作系统都是分时系统。就是用进程的模型来共享处理器时间的,里面有个时间片的概念,比较短。每个进程用完时间片后就释放CPU,操作系统调度另一个进程。
实时系统也是分时系统,也是多任务来共享CPU,只是调度算法不同,会根据优先级保证调度的时间正确。另外实时系统一般不会使用虚拟内存这类耗时的技术。 |
[58 楼] cxy4321gmail
[注销用户]
21-5-7 06:25
用户已注销,历史内容不予显示
|
[57 楼] 水牛
[泡菜]
21-5-6 12:50
celeneg 发表于 2021-05-06 10:15 所谓的实时不是一味的快,只要在预定的时间内完成就是"实时"。实时操作系统最大的特点是各个任务之间有严格的优先级,高优先级的任务准备就续之后会立即得到CPU执行,低优先级的任务就有在高优先级任务让出CPU之后才能被运行。Dos是单任务系统,实时,分时系统都是针对多任务系统而言的。 发布自 色影无忌小程序 |
[56 楼] arcsense
[泡菜]
21-5-6 12:33
celeneg 发表于 2021-05-06 02:15 普通linux问题在于响应没准,汽车ecu不可能用这样的系统。 照相机是小系统,没必要用通用操作系统,高效率高可靠性是首要追求,以前玩过一下gopro,好像安霸用了一个日本的小系统。 发布自 安卓客户端 |
[55 楼] CATWK
[泡菜]
21-5-6 12:09
天高云清 发表于 2021-05-06 03:52 一看就是外行写的,还running C code 发布自 安卓客户端 |
[54 楼] 天高云清
[资深泡菜]
21-5-6 12:00
nobie 发表于 2021-04-26 09:15 参考我刚才的贴图、特斯拉对这个事情有解释 发布自 iOS客户端 |
[53 楼] 天高云清
[资深泡菜]
21-5-6 11:55
Marbas 发表于 2021-04-25 07:52 不对,参考我刚才发的图片 发布自 iOS客户端 |
[52 楼] 天高云清
[资深泡菜]
21-5-6 11:53
特斯拉的自动驾驶部分不基于操作系统,而大屏娱乐部分是基于Linux
发布自 iOS客户端 ![]() |
[51 楼] 天高云清
[资深泡菜]
21-5-6 11:52
nobie 发表于 2021-04-26 09:15 黑嘴而已 发布自 iOS客户端 ![]() |