浅析VxWorks与Linux操作系统的区别

时间:2021-07-25 06:10:45

转载请标明出处floater的csdn blog,http://blog.csdn.net/flaoter

曾经接触过几种操作系统,开发项目中使用较多的是VxWorks和Linux操作系统,对它们也算有一定的认识,现在根据自身理解初步对它们进行一个对比,有错误或不足之处今后会再进行修正。

下表是对VxWorks与Linux内核的一个对比,是按照差别分的类别,无法代表内核的所有细节,比如实时操作系统经典的问题优先级翻转,内核抢占等由于在新版的linux内核中都有支持,所以这类内容在下表中没有体现。

VxWorks Linux
基本特点 应用场景 可交互的通用型OS,会注重用户的交互体验 实时操作系统,表现在强实时性和可靠性。对实时性的表述应是在规定的时间完成规定的任务,体现实时性的指标有任务切换时间,任务抢占时间,中断响应时间等。
内核结构 微内核 宏内核
运行模式 实模式 保护模式,区分用户地址空间和内核地址空间
任务管理与调度 任务管理 进程即线程 进程,线程,内核线程
任务调度 •主调度器和周期性调度器
• 实时调度类
• 主调度器和周期调度器
•五个调度类,stop, dl, rt, cfs, idle
•调度组,调度域(SMP),负载均衡
内存管理 实存储,所有任务运行在同一内存空间,不提供任务间的内存保护 虚拟存储,用户进程运行在虚拟地址空间,MMU负责将虚拟地址转换为物理地址,用户进程间的页表独立,只能访问本进程的内存空间
中断 硬中断 中断上半部和中断下半部,上半部类似硬中断,运行在中断上下文,下半部是高优先级的内核线程,运行在进程上下文