INE 5357 - Dedicated Operating Systems
Here are the exercises of the course made during the first semester of 2004.
Group:
Domain engineering of a family of memory abstractions and the corresponding implementation:
Introduction
Aspectos:
- Compartilhada
- Protegida
Segmento (Espaços de Endereçamento Físico:
- Estático (tamanho fixo, podendo ser representado por qualquer política de alocação)
- Dinâmico (tamanho variável - resizing)
Espaços de Endereçamento Lógico:
- Contíguo
- Paginado
- Segmentado
- Segmentado com Paginação
Configurable Features:
- somente leitura - leitura/escrita - somente execução
- algoritmos de alocação
- cache (registradores associativos ou translation look-aside buffers -TLBs)
- registradores dedicados
- page-table base register (PTBR)
- page-table lenght register (PTLR)
- segment-table base register (STBR)
- segment-table lenght register (STLR)
MMU
Implementation
It will be implemented a dynamic memory allocator, that is to say, a allocator used for general purpose "heap'' storage, where a program can request a block of memory to store a program object, and free that block at any time. A heap, in this sense, is a pool of memory available for the allocation and deallocation of arbitrarysized blocks of memory in arbitrary order. An allocated block is typically used to store a program "object", which is some kind of structured data item such as a Pascal record, a C struct, or a C++ object, but not necessarily an object in the sense of objectoriented programming. This operation is done, for example, by the functions malloc and free and by the operators new and delete in C++ language.- Dynamic Storage Allocation: A Survey and Critical Review - pdf file - postscript file
- Diagram
- XML? -> Utility
- Source Code
- Test Code