Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA CompTIA Security+ Amazon AWS AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Marketing Strategy Google Ads (AdWords) Certification Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Online Business Business Strategy Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
IT & Software Operating Systems C

Operating System Project - Develop Heap Memory Manager in C

Operating System UG/PG Seminar Projects in C on Windows/Linux Platforms, Memory Management, System Programming, Linux.
Highest Rated
Rating: 4.6 out of 54.6 (32 ratings)
466 students
Created by Abhishek CSEPracticals, Shiwani Nigam, Ekta Ekta
Last updated 12/2020
English
English [Auto]
30-Day Money-Back Guarantee

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

Course content

15 sections • 84 lectures • 7h 22m total length

  • Preview06:53
  • Preview01:58
  • Preview01:42
  • Assignment - Create your Github Repository
    1 question
  • Preview01:22
  • Preview01:41

  • System Calls for VM Page Allocation
    05:23
  • mmap() System Call
    05:39
  • API Signatures for Allocation and DeAllocation
    02:43
  • API Implementation
    09:59
  • Preview06:36

  • What is Page Family & its Registration
    03:56
  • Page Family Data Structures
    07:09
  • Defining Data structures for Page Families Management
    03:56
  • Page Family Instantiation
    02:10
  • Page Family Instantiation Algorithm
    04:35
  • Looping Macro - Iterate over Page Families within a Page
    05:08
  • Page Family Instantiation Algorithm Implementation - step by Step
    10:47
  • Application Integration
    07:13
  • Mandatory Assignment - Write APIs
    2 questions

  • Meta and Data Blocks
    07:58
  • MetaBlock DataStructure
    07:49
  • Assignment - MetaBlock Macros
    03:10
  • Mandatory Assignment - Write Code to Manipulate Metablocks
    5 questions
  • Project Code Update
    01:51

  • Block Splitting
    07:22
  • Pointer Adjustment on Block Splitting
    06:01
  • Assignment on Block Splitting
    6 questions
  • Block Merging
    05:09
  • Updating Metablocks in Block Merging
    04:55
  • API to perform Block Merge
    06:20
  • Project Code Update
    01:08

  • VM Page Management
    03:29
  • Data Structures for Page Mgmt
    10:38
  • Writing APIs for Page Mgmt - Part1
    09:00
  • Writing APIs for Page Mgmt - Part2
    04:08
  • VM Page Insertion
    04:26
  • VM Page Deletion
    02:38

  • Problem Statement
    08:19
  • Priority Queue of Free Data Blocks
    05:59
  • Introducing Glthreads
    04:18
  • Glthreads Integration
    02:39
  • Data Structure Enhancements For Managing Free Data Blocks
    05:57
  • Priority Queue : Data Block Insertion
    06:05
  • Priority Queue : Other Operations
    03:12
  • Assignment - Other Minor Code changes on Free Data Block Management
    2 questions

  • Final Push - Goals of this Section
    01:25
  • Xmalloc Algorithm Discussion
    07:25
  • Xmalloc Implementation
    05:00
  • Supporting API - mm_allocate_free_data_block
    08:28
  • Theory - Supporting API - mm_split_free_data_block_for_allocation
    07:13
  • Handling Internal Fragmentation
    06:23
  • Preview13:46

  • Getting Started with Testing
    01:22
  • Explanation output API 1
    08:39
  • Explanation output API 2
    04:50
  • Optional - CLI Integration
    03:50

  • Goals of this Section
    03:23
  • Preview04:16
  • Calculating Hard IF Memory size
    03:41
  • Handling Hard IF Memory in block Merging
    08:36
  • xfree Implementation - part1
    08:48
  • xfree Implementation - part2
    06:13
  • Preview06:04

Instructors

Abhishek CSEPracticals
I build Networks !
Abhishek CSEPracticals
  • 4.4 Instructor Rating
  • 1,688 Reviews
  • 15,146 Students
  • 14 Courses

I have been engaged with coding and software for more than 8 years. 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. You’ll complete assignments and work on a project where you’ll use all the theory provided by me. I make sure you build a proper understanding and that you’ll get all the questions explained. Let me take the privilege to guide you and bring useful additions to your resume!

Shiwani Nigam
Digital Marketing Executive
Shiwani Nigam
  • 4.4 Instructor Rating
  • 1,688 Reviews
  • 16,426 Students
  • 14 Courses

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.

Ekta Ekta
Facilities Manager
Ekta Ekta
  • 4.4 Instructor Rating
  • 1,688 Reviews
  • 15,146 Students
  • 14 Courses

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.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.