Selecting the Algorithm for BrickOS Memory Management Allocation

clippersdogheartedΛογισμικό & κατασκευή λογ/κού

14 Δεκ 2013 (πριν από 3 χρόνια και 5 μήνες)

81 εμφανίσεις

Selecting the Algorithm for
BrickOS Memory Management
Allocation

An Extended Abstract for
Computer Projects


CMPS 490

What is BrickOS?


Open source OS
used in Dr. Bi’s Real
-
Time Systems
course.


Used to program
Lego Mindstorm
Robotics Command
eXplorer (RCX) 2.0
Robots.

Specifications of the RCX Computer


Hitachi H8/3292 single
-
chip
microcomputer.


System clock speed of 16MHz.


32kb of memory.


16 bit address space.


Various registers.

What is Memory Management?


A very vital part of any operating system.


Allocates and sets quota for memory
usage.


Also in control of protection of files.


There are four different methods
(algorithms) that can be used.

Different Algorithms for Memory
Management


First Fit


choose the first free block of ample
size in memory beginning at the start of user
memory.


Next Fit


choose the first free block of ample
size in memory beginning at the location of the
last block used.


Worst Fit


choose the free block that has the
biggest size in memory.


Best Fit


choose the free block that is the
smallest size in memory but is big enough.

The Problem.


The RCX unit has little memory and thus it
is a very scare resource.


Anything too advanced would result in too
much overhead.


BrickOS uses the most clear
-
cut method
for allocating memory, the first fit
algorithm.


This may not be the best algorithm to use.

The Solution


Modify BrickOS to allow a programmer the
ability to change the algorithm used for
memory management for each program
they code.


May become a useful tool helping students
who are first learning about memory
management of any operating system
including BrickOS.

Project Overview.


A very deep understanding of the BrickOS
Operating System and the C programming
language is needed to take on a project of
this magnitude.


Variables (both global and local) will have
to be created.


Functions will have to be modified and at
least 4 will have to be created.

Testing My Project.


Testing can be difficult.


Dr. Bi’s program example.


A joint effort with Charles (using his project
as a basis) we will create a memory
monitor.