๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

concurrency1

12. ์ปค๋„ ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ์™€ ์‚ฌ์šฉ์ž ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ ์Šค๋ ˆ๋“œ์˜ ๋ ˆ๋ฒจ? ์Šค๋ ˆ๋“œ๋Š” ์Šค์ผ€์ค„๋ง ์ฃผ์ฒด์— ๋”ฐ๋ผ ๋‘ ์ข…๋ฅ˜์˜ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. 1. ์ปค๋„ ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ (Kernal-Level Thread) : ์ปค๋„์— ์˜ํ•ด ์Šค์ผ€์ค„๋ง ๋œ๋‹ค. 2. ์‚ฌ์šฉ์ž ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ (User-Level Thread) : ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ์Šค์ผ€์ค„๋ง ๋œ๋‹ค. TCB๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ์ฃผ์ฒด์— ๋”ฐ๋ผ ๋‘ ์ข…๋ฅ˜์˜ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ๋ถ„๋˜๋Š”๋ฐ ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. ์ปค๋„ ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ ์ปค๋„ ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ํ†ตํ•ด์„œ๋งŒ ์ƒ์„ฑ๋œ๋‹ค. ์ฆ‰, ์ปค๋„์— ์˜ํ•ด์„œ๋งŒ ์Šค์ผ€์ค„๋ง ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ, ์ปค๋„ ์ฝ”๋“œ์™€ ๋‹ฌ๋ฆฌ ์ปค๋„ ๋ ˆ๋ฒจ ์Šค๋ ˆ๋“œ์˜ ์ฝ”๋“œ๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ปค๋„ ๊ณต๊ฐ„๋ฟ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—๋„ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ๋ง์ธ์ง€ ์ •๋ง ํ—ท๊ฐˆ๋ ธ๋‹ค. thread_create() ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ktread_create()๋ผ๋Š” ์Šค๋ ˆ๋“œ.. 2024. 4. 22.