2021λ 3νλ 1νκΈ°μ νμλνκ΅ ERICAμμ μκ°ν μ΄μ체μ λ‘ (COM2005) κ³Όλͺ©μ νλ‘μ νΈ κ³Όμ λ₯Ό μ 리ν μ μ₯μμ λλ€.
νκΈ°λμ μ΄ 4κ°μ νλ‘μ νΈλ₯Ό μ§ννμκ³ , κ° νλ‘μ νΈλ³λ‘ μλμ κ°μ ꡬ쑰λ₯Ό κ°μ§κ³ μμ΅λλ€.
project
βββ README.md # νλ‘μ νΈ μκ°
βββ img # λ¬Έμ μμ±μ νμν μ΄λ―Έμ§
βΒ Β βββ *.png
βββ requirement.md # νλ‘μ νΈ μꡬμ¬ν
βββ report.md # νλ‘μ νΈ μ 리 λ° λλμ
βββ src
βββ Makefile # μ»΄νμΌμ μν Makefile
βββ execute_file # μ€ν νμΌ
βββ project_file.c # μλ³Έ νλ‘μ νΈ μμ€μ½λ
첫λ²μ§Έ νλ‘μ νΈλ‘ μ§νν Simple UNIX Shell ꡬν νλ‘μ νΈμ λλ€.
μμ κΈ°λ³Έμ μΈ κΈ°λ₯μΈ λͺ λ Ήμ΄ μ€ν, 리λ€μ΄λ ν , νμ΄νλ₯Ό νμ©ν μ μΆλ ₯ μ ν λ±μ κΈ°λ₯μ ꡬνν κ°λ¨ν μμ ꡬννλ νλ‘μ νΈμ λλ€.
λλ²μ§Έ νλ‘μ νΈλ‘ μ§νν Sudoku Solution Validator ꡬν νλ‘μ νΈ μ λλ€.
μ¬λ¬ μ€λ λλ₯Ό μ¬μ©νμ¬ λμμ μ½κΈ°μ μ°κΈ°κ° μ§νλλ κ²½μ°λ₯Ό ν μ€νΈνμ¬ μ€λ λ μ¬μ© μ μ£Όμμ¬νμ νμ΅νλ νλ‘μ νΈμ λλ€.
μΈλ²μ§Έ νλ‘μ νΈλ‘ μ§νν Reader Writer Problem ꡬν νλ‘μ νΈ μ λλ€.
μ¬λ¬ μ μ κ° μνꡬμ(Critical Section)μ μ κ·Όνλ λ¬Έμ μ μ μ€λͺ νλ λνμ μΈ μμμΈ λ μ-μ μ λ¬Έμ (Reader-Writer Problem)λ₯Ό ν΄κ²°νλ μ¬λ¬ λ°©λ²μ ꡬννλ νλ‘μ νΈμ λλ€.
λ€λ²μ§Έ νλ‘μ νΈλ‘ μ§νν Thread Pool ꡬν νλ‘μ νΈμ λλ€.
ν(Queue)μ Taskλ€μ μ μ₯νκ³ , μ€λ λνλ‘ μ¬μ©νλ 3κ°μ Worker μ€λ λκ° νμ μ κ·Όνμ¬ Taskλ₯Ό κ°μ Έμμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ ꡬννμ¬ μ€λ λνμ νμ΅νλ νλ‘μ νΈμ λλ€.