Linux

๋ฆฌ๋ˆ…์Šค OS์™€ ์„œ๋ธŒ์‹œ์Šคํ…œ(๋…ผ๋ฌธ: Conceptual Architecture of the Linux Kernel)

๐Ÿง Yon 2023. 11. 5. 09:51
๋ฐ˜์‘ํ˜•

[+] ๊ด€๋ จ ๋…ผ๋ฌธ: https://docs.huihoo.com/linux/kernel/a1/index.html

 

Conceptual Architecture of the Linux Kernel

This paper describes the abstract or conceptual software architecture of the Linux kernel. This level of architecture is concerned with the large-scale subsystems within the kernel, but not with particular procedures or variables. One of the purposes of su

docs.huihoo.com

* ๊ฐœ์ธ์ ์ธ ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ์ค‘์ธ ์ปจํ…์ธ ์ž…๋‹ˆ๋‹ค.

* ๋งŒ์ผ ์ž˜๋ชป๋œ ๋‚ด์šฉ/์˜ค์—ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํŽธํžˆ ๋Œ“๊ธ€์„ ํ†ตํ•ด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

- ๋ฆฌ๋ˆ…์Šค ์ปค๋„์€ ์ „์ฒด์ ์ธ ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€๋กœ ์ฐธ์—ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ๊ณ ๋ฆฝ๋œ ์ƒํƒœ์—์„œ๋Š” ๋ฌด์šฉํ•ฉ๋‹ˆ๋‹ค.

- ์•„๋ž˜ Figure 2.1์€ ์ „์ฒด ๋ฆฌ๋ˆ…์Šค ์šด์˜ ์ฒด์ œ๊ฐ€ ๋ชจ๋“ˆํ™”, ์œ ์ง€๋ณด์ˆ˜์˜ ์šฉ์ด์„ฑ, ๊ธฐ๋Šฅ ๋ถ„๋ฆฌ, ์ด๊ธฐ์ข… ๊ฐ„์˜ ์œ ์—ฐ์„ฑ ๋“ฑ์„ ์œ„ํ•ด ๊ฐ๊ฐ์˜ ์„œ๋ธŒ ์‹œ์Šคํ…œ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š” ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

 

1. Linux SubSystem


๊ฐ ์„œ๋ธŒ์‹œ์Šคํ…œ ๋ ˆ์ด์–ด๋Š” ๋ฐ”๋กœ ์ธ์ ‘ํ•œ ์„œ๋ธŒ์‹œ์Šคํ…œ ๋ ˆ์ด์–ด์™€๋งŒ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์„œ๋ธŒ์‹œ์Šคํ…œ ๊ฐ„์˜ ์˜์กด์„ฑ์€ ํ•˜ํ–ฅ์‹์ž…๋‹ˆ๋‹ค. ์ƒ๋‹จ์— ๊ฐ€๊นŒ์šธ ์ˆ˜๋ก ํ•˜์œ„ ๋ ˆ์ด์–ด์— ์˜์กดํ•˜์ง€๋งŒ ํ•˜๋‹จ์— ๊ฐ€๊นŒ์šด ์„œ๋ธŒ์‹œ์Šคํ…œ์€ ์ƒ์œ„ ๋ ˆ์ด์–ด์— ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

- ํ•˜๋“œ์›จ์–ด ์ปจํŠธ๋กค๋Ÿฌ:

์ด ์„œ๋ธŒ์‹œ์Šคํ…œ์€ ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ์˜ ๋ฌผ๋ฆฌ์  ํ•˜๋“œ์›จ์–ด ์žฅ์น˜์™€ ์ž์›์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, CPU, ๋ฉ”๋ชจ๋ฆฌ ํ•˜๋“œ์›จ์–ด, ํ•˜๋“œ๋””์Šคํฌ ๋ฐ ๋„คํŠธ์›Œํฌ ํ•˜๋“œ์›จ์–ด ๋“ฑ์˜ ์ž์›์„ User Application ๋ฐ OS ์„œ๋น„์Šค์— ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด System call ๋˜๋Š” API ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋“ฑ์„ ํ†ตํ•ด ์ปค๋„์— ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

 

- ๋ฆฌ๋ˆ…์Šค ์ปค๋„:

