ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ ๋ฉด์ ‘์„ ์œ„ํ•œ cs ์ „๊ณต์ง€์‹ ๋…ธํŠธ ์ •๋ฆฌ ] 3.์šด์˜์ฒด์ œ : ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ 1
    Book 2024. 4. 17. 16:27
    ๋ฐ˜์‘ํ˜•

    (์ถœ์ฒ˜ :  https://www.inflearn.com/course/%EA%B0%9C%EB%B0%9C%EC%9E%90-%EB%A9%B4%EC%A0%91-cs-%ED%8A%B9%EA%B0%95)

    3.3 ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

    3.3.1 ํ”„๋กœ์„ธ์Šค์™€ ์ปดํŒŒ์ผ ๊ณผ์ •
    3.3.2 ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ
    3.3.3 ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ
    3.3.4 PCB

     


    3.3 ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ

    ํ”„๋กœ์„ธ์Šค๋Š”(process)๋Š” ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•˜๋ฉฐ CPU ์Šค์ผ€์ค„๋ง์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ์ž‘์—…(task)์ด๋ผ๋Š” ์šฉ์–ด์™€ ๊ฑฐ์˜ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์“ฐ์ด๋ฉฐ, ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด ์ž‘์—…์˜ ํ๋ฆ„์„ ์ง€์นญํ•œ๋‹ค.

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

     

    3.3.1 ํ”„๋กœ์„ธ์Šค์™€ ์ปดํŒŒ์ผ ๊ณผ์ •

     

    ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ๋ถ€ํ„ฐ ์ธ์Šคํ„ด์Šคํ™”๋œ ๊ฒƒ์„ ๋งํ•œ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ๊ทธ๋žจ์€ ๊ตฌ๊ธ€ ํฌ๋กฌ ํ”„๋กœ๊ทธ๋žจ(chrome.exe)๊ณผ ๊ฐ™์€ ์‹คํ–‰ ํŒŒ์ผ์ด๋ฉฐ ์ด๋ฅผ ๋”๋ธ”ํด๋ฆญํ•˜๋ฉด ๊ตฌ๊ธ€ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๊ฒƒ์ด๋‹ค. 
    ํ”„๋กœ๊ทธ๋žจ์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ปดํŒŒ์ผ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญ๋˜์–ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ์ด ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

     

    • ์ „์ฒ˜๋ฆฌ
      ์†Œ์Šค ์ฝ”๋“œ์˜ ์ฃผ์„์„ ์ œ๊ฑฐํ•˜๊ณ  #include ๋“ฑ ํ—ค๋” ํŒŒ์ผ์„ ๋ณ‘ํ•ฉํ•˜์—ฌ ๋งคํฌ๋กœ๋ฅผ ์น˜ํ™˜ํ•œ๋‹ค.

    • ์ปดํŒŒ์ผ๋Ÿฌ
      ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ, ์ฝ”๋“œ ์ตœ์ ํ™” ์ž‘์—…์„ ํ•˜๋ฉฐ ์ด๋ฅผ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

    • ์–ด์…ˆ๋ธ”๋Ÿฌ
      ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ๋ชฉ์ ์ฝ”๋“œ(object code)๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
      ํ™•์žฅ์ž๋Š” ์šด์˜์ฒด์ œ๋งˆ๋‹ค ๋‹ค๋ฅด๋ฉฐ ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” .o ์ด๋‹ค.

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

      • ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
        ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ ํ•„์š”ํ•  ๋•Œ๋งŒ DDL์ด๋ผ๋Š” ํ•จ์ˆ˜ ์ •๋ณด๋ฅผ ํ†ตํ•ด ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ,
        ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ์—์„œ์˜ ์žฅ์ ๊ณผ ์™ธ๋ถ€ ์˜์กด๋„๊ฐ€ ๋†’์•„์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
    • ๋ง์ปค
      ํ”„๋กœ๊ทธ๋žจ ๋‚ด์— ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ•จ์ˆ˜ ๋˜๋Š” ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค๊ณผ ๋ชฉ์  ์ฝ”๋“œ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์‹คํ–‰ ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.
      ์‹คํ–‰ ํŒŒ์ผ์˜ ํ™•์žฅ์ž๋Š” .exe ๋˜๋Š” .out ์ด๋ผ๋Š” ํ™•์žฅ์ž๋ฅผ ๊ฐ–๋Š”๋‹ค.


    3.3.2 ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ


    • ์ƒ์„ฑ ์ƒํƒœ(create)
      ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋œ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ fork() ๋˜๋Š” exec() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ƒ์„ฑํ•˜๋ฉฐ, ์ด๋•Œ PCB(Process Control Block, ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก, ํŠน์ •ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ์šด์˜ ์ฒด์ œ ์ปค๋„์˜ ์ž๋ฃŒ ๊ตฌ์กฐ) ๊ฐ€ ํ• ๋‹น๋œ๋‹ค.
    • fork()
      ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜๋ฉฐ, ์ƒˆ๋กœ์šด ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.
      ์ฃผ์†Œ ๊ณต๊ฐ„๋งŒ ๋ณต์‚ฌํ•  ๋ฟ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์˜ ๋น„๋™๊ธฐ ์ž‘์—… ๋“ฑ์„ ์ƒ์†ํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.
    • exec()
      ์ƒˆ๋กญ๊ฒŒ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.
    • ๋Œ€๊ธฐ ์ƒํƒœ(ready)
      ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์ถฉ๋ถ„ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›๊ณ  ์•„๋‹ˆ๋ฉด ์•„๋‹Œ ์ƒํƒœ๋กœ ๋Œ€๊ธฐํ•˜๊ณ  ์žˆ์œผ๋ฉฐ CPU ์Šค์ผ€์ค„๋Ÿฌ๋กœ๋ถ€ํ„ฐ CPU ์†Œ์œ ๊ถŒ์ด ๋„˜์–ด์˜ค๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ์ด๋‹ค.

    • ๋Œ€๊ธฐ ์ค‘๋‹จ ์ƒํƒœ(ready suspended)
      ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ์ผ์‹œ ์ค‘๋‹จ๋œ ์ƒํƒœ์ด๋‹ค.

    • ์‹คํ–‰ ์ƒํƒœ(running)
      CPU ์†Œ์œ ๊ถŒ๊ณผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›๊ณ  ์ธ์ŠคํŠธ๋Ÿญ์…˜์„ ์ˆ˜ํ–‰์ค‘์ธ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ CPU *burst๊ฐ€ ์ผ์–ด๋‚ฌ๋‹ค๊ณ ๋„ ํ‘œํ˜„ํ•œ๋‹ค.

      * ๋ฒ„์ŠคํŠธ(burst): ์–ด๋–ค ๊ธฐ์ค€์— ๋”ฐ๋ผ ํ•œ ๋‹จ์œ„๋กœ ์ทจ๊ธ‰๋˜๋Š” ์—ฐ์†๋œ ์‹ ํ˜ธ ํ˜น์€ ๋ฐ์ดํ„ฐ์˜ set, ์–ด๋–ค ํ˜„์ƒ์ด ์งง์€ ์‹œ๊ฐ„ ์•ˆ์— ์ง‘์ค‘์ ์œผ๋กœ ์ผ์–ด๋‚จ, ์ฃผ๊ธฐ์–ต ์žฅ์น˜์˜ ๋ธ”๋ก์„ ์บ์‹œ์— ์ ์žฌํ•˜๋Š” ๊ฒƒ

    • ์ค‘๋‹จ ์ƒํƒœ(blocked)
      ์–ด๋–ค ์ด๋ฒคํŠธ๊ฐ€ ์ผ์–ด๋‚œ ์ดํ›„ ๊ธฐ๋‹ค๋ฆฌ๋ฉฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฐจ๋‹จ๋œ ์ƒํƒœ์ด๋‹ค.
      I/O ๋””๋ฐ”์ด์Šค์— ์˜ํ•œ ์ธํ„ฐ๋ŸฝํŠธ๋กœ ์ด๋Ÿฐ ํ˜„์ƒ์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•˜๋Š”๋ฐ ์˜ˆ๋ฅผ ๋“ค๋ฉด ํ”„๋ฆฐํŠธ ์ธ์‡„ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž ๊น ๋ฉˆ์ถ˜ ๋•Œ๊ฐ€ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค.

    • ์ผ์‹œ ์ค‘๋‹จ ์ƒํƒœ(blocked suspended)
      ๋Œ€๊ธฐ ์ค‘๋‹จ๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ, ์ค‘๋‹จ๋œ ์ƒํƒœ์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ์ผ์‹œ ์ค‘๋‹จ๋œ ์ƒํƒœ์ด๋‹ค.

    • ์ข…๋ฃŒ ์ƒํƒœ(terminated)
      ๋ฉ”๋ชจ๋ฆฌ์™€ CPU ์†Œ์œ ๊ถŒ์„ ๋ชจ๋‘ ๋†“๊ณ  ๊ฐ€๋Š” ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค.
      ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ข…๋ฃŒ๋  ๋•Œ๋„ ์žˆ์ง€๋งŒ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ์‹œํ‚ค๋Š” ๋น„์ž๋ฐœ์ ์ข…๋ฃŒ(abort)๋กœ ์ข…๋ฃŒ๋˜๋Š”๊ฒƒ๋„ ์žˆ๋‹ค.
      ์ž์‹ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ์ž์›์˜ ํ•œ๊ณ„์น˜๋ฅผ ๋„˜์–ด์„œ๊ฑฐ๋‚˜ ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ process.kill ๋“ฑ ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๋กœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.


    3.3.3 ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ


    ์Šคํƒ์€ ์œ„ ์ฃผ์†Œ๋ถ€ํ„ฐ ํ• ๋‹น๋˜๊ณ  ํž™์€ ์•„๋ž˜ ์ฃผ์†Œ๋ถ€ํ„ฐ ํ• ๋‹น๋œ๋‹ค.

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

    • ํž™(heap)
      ๋™์  ํ• ๋‹นํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ ๋Ÿฐํƒ€์ž„ ์‹œ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋˜๋ฉฐ ๋™์ ์ธ ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค.
      ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฒกํ„ฐ ๊ฐ™์€ ๋™์  ๋ฐฐ์—ด์€ ๋‹น์—ฐํžˆ ํž™์— ๋™์  ํ• ๋‹น๋œ๋‹ค.

    • ๋ฐ์ดํ„ฐ ์˜์—ญ(BSS segment, Data segment)
      ์ „์—ญ๋ณ€์ˆ˜, ์ •์ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๊ณ  ์ •์ ์ธ ํŠน์ง•์„ ๊ฐ–๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ์‚ฌ๋ผ์ง€๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ์˜์—ญ์ด๋‹ค.
      ๋ฐ์ดํ„ฐ ์˜์—ญ์€ BSS ์˜์—ญ๊ณผ Data ์˜์—ญ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.
    • BSS ์˜์—ญ : ์ดˆ๊ธฐํ™”๊ฐ€ ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๊ฐ€ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ์ €์žฅ๋จ
    • Data ์˜์—ญ : 0์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ํ• ๋‹น๋œ ๋ณ€์ˆ˜๋“ค์ด ์ €์žฅ๋จ
    • ์ฝ”๋“œ ์˜์—ญ(code segment)
      ํ”„๋กœ๊ทธ๋žจ์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์˜์—ญ์ด๋‹ค.
      ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ธฐ๊ณ„์–ด๋กœ ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ •์ ์ธ ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค.


    3.3.4 PCB

     

    PCB(Process Control Block)์€ ์šด์˜์ฒด์ œ์—์„œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ *๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ์šด์˜์ฒด์ œ๋Š” ํ•ด๋‹น PCB๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

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

    * ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
    ๋ฐ์ดํ„ฐ์— ๊ด€ํ•œ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ์ด์ž ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ, ๋Œ€๋Ÿ‰์˜ ์ •๋ณด ๊ฐ€์šด๋ฐ์—์„œ ์ฐพ๊ณ  ์žˆ๋Š” ์ •๋ณด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฐพ์•„๋‚ด์„œ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ผ์ •ํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•ด ๋ถ€์—ฌ๋˜๋Š” ๋ฐ์ดํ„ฐ์ด๋‹ค.

     

    • PCB์˜ ๊ตฌ์กฐ
    • ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง ์ƒํƒœ : ์ค€๋น„, ์ผ์‹œ์ค‘๋‹จ ๋“ฑ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU์— ๋Œ€ํ•œ ์†Œ์œ ๊ถŒ์„ ์–ป์€ ์ดํ›„์˜ ์ƒํƒœ
    • ํ”„๋กœ์„ธ์Šค ID : ํ”„๋กœ์„ธ์Šค ID, ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ์ž์‹ ํ”„๋กœ์„ธ์Šค ID
    • ํ”„๋กœ์„ธ์Šค ๊ถŒํ•œ : ์ปดํ“จํ„ฐ ์ž์› ๋˜๋Š” I/O ๋””๋ฐ”์ด์Šค์— ๋Œ€ํ•œ ๊ถŒํ•œ ์ •๋ณด
    • ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ : ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•  ๋‹ค์Œ ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ์— ๊ด€ํ•œ ํฌ์ธํ„ฐ
    • CPU ๋ ˆ์ง€์Šคํ„ฐ : ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ €์žฅํ•ด์•ผ ํ•  ๋ ˆ์ง€์Šคํ„ฐ์— ๋Œ€ํ•œ ์ •๋ณด
    • CPU ์Šค์ผ€์ค„๋ง ์ •๋ณด : CPU ์Šค์ผ€์ค„๋Ÿฌ์— ์˜ํ•ด ์ค‘๋‹จ๋œ ์‹œ๊ฐ„ ๋“ฑ์— ๋Œ€ํ•œ ์ •๋ณด
    • ๊ณ„์ • ์ •๋ณด : ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์— ์‚ฌ์šฉ๋œ CPU ์‚ฌ์šฉ๋Ÿ‰, ์‹คํ–‰ํ•œ ์œ ์ €์˜ ์ •๋ณด
    • I/O ์ƒํƒœ ์ •๋ณด : ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ I/O ๋””๋ฐ”์ด์Šค ๋ชฉ๋ก 
    • ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(contetxt swtiching)

      PCB๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•˜๋ฉฐ, ํ•œ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ์‹œ๊ฐ„์ด ๋๋‚˜๊ฑฐ๋‚˜ ์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด ๋ฐœ์ƒํ•œ๋‹ค.

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

      ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ์ผ์–ด๋‚  ๋•Œ ์œ ํœด ์‹œ๊ฐ„(idle tiem)์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ ์ด๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์ด๋‚˜ ์‹ค์ œ์ ์ธ ์ž‘์—…์ด ์—†๋Š” ์‹œ๊ฐ„์„ ๋œปํ•œ๋‹ค.
      ์ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์— ๋“œ๋Š” ๋น„์šฉ์ด ๋” ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์บ์‹œ๋ฏธ์Šค์ด๋‹ค.
    • ๋น„์šฉ : ์บ์‹œ๋ฏธ์Šค
      ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ์ผ์–ด๋‚  ๋•Œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ๊ทธ๋Œ€๋กœ ์žˆ์œผ๋ฉด ์ž˜๋ชป๋œ ์ฃผ์†Œ ๋ณ€ํ™˜์ด ์ƒ๊ธฐ๋ฏ€๋กœ ์บ์‹œํด๋ฆฌ์–ด ๊ณผ์ •์„ ๊ฒช๊ฒŒ ๋˜๊ณ  ์ด ๋•Œ๋ฌธ์— ์บ์‹œ๋ฏธ์Šค๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

    • ์Šค๋ ˆ๋“œ์—์„œ์˜ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ
      ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ ์Šค๋ ˆ๋“œ์—์„œ๋„ ์ผ์–ด๋‚˜๋Š”๋ฐ, ์Šค๋ ˆ๋“œ๋Š”  ์Šคํƒ ์˜์—ญ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์Šค๋ ˆ๋“œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์˜ ๊ฒฝ์šฐ ๋น„์šฉ์ด ๋” ์ ๊ณ  ์‹œ๊ฐ„๋„ ๋” ์ ๊ฒŒ ๊ฑธ๋ฆฐ๋‹ค.

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.