These projects are made for POSIX and implement the following:
-Listing directory contents.
-Identifying and parsing section files.
-Working with sections.
-Sections filtering.
-Create a Process Hierarchy.
-Synchronizing threads from the same process.
-Create a Threads Barrier.
-Synchronizing threads from different processes.
-Pipe Based Connection.
-Ping Request.
-Request to Create a SHM: Shared Memory Region.
-Write to Shared Memory Request.
-Memory-Map File Request.
-Read From File Offset Request.
-Read From File Section Request.
-Read From Logical Memory Space Offset Request.
- You can find each project's description(Chapter 1) and requirements(Chapter 2) in the .pdf file attached to it.
- You may take a quick look over the code written in the .c files.
In order to manually test any project you need to:
1) Download the .rar file and extract it;
2) Open a new terminal in that directory and write:
2.1)"gcc -Wall a1.c -o a1" for 1st.
2.2)"gcc -Wall a2.c a2_helper.c -o a2 -lpthread" for 2nd.
2.3)"gcc -Wall a3.c -o a3" for 3rd.
3) Run "python tester.py" to test it.
4) If you want more details while testing, open tester.py and change verbose to true before step3.
Each project was tested with a similar python file. Below I have attached the results of those passed tests.