์ปค๋„์€ CPU๋ฅผ ํฌํ•จํ•œ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ถ”์ƒํ™”ํ•˜๊ณ  ์ค‘์žฌํ•ฉ๋‹ˆ๋‹ค.

 

- OS ์„œ๋น„์Šค:

์šด์˜ ์ฒด์ œ์˜ ์ผ๋ถ€๋กœ ๊ฐ„์ฃผ๋˜๋Š” ์ผ๋ฐ˜์ ์ธ ์„œ๋น„์Šค๋“ค (๋ช…๋ น ์…ธ ๋“ฑ) ๋ฐ ์ปค๋„์— ๋Œ€ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค(์ปดํŒŒ์ผ๋Ÿฌ ๋„๊ตฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)๋„ ์ด ์„œ๋ธŒ์‹œ์Šคํ…œ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

 

- User Application:

์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ์–ด๋–ค ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ „ํ˜•์ ์œผ๋กœ ๊ฐ์ข… ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

[+] ํ•˜๋“œ์›จ์–ด ์ž์›์ด OS ๋ฐ User Application์— ์ œ๊ณต๋˜๋Š” ๊ณผ์ •

1. App/OS ์„œ๋น„์Šค์—์„œ ์ปค๋„์— ํ•„์š” ์ž์›์„ ์š”์ฒญ (system call / API ํ•จ์ˆ˜ ํ˜ธ์ถœ)

2. ์ปค๋„ ๋‚ด ์š”์ฒญ ์ฒ˜๋ฆฌ:

์ปค๋„์€ ํ•ด๋‹น ์š”์ฒญ์ด ์–ด๋–ค ํ•˜๋“œ์›จ์–ด ์ž์›์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๊ด€๋ จ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

- ํŒŒ์ผ ์‹œ์Šคํ…œ ์ ‘๊ทผ, ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น, ๋„คํŠธ์›Œํฌ ํ†ต์‹ , ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„ ํ˜ธ์ถœ ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ์ปค๋„์˜ ํ•˜๋“œ์›จ์–ด ์ž์› ๊ด€๋ฆฌ:

์ปค๋„์€ ์ด๋Ÿฌํ•œ ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด CPU์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„, ์ €์žฅ ์žฅ์น˜ ๋“ฑ๊ณผ ๊ฐ™์€ ์ž์›์„ ํ• ๋‹น ๋ฐ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

4. ์š”์ฒญ ์™„๋ฃŒ ๋ฐ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜:

์ปค๋„์€ App/OS ์— ์ž‘์—…์˜ ์„ฑ๊ณต/์‹คํŒจ ์—ฌ๋ถ€, ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

2. Purpose of the Kernel


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

 

* ๋™์‹œ ์‹คํ–‰: ์ปค๋„์€ ๋‹ค์–‘ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋™์‹œ ์‹คํ–‰์„ ์œ„ํ•ด ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ณ„๋„์˜ ์‹คํ–‰ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

* ํ”„๋กœ์„ธ์Šค ๋ณด์•ˆ: ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌ๋˜๋ฉฐ, ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฐ์ดํ„ฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์ฒด์ ์œผ๋กœ ๊ณ ์œ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ€์ง€๋„๋ก ํ•ฉ๋‹ˆ๋‹ค: [1], [+] ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„

 

ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„(Virtual Address Space; VAS)

