一般实时操作系统是基于时间片轮转
1s分割,多的给优先级高的,1s一个循环的话,如果有10个任务,就相当于10个cpu都在运行(前提是让出cpu让其运行)
linux再裁剪2kw行代码也裁剪不了多少,也会剩很多代码,一般嵌入式产品,低成本的,都不会搭载linux操作系统,搭载的都是实时操作系统,强调的是实时性
linux系统开发,多线程:怎么处理线程,比如一个变量被几个线程同时使用,如果不对线程,变量操作的话,如果在一个线程改变变量值,另一个线程也在改变变量,所以进行一次操作后,不知道变量的值是哪个,所以学习多线程的时候,一定会学习多线程之间的处理方式。
比如说互斥锁
linux操作系统或者实时操作系统都强调对资源的使用,资源就那么多,怎么分配资源,信号量,消息队列在linux学过
实时操作系统只是函数调用接口不一样,其他套路都一样
如果不会互斥锁,信号量,消息队列肯定就学不会
μcos(miu)
是实时操作系统的鼻祖
所以先有的他,在有的国产 ,他的资料最多
和芯片,cpu相关的都是汇编写的
操作系统都是c+汇编写的
很重要,记住,面试会考
就是可剥夺型
记住,学操作系统最重要的是内核
linux最重要的是内核+其他外设
μcos源码去GitHub下载
申请的栈空间是一个数组,运行过程中会产生一些临时变量,用栈存储,为了防止栈溢出
留一块保护