ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€ ํ†ต์‹ : 2๊ฐœ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜๋ฏธ, ์Šค๋ ˆ๋“œ๋ผ๋ฆฌ ์ „์—ญ ๋ณ€์ˆ˜๋‚˜ ํŒŒ์ผ์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.

ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋ฐ์ดํ„ฐ ํ†ต์‹ : ๊ฐ™์€ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ ํ†ต์‹ ํ•˜๋Š” ๊ฒฝ์šฐ๋กœ ๊ณต์šฉ ํŒŒ์ผ์ด๋‚˜ ํŒŒ์ดํ”„๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.

๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ํ†ต์‹ : ์—ฌ๋Ÿฌ ์ปดํ“จํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์„ ๋•Œ์˜ ํ†ต์‹ ์„ ์˜๋ฏธํ•˜๋ฉฐ ์†Œ์ผ“์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.

 

๋ถ„๋ฅ˜ ๋ฐฉ์‹ ์ข…๋ฅ˜ ์˜ˆ
ํ†ต์‹  ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ ์–‘๋ฐฉํ–ฅ ํ†ต์‹  ์ผ๋ฐ˜์  ํ†ต์‹ , ์†Œ์ผ“
ํ†ต์‹  ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ ๋ฐ˜์–‘๋ฐ˜ํ–ฅ ํ†ต์‹  ๋ฌด์ „๊ธฐ
ํ†ต์‹  ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹  ์ „์—ญ๋ณ€์ˆ˜, ํŒŒ์ผ, ํŒŒ์ดํ”„
ํ†ต์‹  ๊ตฌํ˜„ ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ ๋Œ€๊ธฐ๊ฐ€ ์žˆ๋Š” ํ†ต์‹ (๋™๊ธฐํ™” ํ†ต์‹ ) ํŒŒ์ดํ”„, ์†Œ์ผ“
ํ†ต์‹  ๊ตฌํ˜„ ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ ๋Œ€๊ธฐ๊ฐ€ ์—†๋Š” ํ†ต์‹ (๋น„๋™๊ธฐํ™” ํ†ต์‹ ) ์ „์—ญ ๋ณ€์ˆ˜, ํŒŒ์ผ

 

๐Ÿ‘€ ๊ณต์œ ์ž์›

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต๋™์œผ๋กœ ์ด์šฉํ•˜๋Š” ๋ณ€์ˆ˜, ๋ฉ”๋ชจ๋ฆฌ, ํŒŒ์ผ ๋“ฑ์„ ์˜๋ฏธ

๊ณต์œ  ์ž์›์„ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋จผ์ € ์ด์šฉํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๊ธฐ์— ๊ฒฝ์Ÿ ์กฐ๊ฑด์„ ํ”ผํ•ด์•ผ ํ•œ๋‹ค.

 

๊ฒฝ์Ÿ ์กฐ๊ฑด์ด๋ž€?

2๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต์œ ์ž์›์„ ๋ณ‘ํ–‰์ ์œผ๋กœ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ์ƒํ™ฉ์„ ์˜๋ฏธ

 

๐Ÿ‘€ ์ž„๊ณ„ ๊ตฌ์—ญ

๊ณต์œ ์ž์›์˜ ์‹คํ–‰ ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์˜์—ญ -> ์ˆœ์„œ๋ฅผ ํ†ต์ œํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

์ž„๊ณ„ ๊ตฌ์—ญ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด์€ ๋ฌด์—‡์ผ๊นŒ โ“

1. ์ƒํ˜ธ ๋ฐฐ์ œ: ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž„๊ณ„ ๊ตฌ์—ญ์— ๋“ค์–ด๊ฐ€๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋Š” ์ž„๊ณ„ ๊ตฌ์—ญ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋‹ค.

2. ํ•œ์ • ๋Œ€๊ธฐ: ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž„๊ณ„๊ตฌ์—ญ์— ๋“ค์–ด๊ฐ€์ง€ ๋ชปํ•ด ๋ฌดํ•œ ๋Œ€๊ธฐํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. (=๊ต์ฐฉ ์ƒํƒœ)

3. ์ง„ํ–‰์˜ ์œตํ†ต์„ฑ: ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์ง„ํ–‰์„ ๋ฐฉํ•ดํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ์ฆ‰ ์ž„๊ณ„ ๊ตฌ์—ญ์„ ์•„๋ฌด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค.

 

๐Ÿ’ก ์ž„๊ณ„๊ตฌ์—ญ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

โœจ Spin Lock

Lock์˜ ๊ธฐ๋ณธ ๊ตฌํ˜„ ๋ฐฉ์‹

1๏ธโƒฃ ์ƒํ˜ธ ๋ฐฐ์ œ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

1. P2๋Š” lock์ด False์ž„์œผ๋กœ lock์„ true๋กœ ๋งŒ๋“  ํ›„ ์ž„๊ณ„ ๊ตฌ์—ญ์œผ๋กœ ๋“ค์–ด์˜ด

2. ํƒ€์ž„ ์•„์›ƒ์ด ๋๋‚œ P1์ด true๋กœ ๋งŒ๋“  ํ›„ ์ž„๊ณ„ ๊ตฌ์—ญ์œผ๋กœ ๋“ค์–ด์˜ด

3. ๋‘˜ ๋‹ค ์ž„๊ณ„ ๊ตฌ์—ญ์— ์ง„์ž…

 

2๏ธโƒฃ ํ•œ์ • ๋Œ€๊ธฐ ๋ฌธ์ œ(=๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ)

๊ณต์œ  ๋ณ€์ˆ˜๋ฅผ ๋‘ ๊ฐœ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํ˜ธ ๋ฐฐ์ œ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•œ ๊ฒฝ์šฐ -  ์ผ๋‹จ ์ž ๊ธˆ์„ ํ•˜๊ณ  ๋‚œ ํ›„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž ๊ฒผ๋Š”์ง€ ํ™•์ธ

์ƒํ˜ธ๋ฐฐ์ œ ์กฐ๊ฑด ์ถฉ์กฑ

P1, P2 ๋‘˜ ๋‹ค while๋ฌธ์— ๋น ์ ธ๋‚˜์˜ค์ง€ ๋ชปํ•˜๊ณ  ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์ ธ P1, P2 ๋‘˜ ๋‹ค ์ž„๊ณ„ ๊ตฌ์—ญ์œผ๋กœ ๋ชป ๋“ค์–ด๊ฐ€๊ณ  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Š˜์–ด ๊ฐˆ์ˆ˜๋ก ๊ณต์œ  ๋ณ€์ˆ˜๋„ ์ฆ๊ฐ€์‹œ์ผœ์ค˜์•ผ ํ•ด์„œ ํ™•์žฅ์„ฑ์˜ ๋ฌธ์ œ ๋ฐœ์ƒ

 

3๏ธโƒฃ ์ง„ํ–‰์˜ ์œตํ†ต์„ฑ ๋ฌธ์ œ

์ƒํ˜ธ ๋ฐฐ์ œ์™€ ํ•œ์ • ๋Œ€๊ธฐ ๋ณด์žฅ

ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„์™€ ์ƒ๊ด€์—†์ด ๋ฒˆ๊ฐˆ์•„ ๊ฐ€๋ฉด์„œ ์ž„๊ณ„ ๊ตฌ์—ญ์— ์ง„์ž…ํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‘ ๋ฒˆ ์—ฐ์†ํ•ด์„œ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์–ด๋„ ๋ชป ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค ์ง„ํ–‰์ด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ์ธํ•ด ๋ฐฉํ•ด๋ฐ›๋Š” ํ˜„์ƒ์„ ๊ฒฝ์ง๋œ ๋™๊ธฐํ™”๋ผ๊ณ  ํ•œ๋‹ค.

 

Spin Lock์˜ ๋ฌธ์ œ์ 

Ready ํ์— ๋Œ€๊ธฐ์‹œํ‚ค๋‹ค ๋ณด๋‹ˆ ๋ฝ์„ ์–ป์„ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด๋ฉด while๋ฌธ์„ ๋Œ๋ฉด์„œ ์‹คํ–‰ํ•˜๋‹ค๊ฐ€ ๋‹ค์‹œ Ready ํ์— ๋“ค์–ด๊ฐ€ CPU ์ž์›์„ ์†Œ๋ชจํ•œ๋‹ค. 

 

โœจ Wating ํ

๊ฐ๊ฐ์˜ ๋ฝ ๋ณ„๋กœ waiting ํ๋ฅผ ์šด์˜ํ•˜์—ฌ ๋ฝ์ด ํ•„์š”ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฝ์šฐ ๋ฝ์„ waiting ํ์— push ์‹œํ‚จ๋‹ค. ์ดํ›„ ๋ฝ์ด ๊ฐ€์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ํ์˜ ์ œ์ผ ๋งจ ์•ž์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ pop ์‹œ์ผœ ready ํ์— ์‚ฝ์ž…ํ•˜๋ฉด ๋ฝ์ด ๊ฐ€์šฉ ๊ฐ€๋Šฅํ•ด์ง„ ์‹œ์ ์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. -> ๋ฝ์„ ํ•„์š”๋กœ ํ•˜์ง€๋งŒ ์•„์ง ์–ป์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ์— ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ Ready ํ์— ๋ฐฉ์น˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ Waiting ํ์— ์ถ”๊ฐ€ํ•ด์„œ ๋ฝ์ด ๋ฐ˜๋‚ฉ๋˜๊ธฐ ์ „๊นŒ์ง€ Scheduling๋˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š”๋‹ค. -> CPU ์ž์›์ด ๋‚ญ๋น„๋˜์ง€ ์•Š๋Š”๋‹ค.

 

