操作系统
风筝丶
随便看人家资料是不好的......
展开
-
自编STM32轻量级操作系统(一)------操作系统实现
你好,这里是风筝的博客,欢迎和我一起交流。16年寒假那段时间开始接触UCOS实时操作系统,感觉真的很神奇,还借了任哲和邵贝贝的书的来看,原来代码还可以写得那么美妙。后来,在知乎上看到一位答主的文章(https://www.zhihu.com/question/25628124/answer/133388181),顿时对操作 系统兴趣大增,想着自己也简单写一个轻量级的嵌入式操作系原创 2017-07-24 17:19:50 · 28625 阅读 · 5 评论 -
自编STM32轻量级操作系统(二)------任务调度
你好,这里是风筝的博客,欢迎和我一起交流。上一章自编STM32轻量级操作系统(一)------操作系统实现 讲了那么多,终于到了实战环节。现在来开始动手码程序。根据之前分析的,我们先写下分析流程:上帝(操作系统)正在开心的玩耍着,看了看时间,一天结束了,夜晚来了(系统定时器中断),哦,要搞事情了,人间将要掀起一场腥风血雨!!!此时人间(用户进程)原创 2017-07-24 22:06:03 · 13208 阅读 · 8 评论 -
自编STM32轻量级操作系统(三)------内存管理
你好,这里是风筝的博客,欢迎和我一起交流。上一章 自编STM32轻量级操作系统(二)------任务调度 讲了内存调度算法,接下来说下内存管理。其实我也没有什么好的内存管理算法,也是一种很大众、普通的算法,该有的内存碎片还是会有,而且STM32是支持标准库的,即支持malloc和free函数。好了,来看看我们的内存管理算法是怎么实现的吧:原创 2017-07-25 15:58:04 · 7234 阅读 · 2 评论 -
自编STM32轻量级操作系统(四)------信号量的实现
你好,这里是风筝的博客,欢迎和我一起交流。之前我们已经完成了基础的框架,现在我们来一步步完善它:添加信号量!但是,什么是信号量呢?别急,百度百科上有说:信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完原创 2017-07-25 19:17:06 · 7016 阅读 · 2 评论 -
自编STM32轻量级操作系统(六)------消息队列
你好,这里是风筝的博客,欢迎和我一起交流。上一章讲了互斥量,今天,最后一章,就是消息队列了。消息队列,能够使得任务与任务、或者任务与中断之间进行通信。何为队列?先进先出为队列。何为消息?打开你的QQ你就知道......现在看一下消息队列怎么实现的。首先,创建消息队列:这里注意了,在ECB事件控制块新原创 2017-08-05 17:59:32 · 7069 阅读 · 3 评论 -
自编STM32轻量级操作系统(五)------互斥量
你好,这里是风筝的博客,欢迎和我一起交流。上一章讲了信号量:自编STM32轻量级操作系统(四)------信号量的实现 但是信号量会出现一个问题:优先级反转!什么是优先级反转呢?优先级反转是指一个低优先级的任务持有一个被高优先级任务所需要的共享资源。高优先任务由于因资源缺乏而处于受阻状态,一直等到低优先级任务释放资源为止。而低优先级获得的CPU时间少,如原创 2017-07-25 22:21:51 · 5271 阅读 · 2 评论 -
操作系统-同步机制
你好!这里是风筝的博客,欢迎和我一起交流。说到同步,不得不说著名的生产者-消费者问题(producer-consumer problem),解决好生产者-消费者问题,就解决了并发进程的同步问题。 “生产者-消费者”问题描述如下: 有一个有限缓冲区和多个消费者和生产者,它们分别不停地把产品放入缓冲区中拿走产品。一个生产者在缓冲区满的时候必须等待,一个消费者在缓冲区空的时候也必须待。int k;原创 2017-12-08 15:54:46 · 4170 阅读 · 0 评论 -
详解操作系统中进程与线程
你好!这里是风筝的博客,欢迎和我一起交流。进程的定义: 进程是具有独立功能的程序在某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位。 简单的说,进程是一个程序的一次执行的过程。进程的属性: 1)动态性:进程具有生命周期,由创建而产生,由调度而执行,由事件而等待,由撤销而消亡。 2)共享性:同一程序同时运行在不同的数据集合上构成不同进程,即多个不同的进程可执行相同的程序。原创 2017-11-22 15:36:14 · 904 阅读 · 0 评论