{"title":"A concurrent programming environment for memory-mapped persistent object systems","authors":"Mei-Mei Fu, P. Dasgupta","doi":"10.1109/CMPSAC.1993.404180","DOIUrl":null,"url":null,"abstract":"The advantages of object-oriented programming systems are well known. However, in general, they do not support long-lived objects, nor do they allow concurrent sharing or dynamic re-use of language defined objects. Persistent object systems address some of these shortfalls. In this paper we present a design and implementation of a persistent object system that uses memory-mapping to directly map objects from the persistent store into the address space of user programs. Memory mapping makes the management and manipulation of persistent objects simpler. In particular, complex object structures can be executed (shared) concurrently on behalf of separate applications. A simple language extension has been designed and added to C++ to make the programming of persistence, sharing, synchronization and consistency control expressible. With efficient run-time support for persistent pointer resolution and consistency maintenance, this approach can provide much finer-grain execution concurrentcy and sharing, easier object navigation, simpler programability and possibly better performance, than object-oriented database systems.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CMPSAC.1993.404180","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
The advantages of object-oriented programming systems are well known. However, in general, they do not support long-lived objects, nor do they allow concurrent sharing or dynamic re-use of language defined objects. Persistent object systems address some of these shortfalls. In this paper we present a design and implementation of a persistent object system that uses memory-mapping to directly map objects from the persistent store into the address space of user programs. Memory mapping makes the management and manipulation of persistent objects simpler. In particular, complex object structures can be executed (shared) concurrently on behalf of separate applications. A simple language extension has been designed and added to C++ to make the programming of persistence, sharing, synchronization and consistency control expressible. With efficient run-time support for persistent pointer resolution and consistency maintenance, this approach can provide much finer-grain execution concurrentcy and sharing, easier object navigation, simpler programability and possibly better performance, than object-oriented database systems.<>