๊ทธ๋ฆผ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ

https://foramonth.tistory.com/74?category=902887 

 

Spin Lock์€ ์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ โ“

Waiting ํ ๋ฐฉ์‹์€ Waiting ํ์— ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์ด ์ถ”๊ฐ€๋˜๊ณ  ์šฐ์„ ์ˆœ์œ„์— ๋งž๊ฒŒ ์ •๋ ฌ์‹œ์ผœ์•ผํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค์‹œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊นจ์šฐ๊ณ  ์žฌ์›€์œผ๋กœ์จ ๋ฌธ๋งฅ ๊ตํ™˜์ด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒํ•œ๋‹ค.

ํ”„๋กœ์„ธ์„œ๊ฐ€ ํ•œ๊ฐœ๋ผ๋ฉด spin lock์€ ์‚ฌ๋ผ์ง€๋Š” ๊ฒŒ ๋งž๋‹ค. spin lock์„ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์—†์–ด์„œ ๊ณ„์† ๋ฐ”์œ ๋Œ€๊ธฐ๋ฅผ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

ํ•˜์ง€๋งŒ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์„œ๋ผ๋ฉด ์œ„์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ณด๋‹ค ๋ฐ”์œ๋Œ€๊ธฐ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๊ฒฝ์ œ์ ์ด๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ž„๊ณ„ ๊ตฌ์—ญ์„ ๋‹ค ์ฒ˜๋ฆฌํ•˜๋Š” ์ˆœ๊ฐ„ ๋ฐ”์œ ๋Œ€๊ธฐ๋ฅผ ํ’€๊ณ  ๋ฐ”๋กœ ๋“ค์–ด๊ฐ€๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

โœŒ ๊ฒ€์‚ฌ์™€ ์ง€์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋“œ์›จ์–ด์ ์œผ๋กœ ์ž„๊ณ„ ๋ฌธ์ œ ๋ฐฉ๋ฒ• ํ•ด๊ฒฐ

๋ฐ”์œ ๋Œ€๊ธฐ ๊ณ„์† ๋ฐœ์ƒ

โœจ ์„ธ๋งˆํฌ์–ด

์„ธ๋งˆํฌ์–ด๋Š” ์ž„๊ณ„ ๊ตฌ์—ญ์ด ์ž ๊ฒผ๋Š”์ง€ ์ง์ ‘ ํ™•์ธํ•˜์ง€ ์•Š์•„ ๋ฐ”์œ ๋Œ€๊ธฐ๋„ ์—†๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋™๊ธฐํ™” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ํ•„์š”๋„ ์—†๋‹ค. 

 

Semaphore(n); // RS = n (ํ˜„์žฌ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์ž์›์˜ ์ˆ˜)

P(){ // ์ž ๊ธˆ์„ ์ˆ˜ํ–‰
	if (RS > 0)
		RS = RS - 1;
	else
	{
		block();
        }
};

// ์ž„๊ณ„๊ตฌ์—ญ

V() { // ์ž ๊ธˆํ•ด์ œ์™€ ๋™๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰
	RS = RS + 1;
	wake_up();
};

์„ธ๋งˆํฌ์–ด๋Š” ๊ณต์œ  ์ž์›์ด ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ์—๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

n์„ 2๋ผ๊ณ  ํ•  ๊ฒฝ์šฐ,

1. ๋จผ์ € ๋„์ฐฉํ•œ P1์ด RS ๊ฐ’์„ 1 ๊ฐ์†Œ์‹œํ‚ค๋ฉด์„œ ์ง„์ž… 

2. P2๋„ RS ๊ฐ’์„ 1 ๊ฐ์†Œ์‹œํ‚ค๋ฉด์„œ ์ง„์ž… 

3. P3์˜ ๊ฒฝ์šฐ RS๊ฐ€ 0 ์ด๋ฏ€๋กœ block ์ƒํƒœ๋กœ RS๊ฐ’์ด 0๋ณด๋‹ค ์ปค์งˆ ๋•Œ๊นŒ์ง€ ์„ธ๋งˆํฌ์–ด ํ์—์„œ ๋Œ€๊ธฐ(๋ฐ”์œ ๋Œ€๊ธฐ ์—†์Œ)

4. P1์ด ์ž„๊ณ„ ๊ตฌ์—ญ์„ ๋น ์ ธ๋‚˜์™€ V() ์‹คํ–‰ํ•˜๋ฉด์„œ RS ๊ฐ’์€ 1์ด ๋˜๊ณ  wake_up ์‹ ํ˜ธ๊ฐ€ P3์—๊ฒŒ ์ „๋‹ฌ

 

โœจ ๋ชจ๋‹ˆํ„ฐ

๋ชจ๋‹ˆํ„ฐ๋Š” ์„ธ๋งˆํฌ์–ด์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋”ฐ๋ฅด๋ฉด์„œ ๊ณต์œ  ์ž์›์„ ๋‚ด๋ถ€์ ์œผ๋กœ ์ˆจ๊ธฐ๊ณ  ๊ณต์œ  ์ž์›์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์ œ๊ณต (=์šด์˜์ฒด์ œ์˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ๊ณผ ๊ฐ™์€ ์›๋ฆฌ)

 

1. ์ž„๊ณ„ ๊ตฌ์—ญ์œผ๋กœ ์ง€์ •๋œ ๋ณ€์ˆ˜๋‚˜ ์ž์›์— ์ ‘๊ทผํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ง์ ‘ P()๋‚˜ V()์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋‹ˆํ„ฐ์— ์ž‘์—… ์š”์ฒญ

2. ๋ชจ๋‹ˆํ„ฐ๋Š” ์ž‘์—…์„ ๋ชจ๋‹ˆํ„ฐ ํ์— ์ €์žฅํ•œ ํ›„ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์•Œ๋ ค์คŒ

 

๋ชจ๋‹ˆํ„ฐ ํ

 

๋ชจ๋‹ˆํ„ฐ๋Š” ์ž„๊ณ„๊ตฌ์—ญ ๋ณดํ˜ธ์™€ ๋™๊ธฐํ™”๋ฅผ ์ƒํƒœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ์˜ ๋‚ด๋ถ€์—์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” increase ํ•จ์ˆ˜๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ๋œ๋‹ค.

 

์ƒํƒœ ๋ณ€์ˆ˜๋Š” wait์™€ signal ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

wait() - ๋ชจ๋‹ˆํ„ฐ ํ์—์„œ ์ž์‹ ์˜ ์ฐจ๋ก€๊ฐ€ ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ์„ธ๋งˆํฌ์–ด์˜ P()์— ํ•ด๋‹น

signal() - ๋ชจ๋‹ˆํ„ฐ ํ์—์„œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ˆœ์„œ๋ฅผ ๋„˜๊ฒจ์ค€๋‹ค. ์„ธ๋งˆํฌ์–ด์˜ V()์— ํ•ด๋‹น

 

๊ต์ฐฉ์ƒํƒœ๋Š” 2๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ๋๋‚˜๊ธฐ๋งŒ ๊ธฐ๋‹ค๋ฆฌ๋ฉฐ ์ž‘์—…์„ ๋” ์ด์ƒ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค.

 

๊ต์ฐฉ์ƒํƒœ๋Š” ์‹œ์Šคํ…œ ์ž์›, ๊ณต์œ  ๋ณ€์ˆ˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ฐ™์€ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ค ์ž์›์„ ์‚ฌ์šฉ ์ค‘์ด๊ณ  ์–ด๋–ค ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋ฐฉํ–ฅ์„ฑ์ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. 

 

๐Ÿ’ก ๊ต์ฐฉ์ƒํƒœ ํ•„์š”์กฐ๊ฑด

์ƒํ˜ธ ๋ฐฐ์ œ, ๋น„์„ ์ , ์ ์œ ์™€ ๋Œ€๊ธฐ, ์›ํ˜• ๋Œ€๊ธฐ ์ด 4๊ฐ€์ง€ ๋ชจ๋‘๋ฅผ ์ถฉ์กฑํ•ด์•ผ ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒ

 

์ž์›์ด ์–ด๋–ค ํŠน์ง•์„ ๊ฐ€์ง€๋Š”๊ฐ€ โ“

1๏ธโƒฃ ์ƒํ˜ธ๋ฐฐ์ œ: ๋ฐฐํƒ€์ ์ธ ์ž์›์€ ์ž„๊ณ„ ๊ตฌ์—ญ์œผ๋กœ ๋ณดํ˜ธ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ๋ฐฐํƒ€์ ์ธ ์ž์›์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ต์ฐฉ์ƒํƒœ ๋ฐœ์ƒ

2๏ธโƒฃ ๋น„์„ ์ : ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉ ์ค‘์ธ ์ž์›์€ ์ค‘๊ฐ„์— ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋นผ์•—์„ ์ˆ˜ ์—†๋‹ค.

 

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ค ํ–‰์œ„๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๊ฐ€ โ“

