diff --git a/08-GarbageCollector/README.md b/08-GarbageCollector/README.md new file mode 100644 index 0000000..7c6d03f --- /dev/null +++ b/08-GarbageCollector/README.md @@ -0,0 +1,30 @@ +# Final Project Lab - A Garbage Collecctor in C +For your final project you will work in teams of 1-3 students. + +Your goal is to develop a library that when inccluded in a program periodically run and cleans up any heap memory that is no longer neeeded or referenced. + +To do so you will need to replace the malloc and free functions in stdio.h such that a in a containing program we only ever call gc_malloc, and never need to call free. + +See the image below to see where your library lives + +# Requirements +1. You will create the garbage collecting library and show it is working via valgrind +2. You will create a 5-10 min presentation explaining your method, the pro's and con's and any errors +3. You will record said presentation, upload it to youtube, and submit the link +4. You will be present during the final period of our class and answer any questions about your method + +# Q&A +1. Can I use internet resources and code for inspiration for my GC? +- Yes +2. Can I copy another library verbatim and say this is my method? +- No +3. Does my garbage collector need to run in parrallel (via threading)? +- No, you can asssume the containing c program will periodically call a clean up function +4. Can I work alone if I want? +- Yes + +# Descriptive Images +Images are from the Udemy course [System C Project - Write a Garbage Collector from Scratch](https://www.udemy.com/course/memory-leak-detector/) +![Normal MM](/assets/normal.png) +![GC MM](/assets/gc.png) + diff --git a/08-GarbageCollector/assets/gc.png b/08-GarbageCollector/assets/gc.png new file mode 100644 index 0000000..5eebde1 Binary files /dev/null and b/08-GarbageCollector/assets/gc.png differ diff --git a/08-GarbageCollector/assets/normal.png b/08-GarbageCollector/assets/normal.png new file mode 100644 index 0000000..1712a40 Binary files /dev/null and b/08-GarbageCollector/assets/normal.png differ diff --git a/Examples/concurrency/con1 b/Examples/concurrency/con1 deleted file mode 100755 index f3d5f4a..0000000 Binary files a/Examples/concurrency/con1 and /dev/null differ diff --git a/Examples/concurrency/con2 b/Examples/concurrency/con2 deleted file mode 100755 index 2297e1f..0000000 Binary files a/Examples/concurrency/con2 and /dev/null differ diff --git a/Examples/concurrency/con3 b/Examples/concurrency/con3 deleted file mode 100755 index 8f67eae..0000000 Binary files a/Examples/concurrency/con3 and /dev/null differ diff --git a/Examples/concurrency/con4 b/Examples/concurrency/con4 deleted file mode 100755 index 6f04bbd..0000000 Binary files a/Examples/concurrency/con4 and /dev/null differ diff --git a/Examples/concurrency/con_dekkers b/Examples/concurrency/con_dekkers deleted file mode 100755 index 8bc3568..0000000 Binary files a/Examples/concurrency/con_dekkers and /dev/null differ diff --git a/Examples/concurrency/mutex1 b/Examples/concurrency/mutex1 deleted file mode 100755 index 91afc55..0000000 Binary files a/Examples/concurrency/mutex1 and /dev/null differ diff --git a/Examples/concurrency/mutex2 b/Examples/concurrency/mutex2 deleted file mode 100755 index c7de12d..0000000 Binary files a/Examples/concurrency/mutex2 and /dev/null differ diff --git a/Examples/concurrency/mutex3 b/Examples/concurrency/mutex3 deleted file mode 100755 index 0679084..0000000 Binary files a/Examples/concurrency/mutex3 and /dev/null differ diff --git a/Examples/concurrency/prod_cons1 b/Examples/concurrency/prod_cons1 deleted file mode 100755 index db15cb4..0000000 Binary files a/Examples/concurrency/prod_cons1 and /dev/null differ diff --git a/Examples/concurrency/prod_cons2 b/Examples/concurrency/prod_cons2 deleted file mode 100755 index 5ed5492..0000000 Binary files a/Examples/concurrency/prod_cons2 and /dev/null differ diff --git a/Examples/concurrency/race b/Examples/concurrency/race deleted file mode 100755 index 80364aa..0000000 Binary files a/Examples/concurrency/race and /dev/null differ diff --git a/Examples/concurrency/sem1 b/Examples/concurrency/sem1 deleted file mode 100755 index 3da22f7..0000000 Binary files a/Examples/concurrency/sem1 and /dev/null differ diff --git a/Examples/concurrency/sem2 b/Examples/concurrency/sem2 deleted file mode 100755 index 16d9b99..0000000 Binary files a/Examples/concurrency/sem2 and /dev/null differ diff --git a/Examples/concurrency/sem_list1 b/Examples/concurrency/sem_list1 deleted file mode 100755 index f1f353d..0000000 Binary files a/Examples/concurrency/sem_list1 and /dev/null differ diff --git a/Examples/ipc/MYFILE b/Examples/ipc/MYFILE deleted file mode 100644 index d9605cb..0000000 --- a/Examples/ipc/MYFILE +++ /dev/null @@ -1 +0,0 @@ -HELLO \ No newline at end of file diff --git a/Examples/pthreads/pthreads1 b/Examples/pthreads/pthreads1 deleted file mode 100755 index 1628871..0000000 Binary files a/Examples/pthreads/pthreads1 and /dev/null differ diff --git a/Examples/pthreads/pthreads2 b/Examples/pthreads/pthreads2 deleted file mode 100755 index b99dc95..0000000 Binary files a/Examples/pthreads/pthreads2 and /dev/null differ diff --git a/Examples/pthreads/pthreads3 b/Examples/pthreads/pthreads3 deleted file mode 100755 index ea7c1e0..0000000 Binary files a/Examples/pthreads/pthreads3 and /dev/null differ diff --git a/Examples/pthreads/pthreads4 b/Examples/pthreads/pthreads4 deleted file mode 100755 index 88288f4..0000000 Binary files a/Examples/pthreads/pthreads4 and /dev/null differ diff --git a/Examples/pthreads/pthreads5 b/Examples/pthreads/pthreads5 deleted file mode 100755 index f888d68..0000000 Binary files a/Examples/pthreads/pthreads5 and /dev/null differ diff --git a/Examples/pthreads/pthreads6 b/Examples/pthreads/pthreads6 deleted file mode 100755 index 7a85c74..0000000 Binary files a/Examples/pthreads/pthreads6 and /dev/null differ diff --git a/Examples/pthreads/pthreads_race b/Examples/pthreads/pthreads_race deleted file mode 100755 index fc5c6e1..0000000 Binary files a/Examples/pthreads/pthreads_race and /dev/null differ diff --git a/Examples/pthreads/pthreads_race_atomic b/Examples/pthreads/pthreads_race_atomic deleted file mode 100755 index 0fe95ca..0000000 Binary files a/Examples/pthreads/pthreads_race_atomic and /dev/null differ