์ ์ฒด ๊ธ (135) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ 8์ฅ Memory Management reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์ ) ์์ ์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค. github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. 01 Logical vs Physical Address Logical Address (Virtual Address) ํ๋ก์ธ์ค๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ์ง๋ ์ฃผ์ ๊ณต๊ฐ ๊ฐ ํ๋ก์ธ์ค๋ง๋ค 0๋ฒ์ง๋ถํฐ ์์ CPU๊ฐ ๋ณด๋ ์ฃผ์๋ Logical Address Physical Address ๋ฉ๋ชจ๋ฆฌ์ ์ค์ ์ฌ๋ผ๊ฐ๋ ์์น 02 ์ฃผ์ ๋ฐ์ธ๋ฉ (Address Binding) ์ฃผ์ ๋ฐ์ธ๋ฉ: ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ Symbolic Address → Logical Ad.. 7์ฅ Deadlock reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์ ) ์์ ์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค. github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. 1 deadlock, resource์ ์ ์ deadlock ์ผ๋ จ์ ํ๋ก์ธ์ค๋ค์ด ์๋ก๊ฐ ๊ฐ์ง ์์์ ๊ธฐ๋ค๋ฆฌ๋ฉฐ block๋ ์ํ ์ด๋ ๋๊ตฌ๋ ์๋ณด๋ฅผ ํ์ง ์์ผ๋ฉด ๋์ด์ ์งํ๋์ง ์๋ ์ํ Resource ํ๋์จ์ด, ์ํํธ์จ์ด ๋ฑ์ ํฌํจํ ๊ฐ๋ ์: I/O device, CPU cycle, memory space, semaphore ๋ฑ ํ๋ก์ธ์ค๊ฐ ์์์ ์ฌ์ฉํ๋ ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฃจ์ด์ง๋ค. ์์ฒญ (Request) ํ๋ (Alloca.. 6์ฅ Process Synchronization reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์ ) ์์ ์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค. github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. 1 Race Condition๋? ์ปดํจํฐ์์ ์ฐ์ฐ์ ํ ๋๋ ํญ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์์ ์ฐ์ฐํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ์ด๋๊ฐ ์ ์ฅํด๋๋๋ก ๋์ด์๋ค. race condition์ด๋ ํ๋์ ๊ณต์ data์ ์ฌ๋ฟ์ด ์ ๊ทผํ๋ ค๊ณ ํ ๋, ์ฆ ์ฐ์ฐํ ์ ์๋ ์ฃผ์ฒด๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ๋งํ๋ค. Storage-box๋ฅผ ๊ณต์ ํ๋ E-box๊ฐ ์ฌ๋ฟ ์๋ ๊ฒฝ์ฐ, race condition์ ๊ฐ๋ฅ์ฑ์ด ์๋ค. Storage-box : Executio.. ์ผ์ฃผ์ผ๋์ ๊ฐ๋จํ๊ฒ ํด๋ก ์ฝ๋ฉ #springboot ๊ฐ๋ฐ ์ดํ: ์์งํ ์ด๋ ค์ด ๊ธฐ๋ฅ์ด ์์ด์ ๊ฐ๋ฐ์ ๋ฌผ๐๋ก ๋ดค๋๋ฐ ํฐ ์ฝ ๋ค์ณค์ด์...! ๊ฐ๋ฐ ๊ณผ์ ์ ๋ ๋ฐฑ์๋๋ฅผ ๋ด๋นํ์ต๋๋ค. api ์คํ ์ค๊ณ #link Project Initialization db ๋ชจ๋ธ๋ง ๋ฐ db ์์ฑ db ์ฐ๋ ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ฐฐํฌ #link 5์ 30์ผ ์ผ์์ผ: ์ฐ๋ฆฌ ๋ฉ์ง ํ์๋ค๊ณผ ๋ง๋ ๊ฐ๋ฐ ์ฒซ๋ ! ๐ํ ์ค: ๊ฐ๋ฐ ๊ณผ์ ์ค 4๋ฒ๊น์ง ์งํํ์๋๋ฐ, 5์๊ฐ ์ค 4์๊ฐ์ ๋ฌด๋ ค ์ฌํฌ ์ธ๋์ ๋ ธํธ๋ถ์์ ์คํ๋ง๋ถํธ ํ๋ก๊ทธ๋จ์ด ๋์๊ฐ๊ฒ ์ธํ ํ๊ธฐ! ์์ต๋๋ค. ใ ใ ใ intelliJ์ ๋ฒ์ ์๋ ๋ฌด๋ฃ์ธ Community ๋ฒ์ ๊ณผ ์ ๋ฃ์ด์ง๋ง ๋ํ์๋ฉ์ผ ์ธ์ฆ ํ ์ฌ์ฉ ๊ฐ๋ฅํ Ultimate ๋ฒ์ ์ด ์๋๋ฐ Community ์์๋ Spring boot ์ด๋ชจ์ง๊ฐ ์๋ ์คํ ๋ฒํผ์ ์ ๊ณตํด์ฃผ์ง๋ ์๊ณ ๋น๋ํด๋ก ๋๋ ค์.. 5์ฅ CPU scheduling reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์ ) ์์ ์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค. github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. 1. CPU scheduling์ด ํ์ํ ์ด์ CPU-burst Time์ ๋ถํฌ ์ฌ๋ฌ ์ข ๋ฅ์ job (=process)๊ฐ ์์ฌ ์๊ธฐ ๋๋ฌธ์ CPU scheduling์ด ํ์ํ๋ค. interactive job์๊ฒ ์ ์ ํ response ์ ๊ณตํด์ผ ํ๊ณ cpu์ I/O ์ฅ์น ๋ฑ ์์คํ ์์์ ๊ณจ๊ณ ๋ฃจ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํด์ผ ํ๋ค. Q. ๋นจ๊ฐ์ ๋ถ๋ถ๊ณผ ๊ฐ์ด cpu๋ฅผ ์งง๊ฒ ํ๋ก๊ทธ๋จ๊ณผ ํ๋์ ๋ถ๋ถ๊ณผ ๊ฐ์ด cpu๋ฅผ ๊ธธ๊ฒ ์ฐ๋ ํ๋ก๊ทธ๋จ ์ค CPU๋ฅผ ๋.. 4์ฅ Process Management reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์ ) ์์ ์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค. github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. 1. ํ๋ก์ธ์ค ์์ฑ ๋ถ๋ชจ ํ๋ก์ธ์ค๊ฐ ์์ ํ๋ก์ธ์ค๋ฅผ ์์ฑ ํ๋ก์ธ์ค์ ํธ๋ฆฌ(๊ณ์ธต ๊ตฌ์กฐ) ํ์ฑ ํ๋ก์ธ์ค๋ ์์์ ํ์๋ก ํจ ์ด์์ฒด์ ๋ก๋ถํฐ ๊ฐ๊ฐ ๋ฐ๋๋ค (๋๋ถ๋ถ) ๋ถ๋ชจ์ ๊ณต์ ํ๋ค (์ด๋ก์ ์) ์์์ ๊ณต์ ๋ถ๋ชจ์ ์์์ด ๋ชจ๋ ์์์ ๊ณต์ ํ๋ ๋ชจ๋ธ ์ผ๋ถ ๊ณต์ ํ๋ ๋ชจ๋ธ ์ ํ ๊ณต์ ํ์ง ์๋ ๋ชจ๋ธ (๋๋ถ๋ถ) ์ํ ๋ถ๋ชจ์ ์์์ ๊ณต์กดํ๋ฉฐ ์ํ๋๋ ๋ชจ๋ธ ์์์ด ์ข ๋ฃ๋ ๋๊ฐ์ง ๋ถ๋ชจ๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ๋ชจ๋ธ ์ฃผ์ ๊ณต๊ฐ (Address space - code, d.. 3์ฅ Process reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์ ) ์์ ์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค. github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. 1. ํ๋ก์ธ์ค์ ๊ฐ๋ Process is a program in execution ์ด์์๋ ํ๋์ ์๋ช ์ฒด๋ก ์๊ฐํ ์ ์๋ค. ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ (context) ์ฌ๊ธฐ์ ๋ฌธ๋งฅ์ด๋ ์๊ฐ์ ๋ฐ๋ผ ๋ณํํ๋ ํ๋ก์ธ์ค์ ํ์ฌ ์ํ๋ฅผ ์๋ฏธํ๋ค. CPU ์ํ ์ํ๋ฅผ ๋ํ๋ด๋ ํ๋์จ์ด ๋ฌธ๋งฅ Program Counter ๊ฐ์ข register ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ code, data, stack ํ๋ก์ธ์ค ๊ด๋ จ ์ปค๋ ์๋ฃ ๊ตฌ์กฐ PCB (process co.. 2์ฅ System Structure & Program Execution reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์ ) ์์ ์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค. github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. 1 ์ปดํจํฐ ์์คํ ๊ตฌ์กฐ 1-1. ์ปดํจํฐ ์์คํ ๊ตฌ์กฐ ์๋์ ์ฌ์ง์ ํ ํ๊ธฐ ๋ด๋ด ๋ค์๋ณด๊ณ ๋ค์๋ณด๊ณ ๋ค์๋ดค๋ ์ค์ํ ์๋ฃ์ ๋๋ค. ๋จผ์ ์ ๋ฐ์ ์ผ๋ก ์ด๋ป๊ฒ ํ๋ฌ๊ฐ๋์ง ์ดํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์์ ๊ธฐ๊ณ์ด๋ฅผ ํ๋์ฉ ์ฝ์ด์ ์คํํฉ๋๋ค. CPU๊ฐ ๊ธฐ๊ณ์ด๋ฅผ ์ฐ์ฐ(์ํ)ํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ค์ ๊ธฐ๊ณ์ด๋ฅผ ์คํํ๊ธฐ์ ์์์ ํน์ interrupt line ์ ์๊ทธ๋(์ธํฐ๋ฝํธ) ๋ค์ด์จ ๊ฒ ์๋์ง ํ์ธํฉ๋๋ค. (interrupt๋ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ์.. 1์ฅ Introduction to Operating System reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์ ) ์์ ์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค. ์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค. github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. 1. ์ด์์ฒด์ ๋ ๋ฌด์์ธ๊ฐ? ์ปดํจํฐ ํ๋์จ์ด ๋ฐ๋ก ์์ ์ค์น๋์ด ์ฌ์ฉ์ ๋ฐ ๋ค๋ฅธ ๋ชจ๋ ์ํํธ์จ์ด์ ํ๋์จ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ์ํํธ์จ์ด ๊ณ์ธต ์ข์ ์๋ฏธ์ ์ด์์ฒด์ = ์ปค๋ ์ด์์ฒด์ ์ ํต์ฌ ๋ถ๋ถ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ ๋ถ๋ถ ๋์ ์๋ฏธ์ ์ด์์ฒด์ ์ปค๋ ๋ฟ ์๋๋ผ ๊ฐ์ข ์ฃผ๋ณ ์์คํ ์ ํธ๋ฆฌํฐ๋ฅผ ํฌํจํ ๊ฐ๋ 2. ์ด์์ฒด์ ์ ๋ชฉ์ 1. ์ปดํจํฐ ์์คํ ์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณต ์ด์์ฒด์ ๋ ๋์ ์ฌ์ฉ์, ํ๋ก๊ทธ๋จ๋ค์ด ๊ฐ๊ฐ ๋ ์์ ์ปดํจํฐ์์ ์ํ.. On my mind You again, why'd you call? I don't need to hear you cryin' out my name Unlike before when you and I laid eye to eye Now it's time for you to taste the bitter end 4์์ ๋ฐ๊ฒฌํ๊ณ ๋ณ๊ณ ๋ณ๋๋ก ๋ค์๋ ๋ ธ๋์ผ 2์ ๋์ ๋ถ๋ถ์ ๊ฐ์ฐ๋ฐ ๊ฐ์ฌ ์์ฒด์ ์๋ฏธ๋ฅผ ๋์ง ์์ ๊ทธ๋ฅ ์ด ๋ถ๋ถ ๋๋์ด ์๋ฆ ๋์์ ๋ฐ๋ฆฐ ์์ ํ๋ฏ์ด ์จ๋ณด๊ฒ ์ด (04.05) ์ด ๋ ์ ๋ ์จ๊ฐ ์ง์ง ์ง์ง ์ข์๋ ๊ฑธ๋ก ๊ธฐ์ตํด ์ ์ฃผ์ ๋ฏธ์ธ๋จผ์ง๊ฐ ์ฌ๋ ์์ค์ผ๋ก ์ฌ๊ฐํด์ ์ฝ์์ด ํํฌ๋ฌ์๋ค๊ฐ ๋ค์ ์ก์์ ๋ง๋ฌ๋ ๋ ์ด๊ฑฐ๋ ๊ทธ๋ ์ง๋ง ๋น ์จ ๋ค๋ผ์ ๋ฒ๊ฝ์ด ๋ง์ด ๋จ์ด์ ธ์ ๋๋ฌด ์์ฝ๋๋ผ ๐ธ ์ฝ๋ก ๋ก์ ์ค๋ฆฌ์ง๋์ ๋จน์๋๋ฐ ๋งค์ ์ด๐ฅ ๋ช ๋ฐฑํ๊ฒ .. ์ด์ 1 2 3 4 5 6 ยทยทยท 14 ๋ค์