3๏ธโƒฃ ์ ์œ ์™€ ๋Œ€๊ธฐ: ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ค ์ž์›์„ ํ• ๋‹น๋ฐ›์€ ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ์ž์›์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ์—ฌ์•ผ ํ•œ๋‹ค.

4๏ธโƒฃ ์›ํ˜•๋Œ€๊ธฐ: ์ ์œ ์™€ ๋Œ€๊ธฐ๋ฅผ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ ์›์„ ์ด๋ฃจ์–ด์•ผ ํ•œ๋‹ค. 

 

 

๐Ÿ‘€ ๊ต์ฐฉ์ƒํƒœ์™€ ์•„์‚ฌ(๊ธฐ์•„)ํ˜„์ƒ์€ ๋‹ค๋ฅด๋‹ค โ—

๊ต์ฐฉ์ƒํƒœ๋Š” ์•„์‚ฌํ˜„์ƒ๊ณผ ๋‹ฌ๋ฆฌ ์ •์ฑ…์ƒ ์ž˜๋ชป์ด๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ์—†์–ด๋„ ์ž์—ฐ์ ์œผ๋กœ ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ์•„ ํ˜„์ƒ์€ ์ •์ฑ…์ƒ ์ž˜๋ชป์ด๋‚˜ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒƒ์ด๋ผ์„œ ์—์ด์ง•๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

๐Ÿ’ก ๊ต์ฐฉ์ƒํƒœ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ํŠน์ง•
๊ต์ฐฉ์ƒํƒœ ์˜ˆ๋ฐฉ ๊ต์ฐฉ์ƒํƒœ๋ฅผ ์œ ๋ฐœํ•˜๋Š” 4๊ฐ€์ง€ ์กฐ๊ฑด ๋ฌด๋ ฅํ™”
๊ต์ฐฉ์ƒํƒœ ํšŒํ”ผ ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์ˆ˜์ค€์œผ๋กœ ์ž์›์„ ํ• ๋‹น
๊ต์ฐฉ์ƒํƒœ ๊ฒ€์ถœ ์ž์›ํ• ๋‹น๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ต์ฐฉ์ƒํƒœ๋ฅผ ๋ฐœ๊ฒฌ
๊ต์ฐฉ์ƒํƒœ ํšŒ๋ณต ๊ต์ฐฉ์ƒํƒœ๋ฅผ ๊ฒ€์ถœํ•œ ํ›„ ํ•ด๊ฒฐ

 

๊ต์ฐฉ์ƒํƒœ ์˜ˆ๋ฐฉ

์ƒํ˜ธ ๋ฐฐ์ œ ์˜ˆ๋ฐฉ: ํ˜„์‹ค์ ์œผ๋กœ ์ž์›์„ ๊ณต์œ ํ•  ์ˆ˜ ์—†๋Š” ์ž์›์ด ์ƒ๊ธธ ์ˆ˜๋ฐ–์— ์—†์–ด์„œ ๋ถˆ๊ฐ€๋Šฅ

 

๋น„์„ ์  ์˜ˆ๋ฐฉ: ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ๋นผ์•—์„์ง€, ๋นผ์•—์€ ์‹œ๊ฐ„ ์ค‘ ์–ผ๋งˆ๋‚˜ ์‚ฌ์šฉํ• ์ง€ ๋“ฑ์„ ์ •ํ•˜๋Š” ๊ฒƒ์ด ๊นŒ๋‹ค๋กญ๊ณ  ๋ชจ๋“  ์ž์›์„ ๋นผ์•—์„ ์ˆ˜ ์žˆ์œผ๋ฉด ์•„์‚ฌ ํ˜„์ƒ์ด ๋ฐœ์ƒ -> ์—์ด์ง•์œผ๋กœ ํ•ด๊ฒฐํ•  ์‹œ ์—์ด์ง•์œผ๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉด ๋‹ค์‹œ ๋น„์„ ์  ์ž์›์ด ๋˜์–ด ๋ฌด๋ ฅํ™”ํ•  ์ˆ˜ ์—†๋‹ค.

 

์ ์œ ์™€ ๋Œ€๊ธฐ ์˜ˆ๋ฐฉ: ์ „๋ถ€ ํ• ๋‹นํ•˜๊ฑฐ๋‚˜ ์•„์˜ˆ ํ• ๋‹นํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์„ ์ ์šฉ, ์‹œ์ž‘ ์ดˆ๊ธฐ์— ์ž์‹ ์ด ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋ชจ๋“  ์ž์›์„ ํ•œ๊บผ๋ฒˆ์— ์ ์œ ํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ ‡์ง€ ๋ชปํ•  ์‹œ ์ „๋ถ€ ๋ฐ˜๋‚ฉ -> ์ž์›์˜ ํ™œ์šฉ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค, ๋งŽ์€ ์ž์›์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๋ถˆ๋ฆฌ, ์ผ๊ด„ ์ž‘์—…๋ฐฉ์‹์œผ๋กœ ๋™์ž‘

 

์›ํ˜• ๋Œ€๊ธฐ ์˜ˆ๋ฐฉ: ๋ชจ๋“  ์ž์›์— ์ˆซ์ž๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ์ˆซ์ž๊ฐ€ ํฐ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ž์›์„ ํ• ๋‹น, ์ˆซ์ž๊ฐ€ ์ž‘์€ ์ž์›์„ ์žก์€ ์ƒํƒœ์—์„œ ํฐ ์ˆซ์ž๋ฅผ ์žก๋Š” ๊ฒƒ์€ ํ—ˆ์šฉํ•˜์ง€๋งŒ ์ˆซ์ž๊ฐ€ ํฐ ์ž์›์„ ์žก์€ ์ƒํƒœ์—์„œ ์ž‘์€ ์ˆซ์ž๋ฅผ ์žก๋Š” ๊ฒƒ์€ ํ—ˆ์šฉ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. -> ํ”„๋กœ์„ธ์Šค ์ž‘์—… ์ง„ํ–‰์— ์œ ์—ฐ์„ฑ ํ•˜๋ฝ, ์ž์›์˜ ๋ฒˆํ˜ธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ถ€์—ฌํ• ์ง€ ๋ฌธ์ œ

 

๊ต์ฐฉ์ƒํƒœ ํšŒํ”ผ

ํ”„๋กœ์„ธ์Šค์— ์ž์›์„ ํ• ๋‹นํ•  ๋•Œ ์–ด๋А ์ˆ˜์ค€ ์ด์ƒ์˜ ์ž์›์„ ๋‚˜๋ˆ„์–ด์ฃผ๋ฉด ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํŒŒ์•…ํ•ด์„œ ๊ทธ ์ดํ•˜๋กœ ์ž์›์„ ๋‚˜๋ˆ„์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์ž์›์˜ ์ด์ˆ˜์™€ ํ˜„์žฌ ํ• ๋‹น๋œ ์ž์›์˜ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‹œ์Šคํ…œ์„ ์•ˆ์ • ์ƒํƒœ์™€ ๋ถˆ์•ˆ์ • ์ƒํƒœ๋กœ ๋‚˜๋ˆˆ๋‹ค.

๊ต์ฐฉ์ƒํƒœ๋Š” ๋ถˆ์•ˆ์ • ์ƒํƒœ์˜ ์ผ๋ถ€๋ถ„

์•ˆ์ •์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„ ๋‚ด์—์„œ ์ž์›์„ ํ• ๋‹นํ•จ์œผ๋กœ์จ ๊ต์ฐฉ์ƒํƒœ๋ฅผ ํšŒํ”ผ

 

โœŒ ์€ํ–‰์› ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ต์ฐฉ์ƒํƒœ ํšŒํ”ผ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

๋ณ€์ˆ˜ ์„ค๋ช…
์ „์ฒด ์ž์›(Total) ์‹œ์Šคํ…œ ๋‚ด ์ „์ฒด ์ž์›์˜ ์ˆ˜
๊ฐ€์šฉ ์ž์›(Available) ์ „์ฒด์ž์› - ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ ํ• ๋‹น์ž์›
์ตœ๋Œ€ ์ž์›(Max) ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„ ์–ธํ•œ ์ตœ๋Œ€ ์ž์›์˜ ์ˆ˜
ํ• ๋‹น ์ž์›(Allocation) ๊ฐ ํ”„๋กœ์„ธ์Šค์— ํ˜„์žฌ ํ• ๋‹น๋œ ์ž์›์˜ ์ˆ˜
๊ธฐ๋Œ€ ์ž์›(Expect) ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ์ž์›์˜ ์ˆ˜(์ตœ๋Œ€์ž์› - ํ• ๋‹น์ž์›)

์ž์›์„ ํ• ๋‹นํ•˜๋Š” ๊ธฐ์ค€์€ ๋ฌด์—‡์ผ๊นŒ โ“

๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ๊ธฐ๋Œ€ ์ž์›๊ณผ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์šฉ ์ž์›์ด ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ํ•œ๋ฒˆ ์ด์ƒ์ด๋ฉด ํ• ๋‹นํ•œ๋‹ค. ๊ทธ ์ž์›์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ๋๋‚ผ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ ์•ˆ์ •์ƒํƒœ

 

๐Ÿ™†‍โ™€๏ธ ์•ˆ์ •์ƒํƒœ

์•ˆ์ • ์ƒํƒœ

