๐ค TIL ์์ฑ ๋ฐฉ์ ๐ค ๊ฐ๋จํ๊ฒ ์์ฝํ์ฌ ์ ๋ฆฌํ์
๐ค TIL ๋ด์ฉ ์ ํ ๐ค ๊ฐ๋ฐ ๊ณต๋ถ + ์๊ธฐ ๊ณ๋ฐ + ๊ทธ ์ธ ๋ค๋ฅธ ํ๋๋ ํฌํจํ์
๐ค ์ด๋ ๊ฒ ๋งค์ผ ๊ณต๋ถํ ๋ด์ฉ์ด ์์ด๋ฉด ํํธ๋ณ๋ก ์ ๋ฆฌํ์
๐ค ํํธ๋ณ๋ก ์ ๋ฆฌ๋ ์์ธํ ๋ชจ๋ ๋ด์ฉ์ ๐๋งํฌ๋ก ๊ฐ๋ณด์(์๋ค๋ฉด ํ๊ทธ ํ์ธ)
ํ์๋ ํ์ ์ ๋
ธ์
์ผ๋ก ๋ชจ๋ ๊ฑธ ์ ๋ฆฌํ๊ณ ๊ธฐ๋กํ๋ฉฐ ์ฃผ๊ฐ ์ผ๊ฐ Planner๋ ์์ฑ ์ค์ด๋ค.
ํด๋น TIL๋ ๋
ธ์
์ ๊ธฐ๋กํด๋ ๋ด์ฉ๋ค์ ํ๋ฃจ ์ผ๊ณผ๋ฅผ ๋ณต๊ธฐํ ๊ฒธ velog์ ๊ฐ๋จํ๊ฒ ์ฎ๊ธด ๊ธฐ๋ก๋ฌผ์ด๋ค.
@2023/01/02 ~ @2023/01/08
๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ
5๋จ๊ณ ํจ์
6๋จ๊ณ ๋ฌธ์์ด
KOCW ์ด์์ฒด์ - ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์
OT
CPU ์ค์ผ์ค๋ง
๋์คํฌ ์ค์ผ์ค๋ง
์ ์ฅ์ฅ์น ๊ณ์ธต ๊ตฌ์กฐ/์บ์ฑ/ํ๋์๋ฉ๋ชจ๋ฆฌ/์ด์์ฒด์ ์ ์ข
๋ฅ
์ด์์ฒด์ ๋ฐฐ๊ฒฝ
์ด์์ฒด์ ๊ฐ๋
, ๋ชฉ์ , ๋ถ๋ฅ
์ด์์ฒด์ ์ฉ์ด์ ์์
์ด์์ฒด์ ๊ตฌ์กฐ
์ปดํจํฐ ์์คํ ๊ตฌ์กฐ
@2023/01/09 ~ @2023/01/15
KOCW ์ด์์ฒด์ - ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์
์ธํฐ๋ฝํธ, ์์คํ
์ฝ, Device Controller
๋๊ธฐ์ ์
์ถ๋ ฅ, ๋น๋๊ธฐ์ ์
์ถ๋ ฅ
DMA
์๋ก ๋ค๋ฅธ ์
์ถ๋ ฅ ๊ธฐ๊ณ์ด, ์ ์ฅ์ฅ์น ๊ณ์ธต ๊ตฌ์กฐ
stack data code, ํจ์ 3๊ฐ์ง, ํ๋ก๊ทธ๋จ ์คํ
Process ๊ฐ๋
, ์ํ, PCB
๋ฌธ๋งฅ๊ตํ, ํ๋ก์ธ์ค ์ค์ผ์ค๋ง ํ
์ค์ผ์ค๋ฌ, ํ๋ก์ธ์ค ์ํ Suspened
ํ๋ก์ธ์ค ์ํ Swap, Runing(user, monitor mode)
๋ ๋ ๊ฐ๋
, ์ฅ์ , ๊ตฌํ ๋ฐฉ์
ํ๋ก์ธ์ค ์์ฑ๊ณผ ์ข ๋ฃ, fork() exec() ์์คํ ์ฝ
wait() exit() ์์คํ
์ฝ
ํ๋ก์ธ์ค๊ฐ ํ๋ ฅ, ๋ฉ์ปค๋์ฆ IPC ๋ฐฉ๋ฒ 2๊ฐ์ง-message passing, shared memory
thread
CPU ์ค์ผ์ค๋ง์ด ํ์ํ ์ด์ , CPU Bound job, IO Bound job
CPU ์ค์ผ์ค๋ฌ, ๋์คํจ์ฒ, ์ํ๋ณํ, ์ค์ผ์ค๋ง ๋ฐฉ์ 2๊ฐ์ง-nonpreemptive, preemptive
CPU ์ค์ผ์ค๋ง ์ฑ๋ฅ ์ฒ๋
@2023/01/16 ~ @2023/01/22
@2023/01/23 ~ @2023/01/29
๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ
7๋จ๊ณ ๊ธฐ๋ณธ ์ํ1
8๋จ๊ณ ๊ธฐ๋ณธ ์ํ2
KOCW ์ด์์ฒด์ - ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์
์ด์์ฒด์ ๋์ ์ ๊ทผ ๋ฌธ์ Race Condition
๊ณต์ ๋ฐ์ดํฐ ๋์ ์ ๊ทผ ๋ฌธ์ (๋๊ธฐํ ๋ฌธ์ ) Process Synchronization
ํ๋ก๊ทธ๋จ์ ํด๊ฒฐ๋ฒ ์ถฉ์กฑ ์กฐ๊ฑด
critical section algorithm ๋ฌธ์
critical section algorithm ์ค, ๋ฌธ์ ์๋ Peterson's Algorithm
Synchronization Hardware ๋ก ๋ฌธ์ ํด๊ฒฐ
Semaphores๋ก ํ๋ก๊ทธ๋๋ฐ์ ์ธ ๋๊ตฌ๋ก์จ ๋ฌธ์ ํด๊ฒฐ
+๊ฑฐ์ ๋ฐ๋
๋ง์ ๋ธ๋ก๊ทธ์๋ค๊ฐ TIL๋ฅผ ์ฐ๋ ์ด์
ํ๋ก์ ํธ๋ ์ด๋์ด๋ ์ฝํ
์ค๋น๋ ๋ญ๋ํ๋ฉฐ ๋ฐ์๋ค๋ ํ๊ณ๋ค๊ณผ ๋
ธ์
์ ๊ธฐ๋กํด๋๋๊น ๊ด์ฐฎ์ํ๋ฉฐ ํฉ๋ฆฌํํ๋ ์ง๋ ๋๋ ์ ๋ฐ์ฑํ๋ฉฐ.. ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํ๋ ์ต๊ด์ ๋ค์ ๋ค์ก์ผ๋ คํ๋ค. ์ํ๋๊น ๊ณ์ ์๊ฐ๋๊ณ ๋ง์๋ง ๋ถํธํด์ ๋์ ํ ์ํ๊ณค ๋ชป๋ฒ ๊ธฐ๊ฒ ๋ค!!!