Parent Content: ๋ฆฌ๋ˆ…์Šค OS์™€ ์„œ๋ธŒ์‹œ์Šคํ…œ(Conceptual Architecture of the Linux Kernel) [+] ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„ - ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์€ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„(ๅ‡ๆƒณ ไฝๆ‰€ ็ฉบ้–“, ์˜์–ด: Virtual Address Space;

yonlog.tistory.com

 

3. Overview of the Kernel Structure


Figure 2.2๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ 5๊ฐ€์ง€ ์ฃผ์š” ์„œ๋ธŒ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

1. ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ฅด๋Ÿฌ(SCHED):

SCHED(Process Scheduler)๋Š” CPU์— ๋Œ€ํ•œ ํ”„๋กœ์„ธ์Šค ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์Šค์ผ€์ค„๋Ÿฌ๋Š” ํ•„์š”ํ•œ ํ•˜๋“œ์›จ์–ด ์ž‘์—…์„ ์ปค๋„์ด ์ œ๋•Œ์— ์ˆ˜ํ–‰ํ•˜๋„๋ก ๋ณด์žฅํ•˜๋ฉด์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU์— ๊ณต์ •ํ•˜๊ฒŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •์ฑ…์„ ์‹œํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

2. ๋ฉ”๋ชจ๋ฆฌ ๋งค๋‹ˆ์ €(MM):

MM(Memory Manager)๋Š” ๋‹ค์ˆ˜ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋จธ์‹ ์˜ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ MM์€ ํ”„๋กœ์„ธ์Šค ๋™์ž‘์„ ์œ„ํ•ด ์‹œ์Šคํ…œ ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ์š”๊ตฌ ๋  ๋•Œ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ์—ญํ• ๋„ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ๋™์ž‘ ์ค‘ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ฐ์ดํ„ฐ์™€ ์ฝ”๋“œ๋ฅผ ํŽ˜์ด์ง€ ์•„์›ƒ(Page Out) ํ•˜์—ฌ ํ˜„์žฌ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ(RAM)์—์„œ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ํ•ด์ œํ•˜๊ณ , ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ด ํ•˜๋“œ ๋””์Šคํฌ๋กœ ์Šค์™‘ ์•„์›ƒ(Swap Out) ํ•˜์—ฌ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ํ•˜๋“œ ๋””์Šคํฌ๋กœ ์˜ฎ๊น๋‹ˆ๋‹ค.

- ํ˜„์žฌ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ(RAM)์—์„œ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ํ•ด์ œ: Page Out

- ํ˜„์žฌ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ(RAM)์—์„œ ํ•˜๋“œ ๋””์Šคํฌ ์Šค์™‘ ์˜์—ญ์œผ๋กœ ํŽ˜์ด์ง€๋ฅผ ์ด๋™: Swap Out

 

3. ๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ(VFS)

VFS(Virtual File System)๋Š” ๋ชจ๋“  ๋””๋ฐ”์ด์Šค์— ๊ณตํ†ต ํŒŒ์ผ ์ธํ„ฐํŽ˜์ด์Šค(open/read/write/close ๋“ฑ)๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด ๋””๋ฐ”์ด์Šค์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ถ”์ƒํ™”ํ•˜๋ฉฐ, ์ด์™ธ์—๋„ ๋‹ค๋ฅธ ์šด์˜ ์ฒด์ œ์™€ ํ˜ธํ™˜๋˜๋Š” ์—ฌ๋Ÿฌ ํŒŒ์ผ ์‹œ์Šคํ…œ ํ˜•์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค: [+] ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ - ๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ(Virtual File System)

 

 

๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ - ๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ(Virtual File System)

Parent Content: ๋ฆฌ๋ˆ…์Šค OS์™€ ์„œ๋ธŒ์‹œ์Šคํ…œ(๋…ผ๋ฌธ: Conceptual Architecture of the Linux Kernel) ๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ(VFS-Virtual File System)์€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ 5๊ฐ€์ง€ ์ฃผ์š” ์„œ๋ธŒ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜๋กœ, ๋ชจ๋“  ๋””๋ฐ”์ด์Šค์— ๊ณตํ†ต ํŒŒ์ผ

yonlog.tistory.com

 

4. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค(NET)

NET(Network Interface)์€ ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํ‚น ํ‘œ์ค€๊ณผ ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

5. ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ (IPC- Inter-Process Communication)

IPC ์„œ๋ธŒ์‹œ์Šคํ…œ์€ ๋‹จ์ผ ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ ๋‚ด์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ ์„ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

 

 

References:

[1] https://ko.wikipedia.org/wiki/%EA%B0%80%EC%83%81_%EC%A3%BC%EC%86%8C_%EA%B3%B5%EA%B0%84

 

๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„(ๅ‡ๆƒณ ไฝๆ‰€ ็ฉบ้–“, ์˜์–ด: Virtual Address Space; VAS)์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฒ•์œผ๋กœ ์ œ๊ณต๋˜๋Š” ์ฃผ์†Œ ๊ณต๊ฐ„์œผ๋กœ์„œ, ํ”„๋กœ์„ธ์Šค์˜ ๊ด€์ ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ์ด๋‹ค. ์˜ค๋Š˜

ko.wikipedia.org

 

๋ฐ˜์‘ํ˜•