๊ต์ฐฉ์ƒํƒœ ํšŒํ”ผ์˜ ๋ฌธ์ œ์ 

1. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์‹ ์ด ์‚ฌ์šฉํ•  ๋ชจ๋“  ์ž์›์„ ๋ฏธ๋ฆฌ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค.

2. ์‹œ์Šคํ…œ ์ „์ฒด ์ž์›์˜ ์ˆ˜๊ฐ€ ๊ณ ์ •์ ์ด์–ด์•ผ ํ•œ๋‹ค.

3. ์ž์›์ด ๋‚ญ๋น„๋œ๋‹ค.

 

๊ต์ฐฉ ์ƒํƒœ ๊ฒ€์ถœ

๊ต์ฐฉ ์ƒํƒœ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ค‘ ๊ฐ€์žฅ ํ˜„์‹ค์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์„ ๊ด€์ฐฐํ•˜๋ฉด์„œ ๊ต์ฐฉ ์ƒํƒœ ๋ฐœ์ƒ ์—ฌ๋ถ€๋ฅผ ๊ณ„์† ์ฃผ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ต์ฐฉ ์ƒํƒœ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ต์ฐฉ์ƒํƒœ ํšŒ๋ณต ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์นœ๋‹ค.

 

1๏ธโƒฃ ํƒ€์ž„์•„์›ƒ์„ ์ด์šฉํ•œ ๊ต์ฐฉ์ƒํƒœ ๊ฒ€์ถœ(= ๊ฐ€๋ฒผ์šด ๊ต์ฐฉ์ƒํƒœ ๊ฒ€์ถœ)

์˜๋ฏธ: ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์ž‘์—…์ด ์ง„ํ–‰๋˜์ง€ ์•Š์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ต์ฐฉ ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

๋‹จ์ : ์—‰๋šฑํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ•์ œ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ๊ณ  ๋ชจ๋“  ์‹œ์Šคํ…œ์— ์ ์šฉํ•  ์ˆ˜ ์—†๋‹ค. (ex. ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ)

 

2๏ธโƒฃ ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ต์ฐฉ์ƒํƒœ ๊ฒ€์ถœ(= ๋ฌด๊ฑฐ์šด ๊ต์ฐฉ์ƒํƒœ ๊ฒ€์ถœ)

์˜๋ฏธ: ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„์— ์‚ฌ์ดํด์ด ๋ฐœ์ƒํ•  ์‹œ ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒ. (๋‹จ์ผ ์ž์›์ผ ๊ฒฝ์šฐ๋งŒ ํ•ด๋‹น)

์žฅ์ : ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—… ๋ฐฉ์‹์„ ์ œํ•œํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ๊ต์ฐฉ ์ƒํƒœ ํŒŒ์•… ๊ฐ€๋Šฅ

๋‹จ์ : ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„ ์œ ์ง€, ๊ฐฑ์‹ , ์‚ฌ์ดํด ๊ฒ€์‚ฌํ•˜๋Š” ์ถ”๊ฐ€ ์ž‘์—… ๋ฐœ์ƒ์œผ๋กœ ์ธํ•ด ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ

 

๊ต์ฐฉ ์ƒํƒœ ํšŒ๋ณต

1๏ธโƒฃ ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ์ผ์œผํ‚จ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ• -> ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒํ•œ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•  ๋•Œ๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•จ

 

2๏ธโƒฃ ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ์ผ์œผํ‚จ ํ”„๋กœ์„ธ์Šค ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ ์ˆœ์„œ๋Œ€๋กœ ์ข…๋ฃŒ

์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ ์ข…๋ฃŒํ• ๊นŒ โ“

1. ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค ๋จผ์ € ์ข…๋ฃŒ

2. ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ ์ž‘์—… ์‹œ๊ฐ„์ด ์งง์€ ํ”„๋กœ์„ธ์Šค ๋จผ์ € ์ข…๋ฃŒ

3. ์œ„ ๋‘ ์กฐ๊ฑด์ด ๊ฐ™์„ ๊ฒฝ์šฐ ์ž์›์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๋จผ์ € ์ข…๋ฃŒ

 

ํšŒ๋ณต ์ƒํƒœ์—์„œ ์ค‘์š”ํ•œ ์ ์€ ํ”„๋กœ์„ธ์Šค ๊ฐ•์ œ ์ข…๋ฃŒ์™€ ๋”๋ถˆ์–ด ๊ฐ•์ œ ์ข…๋ฃŒ๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์‹œ์Šคํ…œ์„ ๋ณต๊ตฌํ•˜๋Š” ์ผ์ด ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ๊ฒ€์‚ฌ ์‹œ์ ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.

 

๐Ÿ’ก ๋‹ค์ค‘ ์ž์›๊ณผ ๊ต์ฐฉ ์ƒํƒœ ๊ฒ€์ถœ

๋‹ค์ค‘ ์ž์›์ด ์žˆ๋Š” ๋Œ€๊ธฐ ๊ทธ๋ž˜ํ”„์—์„œ ๊ทธ๋ž˜ํ”„ ๊ฐ์†Œ๋ฅผ ์™„๋ฃŒํ•œ ํ›„์—๋„ ์‚ฌ์ดํด์ด ๋‚จ์•„์žˆ๋‹ค๋ฉด ๊ต์ฐฉ์ƒํƒœ ๋ฐœ์ƒ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค.

๋Œ€๊ธฐ ๊ทธ๋ž˜ํ”„: ์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„์—์„œ ํ”„๋กœ์„ธ์Šค์™€ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ด€๊ณ„๋งŒ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ž˜ํ”„

๊ทธ๋ž˜ํ”„ ๊ฐ์†Œ: ๋๋‚  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ํ™”์‚ดํ‘œ์™€ ๊ด€๋ จ ํ”„๋กœ์„ธ์Šค์˜ ํ™”์‚ดํ‘œ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์ง€์›Œ๋‚˜๊ฐ€๋Š” ์ž‘์—…

์ž์› ํ• ๋‹น ๊ทธ๋ž˜ํ”„

 

๋‹ค์ค‘ ์ž์›์ผ ๊ฒฝ์šฐ ์‚ฌ์ดํด์ด ๋ฐœ์ƒํ–ˆ์„ ์‹œ ๋Œ€๊ธฐ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ด์•ผ ํ•œ๋‹ค โ—

๋Œ€๊ธฐ ๊ทธ๋ž˜ํ”„

 

1. P2๊ฐ€ ๋๋‚  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์ด๊ธฐ์— 1๋ฒˆ ํ™”์‚ดํ‘œ๋ฅผ ์ง€์šด๋‹ค.

2. P1์ด ๋๋‚  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์ด๊ธฐ์— 2๋ฒˆ์„ ์ง€์šด๋‹ค.

3. P4๊ฐ€ ๋๋‚  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์ด๊ธฐ์— 3๋ฒˆ์„ ์ง€์šด๋‹ค.

4. P3์ด ๋๋‚  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์ด๊ธฐ์— 4๋ฒˆ์„ ์ง€์šด๋‹ค.

 

๊ทธ๋ž˜ํ”„ ๊ฐ์†Œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

๐Ÿ’ก ์Šค์ผ€์ค„๋ง ๋‹จ๊ณ„

๋ ˆ๋ฒจ 1 - ๊ณ ์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง: ์‹œ์Šคํ…œ์—์„œ ์ „์ฒด ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜๋ฅผ ๊ฒฐ์ •

๋ ˆ๋ฒจ 2 - ์ค‘๊ฐ„ ์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง: ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ™œ์„ฑํ™” ์ƒํƒœ์ผ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ์ด๋ฏธ ํ™œ์„ฑํ™”๋œ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€๋ฅผ ๋ณด๋ฅ˜ ์ƒํƒœ๋กœ ๋ณด๋‚ธ๋‹ค.

๋ ˆ๋ฒจ 3 - ์ €์ˆ˜์ค€ ์Šค์ผ€์ค„๋ง: ์ค€๋น„ ์ƒํƒœ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ ์ƒํƒœ๋กœ ๋ณด๋‚ด๊ฑฐ๋‚˜, ์‹คํ–‰ ์ƒํƒœ๋ฅผ ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ๋ณด๋‚ด๊ฑฐ๋‚˜ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์˜ ์Šค์ผ€์ค„๋ง

 

CPU ์Šค์ผ€์ค„๋ง์„ ํ•  ๋•Œ ๊ณ ๋ ค์‚ฌํ•ญ๋“ค์ด ๋ฌด์—‡์ด ์žˆ์„๊นŒ โ“

์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๋Š” ์ค‘์š”๋„๊ฐ€ ๋†’๊ธฐ์— ๋” ์ž์ฃผ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. 

์ปค๋„ ํ”„๋กœ์„ธ์Šค, ์ „๋ฉด ํ”„๋กœ์„ธ์Šค, ๋Œ€ํ™”ํ˜• ํ”„๋กœ์„ธ์Šค, ์ž…์ถœ๋ ฅ ํ”„๋กœ์„ธ์Šค๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๊ณ 

์ผ๋ฐ˜ ํ”„๋กœ์„ธ์Šค, ํ›„๋ฉด ํ”„๋กœ์„ธ์Šค, ์ผ๊ด„์ฒ˜๋ฆฌ ํ”„๋กœ์„ธ์Šค, CPU ์ง‘์ค‘ ํ”„๋กœ์„ธ์Šค๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ๋‹ค.

 

