Skip to main content
Home Documents Lisa Malloy UnitHz Specification The Standard Storage Manager
Malloy UnitHz Specification The Standard Storage Manager

Malloy UnitHz Specification The Standard Storage Manager

Lisa · PDF
FilenameMalloy_-_UnitHz_Specification_The_Standard_Storage_Manager_19830311.pdf
Size1.55 MB
Subsection development_history / memos
Downloads0
Contents
~10...---ch U'nit1lz Specificatio.n - Page l u, , q 93 r. M~llo~ 6pecif icat:1on .for UnitRz ... The Standard Stot:age 'Manager Overview UnitBz p?,"ovides a client: with routines .to manage a piece of contiguous mem.ory,. called a heap zotie (hz).. ·rn the case of 'Lisa, :this is usually but not necessarily an MMU segment .. UnitB.z will mall&ge an arbitra.ry number Qf such zones-.. The zone. is: made up of a zone beader (aMJ followed by au arbittary number .Qf storage blocks (a:bk). The zone may be arbitrar.ily large. A storage block consists Qf a: header followed by usable memory. Blacks are ;t1ways of even: length within a specif.fed min.am and maximunt. The curren"t minim.um ts 12 bytelh the length ()f a m.±nimum f.ree block. This could be reduced to 4 bytes if desired by re¢oding portions of Unitiz. 'the aaxim\1111 size of an allocated block i:s currently J2K bytes. This could be increased to 65K bytes with mi.nor enhancements or to 231 bf ma.king the appropriate quaittitie.s a full 32 bits" There al:'e four types of storage. blocltih. relocatable and nam.ed. They are free, non-relocatahtet Free blocks are used by the implementation and not '1'isible to the c1ient. They are kep:t: on a doubly ibked list through fields in tbe free ·1110.ck header.. Free blocks maf be as large the entire. zone. Non.. relocatable blocks behave like objects. allocated on a Paeca.l he•P with NEW and DISPQS:X,. The user references a non-relocatable block through a pointet: to the first data byte~ · Relocatable blocks, as . the name suggests;, lil.ll.Y •be moved aroun.d in mem.ory (relocated)- when necessary. There are two prineipal advantages to using relocatabl.e blocks rather than non•relocatable bloclts. First, relocatable blocks can change size dynamieally. Second,. better utilization of available memory is possible vitb a zone of reloca.table blocks than non-relocatable bloclti!J because the storage m.anager 1 ~hen unable to find a free bll)ck l.ar.ge enough to satisfy an allocation request will move bl.oeks around t.o create a large enough free block. ln order to achieve this relGeatablility the user ref et:ences a relocatable bloek tb:tough a l'landle (h) which is a pointer to the pointer tc the first data byte. There is precisely one pointer to. the actu.al data, called t,he 111.aster pointer.. The handle points to it.. The storage manager remembers its location ~nd U.pdates it whenever the block is :teloeated. Thi.s uniqul!! po:Lni:er. is normally located in an array o~ po.inters at the end ol the zone header but the user may specify, at Z«>ne irtiti&lfaation the, precisely one <>tber block of menipry in wh:tch he wishes to alloea;te these ~aster po.inters. This atea is <• 32K bytes long.. .A pointe'l', once allocated in this area, l'IPlSt never move; so a maste; pointer cannot be allocated inside another ,relocatable object. The Wo;d Processor uses the Pascal sysglobal area to store master pointers. (Figure l) Named objects ptovid:e the user a m…

Showing first 3,000 characters of 24,424 total. Open the full document →

MacTrove — a free archive of classic Macintosh software. Files mirrored from ftp.funet.fi/pub/mac (info-mac + funet legacy). All software provided for historical preservation.