对于操作系统的理解

没有操作系统程序怎么样执行?

1、51单片机通常是没有操作系统的,称为裸机运行 ,即程序从main函数开始在while(1)内顺序执行,直到函数执行完自动退出,在没有定时器中断等外部干扰下;
2、这就会产生一个问题,例如按键按下时,程序会检测其有没有松开操作,就会产生阻塞,这时候如果你让另一个 LED每500ms闪灭,就会看到LED不闪了 ,是因为程序在检测按键松开那里阻塞住了!!!

引入操作系统带来的好处 :

1、操作系统其实就像道路上的交通灯 ,当程序中有多个进程执行时 就像公路上在行驶的汽车 ,交通灯是一个合理协调交通的指示灯,管理这些汽车有序有规则地行使,而减少交通拥堵,那么在我们的程序中也是一样的,操作系统分配给每个进程不同的时间片,可由管理者根据任务需要执行的 时间大小合理分配时间片 ,例如 按键可以每10ms检测一次,就分配10000个Tick即10ms的时间片,同样,如果我们需要每500ms读一次温度,那么我们可以分配50ms的时间片让给温度读取器,累积十次再去读取温度,如果在进程运行中时间片结束则需要保存上下文、PC程序计数器所指向的 地址到
进程管理器TCB,其实是一张记录 进程执行状态等信息的表,当下一次需要执行当前进程时,会查阅此表,切换到上次跳出时的位置;
2、而且,每个进程都可以分配不同的优先级,来决定进程 的先后执行顺序 ,而且还有状态机来管理进程,分别有就绪态、挂起态、运行态、睡眠态,来决定进程是否具备运行的条件,若不具备就绪态则 直接跳过,执行下一个进程 ,可以看到由于有操作系统的管理 ,程序在执行是 时 就好像是并发一样,似乎在同一时间内有多个进程在执行,如果CPU是单核处理器其实是假 并发,只是在微观时间内 顺序执行,在宏观时间看似 是并发执行 ,但是对于实时操作系统 来说 只要时间片分配合理 ,优先级配置合理 ,进程 就可以 相互独立的运行 而不会影响 相互的执行 ,因为这些影响是很微小的,是微观上的延迟 ,就如LED的闪动、LCD的刷新等,眼睛 不能分辨30帧 以上的 图片刷新率,只要延迟很细微,我们的人眼就很难分辨出来;

谢谢观看!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值