์ž…์ถœ๋ ฅ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU ์ง‘์ค‘ ํ”„๋กœ์„ธ์Šค๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰ ์ƒํƒœ์— ๋“ค์–ด๊ฐ€์•ผ ์‹œ์Šคํ…œ ์ž์›์„ ๋”์šฑ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ(์‚ฌ์ดํด ํ›”์น˜๊ธฐ)ํ•˜๋‹ค.

์ž…์ถœ๋ ฅ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž…์ถœ๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ CPU ์ง‘์ค‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

๋‹ค์ค‘ ํ๊ฐ€ ์™œ ํ•„์š”ํ• ๊นŒโ“

ํ”„๋กœ์„ธ์Šค์˜ ์ค‘์š”๋„๋Š” PCB์— ํ‘œ์‹œ๋˜์–ด ์žˆ์ง€๋งŒ CPU ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ๋งค๋ฒˆ PCB๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ 

 

๐Ÿ‘€ ์ค€๋น„ ์ƒํƒœ์˜ ๋‹ค์ค‘ ํ

์šฐ์„ ์ˆœ์œ„๋งˆ๋‹ค ํ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ์ค€๋น„ ์ƒํƒœ์— ๋“ค์–ด์˜ฌ๋•Œ ์ž์‹ ์˜ ์šฐ์„ ์ˆœ์œ„ ํ์— ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ์›์†Œ ๊ฐ’์œผ๋กœ ๋“ค์–ด์˜จ๋‹ค.

 

๐Ÿ‘€ ๋Œ€๊ธฐ ์ƒํƒœ์˜ ๋‹ค์ค‘ ํ

๊ฐ™์€ ์ž…์ถœ๋ ฅ์„ ์š”๊ตฌํ•œ ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ ํ๋ฅผ ๋ชจ์•„๋†“๋Š”๋‹ค.

 

์ค€๋น„์ƒํƒœ์˜ ๋‹ค์ค‘ ํ์™€ ๋Œ€๊ธฐ์ƒํƒœ์˜ ๋‹ค์ค‘ ํ์˜ ์ฐจ์ด

์ค€๋น„ ํ๋Š” ํ•œ๋ฒˆ์— ํ•˜๋‚˜์˜ PCB๋งŒ ์ด๋™, ๋Œ€๊ธฐ ํ๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ PCB ์ด๋™ -> ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ

 

ํ”„๋กœ์„ธ์Šค ์šฐ์„ ์ˆœ์œ„ ๋ฐฐ์ •๋ฐฉ๋ฒ•

1๏ธโƒฃ ๊ณ ์ • ์šฐ์„ ์ˆœ์œ„ ๋ฐฉ์‹: ์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค.

2๏ธโƒฃ ๋ณ€๋™ ์šฐ์„ ์ˆœ์œ„ ๋ฐฉ์‹: ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์‹œ ๋ถ€์—ฌ๋ฐ›์€ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ํ”„๋กœ์„ธ์Šค ์ž‘์—… ์ค‘๊ฐ„์— ๋ณ€ํ•˜๋Š” ๋ฐฉ์‹

 

๋ฐ˜์ „ ์šฐ์„ ์ˆœ์œ„: ํ”„๋กœ์„ธ์Šค์˜ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ 

 

๐Ÿ’ก ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ตฌ๋ถ„ ์ข…๋ฅ˜
๋น„์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜ FCFS ์Šค์ผ€์ค„๋ง, SJF ์Šค์ผ€์ค„๋ง, HRN ์Šค์ผ€์ค„๋ง
์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง, SRT ์Šค์ผ€์ค„๋ง, ๋‹ค๋‹จ๊ณ„ ํ ์Šค์ผ€์ค„๋ง, ๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง
๋‘˜ ๋‹ค ๊ฐ€๋Šฅ ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง

 

โœŒ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง

FCFS ์Šค์ผ€์ค„๋ง: ์ค€๋น„ ํ์— ๋„์ฐฉํ•œ ์ˆœ์„œ๋Œ€๋กœ CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง, ํ๊ฐ€ ํ•˜๋‚˜๋ผ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋™์ผ, ์ดˆ๊ธฐ ์ผ๊ด„ ์ž‘์—… ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ -> ์ฝ˜๋ณด์ด ํšจ๊ณผ, CPU์˜ ์‰ฌ๋Š” ์‹œ๊ฐ„์ด ํ–ฅ์ƒ

 

SJF ์Šค์ผ€์ค„๋ง: ์ค€๋น„ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘์—์„œ ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์งง์€ ์ž‘์—…๋ถ€ํ„ฐ CPU๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋น„์„ ์ ํ˜• ๋ฐฉ์‹, ํ๊ฐ€ ํ•˜๋‚˜๋ผ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋™์ผ -> ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ์‹œ๊ฐ„ ์˜ˆ์ธก ์–ด๋ ค์›€(๋Œ€ํ™”ํ˜• ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŽ๊ธฐ์—), ์•„์‚ฌ ํ˜„์ƒ ๋ฐœ์ƒ

 

HRN ์Šค์ผ€์ค„๋ง: SJF ์Šค์ผ€์ค„๋ง์˜ ์•„์‚ฌํ˜„์ƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋น„์„ ์ ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ๊ฐ€ ํ•˜๋‚˜๋ผ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋™์ผ, ๋Œ€๊ธฐ์‹œ๊ฐ„๊ณผ CPU ์‚ฌ์šฉ์‹œ๊ฐ„์„ ๊ณ ๋ คํ•˜๊ธฐ์— ์—์ด์ง•์„ ๊ตฌํ˜„ํ–ˆ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ -> ์—ฌ์ „ํžˆ ๊ณตํ‰์„ฑ ์œ„๋ฐฐ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ

 

โœŒ ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง

๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง: ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค ๋™์•ˆ ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€ ํƒ€์ž„ ์•„์›ƒ์ด ๋˜๋ฉด ์ค€๋น„ ํ์˜ ๋งจ ๋’ค๋กœ ๊ฐ€์„œ ์ž๊ธฐ ์ฐจ๋ก€๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ˆœํ™˜ ์ˆœ์„œ ๋ฐฉ์‹, ํ๊ฐ€ ํ•˜๋‚˜๋ผ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋™์ผ

 

๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์—์„œ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค ํฌ๊ธฐ์™€ ๋ฌธ๋งฅ ๊ตํ™˜์ด๋‹ค.

 

1. ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋„ˆ๋ฌด ํฐ ๊ฒฝ์šฐ : ํ•˜๋‚˜์˜ ์ž‘์—…์ด ๋๋‚œ ๋’ค ๋‹ค์Œ ์ž‘์—…์ด ์‹œ์ž‘๋˜๋Š” ๊ฒƒ(FCFS ์Šค์ผ€์ค„๋ง์ฒ˜๋Ÿผ ๋ณด์ž„)

 

2. ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋„ˆ๋ฌด ์ž‘์€ ๊ฒฝ์šฐ: ๋ฌธ๋งฅ ๊ตํ™˜์ด ๋„ˆ๋ฌด ์ž์ฃผ ์ผ์–ด๋‚˜์„œ ๋ฌธ๋งฅ ๊ตํ™˜์œผ๋กœ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์—ฌ ์‹ค์ œ ์ž‘์—…์„ ๋ชป ํ•˜๊ฒŒ ๋จ

 

SRT ์Šค์ผ€์ค„๋ง: SJF ์Šค์ผ€์ค„๋ง + ๋ผ์šด๋“œ ๋กœ๋นˆ ์Šค์ผ€์ค„๋ง, ์ฆ‰ SJF ์Šค์ผ€์ค„๋ง์˜ ์„ ์ ํ˜• ๋ฒ„์ „ -> ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์Šค์ผ€์ค„๋ง๊ณผ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋‚จ์€ ์‹œ๊ฐ„์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ณ„์‚ฐ, ๋ฌธ๋งฅ ๊ตํ™˜ ๋ฐœ์ƒ

 

โœŒ ๋‘˜ ๋‹ค ๊ฐ€๋Šฅ

์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง : ์šฐ์„ ์ˆœ์œ„๋ฅผ ์–ด๋–ป๊ฒŒ ์ •ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•˜๊ฒŒ ๊ตฌํ˜„ ( SJF ์Šค์ผ€์ค„๋ง, HRN ์Šค์ผ€์ค„๋ง, SRT ์Šค์ผ€์ค„๋ง ์ „๋ถ€ ๊ฐ€๋Šฅ) -> ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ฐ”๊ฟˆ์œผ๋กœ ์ธํ•ด ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ, ์•„์‚ฌ ํ˜„์ƒ

 

 

๋‹ค๋‹จ๊ณ„ ํ ์Šค์ผ€์ค„๋ง

๊ณ ์ •ํ˜• ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์ค€๋น„ ํ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹, ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹ ๊ตฌํ˜„ ๊ฐ€๋Šฅ, ํ ์ž์ฒด๋Š” ๋ผ์šด๋“œ ๋กœ๋นˆ ๋ฐฉ์‹์œผ๋กœ ์šด์˜, ์ƒ๋‹จ์˜ ํ์— ์žˆ๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค ์ž‘์—…์ด ๋๋‚˜์•ผ ๋‹ค์Œ ์šฐ์„ ์ˆœ์œ„ ํ์˜ ์ž‘์—…์ด ์‹œ์ž‘๋œ๋‹ค. -> ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์ธ ๊ฒฝ์šฐ ์ž‘์—…์ด ์—ฐ๊ธฐ

 

