๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ Computer Science

[OS] ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ์˜ ์ฐจ์ด (feat.iOS ๊ฐœ๋ฐœ์ž)

by Fomagran ๐Ÿ’ป 2021. 2. 4.
728x90
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค!

 

์˜ค๋Š˜ ์•Œ์•„๋ณผ๊ฑด ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ์˜ ์ฐจ์ด์ž…๋‹ˆ๋‹ค.

 

์ €๋„ ์•Œ์•„๋ณด๊ธฐ ์ „์—๋Š” ์“ฐ๋ ˆ๋“œ๋Š” ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ๋งŽ์ด ๋‹ค๋ค„๋ณด์•˜๋Š”๋ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋ญ์ง€? ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

 

(๋‹น์—ฐํžˆ ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ์˜ ์ฐจ์ด๋„ ๋ชฐ๋ž๊ตฌ์š”.....ใ…Ž)

 

๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ๋Š” ๋ฌด์—‡์ด๊ณ  ๊ทธ ์ฐจ์ด์ ์€ ๋ญ”์ง€์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค!

 

๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~

 


Preview


Program

 

๋จผ์ € ํ”„๋กœ์„ธ์Šค๋ฅผ ์•Œ๊ธฐ์ „์— ํ”„๋กœ๊ทธ๋žจ์ด ๋ญ”์ง€ ์•„๋Š”๊ฒŒ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค!

 

์šฐ๋ฆฌ๋Š” ํ‰์ƒ์‹œ์— ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๊ณ  ์ž์ฃผ ๋งํ•˜๋Š”๋ฐ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋Š” ์ •์˜๊ฐ€ ๋ฌด์—‡์ผ๊นŒ์š”?

 

"์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๊ทธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•๊ณผ ์ˆœ์„œ๋ฅผ ๊ธฐ์ˆ ํ•˜์—ฌ ์ปดํ“จํ„ฐ์— ์ฃผ์–ด์ง€๋Š” ์ผ๋ จ์˜ ๋ช…๋ น๋ฌธ ์ง‘ํ•ฉ์ฒด"

 

๋ผ๊ณ  ์ •์˜๋˜์–ด ์žˆ๋„ค์š”.

 

๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ์ฝ”๋“œ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ง‘ํ•ฉ์ฒด์ธ ๊ฒƒ์ด์ฃ !


Process

 

๊ทธ๋Ÿผ ์ด์ œ ํ”„๋กœ์„ธ์Šค ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณผ๊นŒ์š”?

 

ํ”„๋กœ์„ธ์Šค๋ž€ ?

 

"์—ฐ์†์ ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ"

 

์ด๋ผ๊ณ  ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด ๋ง์€ ์ฆ‰, ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ๊ทธ๊ฒŒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜๋Š”๊ฒƒ์ด์ฃ !

 

์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋˜ ๋‹ค๋ฅธ ๋ง๋กœ๋Š” job ํ˜น์€ task๋ผ๊ณ ๋„ ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค.


Memory

 

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋„ ์ž์‹ ๋งŒ์˜ ์˜์—ญ์„ ํ• ๋‹น๋ฐ›๊ฒŒ ๋˜๋Š”๋ฐ์š”.

 

๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ๋Š” 4๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋Š”๋ฐ์š” ์—ฌ๊ธฐ์„  ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ์ค„๋กœ๋งŒ ์„ค๋ช…๋“œ๋ฆด๊ฒŒ์š”~

 

1.Stack

 

 ์Šคํƒ์€ ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฆฌํ„ด ๊ฐ’ ๋“ฑ์ด ์ž ์‹œ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค๊ฐ€ ์‚ฌ๋ผ์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค.

 

2.Heap

 

 ํž™์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋™์  ํ• ๋‹นํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์œผ๋กœ ๋™์  ๋ฐ์ดํ„ฐ ์˜์—ญ์ž…๋‹ˆ๋‹ค.

 

3.Data

 

 ๋ฐ์ดํ„ฐ๋Š” ์ „์—ญ๋ณ€์ˆ˜, ์ •์ ๋ณ€์ˆ˜, ๋ฐฐ์—ด, ๊ตฌ์กฐ์ฒด ๋“ฑ์ด ์ €์žฅ๋˜๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค.

 

4.Code

 

 ์ฝ”๋“œ๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์ฝ”๋“œ ์ž์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ž…๋‹ˆ๋‹ค.


