๊ด€๋ฆฌ ๋ฉ”๋‰ด

Tech Log ๐Ÿ› ๏ธ

์ปค๋„ ์‹œ์Šคํ…œ ์•Œ์•„๋ณด๊ธฐ ๋ณธ๋ฌธ

Computer Science/์šด์˜์ฒด์ œ

์ปค๋„ ์‹œ์Šคํ…œ ์•Œ์•„๋ณด๊ธฐ

sehaan 2024. 1. 17. 01:55

์ปค๋„์ด๋ž€?

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

 

๋˜ํ•œ ์ปค๋„์€ ์ž์›์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๊ด€๋ฆฌ์ž๋“ค์ด ์žˆ๋‹ค.

  1. ํ…Œ์ŠคํŠธ ๊ด€๋ฆฌ์ž : ๋ฌผ๋ฆฌ์  ์ž์›์ธ CPU๋ฅผ ์ถ”์ƒ ์ž์›์ธ ํ…Œ์Šคํฌ๋กœ ์ œ๊ณตํ•œ๋‹ค.
  2. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž : ๋ฌผ๋ฆฌ์  ์ž์›์ธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ถ”์ƒ ์ž์›์ธ ํŽ˜์ด์ง€๋‚˜ ์„ธ๊ทธ๋จผํŠธ๋กœ ์ œ๊ณตํ•œ๋‹ค.
  3. ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž : ๋ฌผ๋ฆฌ์  ์ž์›์ธ ๋””์Šคํฌ๋ฅผ ์ถ”์ƒ ์ž์›์ธ ํŒŒ์ผ๋กœ ์ œ๊ณตํ•œ๋‹ค.
  4. ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž : ๋ฌผ๋ฆฌ์  ์ž์›์ธ ๋„คํŠธ์›Œํฌ ์žฅ์น˜๋ฅผ ์ถ”์ƒ ์ž์›์ธ ์†Œ์ผ“์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค.
  5. ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„ ๊ด€๋ฆฌ์ž : ๊ฐ์ข… ์™ธ๋ถ€ ์žฅ์น˜(ํ”„๋ฆฐํ„ฐ, GPU ๋“ฑ)์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œ๊ณตํ•œ๋‹ค.

 

์ปค๋„์˜ ๋™์ž‘ ๋ฐฉ์‹

์ปค๋„์€ Memory Resident ํ•œ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ๋“ค์€ ๋””์Šคํฌ์— ์ƒ์ฃผํ•ด์žˆ๋Š”๋ฐ, ์ปค๋„์€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์—ฌ๋Ÿฌ ๋ช…๋ น๋“ค์„ ์ฒ˜๋ฆฌํ•œ๋‹ค. 

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

 

์‰˜์˜ ์—ญํ• 

ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์–ธ์ œ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉ๋˜๊ณ  ํ•ด์ œ๋˜๋Š”์ง€ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ๋“ค์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋ฉฐ ์ปค๋„์˜ ์ค‘๊ฐ„๋‹ค๋ฆฌ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

 

์ถœ์ฒ˜ : https://medium.com/pocs/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%BB%A4%EB%84%90-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EA%B0%95%EC%9D%98%EB%85%B8%ED%8A%B8-1-d36d6c961566

 

์ผ๋ฐ˜์ ์œผ๋กœ ์šด์˜์ฒด์ œ๊ฐ€ ๋ถ€ํŒ…๋˜๋ฉด Memory Residentํ•œ ํŠน์„ฑ์„ ๊ฐ€์ง€๋Š” ์ปค๋„์ด ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ๋‹ค.

๊ทธ ํ›„ ์œ ์ €๊ฐ€ ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•˜๋ฉด ์‰˜์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜ค๊ณ  ์œ ์ €๊ฐ€ ์ž…๋ ฅํ•œ ์ปค๋งจ๋“œ์— ๋งž๋Š” ์žก(job)์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฐ๋‹ค.

์ด๋Ÿฐ ๊ณผ์ •์œผ๋กœ ์œ ์ €๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋‚ด๋ถ€์ ์ธ ๊ตฌ์กฐ๋ฅผ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ  ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์€ ์‹ ๊ฒฝ์จ์•ผ ํ•  ์ ์ด ํ•˜๋‚˜ ์žˆ๋‹ค. ๋ฐ”๋กœ ๋ฉ€ํ‹ฐ์œ ์ € ์‹œ์Šคํ…œ์ด๋ผ๋Š” ์ ์ด๋‹ค.

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

๋งŒ์•ฝ ์œ ์ €A๊ฐ€ ์œ ์ €B์˜ ํŒŒ์ผ์— ๋ง˜๋Œ€๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ด๋–จ๊นŒ? ์ด๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค. 

๋”ฐ๋ผ์„œ ์šด์˜์ฒด์ œ๋Š” ์ปค๋„๋ชจ๋“œ์™€ ์œ ์ €๋ชจ๋“œ๋ฅผ ๋‚˜๋ˆ„์–ด์„œ ์ž…์ถœ๋ ฅ ์ž‘์—… ๊ฐ™์ด ์ž์›์— ์ ‘๊ทผํ•˜๋Š” ์ผ๋“ค์€ ์ปค๋„์—์„œ ๋‹ด๋‹นํ•˜๋„๋ก ํ•˜์˜€๋‹ค.