๋‹ค๋‹จ๊ณ„ ํ”ผ๋“œ๋ฐฑ ํ ์Šค์ผ€์ค„๋ง

์˜ค๋Š˜๋‚  ์šด์˜์ฒด์ œ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹, ๋ณ€๋™ ์šฐ์„ ์ˆœ์œ„ ๋ฐฉ์‹

1. CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋‚œ ํ”„๋กœ์„ธ์Šค๋Š” ์›๋ž˜์˜ ํ๋กœ ๋Œ์•„๊ฐ€์ง€ ์•Š๊ณ  ์šฐ์„ ์ˆœ์œ„๊ฐ€ ํ•˜๋‚˜ ๋‚ฎ์€ ํ์˜ ๋์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค

2. ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค.

์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค์˜ ํฌ๊ธฐ๋Š” ์ปค์ง„๋‹ค. -> ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ๋‹ค๋Š” ๊ฒƒ์€ ์–ด๋ ต๊ฒŒ CPU๋ฅผ ์–ป์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๊ณ  ๋”ฐ๋ผ์„œ ํ•œ๋ฒˆ ์–ป์€ ๊ฑฐ ์˜ค๋ž˜ ์‚ฌ์šฉํ•˜๋ผ๋Š” ๊ฒƒ -> ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋Š” ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ๋ฌดํ•œ๋Œ€์ด๋ฏ€๋กœ ๋น„์„ ์ ํ˜• -> FCFS ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ (์œ ๋‹‰์Šค ์šด์˜์ฒด์ œ์—์„œ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๋ฅผ ๊ณ ์ •ํ•˜์ง€ ์•Š๊ณ  10~200 ๋ฐ€๋ฆฌ์ดˆ ์‚ฌ์ด์—์„œ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ ์ด์œ )

 

 

์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์™œ ๋‚˜์™”์„๊นŒ โ“

CPU๊ฐ€ ์ž…์ถœ๋ ฅ ์žฅ์น˜์˜ ์ƒํƒœ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•ด์„œ ์ผ์ • ์กฐ๊ฑด์ด ๋งŒ์กฑํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ–ˆ๋‹ค. 

์ ์  ์ปดํ“จํ„ฐ ์ฃผ๋ณ€์žฅ์น˜๋“ค(๋งˆ์šฐ์Šค, ํ‚ค๋ณด๋“œ, ํ”„๋ฆฐํ„ฐ, ํ•˜๋“œ๋””์Šคํฌ ๋“ฑ๋“ฑ)์ด ๋งŽ์•„์ ธ์„œ ์ž…์ถœ๋ ฅ๊นŒ์ง€ ๊ด€์—ฌํ•˜๋Š”๋ฐ ํ•œ๊ณ„๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ์— ์ธํ„ฐ๋ŸฝํŠธ ๋ฐฉ์‹์ด ๋‚˜์™”๋‹ค.

 

Polling ๋ฐฉ์‹: CPU๊ฐ€ ์ง์ ‘ ์ž…์ถœ๋ ฅ ์žฅ์น˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋‚ด๋ณด๋‚ด๋Š” ๋ฐฉ์‹

์ธํ„ฐ๋ŸฝํŠธ ๋ฐฉ์‹: CPU๊ฐ€ ์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ž…์ถœ๋ ฅ ๋ช…๋ น์„ ๋ณด๋‚ด๊ณ  ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์™„๋ฃŒ๋˜๋ฉด ์™„๋ฃŒ ์‹ ํ˜ธ๋ฅผ CPU์—๊ฒŒ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹

 

๋™๊ธฐ์  ์ธํ„ฐ๋ŸฝํŠธ(= ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ŸฝํŠธ) : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น์–ด๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ

๋น„๋™๊ธฐ์  ์ธํ„ฐ๋ŸฝํŠธ : ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น์–ด์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ

 

CPU๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋™์‹œ์— ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋•Œ๋งˆ๋‹ค ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋ฉด ๋น„ํšจ์œจ์ 

์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌ

 

์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ: ์ธํ„ฐ๋ŸฝํŠธ์™€ ์ธํ„ฐ๋ŸฝํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ 1:1๋กœ ์—ฐ๊ฒฐํ•œ ์ž๋ฃŒ๊ตฌ์กฐ

 

์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ๊ณผ์ •

1. ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ ์‹œ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋Š” ์ผ์‹œ ์ •์ง€ ์ƒํƒœ๊ฐ€ ๋˜๋ฉฐ, ์žฌ์‹œ์ž‘์„ ์œ„ํ•ด ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅ

2. ์ธํ„ฐ๋ŸฝํŠธ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์‹คํ–‰๋˜์–ด ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ์ˆœ์„œ ๊ฒฐ์ •

3. ํ•ด๋‹น ์ธํ„ฐ๋ŸฝํŠธ์— ํ•ด๋‹นํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ ํ•ธ๋“ค๋Ÿฌ ์‹คํ–‰

4. ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ๋ฅผ ๋งˆ์น˜๋ฉด ์ผ์‹œ ์ •์ง€๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ์ข…๋ฃŒ

 

์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ ์‹œ์Šคํ…œ ์ž์›์„ ํ•  ์žฅ ๋ฐ›๋Š” ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค.

 

์‹œ์Šคํ…œ ์ž์›์˜ ์˜ˆ๋กœ๋Š” ๋ฌด์—‡์ด ์žˆ์„๊นŒ โ“

1. CPU ์‹œ๊ฐ„

2. ์šด์˜๋˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„

3. Code, Data, Stack, Heap์˜ ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ๋Š” ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ

 

ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์‹คํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ํ๋ฆ„์˜ ๋‹จ์œ„์ธ ์Šค๋ ˆ๋“œ์™€ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ณต์œ ํ•œ๋‹ค.

 

ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ์•ˆ์— ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌ(๊ธฐ๋ณธ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ)ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์žˆ๋Š” ์Šค๋ ˆ๋“œ๋“ค์€ ๊ฐ๊ฐ์˜ Stack ์˜์—ญ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  Code, Data, Heap ์˜์—ญ์€ ๊ณต์œ ํ•œ๋‹ค. 

์Šคํƒ ์•ˆ์—๋Š” ์ง€์—ญ๋ณ€์ˆ˜, ๋ฆฌํ„ด ์ฃผ์†Œ, ๊ฐ’ ํŒŒ๋ผ๋ฏธํ„ฐ, ๋ฆฌํ„ด ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋ฉฐ ์ด๊ฒƒ์€ ๊ฐ๊ฐ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

ํž™ ์•ˆ์—๋Š” ๋™์ ์œผ๋กœ ํ• ๋‹น๋˜๋Š” ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉฐ ์ด๋ฅผ ๊ณต์œ ํ•˜๊ธฐ์— ํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ํ”„๋กœ์„ธ์Šค ์ž์›์„ ๋ณ€๊ฒฝํ•˜๋ฉด(๋™์ ์ด๋ผ๋Š” ๋œป์ด๋ฏ€๋กœ ์ฆ‰ Heap Area ๋ถ€๋ถ„) ๋‹ค๋ฅธ ์ด์›ƒ ์Šค๋ ˆ๋“œ๋„ ๋ณ€๊ฒฝ ์‚ฌ์‹ค์„ ์ฆ‰์‹œ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ ๋ณ€๊ฒฝ์‚ฌ์‹ค์„ ๋ฐ›์•„์™€์„œ ์Šคํƒ์—์„œ ํ™œ๋™์„ ํ•˜์—ฌ ๋ฐ˜์˜ํ•  ๊ฒƒ์ด๋‹ค.

 

๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ
ํ•˜๋‚˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ ํ•˜๋‚˜์˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ๊ฐ ์Šค๋ ˆ๋“œ๋กœ ํ•˜์—ฌ๊ธˆ ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ
์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž์‹ ํ”„๋กœ์„ธ์Šค ์ค‘ ํ•˜๋‚˜์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ์ „ํŒŒ๋˜์ง€ ์•Š๋Š”๋‹ค. ํ†ต์‹  ๋ถ€๋‹ด ์ ์Œ, ์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ฆ๊ฐ€, ์‹œ์Šคํ…œ ์ž์› ์†Œ๋ชจ ๊ฐ์†Œ
Context Switching ๋ฐœ์ƒ(CPU ๋ ˆ์ง€์Šคํ„ฐ ๊ต์ฒด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ RAM๊ณผ CPU ์‚ฌ์ด์˜ ์บ์‰ฌ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์ดˆ๊ธฐํ™”), ํ”„๋กœ์„ธ์Šค๊ฐ„ ์–ด๋ ต๊ณ  ๋ณต์žกํ•œ ํ†ต์‹ ๊ธฐ๋ฒ• ์ž์› ๊ณต์œ ์˜ ๋ฌธ์ œ ๋ฐœ์ƒ (๋™๊ธฐํ™” ๋ฌธ์ œ ๋ฐœ์ƒ), ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ „์ฒด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค.

 

๋™๊ธฐํ™” ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ• ๊นŒ โ“

๋ณ‘ํ–‰ ์ œ์–ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๋ถˆ์ผ์น˜๋ฅผ ๋ง‰์•„์•ผ ํ•œ๋‹ค.

 

๐Ÿ’ก ์ž„๊ณ„ ์˜์—ญ

ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜์ • ๊ฐ€๋Šฅํ•œ ๊ณต์œ ์ž์›์„ ์•ก์„ธ์Šคํ•˜๊ณ  ์žˆ์„ ๋•Œ, ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋Š” ๊ทธ ๊ณต์œ  ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก ๋ณด์žฅ

 

๐Ÿ’ก ์ž„๊ณ„ ๊ตฌ์—ญ ์ƒํ˜ธ ๋ฐฐ์ œ ๊ธฐ๋ฒ•

 

1. ๋ฎคํ…์Šค

์ผ์ข…์˜ locking ๋งค์ปค๋‹ˆ์ฆ˜์œผ๋กœ lock์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ๋งŒ ๊ณต์œ  ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ฐ€๋Šฅ

ํ‚ค๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋งŒ์ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ณ  ์ผ์ด ๋๋‚˜๋ฉด ํ‚ค ๋ฐ˜๋‚ฉ

 

2. ์„ธ๋งˆํฌ์–ด

๋™์‹œ์— ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ counter์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธ

count ์ˆ˜๊ฐ€ 1๊ฐœ๋ฉด binary semaphore๋ผ๊ณ  ํ•˜๋ฉฐ ์ด๋Š” ๋ฎคํ…์Šค์™€ ๊ฐœ๋…์ ์œผ๋กœ ๊ฐ™๋‹ค.

์—ฌ๋Ÿฌ๊ฐœ์ด๋ฉด counting semaphore๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.

 

3. ๋ชจ๋‹ˆํ„ฐ

๋ฎคํ…์Šค์™€ condition valuable๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๋งค์ปค๋‹ˆ์ฆ˜

์ˆœ์ฐจ์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต์œ ์ž์›์ด๋‚˜ ๊ทธ๋ฃน์— ํ• ๋‹นํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์‹œ์ €๋ฅผ ํฌํ•จํ•˜๋Š” ๋ณ‘ํ–‰์„ฑ ๊ณ ๊ธ‰ ๊ตฌ์กฐ์ฒด

๋ชจ๋‹ˆํ„ฐ ๋‚ด๋ถ€ ๋ณ€์ˆ˜๋Š” ๋ชจ๋‹ˆํ„ฐ ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋Š” ์ •๋ณด์˜ ์€ํ ๊ธฐ๋ฒ•

๋ชจ๋“  ์ž๋ฐ” ๊ฐ์ฒด๋Š” Monitor๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.

 

๋ฎคํ…์Šค์™€ ์„ธ๋งˆํฌ์–ด์˜ ์ฐจ์ด์ ์€ โ“

๋ฎคํ…์Šค๋Š” ๊ณต์œ ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ๊ถŒํ•œ ์ฆ‰ lock์ด๋ผ๋Š” ํ‚ค๋ฅผ ํ•œ๊ฐœ๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ  ์„ธ๋งˆํฌ์–ด๋Š” ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ€๋Šฅ

์ปดํ“จํ„ฐ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์Šคํ…œ ๋‚ด์— ์กด์žฌํ•˜๊ธฐ์— ์ž์›์„ ํ• ๋‹นํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค. ์ด๊ฒƒ์„ ์Šค์ผ€์ค„๋ง์ด๋ผ ํ•œ๋‹ค. ์ฆ‰ ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง์€ ํ”„๋กœ์„ธ์„œ ์‚ฌ์šฉ์‹œ๊ฐ„์„ ํ”„๋กœ์„ธ์Šค๋“ค์—๊ฒŒ ๋ถ„๋ฐฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์ ์€ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.

 

์‹œ์Šคํ…œ ์„ฑ๋Šฅ์˜ ์ง€ํ‘œ์—๋Š” ๋ฌด์—‡์ด ์žˆ์„๊นŒ โ“

  1. ์‘๋‹ต ์‹œ๊ฐ„ : ์ž‘์—… ์š”์ฒญ์œผ๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์„ ๋•Œ๊นŒ์ง€์˜ ์‹œ๊ฐ„
  2. ์ž‘์—… ์ฒ˜๋ฆฌ๋Ÿ‰ : ๋‹จ์œ„ ์‹œ๊ฐ„ ๋™์•ˆ ์™„๋ฃŒ๋œ ์ž‘์—…์˜ ์ˆ˜
  3. ์ž์› ํ™œ์šฉ๋„ : ์ฃผ์–ด์ง„ ์‹œ๊ฐ„ ๋™์•ˆ ์ž์›์ด ํ™œ์šฉ๋œ ์‹œ๊ฐ„

์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์ง€ํ‘œ๋“ค์ด ์žˆ์ง€๋งŒ ์ง€ํ‘œ์˜ ์ข…๋ฅ˜๋ณด๋‹ค ์ค‘์š”ํ•œ๊ฒƒ์€ ๋ชฉ์ ์— ๋งž๊ฒŒ ์ง€ํ‘œ๋ฅผ ์„ ํƒํ•ด ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์‘๋‹ต ์‹œ๊ฐ„์ด ์ค‘์š”ํ•œ ์‹œ์Šคํ…œ์€ ๋Œ€ํ™”ํ˜• ์‹œ์Šคํ…œ์—์„œ, ์ž‘์—… ์ฒ˜๋ฆฌ๋Ÿ‰์€ ์ผ๊ด„์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ์ž์› ํ™œ์šฉ๋„๋Š” ๋น„์‹ผ ์žฅ๋น„์˜ ์‹œ์Šคํ…œ์ผ ๊ฒฝ์šฐ ์ค‘์š”ํ•˜๋‹ค.

 

์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•์ด ๊ณ ๋ คํ•˜๋Š” ํ•ญ๋ชฉ๋“ค์„ ์•Œ์•„๋ณด์ž.

  • ํ”„๋กœ์„ธ์Šค์˜ ํŠน์„ฑ : I/O-bounded , compute-bounded
  • ์‹œ์Šคํ…œ ํŠน์„ฑ : Batch system, interactive system
  • ํ”„๋กœ์„ธ์Šค์˜ ๊ธด๊ธ‰์„ฑ
  • ํ”„๋กœ์„ธ์˜ ์šฐ์„ ์ˆœ์œ„
  • ํ”„๋กœ์„ธ์Šค ์ด ์‹คํ–‰์‹œ๊ฐ„

 

 

ํ”„๋กœ์„ธ์Šค๋Š” CPU๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  I/O๋ฅผ ๋Œ€๊ธฐํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ˆ˜ํ–‰๋œ๋‹ค. CPU burst๋ž€ CPU ์‚ฌ์šฉ์‹œ๊ฐ„์„ ์ด์•ผ๊ธฐํ•˜๊ณ  I/O burst๋ž€ I/O๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ด์•ผ๊ธฐํ•œ๋‹ค. Burst time์€ ์Šค์ผ€์ค„๋ง์˜ ๊ธฐ์ค€์˜ ํ•˜๋‚˜๋กœ์จ CPU burst > I/O burst ๋ผ๋ฉด compute-bounded ๋ผ๊ณ ํ•œ๋‹ค. ๋ฐ˜๋ฉด์— CPU burst < I/O burst ๋ผ๋ฉด I/O-bounded๋ผ๊ณ  ํ•œ๋‹ค.

 

 

์Šค์ผ€์ค„๋ง์˜ ๋‹จ๊ณ„

๋ฐœ์ƒํ•˜๋Š” ๋นˆ๋„ ๋ฐ ํ• ๋‹น ์ž์›์— ๋”ฐ๋ผ ์Šค์ผ€์ค„๋ง์„ ๊ตฌ๋ถ„ํ•œ๋‹ค.

โœŒ Long-term Scheduling

Job scheduling์ด ์†ํ•˜๋ฉฐ Job scheduling์ด๋ž€ ์–ด๋–ค Job์„ ์ปค๋„์— ๋“ฑ๋กํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๋งํ•œ๋‹ค. Job scheduling์€

ํ”„๋กœ์„ธ์Šค ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๋ฏ€๋กœ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ •๋„๋ฅผ ์กฐ์ ˆํ•œ๋‹ค. ๊ทธ๋ž˜์„œ I/O-bounded์™€ compute-bounded ํ”„๋กœ์„ธ์Šค๋“ค์„ ์ž˜ ์„ž์–ด์„œ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ CPU๊ฐ€ ์ž‘์—…์„ ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ I/O ๋Œ€๊ธฐ๊ฐ€ ์—†์–ด ์Šคํ…Œ ์ค„ ๋ง์ด ํž˜๋“  ๊ฒฝ์šฐ ๋“ฑ ๋น„ํšจ์œจ์„ฑ์ด ์ƒ๊ธฐ์ง€ ์•Š๋Š”๋‹ค.

โœŒ Mid-term Scheduling

์–ด๋А ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ Swapping์ด ์†ํ•œ๋‹ค.

โœŒ Short-term Scheduling

