<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yuxing_hui的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yuxing_hui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yuxing_hui]]></copyright><item><title><![CDATA[简单的内存分配算法]]></title><link>https://blog.youkuaiyun.com/yuxing_hui/article/details/9420785</link><guid>https://blog.youkuaiyun.com/yuxing_hui/article/details/9420785</guid><author>yuxing_hui</author><pubDate>Tue, 23 Jul 2013 12:51:38 +0800</pubDate><description><![CDATA[实现一个简单的内存分配模块，有简单的碎片整理功能
/* start of main.c */
#include "memory.h"

#define MEMBODY_SIZE 640
char membody[MEMBODY_SIZE] = {0,};

int main()
{
    void *mem1, *mem2, *mem3;
    int i;
    pr]]></description><category></category></item><item><title><![CDATA[不使用系统API来实现互斥保护功能]]></title><link>https://blog.youkuaiyun.com/yuxing_hui/article/details/2245034</link><guid>https://blog.youkuaiyun.com/yuxing_hui/article/details/2245034</guid><author>yuxing_hui</author><pubDate>Wed, 02 Apr 2008 14:45:00 +0800</pubDate><description><![CDATA[一般临界资源的互斥保护，需要使用类似take_mutex / give_mutex 类似的系统API来实现，一般需要从用户空间切换到内核空间，有时候可能要关中断等，为了实现一个开销小的，实现简单的临界资源的互斥保护机制，我设计了一个方法，希望大家能参考一下，给点建议。volatile int a = 0;volatile int b = 0;/*  线程 A */void ]]></description><category></category></item><item><title><![CDATA[环形buffer的管理]]></title><link>https://blog.youkuaiyun.com/yuxing_hui/article/details/2245028</link><guid>https://blog.youkuaiyun.com/yuxing_hui/article/details/2245028</guid><author>yuxing_hui</author><pubDate>Wed, 02 Apr 2008 14:44:00 +0800</pubDate><description><![CDATA[环形buffer这个数据结构经常被用到，环形buffer一般用数组来实现，需要有一个头指针和尾指针，如果带一个计数器来表示环形buffer可用的元素个数，那么整个buffer都可以被有效使用，但对计算器的访问需要加互斥保护，如果没有计数器，为了区别buffer空和满的情况，必须要留一个元素空间不使用，这个在数据结构的书上都有分析，有没有办法使得我们在使用环形buffer]]></description><category></category></item></channel></rss>