Skip to content

Justin-Morrison-github/SYSC4001_A3_P2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SYSC 4001 Assignment 3 Part 2: Concurrent Processes

  • Student 1: Justin Morrison (101302852)
  • Student 2: Random Hygaard (101273397)

IMPORTANT

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.

How to run

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.

NOTE:

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.

Report

The report discusisng the design of the program can be found in the file reportPartC.pdf in this repo or submitted in Brightspace.

Example terminal output of running Part B with 4 TA processes

$ 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

About

SYSC 4001 Assignment 3 Part 2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published