Thread

 

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ œ ์“ฐ๋ ˆ๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณผ๊นŒ์š”?

 

์“ฐ๋ ˆ๋“œ๋ž€? 

 

"์“ฐ๋ ˆ๋“œ(Thread)๋Š” ์–ด๋– ํ•œ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ, ํŠนํžˆ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„์˜ ๋‹จ์œ„ "

 

๋ผ๊ณ  ์ •์˜๋˜์–ด ์žˆ๋„ค์š”.

 

ํ•œ๋งˆ๋””๋กœ ์„ค๋ช…ํ•˜๋ฉด ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ๋…€์„์ธ๊ฑฐ์ฃ .

 

์ž ์ง€๊ธˆ๊นŒ์ง€ ์•Œ์•„๋ณธ ๊ฒƒ์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜๋Š”๊ฒƒ์ด๊ณ  ๊ทธ ํ”„๋กœ์„ธ์Šค ์•ˆ์—

 

์–ด๋–ค ํ๋ฆ„์ด ์‹คํ–‰๋˜๋ฉด ๊ทธ๊ฒŒ ๋ฐ”๋กœ ์“ฐ๋ ˆ๋“œ๊ฐ€ ๋˜๋Š”๊ฒƒ์ด์ฃ !


๋ฉ€ํ‹ฐํƒœ์Šคํ‚น๊ณผ ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ

 

๋จผ์ € ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ฒƒ๊ณผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ฒƒ์„ ๊ฐ๊ฐ ๋ฌด์—‡์ด๋ผ๊ณ  ํ• ๊นŒ์š”?

 

์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฐ”๋กœ ์ž์ฃผ ๋“ค์—ˆ๋˜ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น(Multi-Tasking) ์ด๋ผ๊ณ  ํ•˜๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋Š” ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ(Multi - Thread) ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

์ž ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น์„ ํ•˜๋ฉด ์–ด๋–ค ๋‹จ์ ์ด ์žˆ์„๊นŒ์š”?

 

์•ž์„œ ๋งํ–ˆ๋‹ค์‹œํ”ผ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ฆ‰, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๊ฒŒ ๋˜๊ณ  ๊ทธ๋งŒํผ ์‚ฌ์šฉํ•˜๋Š” ํšŸ์ˆ˜๋„ ๋งŽ์•„์ ธ์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์„ ๋–จ์–ด๋œจ๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๋˜ํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ๊ณต์œ ํ•˜๊ฒŒ ๋งŒ๋“œ๋ ค๋ฉด ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„์ด ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ํ•œ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ์ฐจ์ง€ํ•˜์ง€๋„ ์•Š๊ณ 

 

์“ฐ๋ ˆ๋“œ๋Š” ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ์™€ ์Šคํƒ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์˜์—ญ ๋ฐ์ดํ„ฐ,ํž™,์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์“ฐ๋ ˆ๋“œ๊ฐ„ ์ •๋ณด ๊ณต์œ  ์†๋„๋„ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.


Reference

 

์•„๋ž˜ ๊ธ€๋“ค์„ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค!

 

๋‹ค์ค‘ ์ฒ˜๋ฆฌ(Multiprocessing)

๋‹ค์ค‘ ์ฒ˜๋ฆฌ(Multiprocessing) ์ปดํ“จํ„ฐ๊ฐ€ ๋ฐœ๋‹ฌํ•จ์— ๋”ฐ๋ผ ํ•˜๋‚˜์˜ ์ž‘์—…๋ฟ๋งŒ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ‚ค๋ณด๋“œ ์ž…๋ ฅ, ๋ชจ๋‹ˆํ„ฐ ์ถœ๋ ฅ, ๋„คํŠธ์›Œํฌ ์ž…์ถœ๋ ฅ, ํŒŒ์ผ ์ €์žฅ ๋“ฑ์„ ๋™

proneer.tistory.com

 

 

 

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด๋Š” ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ, ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์ˆ ๋ฉด์ ‘์—์„œ ๋‹จ๊ณจ ์งˆ๋ฌธ ์‚ฌํ•ญ์œผ๋กœ ๋‚˜์˜จ๋‹ค.

velog.io


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

 

๋งŒ์•ฝ ํ‹€๋ฆฐ ์ ์ด๋‚˜ ์ง€์ ํ•˜์‹ค ๋ถ€๋ถ„์ด ์žˆ์œผ์‹œ๋ฉด ์–ธ์ œ๋“  ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์„ธ์š” ^^

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€