์ด๋•Œ ์ปค๋„์—๊ฒŒ ํ•ด๋‹น ์ž‘์—…์„ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ์‹œ์Šคํ…œ ์ฝœ์ด๋ผ๊ณ  ํ•œ๋‹ค.

์œ ์ € ๋ชจ๋“œ์—์„œ ์‹œ์Šคํ…œ ์ฝœ์ด๋‚˜ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด ์ปค๋„ ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•œ๋‹ค.

 

์‹œ์Šคํ…œ ์ฝœ์˜ ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญํ• ๋“ค์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ ๊ด€๋ จ ์ฒ˜๋ฆฌ

ํŒŒ์ผ I/O ๊ด€๋ จ ์ฒ˜๋ฆฌ

์†Œ์ผ“ ๊ด€๋ จ ์ฒ˜๋ฆฌ

๋””๋ฐ”์ด์Šค ๊ด€๋ จ ์ฒ˜๋ฆฌ

ํ”„๋กœ์„ธ์Šค ํ†ต์‹  ๊ด€๋ จ ์ฒ˜๋ฆฌ

 

๋ฌผ๋ก  ๋ชจ๋“  ์ปค๋งจ๋“œ์— ๋Œ€ํ•ด์„œ ์‹œ์Šคํ…œ ์ฝœ์ด ์ปค๋„๋กœ ๋ช…๋ น์„ ์ „๋‹ฌํ•ด์ฃผ๋ฉด ์ด๋Š” ๋ฌด์šฉ์ง€๋ฌผ์ผ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ํ•ด๋‹น ๋ช…๋ น์ด ์ ํ•ฉํ•œ ๋ช…๋ น์ธ์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ๋น„ํŠธ๋ฅผ CPU์— ๋‘๋Š”๋ฐ, ์ด๋ฅผ mode bit๋ผ๊ณ  ํ•œ๋‹ค. 1์ด๋ฉด ์ปค๋„๋ชจ๋“œ 0์ด๋ฉด ์œ ์ €๋ชจ๋“œ๋ผ๊ณ  ์•Œ๋ ค์ ธ์žˆ๋‹ค.

์ปค๋„๋ชจ๋“œ์—์„œ๋Š” ๋ชจ๋“  ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ๋ฐ ์ด๋•Œ I/O ๊ฐ™์€ ์ž‘์—…๋“ค์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‹œ์Šคํ…œ ์ฝœ์˜ ๋ฆฌํ„ด๊ฐ’์œผ๋กœ ํ•ด๋‹น ์ž‘์—…์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ์ž‘์—…์ด ์ข…๋ฃŒ๋˜๋ฉด ๋‹ค์‹œ ์œ ์ €๋ชจ๋“œ๋กœ ๋Œ์•„๊ฐ€์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค. ์ด ์ž‘์—…์ด ํ•œ๋ฒˆ๋งŒ ์ง„ํ–‰๋˜๋Š” ๊ฑด ์•„๋‹ˆ๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด์„œ ์ˆ˜์—†์ด ์ปค๋„๋ชจ๋“œ์™€ ์œ ์ €๋ชจ๋“œ๋ฅผ ์™”๋‹ค๊ฐ”๋‹คํ•œ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ๋ž€

์•ž์„œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์„ ๋•Œ ์ปค๋„ ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•œ๋‹ค๊ณ  ํ•˜์˜€๋‹ค. ์ด ๋•Œ ์ธํ„ฐ๋ŸฝํŠธ๋Š” ๋ฌด์—‡์ด๊ณ  ์™œ ๋ฐœ์ƒํ• ๊นŒ? 

์ธํ„ฐ๋ŸฝํŠธ๋Š” ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์ƒํ•œ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ด๋ฒคํŠธ ํ˜น์€ ๊ทธ๋Ÿฐ ์ด๋ฒคํŠธ๋“ค์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์•Œ๋ ค์ฃผ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค.

์ธํ„ฐ๋ŸฝํŠธ๋“ค์ด ๋ฐœ์ƒํ•˜๋ฉด CPU์—์„œ๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์ปค๋„ ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•œ๋‹ค.

ํ•˜๋“œ์›จ์–ด ํ˜น์€ ํ”„๋กœ๊ทธ๋žจ์ด ์ธํ„ฐ๋ŸฝํŠธ ๋ผ์ธ์— ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์„ธํŒ…ํ•˜๋ฉด ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋•Œ ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ด์„œ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ

์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด(ํ•ธ๋“ค๋Ÿฌ)์˜ ์ฃผ์†Œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ”

์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด

์‹ค์ œ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฃจํ‹ด

 

์ฐธ๊ณ ๋กœ ํ”„๋กœ๊ทธ๋žจ ๋ ˆ๋ฒจ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ๋Š” ํŠธ๋žฉ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ณด๋‹ค ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค.

 

์™ธ๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ

์ „์›์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ

I/O ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ์„ ๋•Œ

ํƒ€์ด๋จธ ์‹œ๊ฐ„์ด ๋๋‚ฌ์„ ๋•Œ

 

๋‚ด๋ถ€ ์ธํ„ฐ๋ŸฝํŠธ

0์œผ๋กœ ๋‚˜๋ˆด์„ ๋•Œ

์ž˜๋ชป๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ ‘๊ทผ์„ ์‹œ๋„ํ•  ๋•Œ

 

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ

ํ”„๋กœ๊ทธ๋žจ ์ฒ˜๋ฆฌ ์ค‘ ๋ช…๋ น์˜ ์š”์ฒญ์— ์˜ํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ฐ, ๋Œ€ํ‘œ์ ์œผ๋กœ SVC์— ์˜ํ•œ call์ด ์žˆ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค.

  1. ์ „์› ์ด์ƒ(Power fail)
  2. ๊ธฐ๊ณ„ ์ฐฉ์˜ค(Machine Check)
  3. ์™ธ๋ถ€ ์‹ ํ˜ธ(External)
  4. ์ž…์ถœ๋ ฅ(I/O)
  5. ๋ช…๋ น์–ด ์ž˜๋ชป
  6. ํ”„๋กœ๊ทธ๋žจ ๊ฒ€์‚ฌ(Program Check)
  7. SVC(SuperVisor Call)

 

์‹œ์Šคํ…œ ์ฝœ & ์ธํ„ฐ๋ŸฝํŠธ์˜ ๋™์ž‘ ๊ณผ์ •(์˜ˆ์‹œ)

์‹ฑ๊ธ€ ์ฝ”์–ด ํ™˜๊ฒฝ์—์„œ ์“ฐ๋ ˆ๋“œ1(t1)๊ณผ ์“ฐ๋ ˆ๋“œ2(t2)๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž

 

t1์—์„œ file read ์š”์ฒญ์ด ๋“ค์–ด์™”๋‹ค.

์ด๋•Œ file read์— ํ•ด๋‹นํ•˜๋Š” ์‹œ์Šคํ…œ ์ฝœ์ด ํ˜ธ์ถœ๋˜๋ฉฐ ๊ธฐ์กด t1์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ปค๋„ ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•œ๋‹ค.

์ปค๋„๋ชจ๋“œ์— ์ง„์ž…ํ•œ t1์€ ํ•ด๋‹น file์ด read ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ฐ€ ๋ ๋•Œ๊นŒ์ง€ waiting ํ•˜๊ฒŒ ๋˜๋ฉฐ ๋‹ค์‹œ ์œ ์ € ๋ชจ๋“œ๋กœ ์ง„์ž… ํ›„ t2๊ฐ€ ์‹คํ–‰๋˜๊ฒŒ ๋œ๋‹ค.

 

t1์—์„œ ์š”์ฒญํ•œ file์ด read ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค.

์ด๋•Œ๋Š” ์•„๊นŒ์™€ ๋‹ค๋ฅด๊ฒŒ ์‹œ์Šคํ…œ ์ฝœ์ด ์•„๋‹Œ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค. ๋‹ค์‹œ CPU๋Š” t2์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ  t1์„ waiting์—์„œ ready(runnable)๋กœ ์ƒํƒœ๋ฅผ ๋ฐ”๊พผ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์œ ์ €๋ชจ๋“œ๋กœ ์ง„์ž… ํ›„์— t2๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

 

๋ชจ์ข…์˜ ์ด์œ ๋กœ t2์˜ CPU ์ ์œ ๊ฐ€ ์ค‘๋‹จ๋˜๋Š” ์ผ์ด ์ƒ๊ธธ ๊ฒƒ์ด๋‹ค.

CPU๋Š” ๋‹ค์‹œ ์ปค๋„ ๋ชจ๋“œ๋กœ ์ง„์ž… ํ›„์— t2๋ฅผ ready ์ƒํƒœ๋กœ ๋ฐ”๊พผ๋‹ค. ์ด์ œ๋Š” t1์„ ์‹คํ–‰ ์ƒํƒœ๋กœ ๋ฐ”๊พธ๊ณ  ์ž‘์—…๋“ค์„ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž๋Š” ์ง์ ‘์ ์œผ๋กœ ์‹œ์Šคํ…œ ์ฝœ์„ ํ˜ธ์ถœํ•  ์ผ์ด ์—†๋Š”๋ฐ ์ด๋Š” ํ•˜์ด(high) ๋ ˆ๋ฒจ ์–ธ์–ด๊ฐ€ ์‹œ์Šคํ…œ ์ฝœ์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ž˜ํ•‘(wrapping)์„ ํ†ตํ•ด ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ์Šค๋ ˆ๋“œ๋ฅผ start ํ•  ๋•Œ native ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด์„œ JNI(Java Native Interface)๊ฐ€ ํ•ด๋‹น ์šด์˜์ฒด์ œ์— ๋งž๋Š” ์‹œ์Šคํ…œ ์ฝœ์„ ํ˜ธ์ถœํ•ด์ค€๋‹ค.

private native void start0();