comp.lang.ada
 help / color / mirror / Atom feed
* IMPORTANT : BUDDY SYSTEM PROJECT ??????
@ 1997-09-24  0:00 Eric , Chow Hoi Ka
  1997-09-29  0:00 ` Graham Perkins
  0 siblings, 1 reply; 4+ messages in thread
From: Eric , Chow Hoi Ka @ 1997-09-24  0:00 UTC (permalink / raw)



Please give a hand !!!!

Who know what is BUDDY SYSTEM in OS ????
Who have the information about BUDDY SYSTEM ???
Who have some source codes in Ada, C/C++, Modula2 or Java of BUDDY
SYSTEM ????

Pls tell me !!! Thanks.
Best regards,
Eric






^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: IMPORTANT : BUDDY SYSTEM PROJECT ??????
  1997-09-24  0:00 IMPORTANT : BUDDY SYSTEM PROJECT ?????? Eric , Chow Hoi Ka
@ 1997-09-29  0:00 ` Graham Perkins
  1997-10-02  0:00   ` Peter Moylan
  1997-10-03  0:00   ` David Turner
  0 siblings, 2 replies; 4+ messages in thread
From: Graham Perkins @ 1997-09-29  0:00 UTC (permalink / raw)



Eric , Chow Hoi Ka wrote:
> Who know what is BUDDY SYSTEM in OS ????
> Who have the information about BUDDY SYSTEM ???

The "Binary Buddy System" is used in some operating systems
for managing the allocation of memory space to processes.

Rather than maintaining a sequential list of free blocks,
the free space manager keeps a binary tree.  Initial space
is made into a single block, allocation involves splitting
it into two "budies" until suitable a size block is generated.
 
This scheme pays off when processes release memory.  A newly
released block can be quickly co-alesced with its buddy (if
its buddy is also free) since the buddies address can be 
obtained by flipping bit N of the block.  (where N is log
base 2 of the block's size).

You must read an operating system book to discover more detail.

> Who have some source codes in Ada, C/C++, Modula2 or Java of BUDDY
> SYSTEM ????

The people who implement operating systems.  and they probably
didn't use Modula-2 or Ada or C++ or Java




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: IMPORTANT : BUDDY SYSTEM PROJECT ??????
  1997-09-29  0:00 ` Graham Perkins
@ 1997-10-02  0:00   ` Peter Moylan
  1997-10-03  0:00   ` David Turner
  1 sibling, 0 replies; 4+ messages in thread
From: Peter Moylan @ 1997-10-02  0:00 UTC (permalink / raw)



Graham Perkins <gperkins@dmu.ac.uk> wrote:

>> Who have some source codes in Ada, C/C++, Modula2 or Java of BUDDY
>> SYSTEM ????
>
>The people who implement operating systems.  and they probably
>didn't use Modula-2 or Ada or C++ or Java

I once had a book "Machine-oriented higher level languages"
where the buddy system was implemented in umpteen different
medium-level languages (most of which are now defunct - I think
C and PL/M are the only real survivors).  But it's certainly out
of print by now.  Worse, I seem to have lost my copy, so I
can't even give the publication details.

Of course, this is of historical interest only.  The
person who asked the original question would be better
served by looking up Knuth, or one of the many data
structures textbooks.

-- 
Peter Moylan                         peter@ee.newcastle.edu.au
  http://www.ee.newcastle.edu.au/users/staff/peter/Moylan.html




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: IMPORTANT : BUDDY SYSTEM PROJECT ??????
  1997-09-29  0:00 ` Graham Perkins
  1997-10-02  0:00   ` Peter Moylan
@ 1997-10-03  0:00   ` David Turner
  1 sibling, 0 replies; 4+ messages in thread
From: David Turner @ 1997-10-03  0:00 UTC (permalink / raw)



Graham Perkins wrote:
> 
> Eric , Chow Hoi Ka wrote:
> > Who know what is BUDDY SYSTEM in OS ????
> > Who have the information about BUDDY SYSTEM ???
> 
> The "Binary Buddy System" is used in some operating systems
> for managing the allocation of memory space to processes.
>

Well, it isn't only used in operating systems. It's just one of
the memory allocation scheme that was developped to try
outperforming the classic "best-fit" in terms of internal
fragmentation, external fragmentation, allocation speed,
or release speed, etc ..
 
> 
> You must read an operating system book to discover more detail.
>

I'd rather suggest this excellent survey :

  Dynamic Storage Allocation: A Survey and Critical Review.
  Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles.
  In International Workshop on Memory Management, Kinross, Scotland, 
  UK, September 1995. 

  Postcript is available online at :

    ftp://ftp.cs.utexas.edu/pub/garbage/allocsrv.ps

  It discusses many issues related to memory allocation, and
  compares the various known schemes ( of which buddy systems ).

  The survey seems to indicate that buddy systems aren't really great
  when compared to other schemes, even in terms of allocation and
  coalescing speed..

> > Who have some source codes in Ada, C/C++, Modula2 or Java of BUDDY
> > SYSTEM ????
> 
> The people who implement operating systems.  and they probably
> didn't use Modula-2 or Ada or C++ or Java

Well, I know of one RT-OS written in Ada (RTOS), one general purpose
OS written in Modula-3, and I wouldn't be surprised to learn that
someone tried to do that in C++ (even if the chances of failure
can be great if used without care).

Moreover, this isn't really an issue about languages, but algorithms,
which can all be implemented in any language (except maybe in Logo ?).
And the concepts are usually simple to understand to not need a very
long implementation..

Good luck, and good reading..

--  David "G" Turner  | ( The 'G' doesn't stand for 'Genius' ! )
--  turner @ enst.fr  |    student at Telecom ( Paris, France )
--
--  Disclaimer :
--
--  The current blah blah blah blah blah blah blah does not express the
--  blah blah blah blah blah blah blah of TELECOM in any blah blah blah
..




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1997-10-03  0:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-09-24  0:00 IMPORTANT : BUDDY SYSTEM PROJECT ?????? Eric , Chow Hoi Ka
1997-09-29  0:00 ` Graham Perkins
1997-10-02  0:00   ` Peter Moylan
1997-10-03  0:00   ` David Turner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox