What you'll learn
- Understanding Heap Memory Management
- How to track the Objects malloc'd by the application
- Internal Design and implementation of Heap Memory Management
- Develop own Implementation in C
- Catch Memory Leaks
- See Memory Usage and statistics
Requirements
- C programming skills
- Working with Doubly linked lists
- Heap Memory management Theory (Covered in this course again)
- Understanding of Virtual Memory Concepts
- Enthu and Zeal to lean, love for coding
- Very Important for Interview perspective
Description
This course attempts to answer the following INTERVIEW QUESTIONS :
1. How will you design your own heap Memory Manager?
2. What is the data structure employed for Heap Memory Management?
3. What is the time complexity to allocate memory to a process?
4. How free( ) knows how much memory to free?
5. How to get rid of Memory Fragmentation?
This course is about - "Design and Implement your own Memory Allocation Scheme to address the problem of Memory Fragmentation, see Memory Usage and statistics and Catch Memory Leaks. Talk to your prof and ask to do this project as your Operating Seminar Project".
Do this yet another System Project and Impress the interviewer with your knowledge of System Memory Management.
In this course, we shall design and implement a scheme in the form of a Library that takes the responsibility to allocate & de-allocate memory to your userspace process while taking care of the problems of Heap internal and external fragmentation behind the scenes. We already are familiar with the problem of Heap internal and external fragmentation which grows and magnifies over a period of time when a process is in execution and make much of the part of Heap memory unusable.
Many companies implement this scheme in the industry in userspace itself to get rid of Fragmentation problems and also speed up the mechanism of Memory (de)allocation to a process.
This is a pure coding based course and at every stage of the course, you need to write a code to implement the project.
Who this course is for:
- UG/PG Computer Science Students
- Working professionals
- Those Looking for job switch / Interview preparation
- Computer science and programming geeks