操作系统与裸机的区别
我们在学习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、Cortex-M4系列的…所以目前还不可能运行Linux操作系统,但是stm32可以运行uc/OS、ucLinux、FreeRTOS 、VxWorks等操作系统。其中uc/OS操作系统是开源代码,且小巧而严谨,具有很高的实时性,可以作为学习linux等高级操作系统的基础,实际项目中也经常使用uc/OS开发。
操作系统与裸机的区别相关推荐
- linux和裸机的区别,操作系统与裸机的区别
我们在学习stm32到一定阶段可能会了解操作系统,然后便有这种问题产生,下面我就来粗略说说"操作系统与裸机的区别,以及stm32能运行什么操作系统,能运行linux系统吗"等问题. ...
- 理解实时操作系统与裸机的区别
早期嵌入式开发没有嵌入式操作系统的概念 ,直接操作裸机,在裸机上写程序,比如用51单片机基本就没有操作系统的概念.通常把程序分为两部分:前台系统和后台系统. 简单的小系统通常是前后台系统,这样的程序包 ...
- iic裸机与linux通信,基于IIC协议的Linux操作系统与裸机通信的方法
主权项: 1.一种基于IIC协议的Linux操作系统与裸机通信的方法,其特征在于,包括如下步骤:步骤S1,对采用Linux系统的多个硬件和裸机同时挂载在总线上,包括:配置一个主机设备和多个从机设备,每 ...
- 苹果电脑裸机和不裸机的区别_将Kubernetes带到裸机边缘
苹果电脑裸机和不裸机的区别 Kubespray是一个社区项目,为An ible剧本提供了Kubernetes集群的部署和管理功能,最近又增加了对裸机数据包Packet的支持 . 这允许Kubernet ...
- 合约机和裸机的区别介绍 苹果iphone合约机机卡分离方法
合约机和裸机的区别介绍 文章来源:智能手机之家 ,一般情况下,合约机指通信运营商与手机消费商合作定制的手机类型,用户操作该手机必需和指定运营商签约,并且要一次性交清租机款(大大多以存话费的名义交清), ...
- FreeRTOS【学习笔记1】——操作系统与裸机的差别和任务的引用。
文章目录 1.操作系统与裸机的关系 1.1一心一用 1.2一心多用 1.3FreeRTOS任务调度的方式 3.结尾 1.操作系统与裸机的关系 1.1一心一用 一心一用的就是裸机.一般情况下,裸机代码的 ...
- (转)Windows系统、Linux系统 和 Mac OS操作系统 历史由来 与 区别?
目录 1 UNIX 由来 2 Linux 由来 3 Windows与Linux的主要区别 4 关于Linux的一些疑惑 参考资料 目前常见的三大操作系统:Windows系统.Linux系统 和 Mac ...
- 嵌入式操作系统和普通操作系统的区别_嵌入式ARM和单片机的区别何在
1.软件方面 这应该是最大的区别了.引入了操作系统.为什么引入操作系统?有什么好处嘛? 1)方便.主要体现在后期的开发,即在操作系统上直接开发应用程序.不像单片机一样一切都要重新写.前期的操作系统移植 ...
- uIP无操作系统(裸机)移植
本文转自music_fong博客:http://blog.csdn.net/music_fong/article/details/7191773 以前自己写了一个TCP/IP的协议栈,但是需要的48K ...
- freertos软件开发和裸机开发区别,freertos程序和裸机程序区别
对于freertos我们可以建立以下几个基本的基础认识,基于几个基本的原则,我们就可以推导出一个freertos或者一个操作系统.我估计UCOS也是这个思想 都找到万变不离其宗,就像普罗米修斯,XTD ...
最新文章
- 2021湖北省普通高考成绩查询果,2021年湖北高考录取结果查询登录网址入口
- c语言二叉树最小值,C语言递归之二叉树的最小深度
- 一个openMP编程处理图像的示例
- 从阿里中台战略看企业IT架构转型之道(下)
- 万字总结!springcloud分布式限流
- python 主线程_Python threading多线程模块
- 基于log4j的消息流的实现之一消息获取
- delete kubectl pod_kubectl delete
- 一入python深似海--浅拷贝与深拷贝
- 计算机控制系统a卷-答案,微型计算机控制技术试卷附标准答案A
- 1、Django下载与搭建、配置环境变量
- Excel开发入门(C#和C++实例)
- php模板开发教程,Destoon模板制作简明教程
- Mysql事务操作及存储引擎
- LOJ#2863. 「IOI2018」组合动作 交互
- js 日期函数 将 js new Date() 转化为年月日时分秒
- Layui+ssm修改
- Flex入门学习教程
- 你真的知道flex: 1;是什么意思吗?
- java mail 554_javaMail 163 邮箱发 qq 邮箱 总是报 554 DT:SPM 163 smtp11
热门文章
- mkv转mp4,mkv转换mp4格式
- 计算机音乐青旅行,网易云音乐推荐:五一旅行途中必听的10首小清新
- Thinkpad E430 移除网卡白名单
- [BZOJ4199][NOI2015]品酒大会(后缀数组+单调栈+ST表)
- 方维团购V3.07版本短信接口开发
- 图片优化——质量与性能的博弈
- 【无极低码】手写一个低代码平台之二次开发Java
- 我们把计算机硬件系统和软件系统称为,中国大学MOOC:\我们把计算机硬件系统和软件系统总称为( )。\;...
- Effective C++中文版
- ucla 计算机专业 本科申请,2020年加州大学洛杉矶分校本科专业设置