๋๊ธฐํ ๊ธฐ๋ฒ ์ค ๋ฎคํ
์ค ๋ฝ, ์ธ๋งํฌ, ๋ชจ๋ํฐ์ ๋ํ์ฌ ์์๋ด
๋๋ค. 1. ๋ฎคํ
์ค ๋ฝ ์ํธ ๋ฐฐ์ ๋ฅผ ์ํ ๋๊ธฐํ ๋๊ตฌ(์๋ฌผ์ ์ญํ ), ๋ฎคํ
์ค ๋ฝ ๋ฎคํ
์ค ๋ฝ์ ๋จ์ํ ํํ: ์ ์ญ ๋ณ์ ํ๋, ํจ์ ๋ ๊ฐ ์๋ฌผ์ ์ญํ : ํ๋ก์ธ์ค๋ค์ด ๊ณต์ ํ๋ ์ ์ญ ๋ณ์ lock ์๊ณ ๊ตฌ์ญ์ ์ ๊ทธ๋ ์ญํ : acquire ํจ์ ์๊ณ ๊ตฌ์ญ์ ์ ๊ธ์ ํด์ ํ๋ ์ญํ : release ํจ์ acquire ํจ์ ํ๋ก์ธ์ค๊ฐ ์๊ณ ๊ตฌ์ญ์ ์ง์
ํ๊ธฐ ์ ์ ํธ์ถ ์๊ณ ๊ตฌ์ญ์ด ์ ๊ฒจ ์๋ค๋ฉด >> ์๊ณ ๊ตฌ์ญ์ด ์ด๋ฆด ๋๊น์ง(lock์ด false๊ฐ ๋ ๋๊น์ง) ์๊ณ ๊ตฌ์ญ์ ๋ฐ๋ณต์ ์ผ๋ก ํ์ธ ์๊ณ ๊ตฌ์ญ์ด ์ด๋ ค ์๋ค๋ฉด >> ์๊ณ ๊ตฌ์ญ์ ์ ๊ทธ๊ธฐ(lock์ true๋ก ๋ฐ๊พธ๊ธฐ) release ํจ์ ์๊ณ ๊ตฌ์ญ์์์ ์์
์ด ๋๋๊ณ ํธ์ถ ํ์ฌ ์ ๊ธด ์๊ณ ๊ตฌ์ญ์ ์ด๊ธฐ(lock์ ..
๋์๋ค๋ฐ์ ์ผ๋ก ์คํ๋๋ ํ๋ก์ธ์ค๋ค์ ์๋ก ํ๋ ฅํ๋ฉฐ ์ํฅ์ ์ฃผ๊ณ ๋ฐ๋๋ค ์ด ๊ณผ์ ์์ ์์์ ์ผ๊ด์ฑ์ ๋ณด์ฅํด์ผ ํ๋ค. → ํ๋ก์ธ์ค๋ค์ ๋๊ธฐํ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค 1. ํ๋ก์ธ์ค ๋๊ธฐํ์ ์๋ฏธ ํ๋ก์ธ์ค๋ค์ ์ํ ์๊ธฐ๋ฅผ ๋ง์ถ๋ ๊ฒ ํฌ๊ฒ ๋๊ฐ์ง๋ฅผ ์๋ฏธํจ ์คํ ์์ ์ ์ด๋ฅผ ์ํ ๋๊ธฐํ: ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ์คํํ๊ธฐ ์ํธ ๋ฐฐ์ ๋ฅผ ์ํ ๋๊ธฐํ: ๋์์ ์ ๊ทผํด์๋ ์๋๋ ์์์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ ๊ทผํ๊ฒ ํ๊ธฐ (์คํ์ ๋ฌธ๋งฅ์ ๊ฐ๋ ๋ชจ๋ ๋์์ ๋๊ธฐํ ๋์์ด๊ธฐ์ ์ค๋ ๋๋ ๋๊ธฐํ ๋์์
๋๋ค) ๊ณต๋์ ๋ชฉ์ ์ ์ํด ๋์์ ์ํ๋๋ ํ๋ก์ธ์ค ex) ์๋ ํ๋ก์ธ์ ํ๋ก๊ทธ๋จ ๋ง์ถค๋ฒ ๊ฒ์ฌ ํ๋ก์ธ์ค ์
๋ ฅ ๋ด์ฉ์ ํ๋ฉด์ ์ถ๋ ฅํ๋ ํ๋ก์ธ์ค Q. ์ด๋ฐ ํ๋ก์ธ์ค๋ค์ด ์๋ฌด๋ ๊ฒ๋ ๋ง๊ตฌ ์คํ๋๋ ๊ด์ฐฎ์๊น? A. No. ์ฌ๋ฐ๋ฅธ ์ํ์ ์ํด ํ๋ก์ธ์ค..
0. CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ข
๋ฅ ์ ์
์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง ์ต๋จ ์์
์ฐ์ ์ค์ผ์ค๋ง ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง ์ต์ ์์ฌ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง ์ฐ์ ์์ ์ค์ผ์ค๋ง ๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง 1. ์ ์
์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง = FCFS(First Come First Served) ์ค์ผ์ค๋ง ๋จ์ํ ์ค๋น ํ์ ์ฝ์
๋ ์์๋๋ก ์ฒ๋ฆฌํ๋ ๋น์ ์ ์ค์ผ์ค๋ง ๋จผ์ CPU๋ฅผ ์์ฒญํ ํ๋ก์ธ์ค๋ถํฐ CPU ํ ๋น ๋จ์ : ํ๋ก์ธ์ค๋ค์ด ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ง ์ ์๋ค๋ ๋ถ์์ฉ(=ํธ์ ํจ๊ณผ) ์คํ์๊ฐ์ด(17, 5, 2ms)์ธ ํ๋ก์ธ์ค๋ค์ด ํ์ ๋ค์ด์์ ๋ 2. ์ต๋จ ์์
์ฐ์ ์ค์ผ์ค๋ง = SJF (Short Job First) ์ค์ผ์ค๋ง ํธ์ํจ๊ณผ๋ฅผ ๋ฐฉ์งํจ CPU ์ฌ์ฉ์ด ๊ธด ํ๋ก์ธ์ค๋ ๋์ค์ ์คํ, CPU ์ฌ์ฉ ๊ธฐ๊ฐ์ด ์งง์ ํ..
CPU ์ค์ผ์ค๋ง ์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค๋ค์๊ฒ ๊ณต์ ํ๊ณ ํฉ๋ฆฌ์ ์ผ๋ก CPU ์์์ ๋ฐฐ๋ถํ๋ ๊ฒ ํ๋ก์ธ์ค ์ฐ์ ์์ ๊ฐ์ฅ ๊ณต์ ํ CPU ์ค์ผ์ค๋ง์ ์ด๋ป๊ฒ ํ๋ ๊ฑธ๊น? CPU๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ดํ๋ ํ๋ก์ธ์ค๋ค์ด ์ฐจ๋ก๋ก ๋์๊ฐ๋ฉฐ? NO. ๋นจ๋ฆฌ ์ฒ๋ฆฌํด์ผํ๋ ํ๋ก์ธ์ค๊ฐ ์๊ธฐ ๋๋ฌธ(= ํ๋ก์ธ์ค๋ง๋ค ์ฐ์ ์์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ) ์์๋ก ์
์ถ๋ ฅ ์์
์ด ๋ง์ ํ๋ก์ธ์ค(=์
์ถ๋ ฅ ์ง์ค ํ๋ก์ธ์ค)์ ์ฐ์ ์์๋ CPU์์
์ด ๋ง์ ํ๋ก์ธ์ค(=CPU ์ง์ค ํ๋ก์ธ์ค)์ ์ฐ์ ์์๋ณด๋ค ๋๋ค ์ฐ์ ์์๋ ํ๋ก์ธ์ค์ PCB์ ์ ์ฅ๋จ ์ค์ผ์ค๋ง ํ ๋ชจ๋ ํ๋ก์ธ์ค์ PCB๋ฅผ ๋ค์ ๊ฑฐ๋ ค ํ๋ก์ธ์ค์ ์์๋ฅผ ์ ํ๋ ๊ฒ ๋นํจ์จ์ ์ → ๋ฐ๋ผ์ ์ค์ผ์ค๋ง ํ๋ฅผ ์ด์ฉ ์์์ด์ฉํ๊ณ ์ถ์ ํ๋ก์ธ์ค๋ค์ ํ์ ์ฝ์
(์ค์ ์๊ฒ ํจ) ์ค์ผ์ค๋ง์์์ ํ๋ ๋ฐ๋์ ์ ์
์ ์ถ ๋ฐฉ์์ผ ํ์๋ ์์ ..
์ค๋ ๋ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ๋ ์คํ ํ๋ฆ์ ๋จ์ ํ๋์ ํ๋ก์ธ์ค๋ ํ๋ ์ด์์ ์ค๋ ๋๋ฅผ ๊ฐ์ง ์ ์๋ค ์ค๋ ๋ ์ข
๋ฅ ๋จ์ผ ์ค๋ ๋ ํ๋ก์ธ์ค ์คํ ํ๋ฆ์ด ํ๋์ธ ํ๋ก์ธ์ค ๋ฉํฐ ์ค๋ ๋ ํ๋ก์ธ์ค ์คํ ํ๋ฆ์ด ์ฌ๋ฌ ๊ฐ์ธ ํ๋ก์ธ์ค → ํ๋ก์ธ์ค๋ฅผ ์ด๋ฃจ๋ ์ฌ๋ฌ ๋ช
๋ น์ด ๋์ ์คํ ๊ฐ๋ฅ ์ค๋ ๋์ ๊ตฌ์ฑ ์์ ์ค๋ ๋ ID, ํ๋ก๊ทธ๋จ ์นด์ดํฐ๋ฅผ ๋น๋กฏํ ๋ ์ง์คํฐ ๊ฐ, ์คํ ๋ฑ ์คํ์ ํ์ํ ์ต์ํ์ ์ ๋ณด ๋ชจ๋ ์ค๋ ๋๋ ํ๋ก์ธ์ค์ ์์์ ๊ณต์ ํ๋ฉด์ ์คํ๋จ ๋ฉํฐ ํ๋ก์ธ์ค์ ๋ฉํฐ ์ค๋ ๋ ๋์ผํ ์์
์ ์ํํ๋ ๋จ์ผ ์ค๋ ๋ ํ๋ก์ธ์ค ์ฌ๋ฌ ๊ฐ ์คํ: ๋ฉํฐ ํ๋ก์ธ์ค ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฌ ์ค๋ ๋๋ก ์คํ: ๋ฉํฐ ์ค๋ ๋ ๋ฉํฐ ํ๋ก์ธ์ค์ ๊ฒฝ์ฐ ํ๋ก์ธ์ค๋ฅผ forkํ๋ฉด ์ฝ๋/๋ฐ์ดํฐ/ํ ์์ญ ๋ฑ ๋ชจ๋ ์์์ด ๋ณต์ ๋์ด ์ ์ฅ๋จ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ธํ๋ฉด ๋ชจ..
1. ํ๋ก์ธ์ค ์ํ ์์ฑ ์ํ ์ด์ ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด PCB๋ฅผ ํ ๋น ๋ฐ์ ์ํ ์ค๋น๊ฐ ์๋ฃ๋์๋ค๋ฉด ์ค๋น ์ํ๋ก ์ค๋น ์ํ ๋น์ฅ์ด๋ผ๋ CPU๋ฅผ ํ ๋น ๋ฐ์ ์คํํ ์ ์์ง๋ง ์์ ์ ์ฐจ๋ก๊ฐ ์๋๊ธฐ์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ ์์ ์ ์ฐจ๋ก๊ฐ ๋๋ค๋ฉด ์คํ ์ํ๋ก(= ๋์คํจ์น) ์คํ ์ํ CPU๋ฅผ ํ ๋น ๋ฐ์ ์คํ ์ค์ธ ์ํ ํ ๋น๋ ์๊ฐ ๋ชจ๋ ์ฌ์ฉ ์(ํ์ด๋จธ ์ธํฐ๋ฝํธ ๋ฐ์ ์) ์ค๋น ์ํ๋ก ์คํ ๋์ค ์
์ถ๋ ฅ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ฉด ์
์ถ๋ ฅ ์์
์ด ๋๋ ๋๊น์ง ๋๊ธฐ ์ํ๋ก ๋๊ธฐ ์ํ ํ๋ก์ธ์ค๊ฐ ์คํ ๋์ค ์
์ถ๋ ฅ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์
์ถ๋ ฅ ์์
์ CPU์ ๋นํด ๋๋ฆฌ๊ธฐ๋๋ฌธ์ ์ด ๊ฒฝ์ฐ ๋๊ธฐ ์ํ๋ก ์ ์ด๋ฌ ์
์ถ๋ ฅ ์์
์ด ๋๋๋ฉด (์
์ถ๋ ฅ ์๋ฃ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์ผ๋ฉด) ์ค๋น ์ํ๋ก ์ข
๋ฃ ์ํ ํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋ ์ํ PCB, ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ ๋ฆฌ ..
1. ํ๋ก์ธ์ค ์คํ์ค์ธ ํ๋ก๊ทธ๋จ ํ๋ก๊ทธ๋จ์ ์คํ๋๊ธฐ ์ ๊น์ง๋ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์๋ ๋ฐ์ดํฐ ๋ฉ์ด๋ฆฌ์ผ ๋ฟ์ 2. ํ๋ก์ธ์ค ์ข
๋ฅ ํฌ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ๊ณต๊ฐ์์ ์คํ๋๋ ํ๋ก์ธ์ค ๋ฉ๋ชจ์ฅ, ์น๋ธ๋ผ์ฐ์ , ๊ฒ์ ๋ฑ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ๊ณต๊ฐ์์ ์คํ๋๋ ํ๋ก์ธ์ค ์ฌ์ฉ์์ ์ง์ ์ํธ์์ฉ์ด ๊ฐ๋ฅํ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค ์ฌ์ฉ์์ ์ํธ์์ฉํ์ง ์๊ณ ๊ทธ์ ์ ํด์ง ์ผ๋ง ์ํํ๋ ํ๋ก์ธ์ค(๋ฐ๋ชฌ, ์๋น์ค) 3. ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก ๋ชจ๋ ํ๋ก์ธ์ค๋ ์คํ์ ์ํด CPU๊ฐ ํ์ํ๋ค ํ์ง๋ง CPU ์์์ ํ์ ๋์ด ์๋ค ํ๋ก์ธ์ค๋ค์ ๋์๊ฐ๋ฉฐ ํ์ ๋ ์๊ฐ ๋งํผ๋ง CPU๋ฅผ ์ด์ฉ ์์ ์ ์ฐจ๋ก์ ์ ํด์ง ์๊ฐ๋งํผ CPU ์ด์ฉ ํ์ด๋จธ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด ์ฐจ๋ก ์๋ณด ๋น ๋ฅด๊ฒ ๋ฒ๊ฐ์ ์ํ๋๋ ํ๋ก์ธ์ค๋ค์ ๊ด๋ฆฌํด์ผํจ ์ด๋ฅผ..
1. ์ปค๋์ด๋ ์ด์์ฒด์ ์ ์ฌ์ฅ,์ด์์ฒด์ ์ ํต์ฌ ๊ธฐ๋ฅ์ ๋ด๋นํฉ๋๋ค. ์๋์ฐ, ์๋๋ก์ด๋,iOS, ๋ฆฌ๋
์ค, macOS์ ๊ฐ์ด ๋ค์ํ ์ข
๋ฅ์ ์ด์์ฒด์ ๊ฐ ์์ผ๋ฉฐ, ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋ค์ํ๋ค. ํ์ง๋ง ๊ณตํต์ ์ธ ๊ฐ์ฅ ํต์ฌ์ ์ธ ์๋น์ค๊ฐ ์กด์ฌํ๋ค. ์์์ ์ ๊ทผํ๊ณ ์กฐ์ํ๋ ๊ธฐ๋ฅ, ํ๋ก๊ทธ๋จ์ด ์ฌ๋ฐ๋ฅด๊ณ ์์ ํ๊ฒ ์คํ๋๊ฒ ํ๋ ๊ธฐ๋ฅ … ์ด๋ฌํ ์ด์์ฒด์ ์ ํต์ฌ ์๋น์ค๋ฅผ ๋ด๋นํ๋ ๋ถ๋ถ์ ์ปค๋(kernel)์ด๋ผ๊ณ ํ๋ค. ์ด์์ฒด์ ์๋ ์ํ๋๋ฐ ์ปค๋์๋ ์ํ์ง ์๋ ๊ธฐ๋ฅ? ๋ํ์ ์ผ๋ก ์ ์ ์ธํฐํ์ด์ค(UI)๊ฐ ์์. ์ฌ์ฉ์์ ์ปดํจํฐ๊ฐ์ ํต๋ก์ผ ๋ฟ ์ด์์ฒด์ ์ ํต์ฌ ๊ธฐ๋ฅ์ ์๋ 2. ์ด์ค๋ชจ๋์ ์์คํ
ํธ์ถ ์ผ๋ฐ์ ์ธ ์์ฉํ๋ก๊ทธ๋จ์ด ์์์ ์ง์ ์ ๊ทผํ๋ ๊ฒ์ด ์ํํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์์์ ์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด์์ฒด..