์ด์์ฒด์ 4 [pthread] Thread ์ค์ต (์ด์์ฒด์ ๐ฆ ๊ฐ์-Chpater4. Thread & Cocurrency) 1. Thread์ ๊ฐ๋ Thread์ ์ข ๋ฅThread๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ฉ๋๋ค.User Thread: ์ปค๋์ ์ง์ ์ ์ธ ์ง์ ์์ด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๊ด๋ฆฌ๋ฉ๋๋ค.Kernel Thread: ์ปค๋์ด ์ง์ ๊ด๋ฆฌํ๋ ์ฐ๋ ๋์ ๋๋ค.User Thread์ Kernel Thread ๊ฐ์ ๊ด๊ณ ๋ชจ๋ธMany-to-One Model: ์ฌ๋ฌ ๊ฐ์ user thread๊ฐ ํ๋์ kernel thread์ ๋งคํ๋ฉ๋๋ค.One-to-One Model: ๊ฐ๊ฐ์ user thread๊ฐ ํ๋์ kernel thread์ ๋งคํ๋ฉ๋๋ค.Many-to-Many Model: ์ฌ๋ฌ ๊ฐ์ user thread๊ฐ ์ฌ๋ฌ ๊ฐ์ kernel thread์ ๋งคํ๋ฉ๋๋ค. 2. Thread ๋ผ์ด๋ธ๋ฌ๋ฆฌThread ์์ฑ๊ณผ ๊ด๋ฆฌ๋ฅผ ์ํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ๋ฉฐ, ๋ํ์ ์ธ .. 2025. 2. 28. [Linux] Process์ ๋ํ ์ดํด + ์ค์ต (์ด์์ฒด์ ๐ฆ ๊ฐ์2-Chpater3. Process) ์ค์ต ์ ํ์ํ Process ๊ด๋ จ ๋ฐฐ๊ฒฝ์ง์โProcess์ ๋ํ ๊น์ ์ดํด๋ฅผ ์ํด ๊ด๋ จ ์ค์ต์ ์งํํ๋ค.โ์ค์ต์ ํ์ํ ๋ฐฐ๊ฒฝ์ง์์ ๊ฐ๋จํ ์ ๋ฆฌํ๋ฉด,โProcess: RAM์ ์ ์ฅ๋์ด ์๋ ํ๋ก๊ทธ๋จ์ด CPU์ load ๋ ์ํPCB(Process Counter Block): ๋ ์ง์คํฐ ์ ๋ณด, ํ์ฌ process ์ ๋ณด ๋ฑ์ด ๋ด๊ธด ๊ณณContext-switch(๋ฌธ๋งฅ ๊ตํ): ํ๋์ PCB loadํ๊ณ ๋ค์ PCB๋ฅผ store. ์ด๋ ๊ฒ PCB ๋ค์ ๋ค์ ํด์ฃผ๋ ๋ฌธ๋งฅ ๊ตํ์ ํตํด time sharing ํ๋ฉฐ concurrent ํ๊ฒ ์คํ๋จโUNIX์ ๊ฐ์ O/S์์ ์๋ก์ด process๋ fork( )๋ผ๋ ์์คํ ์ฝ์ ํตํด ๋ง๋ค์ด์ง๋ค. ์ด๋ ํ์ฌ process์ ์ฃผ์ ๊ณต๊ฐ์ ๋ณต์ฌํด์ child process ๋ง๋ ๋ค.. 2025. 2. 22. ์ด์์ฒด์ ๊ณต๋ฃก์ฑ ๊ฐ์2-Chpater1-2. ์ด์์ฒด์ ์ ๊ฐ๋ ๊ณผ ๊ตฌ์กฐ ๊ณต๋ฃก์ฑ 1์ฅ์์ 2์ฅ๊น์ง์ ๋ด์ฉ์ด๋ค. ํฌ๊ฒ ์ค์ํ ๋ด์ฉ์ ์์ง๋ง ์ปดํจํฐ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ ๋ํ ํต์ฌ์ ๋ด์ฉ์ ๋ด๊ณ ์๋ค. ์ด์์ฒด์ ๋?์ด์์ฒด์ : ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด์ด์์ฒด์ ์ ์ญํ : application program๊ณผ ์ปดํจํฐ ์ฌ์ฉ์, ํ๋์จ์ด ์ฌ์ด์์์ ๋งค๊ฒ์ฒด ์ญํ ์๋์๋ถํฐ ํ๋์จ์ด, OS(์ถ์์ ์ธ layer), ์์คํ ๊ณผ ์ฑ, ์ฌ์ฉ์ OS์ ํต์ฌ ๋ถ๋ถ์ kernel(์ปค๋)์ด๋ผ๊ณ ๋ ๋ถ๋ฆผ์ปค๋์์ ์์คํ ํ๋ก๊ทธ๋จ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํด์คCPU๊ฐ bus๋ฅผ ํตํด์ RAM๊ณผ ์ฐ๊ฒฐ๋์ด ์๊ณ disk controller๋ฅผ ํตํด์ ๋์คํฌ์ ์ฐ๊ฒฐ, USB controller๋ฅผ ํตํด์ ๋ง์ฐ์ค, ํค๋ณด๋ ๋ฑ๊ณผ ์ฐ๊ฒฐ ๋ฑ์ ๋ฐฉ์์ปดํจํฐ ์์คํ ์กฐ์ง(1) bootstrap program์ ์์ ๋๋ ์ ๋ CPU๊ฐ ๊ฐ์ฅ ์ฒ์.. 2025. 2. 22. ์ด์์ฒด์ ์ค์ต์ ์ํ ์๋์ฐ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ ์ด์์ฒด์ (Operating System Concepts) ์ผ๋ช ๊ณต๋ฃก์ฑ ๐ฆ์ ํผ์ณค๋๋ฐ ๊ธ์ด ๋ธ๋ผํค์ค ๋ชฉ ๊ธธ์ด ๋งํผ ๊ธธ๋ค...๋คํํ ์ธํ๋ฐ์ ๊ณต๋ฃก์ฑ ์ ๋ถ๊ต์ฌ๋ก ํ๋ ๊ฐ์๊ฐ ์์ด ํจ๊ป ๋ค์ผ๋ฉฐ ๊ณต๋ถํ๋ค. ์ด์์ฒด์ ์ค์ต์ ์ํด ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ฉด์ ์๋์ฐ์์๋ ๋ฆฌ๋ ์ค ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์๊ฒ ๋๋คโผ๏ธโWSL2(Window System for Linux2)์ VSCode(Visual Studio Code)๋ฅผ ์ฐ๋ํ๋ฉด ๊ฐ์ฅ ํธ๋ฆฌํ ๋ฆฌ๋ ์ค ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค. ๋ฆฌ๋ ์ค์์ gcc๋ก C, C++ ์ปดํ์ผ์ด ๊ฐ๋ฅํ๋ค. โ์ด๋ป๊ฒ ํ๋๋ฉด!โ1. WSL/๊ฐ์๋จธ์ ๊ธฐ๋ฅ ์ผ๊ธฐ ์ค์ >๊ฒ์>Windows ๊ธฐ๋ฅ ์ผ๊ธฐ/๋๊ธฐ์์๐ Linux์ฉ Windows ํ์ ์์คํ ์ต์ ์ฒดํฌ ๐ ๊ฐ์๋จธ์ ํ๋ซํผ ์ต์ ์ฒดํฌ๊ทธ๋ฆฌ๊ณ ์ฌ๋ถํ ...(.. 2025. 2. 22. ์ด์ 1 ๋ค์