Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1256829
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类: 嵌入式

2013-08-29 11:54:33

题目: 多进程/线程可变分区存储管理
初始条件:
操作系统:Linux
程序设计语言:C语言
系统总存储空间为512M,由成若干个可变分区组成。
要求完成的主要任务: (包括设计工作量及其技术要求,以及说明书撰写等具体要求)
技术要求:
  可变分区的块数不少于10个,分区的大小不等。
  创建5~10个进程(线程)。
  每个进程用(char *)lmalloc(unsigned size)函数向系统申请一次内存空间(如size=1000,单位为字节),并用首次适应法分配内存空间。
  用lfree(unsigned size, char *addr)释放内存空间。
  每个进程至少要完成3次内存空间的申请和释放操作。若申请空间失败,可休眠等待一段时间,再重复申请。
  每个进程对内存空间进行操作后,即时显示可用空闲分区数量、总空闲存储空间、当前分配/释放空间的指针位置和进程的PID。
  整个系统按模块化设计思想设计,代码的组织尽量按功能模块编写在不同的源文件中,并采用Makefile进行项目管理,用make进行代码的编译。
空闲存储区的数据结构:
  空闲存储区表可采用结构数组的形式(最低要求)或双向链接表的形式,建议采用的数据结构为:
struct map{
    unsigned m_size;
    char *m_addr;
};

struct map{
    unsigned m_size;
    char *m_addr;
    struct map *next, *prior;
};
设计说明书内容要求:
  1)设计题目与要求
  2)总的设计思想及系统平台、语言、工具等。
  3)数据结构与模块说明(功能与流程图)
  4)给出用户名、源程序名、目标程序名和源程序及其运行结果。(要注明存储各个程序代码及其运行结果的主机IP地址和目录。)
  5)对存储分配及释放各种情况的运行结果进行分析、错误分析。
  6)参考文献的篇数不少于5篇。文献的格式可参照教材后面的文献排版。如:[序号]作者.文献名称.出处,年份.
调试报告:
  1)调试记录
  2)自我评析和总结       
阅读(939) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~