Process scheduling์ด ์—ฌ๊ธฐ์— ์†ํ•˜๋ฉฐ Process scheduling์ด๋ž€ ํ”„๋กœ์„ธ์„œ๋ฅผ ํ• ๋‹นํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒ๋˜๊ธฐ์— ๋งค์šฐ ๋นจ๋ผ์•ผ ํ•œ๋‹ค.

 

์Šค์ผ€์ค„๋ง ๋‹จ๊ณ„ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

 

์Šค์ผ€์ค„๋ง ์ •์ฑ…์„ ์•Œ์•„๋ณด์ž โ—

  • ์„ ์  VS ๋น„์„ ์ 
์„ ์ /๋น„์„ ์  ์Šค์ผ€์ค„๋ง ์˜๋ฏธ ์žฅ์  ๋‹จ์ 
๋น„์„ ์  ์Šค์ผ€์ค„๋ง ํ• ๋‹น ๋ฐ›์€ ์ž์›์„ ์Šค์Šค๋กœ ๋ฐ˜๋‚ฉํ•  ๋•Œ๊นŒ์ง€ ์‚ฌ์šฉํ•˜๊ธฐ์— ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋นผ์•—์„์ˆ˜ ์—†๋‹ค. Context switch overhead๊ฐ€ ์ ๋‹ค. ํ‰๊ท  ์‘๋‹ต์‹œ๊ฐ„ ์ฆ๊ฐ€, ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ฐ€๋ ค๋‚œ๋‹ค.
์„ ์  ์Šค์ผ€์ค„๋ง ํƒ€์˜์— ์˜ํ•ด ์ž์›์„ ๋นผ์•—๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์‘๋‹ต์„ฑ์ด ๋†’์•„ ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ ๋“ฑ์— ์ ํ•ฉํ•˜๋‹ค. Context switch overhead๊ฐ€ ํฌ๋‹ค.

 

  • ์šฐ์„ ์ˆœ์œ„
์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง ์˜๋ฏธ ์žฅ์  ๋‹จ์ 
์ •์  ์šฐ์„ ์ˆœ์œ„ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ์‹œ ๊ฒฐ์ •๋œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ณ„์† ์œ ์ง€๋จ ๊ตฌํ˜„์ด ์‰ฝ๊ณ  overhead๊ฐ€ ์ ๋‹ค. ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋Œ€ํ•œ ๋Œ€์‘์ด ์–ด๋ ต๋‹ค.
๋™์  ์šฐ์„ ์ˆœ์œ„ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๋ณ€ํ™”์— ๋”ฐ๋ผ์ƒ์„ฑ์‹œ ๊ฒฐ์ •๋œ ์šฐ์„ ์ˆœ์œ„ ๋ณ€๊ฒฝ ๊ตฌํ˜„์ด ๋ณต์žกํ•˜๊ณ  overhead๊ฐ€ ํฌ๋‹ค. ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋Œ€ํ•ด ์œ ์—ฐํ•œ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ž์›์„ ํ• ๋‹น๋ฐ›์œผ๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ทธ ์ž์›์„ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด ์šด์˜์ฒด์ œ์˜ ๊ธฐ๋ณธ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์Šค๋ ˆ๋“œ๋ž€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ œ์–ดํ•˜๋Š” ๋ถ€๋ถ„์„ ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

์Šค๋ ˆ๋“œ๋ž€ โ“

ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋“ค๊ณผ ์ž์›์€ ๊ณต์œ ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ œ์–ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์Šค๋ ˆ๋“œ์ด๋‹ค. ์Šค๋ ˆ๋“œ๋Š” Thread ID, ์ œ์–ด์ •๋ณด, ์ง€์—ญ ๋ฐ์ดํ„ฐ, ์ง€์—ญ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์Šคํƒ์ด ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ๋˜๋ฉฐ ์ž์›์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Light Weight Process(LWP)๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ์Šค๋ ˆ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด CPU๋ฅผ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ํ”„๋กœ์„ธ์„œ ํ™œ์šฉ์˜ ๊ธฐ๋ณธ๋‹จ์œ„์ด๋‹ค.

 

ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

๊ฐ™์€ ํ”„๋กœ์„ธ์Šค์˜ ์Šค๋ ˆ๋“œ๋“ค์€ ๋™์ผํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ์–ด์„œ ํž™, ๋ฐ์ดํ„ฐ, ์ฝ”๋“œ์˜ ์ž์›์„ ๊ณต์œ ํ•˜๋ฉฐ ๊ฐ๊ฐ์˜ Stack pointer์™€ Program Counter์„ ๊ฐ–๋Š”๋‹ค. ์ด๋ฅผ ํ†ตํ•ด CPU์˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ์—ฌ๋Ÿฌ ์ œ์–ด๊ฐ€ ๋™์‹œ์— ๊ฐ€๋Šฅํ•˜๋‹ค.

 

โœŒ ์Šค๋ ˆ๋“œ์˜ ์žฅ์ 

  • ์‚ฌ์šฉ์ž ์‘๋‹ต์„ฑ ํ–ฅ์ƒน : ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ์ผ ๊ฒฝ์šฐ ์ผ๋ถ€ ์Šค๋ ˆ๋“œ๊ฐ€ ์ง€์—ฐ๋˜์–ด๋„ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋Š” ์ž‘์—…์„ ๊ณ„์† ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ž์› ๊ณต์œ  : ๋™์ผํ•œ ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์ปค๋„์˜ ๊ฐœ์ž…์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒฝ์ œ์„ฑ : context siwtch ๋น„์šฉ์ด๋‚˜ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ๋น„์šฉ์ด ์—†๋‹ค.
  • ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์„œ ํ™œ์šฉ : ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์„œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ์ด๋Š” ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•œ๋‹ค.

โœŒ ์Šค๋ ˆ๋“œ์˜ ๊ตฌํ˜„

1๏ธโƒฃ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ

์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์Šค๋ ˆ๋“œ์˜ ์ƒ์„ฑ๊ณผ ์Šค์ผ€์ค„๋ง์„ ๋‹ด๋‹นํ•˜๋ฉฐ ๋Œ€ํ‘œ์ ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ๋Š” POSIX threds, Win32 threads, Java threads ๋“ฑ์ด ์žˆ๋‹ค. 

ํ•œ ๊ฐœ์˜ ํ”„๋กœ์„ธ ์Šค๋‹ˆ๊น ํ•˜๋‚˜์˜ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๊ฐ€ ์ƒ๊ธฐ๋ฉฐ ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ์— ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์•ˆ์— ์Šค๋ ˆ๋“œ ์ œ์–ด ๋ธ”๋ก(TCB)์ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด์„œ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์ด๊ณ  ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๋Š” ํ•˜๋‚˜์ธ n:1 ๋งคํ•‘์ด๋‹ค. ์ปค๋„์€ ์Šค๋ ˆ๋“œ์˜ ์กด์žฌ๋ฅผ ๋ชจ๋ฅด๊ธฐ์— ์ปค๋„์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์œ ์—ฐํ•œ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์ปค๋„์€ ํ”„๋กœ์„ธ์Šค ๋‹จ์œ„๋กœ ์ž์›์„ ํ• ๋‹นํ•˜๊ธฐ์— ๋งŒ์•ฝ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ block์ด ๋˜๊ณ  ๋‚˜๋จธ์ง€ ์Šค๋ ˆ๋“œ๋“ค์€ ๊ณ„์† ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์„์ง€๋ผ๋„ ์ปค๋„์€ ๊ทธ ์‚ฌ์‹ค์„ ๋ชจ๋ฅด๊ธฐ์— ๋ชจ๋“  ์Šค๋ ˆ๋“œ๊ฐ€ ์ „๋ถ€ ๋Œ€๊ธฐํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

2๏ธโƒฃ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ

OS(์ปค๋„)์ด ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋ฉฐ ์ปค๋„ ์˜์—ญ์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ์— Context switching ๋“ฑ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค.

์‚ฌ์šฉ์ž ์˜์—ญ์˜ ์Šค๋ ˆ๋“œ์˜ ๊ฐœ์ˆ˜๋งŒํผ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๊ฐ€ ์ƒ๊ธฐ๊ธฐ์— 1:1 ๋งคํ•‘์ด๊ณ  ์ปค๋„ ์ˆ˜์ค€์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ์— TCB๋„ ์ปค๋„์— ์ƒ๊ธด๋‹ค. ์ปค๋„์ด ๊ฐ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ์— ์Šค๋ ˆ๋“œ๋“ค์€ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ block์ด ๋˜๋Š” ๊ฒƒ๊ณผ ๊ด€๊ณ„์—†์ด ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๋Š” ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋ณ‘ํ–‰ ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๋ฅผ ํ˜ผํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์—†์„๊นŒ โ“

ํ˜ผํ•ฉํ˜• ์Šค๋ ˆ๋“œ(n:m)

n๊ฐœ์˜ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์™€ m๊ฐœ์˜ ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‚ฌ์šฉ์ž๋Š” ์›ํ•˜๋Š” ์ˆ˜๋งŒํผ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐ๊ฐ์˜ ์žฅ์ ์„ ํ•ฉ์ณค๊ธฐ์— ํšจ์œจ์ ์ด๋ฉด์„œ๋„ ์œ ์—ฐํ•˜๋‹ค.

 

 

 

์ฐธ๊ณ ์ž๋ฃŒ

www.youtube.com/watch?v=YlnvCIZQDkw&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=7

 

+ Recent posts