操作系统与裸机的区别
来源:互联网 发布:卖家怎么防止淘宝客 编辑:程序博客网 时间:2024/06/05 07:33
我们在学习stm32到一定阶段可能会了解操作系统,然后便有这种问题产生,下面我就来粗略说说“操作系统与裸机的区别,以及stm32能运行什么操作系统,能运行linux系统吗”等问题。
操作系统与裸机的区别
裸机运行的程序代码,一般由一个main函数中的while死循环和各种中断服务程序组成,平时CPU执行while循环中的代码,出现其他事件时,跳转到中断服务程序进行处理,没有多任务、线程的概念。
而引入操作系统后,程序执行时可以把一个应用程序分割为多个任务,每个任务完成一部分工作,并且每个任务都可以写成死循环。操作系统根据任务的优先级,通过调度器是CPU分时执行各个任务,保证每个任务都能够得到运行。若调度方法优良,则可使个任务看起来是并行执行的,减少了CPU的空闲时间,提高了CPU的利用率。由操作系统的任务管理衍生出相应的CPU管理、内存管理,它们分别负责分配任务对CPU的占有权和管理任务所占有的内存空间。在linux操作系统中,还具有文件管理、I/O设备管理的功能。stm32能运行什么操作系统,能运行linux系统吗?
首先操作系统有两种:一种是用MMU(Memory
Managenent Unit ,即存储管理单元)的,另一种是不用MMU的。
用MMU的是Windows、 MacOS、 Linux 、Android;
不用MMU的是FreeRTOS 、VxWorks 、 ucLinux、uc/OS.
其次CPU也有有两种 :带MMU的和不带MMU的。
带MMU的有 Cortex-A、ARM9 、ARM11系列。不带MMU的有 Cortex-M系列
而我们知道STM32是 Cortex-M3系列的…所以目前还不可能运行Linux操作系统,但是stm32可以运行uc/OS、ucLinux、FreeRTOS 、VxWorks等操作系统。其中uc/OS操作系统是开源代码,且小巧而严谨,具有很高的实时性,可以作为学习linux等高级操作系统的基础,实际项目中也经常使用uc/OS开发。
- 操作系统与裸机的区别
- “裸机”与嵌入式操作系统
- X86操作系统与X64操作系统的区别
- 裸机驱动与Linux设备驱动的区别
- 裸机驱动与Linux设备驱动的区别
- 操作系统的关系与区别
- 网络操作系统与通常的操作系统的区别
- 操作系统的分段与分页的区别
- 64位操作系统与32位操作系统的区别
- 32位操作系统与64位操作系统的区别
- 32位操作系统与64位操作系统的区别
- 32位操作系统与64位操作系统的区别
- 32位操作系统与64位操作系统的区别
- Mac与Windows操作系统的区别
- 【操作系统】进程与线程的区别
- 操作系统:分段与分页的区别(转载)
- linux与各操作系统的区别
- 浅析VxWorks与Linux操作系统的区别
- 最小表示法
- 设计模式汇总
- logback 日志管理使用
- Maximum XOR of Two Numbers in an Array问题及解法
- Spring整合Redis(spring-data-redis)
- 操作系统与裸机的区别
- clone的fork与pthread_create创建线程有何不同&pthread多线程编程的学习小结
- Keil ARM开发 error L6236E错误解决
- 【MVP+Retrofit+RxAndroid+dagger2】读易读应用框架笔记(二)网络请求与回调篇
- I/O端口编址方式和I/O内存
- 关于网页中登录注册时input表单自动填充的笔记
- [BZOJ1257][CQOI2007]余数求和(数论)
- windows下的TimerQueue
- python字典,集合,函数