<- People Behind Informatics


All 0-9 A B C D E F G H I J K L M N O P Q R S T U V W XY Z




 
Storage Allocation
Nygaard and Dahl started toying with the idea of making nontrivial changes to ALGOL by breaking with the stack regime. Since that would have grave consequences for the storage management of the ALGOL run time system, they had to dig from that end. In 1963 a storage allocation package was designed, based on a two-dimensional free area list. It was the first kind of garbage collection. The inner lists contained areas of the same size, which would be numerous in typical steady state situations; the outer list contained the inner ones ordered according to area size. Each area had a “used” bit in its first and last words to facilitate the recombination of neighbouring free areas. Thus the system had stack allocation as a special case, and could at the same time utilize the entire non-contiguous store of our computer. With this solution to the storage allocation problem the search space for useful dynamic structures was drastically increased. Quasi-parallel execution of processes implied that control would switch from one process to another as the result of special sequencing statements such as “hold”. Each temporarily inactive process had a “reactivation point” (represented by a system variable local to the process) which identified the program point where control should resume operations next time it entered the process. With the new storage allocation package quasi-parallel sequencing statements could be allowed at arbitrary program points, e.g. inside procedures called by the processes, since their data stacks could grow and shrink independently. Furthermore processes could be created and destroyed in arbitrary order. [Source:K. Nygaard; O.-J. Dahl; The Development of the SIMULA Languages; 1978]
 

 

<- People Behind Informatics


Home  |  Top  |  Search  |  Gallery  | Glossary  | Sitemap  |  Making Of  |  Help