System C Project - Write a Garbage Collector from Scratch
What you'll learn
- Developing a C/C++ Library
- Integrating a Library with Application
- How to implement Memory Leak Detector tool
- How to track the Objects malloc'd by the application
Requirements
- Good knowledge of C programming knowledge, and Pointers
- Elementary knowledge of OS Memory Management
Description
I was asked this question in Amazon/Google Interviews :
1. How would you design a garbage collector for C programs?
2. If designing a garbage collector was that easy, why we don’t have it integrate with C programming language already ??
Complete this course to get the answers. :p
This course is a Project-based course and involved coding in C at every stage of the course.
Mention this project on your Resume with all proud.
This is a C Project (open for extension for C++) in which you will learn and write a library that catches the memory leaks, if any, by the application. In this project, I have explained step by step how to design and implement a garbage collector library called MLD (Memory Leak Detector) which when integrated to your application will provide the facility to catch leaked objects and report them. MLD library will be the generic library and has the ability to parse any application's data structures and manipulate them.
The Project is explained in 3 phases.
Note: This is a course that require a little bit of analysis power, beginner students can also learn much from this course that how you can create a program which can parse its own objects and structures. This technique is used to create many other projects out of which one is Memory leak detection.
Advice: Class of Students who needs "spoon-feeding", pls refrain from enrolling in project-based courses.
Key highlights :
Since the advent of C/C++ Programming language, Memory management is one of the responsibilities which the developer has to deal with
C/C++ Softwares often suffers from Two Memory related Problems :
Memory corruption
Memory leak
Unlike Java, C/C++ does not have the luxury for automatic garbage collection
Java does not allow programmer to access the physical memory directly, but C/C++ does, not does java expose pointers directly to the developer/coder. Therefore Java applications do not suffer from Memory corruption either, but C/C++ does
In this course, we will design and implement Memory Leak Detector (MLD) tool for C programs, easily extensible to C++ as well
Some Students have requested to provide a formal description of this project. For Students who want to mention this project in their resume, or doing this project as their OS project - you can mention the following title and abstract of this project as below :
Title: "Design and Implementation of Java-like Garbage Collector for C Programs".
In this project, we try to implement a garbage collector for C programs which work on the principle of reachability of objects to detect memory leaks. Through this project, we understand the limitation of such a garbage collector for C like programming languages (which have direct access to underlying memory addresses, unlike Java/python) and analyze its limitations and cost for being an inbuilt feature of C-like language.
Who this course is for:
- College Grads, Programmers
- Working Professional
- System Programmers
- Those looking for real world interesting C/C++ projects
Instructors
I have been engaged with coding and software for a decade now. I am a Networking developer at MNC. My rich working experience is backed by graduation from IIT Bombay as an MTech specialist. I am restless for more in-depth knowledge, and always working out the ways to integrate what I know in practical ways. I am always happy to train and encourage people on Udemy – the next-gen education platform.
I will help you to strengthen the networking concepts and fundamentals in a very practical way. I also hones in System Software Development, Linux System Programming and Network Software Development. I love to create courses on unique non-standard topics, and projects. Check my catalogue, you will find couple of project based courses which you can add to your resume.
You’ll complete assignments and work on a project where you’ll use all the theory. I make sure you build a proper understanding and that you’ll get all the questions and doubts answered. Let me take the privilege to guide you and bring useful additions to your resume !
Hi, Myself Shivani Nigam, PhD in Marketing. I expertise in researching the consumer behavior in the context of purchasing the products online. I take the responsibility of marketing the online content (Udemy courses) on this platform.
I also ensure the courses are delivered with perfect Audio/Video Quality by technical Instructors, and ensures that students queries and doubts are addressed by technical instructors with priority.
Hi, I am Ekta, a facility Manager for Csepracticals. I am responsible for the maintenance and upkeep of an organization’s infrastructure, ensuring that they meet legal requirements and health and safety standards.
I ensure that the facility is operating as it should on a daily basis by completing daily inspections and conducting proactive and reactive maintenance.