- Student 1: Justin Morrison (101302852)
- Student 2: Random Hygaard (101273397)
All commits for this repo are under Justin's name, however, Random helped over Discord calls and during the lab, it was just easier to submit on 1 computer.
Run each part by executing the associated build script with a command line arguement for number of TA processes:
- For Part A run:
bash run_partA.sh <n>- For Part B run:
bash run_partB.sh <n>Where n is the number of processes that will be created.
Both parts use the same rubric.txt file located into the top directory. Might want to reset the file if running both back to back.
The report discusisng the design of the program can be found in the file reportPartC.pdf in this repo or submitted in Brightspace.
$ bash run_partB.sh 4
main: loaded exam 0 with student_num: 3189
TA 0 (pid=302677) created
TA 1 (pid=302678) created
TA 3 (pid=302680) created
TA 2 (pid=302679) created
TA 1: Reading Rubric Line (1, I) Sleeping for 0.5 seconds
TA 1: Updating Rubric
TA 3: Reading Rubric Line (1, J) Sleeping for 0.6 seconds
TA 0: Reading Rubric Line (1, J) Sleeping for 0.9 seconds
TA 0: Updating Rubric
TA 2: Reading Rubric Line (1, K) Sleeping for 0.9 seconds
TA 1: Reading Rubric Line (2, O) Sleeping for 0.5 seconds
TA 1: Updating Rubric
TA 0: Reading Rubric Line (2, P) Sleeping for 0.5 seconds
TA 3: Reading Rubric Line (2, P) Sleeping for 0.8 seconds
TA 3: Updating Rubric
TA 2: Reading Rubric Line (2, Q) Sleeping for 0.6 seconds
TA 2: Updating Rubric
TA 1: Reading Rubric Line (3, Z) Sleeping for 0.6 seconds
TA 0: Reading Rubric Line (3, Z) Sleeping for 0.6 seconds
TA 0: Updating Rubric
TA 2: Reading Rubric Line (3, A) Sleeping for 0.5 seconds
TA 3: Reading Rubric Line (3, A) Sleeping for 0.6 seconds
TA 1: Reading Rubric Line (4, B) Sleeping for 0.8 seconds
TA 1: Updating Rubric
TA 0: Reading Rubric Line (4, C) Sleeping for 0.6 seconds
TA 2: Reading Rubric Line (4, C) Sleeping for 0.8 seconds
TA 3: Reading Rubric Line (4, C) Sleeping for 0.9 seconds
TA 1: Reading Rubric Line (5, Y) Sleeping for 0.5 seconds
TA 1: Updating Rubric
TA 1: marking Q1 for student: 3189: (Sleeping for 1.5 seconds)
TA 2: Reading Rubric Line (5, Z) Sleeping for 0.5 seconds
TA 2: marking Q2 for student: 3189: (Sleeping for 1.1 seconds)
TA 0: Reading Rubric Line (5, Z) Sleeping for 0.9 seconds
TA 0: marking Q3 for student: 3189: (Sleeping for 1.2 seconds)
TA 3: Reading Rubric Line (5, Z) Sleeping for 0.9 seconds
TA 3: marking Q4 for student: 3189: (Sleeping for 1.1 seconds)
TA 2: marking Q5 for student: 3189: (Sleeping for 1 seconds)
TA 1: Reading Rubric Line (1, K) Sleeping for 0.8 seconds
TA 0: Reading Rubric Line (1, K) Sleeping for 0.6 seconds
TA 0: Updating Rubric
TA 2: loaded exam 1 with student_num: 8892
TA 3: Reading Rubric Line (1, L) Sleeping for 0.8 seconds
TA 0: Reading Rubric Line (2, R) Sleeping for 0.6 seconds
TA 0: Updating Rubric
TA 2: Reading Rubric Line (1, L) Sleeping for 0.7 seconds
TA 1: Reading Rubric Line (2, S) Sleeping for 0.9 seconds
TA 1: Updating Rubric
TA 3: Reading Rubric Line (2, T) Sleeping for 0.8 seconds
TA 0: Reading Rubric Line (3, A) Sleeping for 0.8 seconds
TA 1: Reading Rubric Line (3, A) Sleeping for 0.7 seconds
TA 2: Reading Rubric Line (2, T) Sleeping for 0.8 seconds
TA 3: Reading Rubric Line (3, A) Sleeping for 0.8 seconds
TA 1: Reading Rubric Line (4, C) Sleeping for 0.5 seconds
TA 0: Reading Rubric Line (4, C) Sleeping for 0.9 seconds
TA 2: Reading Rubric Line (3, A) Sleeping for 0.8 seconds
TA 3: Reading Rubric Line (4, C) Sleeping for 0.6 seconds
TA 3: Updating Rubric
TA 1: Reading Rubric Line (5, Z) Sleeping for 0.6 seconds
TA 1: Updating Rubric
TA 1: marking Q1 for student: 8892: (Sleeping for 1.5 seconds)
TA 0: Reading Rubric Line (5, A) Sleeping for 0.8 seconds
TA 0: marking Q2 for student: 8892: (Sleeping for 1.6 seconds)
TA 3: Reading Rubric Line (5, A) Sleeping for 0.6 seconds
TA 3: Updating Rubric
TA 3: marking Q3 for student: 8892: (Sleeping for 1.6 seconds)
TA 2: Reading Rubric Line (4, D) Sleeping for 0.9 seconds
TA 2: Updating Rubric
TA 2: Reading Rubric Line (5, B) Sleeping for 0.8 seconds
TA 2: marking Q4 for student: 8892: (Sleeping for 1.3 seconds)
TA 1: marking Q5 for student: 8892: (Sleeping for 1.7 seconds)
TA 0: Reading Rubric Line (1, L) Sleeping for 0.5 seconds
TA 0: Updating Rubric
TA 3: Reading Rubric Line (1, M) Sleeping for 0.5 seconds
TA 3: Reading Rubric Line (2, T) Sleeping for 0.5 seconds
TA 1: loaded exam 2 with student_num: 8550
TA 0: Reading Rubric Line (2, T) Sleeping for 0.8 seconds
TA 2: Reading Rubric Line (1, M) Sleeping for 0.9 seconds
TA 3: Reading Rubric Line (3, A) Sleeping for 0.5 seconds
TA 3: Updating Rubric
TA 1: Reading Rubric Line (1, M) Sleeping for 0.7 seconds
TA 1: Updating Rubric
TA 0: Reading Rubric Line (3, B) Sleeping for 0.6 seconds
TA 0: Updating Rubric
TA 1: Reading Rubric Line (2, T) Sleeping for 0.5 seconds
TA 2: Reading Rubric Line (2, T) Sleeping for 0.8 seconds
TA 0: Reading Rubric Line (4, E) Sleeping for 0.6 seconds
TA 3: Reading Rubric Line (4, E) Sleeping for 0.9 seconds
TA 2: Reading Rubric Line (3, C) Sleeping for 0.5 seconds
TA 1: Reading Rubric Line (3, C) Sleeping for 0.8 seconds
TA 1: Updating Rubric
TA 3: Reading Rubric Line (5, B) Sleeping for 0.8 seconds
TA 3: Updating Rubric
TA 3: marking Q1 for student: 8550: (Sleeping for 1 seconds)
TA 0: Reading Rubric Line (5, C) Sleeping for 0.9 seconds
TA 0: Updating Rubric
TA 0: marking Q2 for student: 8550: (Sleeping for 1.6 seconds)
TA 2: Reading Rubric Line (4, E) Sleeping for 0.9 seconds
TA 1: Reading Rubric Line (4, E) Sleeping for 0.7 seconds
TA 1: Updating Rubric
TA 3: marking Q3 for student: 8550: (Sleeping for 1.2 seconds)
TA 2: Reading Rubric Line (5, D) Sleeping for 0.8 seconds
TA 2: marking Q4 for student: 8550: (Sleeping for 1.2 seconds)
TA 1: Reading Rubric Line (5, D) Sleeping for 0.9 seconds
TA 1: marking Q5 for student: 8550: (Sleeping for 1.5 seconds)
TA 0: Reading Rubric Line (1, N) Sleeping for 0.7 seconds
TA 1: loaded exam 3 with student_num: 4676
TA 3: Reading Rubric Line (1, N) Sleeping for 0.8 seconds
TA 0: Reading Rubric Line (2, T) Sleeping for 0.7 seconds
TA 2: Reading Rubric Line (1, N) Sleeping for 0.9 seconds
TA 1: Reading Rubric Line (1, N) Sleeping for 0.7 seconds
TA 0: Reading Rubric Line (3, D) Sleeping for 0.8 seconds
TA 3: Reading Rubric Line (2, T) Sleeping for 0.9 seconds
TA 2: Reading Rubric Line (2, T) Sleeping for 0.9 seconds
TA 1: Reading Rubric Line (2, T) Sleeping for 0.7 seconds
TA 2: Reading Rubric Line (3, D) Sleeping for 0.5 seconds
TA 0: Reading Rubric Line (4, F) Sleeping for 0.9 seconds
TA 3: Reading Rubric Line (3, D) Sleeping for 0.9 seconds
TA 1: Reading Rubric Line (3, D) Sleeping for 0.8 seconds
TA 0: Reading Rubric Line (5, D) Sleeping for 0.7 seconds
TA 0: marking Q1 for student: 4676: (Sleeping for 1 seconds)
TA 3: Reading Rubric Line (4, F) Sleeping for 0.7 seconds
TA 2: Reading Rubric Line (4, F) Sleeping for 0.8 seconds
TA 2: Updating Rubric
TA 1: Reading Rubric Line (4, G) Sleeping for 0.8 seconds
TA 2: Reading Rubric Line (5, D) Sleeping for 0.5 seconds
TA 2: marking Q2 for student: 4676: (Sleeping for 1.9 seconds)
TA 3: Reading Rubric Line (5, D) Sleeping for 0.9 seconds
TA 3: Updating Rubric
TA 3: marking Q3 for student: 4676: (Sleeping for 1.8 seconds)
TA 0: marking Q4 for student: 4676: (Sleeping for 1.8 seconds)
TA 1: Reading Rubric Line (5, E) Sleeping for 0.7 seconds
TA 1: marking Q5 for student: 4676: (Sleeping for 1 seconds)
TA 1: Reading Rubric Line (1, N) Sleeping for 0.6 seconds
TA 0: loaded exam 4 with student_num: 2594
TA 2: Reading Rubric Line (1, N) Sleeping for 0.5 seconds
TA 2: Updating Rubric
TA 3: Reading Rubric Line (1, O) Sleeping for 0.6 seconds
TA 1: Reading Rubric Line (2, T) Sleeping for 0.7 seconds
TA 0: Reading Rubric Line (1, O) Sleeping for 0.9 seconds
TA 2: Reading Rubric Line (2, T) Sleeping for 0.7 seconds
TA 2: Updating Rubric
TA 3: Reading Rubric Line (2, U) Sleeping for 0.5 seconds
TA 1: Reading Rubric Line (3, D) Sleeping for 0.6 seconds
TA 0: Reading Rubric Line (2, U) Sleeping for 0.6 seconds
TA 0: Updating Rubric
TA 3: Reading Rubric Line (3, D) Sleeping for 0.5 seconds
TA 3: Updating Rubric
TA 2: Reading Rubric Line (3, E) Sleeping for 0.9 seconds
TA 2: Updating Rubric
TA 1: Reading Rubric Line (4, G) Sleeping for 0.9 seconds
TA 1: Updating Rubric
TA 0: Reading Rubric Line (3, F) Sleeping for 0.9 seconds
TA 0: Updating Rubric
TA 3: Reading Rubric Line (4, H) Sleeping for 0.9 seconds
TA 3: Updating Rubric
TA 2: Reading Rubric Line (4, I) Sleeping for 0.9 seconds
TA 1: Reading Rubric Line (5, E) Sleeping for 0.7 seconds
TA 1: marking Q1 for student: 2594: (Sleeping for 1.3 seconds)
TA 0: Reading Rubric Line (4, I) Sleeping for 0.6 seconds
TA 3: Reading Rubric Line (5, E) Sleeping for 0.8 seconds
TA 3: Updating Rubric
TA 3: marking Q2 for student: 2594: (Sleeping for 1.1 seconds)
TA 2: Reading Rubric Line (5, F) Sleeping for 0.6 seconds
TA 2: marking Q3 for student: 2594: (Sleeping for 1.4 seconds)
TA 0: Reading Rubric Line (5, F) Sleeping for 0.5 seconds
TA 0: marking Q4 for student: 2594: (Sleeping for 1.1 seconds)
TA 1: marking Q5 for student: 2594: (Sleeping for 1.9 seconds)
TA 2: Reading Rubric Line (1, O) Sleeping for 0.5 seconds
TA 3: Reading Rubric Line (1, O) Sleeping for 0.9 seconds
TA 0: Reading Rubric Line (1, O) Sleeping for 0.9 seconds
TA 2: Reading Rubric Line (2, V) Sleeping for 0.7 seconds
TA 1: loaded exam 5 with student_num: 8392
TA 3: Reading Rubric Line (2, V) Sleeping for 0.9 seconds
TA 0: Reading Rubric Line (2, V) Sleeping for 0.8 seconds
TA 2: Reading Rubric Line (3, G) Sleeping for 0.5 seconds
TA 2: Updating Rubric
TA 1: Reading Rubric Line (1, O) Sleeping for 0.6 seconds
TA 1: Updating Rubric
TA 0: Reading Rubric Line (3, H) Sleeping for 0.6 seconds
TA 3: Reading Rubric Line (3, H) Sleeping for 0.8 seconds
TA 3: Updating Rubric
TA 1: Reading Rubric Line (2, V) Sleeping for 0.6 seconds
TA 2: Reading Rubric Line (4, I) Sleeping for 0.9 seconds
TA 3: Reading Rubric Line (4, I) Sleeping for 0.5 seconds
TA 3: Updating Rubric
TA 0: Reading Rubric Line (4, J) Sleeping for 0.8 seconds
TA 2: Reading Rubric Line (5, F) Sleeping for 0.7 seconds
TA 2: marking Q1 for student: 8392: (Sleeping for 1.3 seconds)
TA 3: Reading Rubric Line (5, F) Sleeping for 0.6 seconds
TA 3: Updating Rubric
TA 3: marking Q2 for student: 8392: (Sleeping for 1.1 seconds)
TA 1: Reading Rubric Line (3, I) Sleeping for 0.8 seconds
TA 0: Reading Rubric Line (5, G) Sleeping for 0.6 seconds
TA 0: marking Q3 for student: 8392: (Sleeping for 1 seconds)
TA 1: Reading Rubric Line (4, J) Sleeping for 0.9 seconds
TA 3: marking Q4 for student: 8392: (Sleeping for 1.2 seconds)
TA 0: marking Q5 for student: 8392: (Sleeping for 1.6 seconds)
TA 1: Reading Rubric Line (5, G) Sleeping for 0.9 seconds
TA 2: Reading Rubric Line (1, P) Sleeping for 0.6 seconds
TA 2: Reading Rubric Line (2, V) Sleeping for 0.5 seconds
TA 2: Updating Rubric
TA 1: Reading Rubric Line (1, P) Sleeping for 0.7 seconds
TA 1: Updating Rubric
TA 3: Reading Rubric Line (1, Q) Sleeping for 0.6 seconds
TA 0: loaded exam 6 with student_num: 9999
TA 2: Reading Rubric Line (3, I) Sleeping for 0.7 seconds
TA 1: Reading Rubric Line (2, W) Sleeping for 0.9 seconds
TA 3: Reading Rubric Line (2, W) Sleeping for 0.8 seconds
TA 0: Reading Rubric Line (1, Q) Sleeping for 0.8 seconds
TA 2: Reading Rubric Line (4, J) Sleeping for 0.7 seconds
TA 1: Reading Rubric Line (3, I) Sleeping for 0.7 seconds
TA 3: Reading Rubric Line (3, I) Sleeping for 0.5 seconds
TA 0: Reading Rubric Line (2, W) Sleeping for 0.7 seconds
TA 2: Reading Rubric Line (5, G) Sleeping for 0.9 seconds
TA 2 Found id=9999. Exiting
End program since one child finished.
Deleting leftover child processes
Killing process with pid 302677
Killing process with pid 302678
Killing process with pid 302680
Detaching shared memory
Removing shared memory
Removing semaphores
Cleanup Done