Daily/Today I Learned

22.08.01_TIL

ํ˜ธ๋ฐ€์ด 2022. 8. 1. 09:25

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

๐Ÿ“— ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ

์ปดํ“จํ„ฐ ๊ตฌ์กฐ

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

์ปดํ“จํ„ฐ์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ

  • ์ž…๋ ฅ์žฅ์น˜
    • ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ์™€ ๋ช…๋ น์„ ๋ฐ›์•„๋“ค์ด๋Š” ๋ฌผ๋ฆฌ์ ์ธ ์žฅ์น˜
    • ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ์Šค์บ๋„ˆ, ํƒ€๋ธ”๋žซ ๋“ฑ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜
  • ์ถœ๋ ฅ ์žฅ์น˜
    • ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ์žฅ์น˜
    • ๋ชจ๋‹ˆํ„ฐ, ํ”„๋ฆฐํ„ฐ ๋“ฑ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜
  • ์ค‘์•™ ์ฒ˜๋ฆฌ ์žฅ์น˜(CPU)
    • ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜(ALU, Arithmetic Logic Unit), ์ œ์–ด ์žฅ์น˜, ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.
    • ์‚ฐ์ˆ : ๋ง์…ˆ์„ ์ˆ˜ํ–‰
    • ์ œ์–ด ์žฅ์น˜: ํ”„๋กœ๊ทธ๋žจ์— ๋”ฐ๋ผ ๋ช…๋ น๊ณผ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ์ข… ์žฅ์น˜์˜ ๋™์ž‘์„ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
    • ๋ ˆ์ง€์Šคํ„ฐ: CPU์˜ ๋‚ด๋ถ€ ๋ฉ”๋ชจ๋ฆฌ๋กœ์„œ CPU์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ์žฅ์†Œ์ด๋‹ค.
  • ์ €์žฅ ์žฅ์น˜
    • ๋ฐ์ดํ„ฐ๋‚˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ฐจ ๊ธฐ์–ต ์žฅ์น˜์ธ ์ฃผ ๊ธฐ์–ต ์žฅ์น˜(Memory)์™€ ์ฃผ ๊ธฐ์–ต ์žฅ์น˜๋ฅผ ๋ณด์กฐํ•˜๊ธฐ ์œ„ํ•œ ๋””์Šคํฌ์™€ CD ๊ฐ™์€ ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜๊ฐ€ ์กด์žฌํ•œ๋‹ค.
    • ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ •๋ณด์— ๋น„ํ•ด CPU ๋‚ด์— ๊ตฌ๋น„๋˜์–ด ์žˆ๋Š” ๋ ˆ์ง€์Šคํ„ฐ์˜ ์šฉ๋Ÿ‰์ด ์ž‘๊ธฐ ๋•Œ๋ฌธ์—, ์ฃผ ๊ธฐ์–ต ์žฅ์น˜๋Š” ์ฃผ๋กœ ์ •๋ณด๋ฅผ ์ €์žฅํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ํ•„์š”ํ•  ๋–„ ์ฝ์–ด๋“ค์ด๋Š” ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
    • ์ฃผ๊ธฐ์–ต์žฅ์น˜ (RAM, ROM)

์ค‘์•™ ์ฒ˜๋ฆฌ ์žฅ์น˜(CPU)

  • ์ค‘์•™ ์ฒ˜๋ฆฌ ์žฅ์น˜๋ฅผ ํ†ตํ•ด์„œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. (ํฐ ๋…ธ์ด๋งŒ ๊ตฌ์กฐ)
  • ๊ฐ์ข… ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ธฐ์–ต์žฅ์น˜์— ๊ธฐ์–ต๋˜์–ด ์žˆ๋Š” ๋ช…๋ น์–ด๋“ค์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ์ด๋ฃจ๋Š” ํ•ต์‹ฌ ๋ถ€ํ’ˆ์ด๋‹ค.

CPU์˜ ๊ตฌ์กฐ

  • ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜(ALU, Arithmetic Logic Unit)
    • ์‚ฐ์ˆ ์ ์ธ ์—ฐ์‚ฐ๊ณผ ๋…ผ๋ฆฌ์ ์ธ ์—ฐ์‚ฐ์„ ๋‹ด๋‹นํ•˜๋Š” ์žฅ์น˜๋กœ ๊ฐ€์‚ฐ๊ธฐ, ๋ณด์ˆ˜๊ธฐ, ๋ˆ„์‚ฐ๊ธฐ, ๊ธฐ์–ต ๋ ˆ์ง€์Šคํ„ฐ, ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
    • ์บ์‹œ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ๋กœ๋ถ€ํ„ฐ ์ฝ์–ด ์˜จ ๋ฐ์ดํ„ฐ๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋ผ๋Š” CPU ์ „์šฉ์˜ ๊ธฐ์–ต์žฅ์†Œ์— ์ €์žฅ๋˜๋ฉฐ, ALU๋Š” ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ง์…ˆ, ๊ณฑ์…ˆ ๋“ฑ๊ณผ ๊ฐ™์€ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
    • ๋ถ€๋™ ์†Œ์ˆซ ์—ฐ์‚ฐ์žฅ์น˜(FPU)์™€ ์ •์ˆ˜์—ฐ์‚ฐ์žฅ์น˜, ๋…ผ๋ฆฌ์—ฐ์‚ฐ(AND, OR ๋“ฑ)์žฅ์น˜ ๋“ฑ์ด ์žˆ๋‹ค.
  • ์ œ์–ด์žฅ์น˜(CU, Control Unit)
    • CPU๊ฐ€ ์ž์‹  ๋ฐ ์ฃผ๋ณ€๊ธฐ๊ธฐ๋“ค์„ ์ปจํŠธ๋กคํ•˜๋Š” ์žฅ์น˜๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์ˆ˜ํ–‰ ์ˆœ์„œ๋ฅผ ์ œ์–ดํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ณ„์ˆ˜๊ธฐ(Program Counter)์ด๋‹ค.
    • ํ˜„์žฌ ์ˆ˜ํ–‰์ค‘์ธ ๋ช…๋ น์–ด์˜ ๋‚ด์šฉ์„ ์ž„์‹œ ๊ธฐ์–ตํ•˜๋Š” ๋ช…๋ น ๋ ˆ์ง€์Šคํ„ฐ, ๋ช…๋ น ๋ ˆ์ง€์Šคํ„ฐ์— ์ˆ˜๋ก๋œ ๋ช…๋ น์„ ํ•ด๋…ํ•˜์—ฌ ์ˆ˜ํ–‰๋  ์žฅ์น˜์— ์ œ์–ด์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๋Š” ๋ช…๋ นํ•ด๋…๊ธฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
  • ๋ ˆ์ง€์Šคํ„ฐ
    • ์ค‘์•™ ์ฒ˜๋ฆฌ ์žฅ์น˜ ๋‚ด๋ถ€์— ์žˆ๋Š” ๊ธฐ์–ต์žฅ์น˜์ด๋‹ค.
    • ์ฃผ๋กœ ์‚ฐ์ˆ  ์—ฐ์‚ฐ ๋…ผ๋ฆฌ์žฅ์น˜์— ์˜ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ์™€ PC ๋“ฑ ํŠน์ˆ˜ ๋ชฉ์ ์— ์‚ฌ์šฉ๋˜๋Š” ์ „์šฉ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.
  • ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ข…๋ฅ˜
    • IR (Instruction Register): ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์— ์žˆ๋Š” ๋ช…๋ น์–ด ๋ถ€ํ˜ธ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ ˆ์ง€์Šคํ„ฐ
    • PC (Program Counter): ๋ช…๋ น์ด ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ ˆ์ง€์Šคํ„ฐ
    • AC (Accumulator): ์‚ฐ์ˆ  ๋ฐ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ž„์‹œ๋กœ ๊ธฐ์–ตํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ

CPU์˜ ๊ธฐ๋Šฅ

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

๋ช…๋ น์–ด

  • ์‹œ์Šคํ…œ์ด ํŠน์ • ๋™์ž‘์„ ์ˆ˜ํ–‰์‹œํ‚ค๋Š” ์ž‘์€ ๋‹จ์œ„์ด๋‹ค.
  • ๋™์ž‘์ฝ”๋“œ(Op-code, Operational Code)
    • ๊ฐ ๋ช…๋ น์–ด์˜ ์‹คํ–‰ ๋™์ž‘์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œํ˜„ํ•œ๋‹ค.
  • ์˜คํผ๋žœ๋“œ (Operand)
    • ๋ช…๋ น์–ด์˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ์ž๋ฃŒ๋‚˜ ์‹ค์ œ ์ž๋ฃŒ์˜ ์ €์žฅ ์œ„์น˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๋ช…๋ น์–ด ์ˆ˜ํ–‰ ๊ณผ์ •

  1. ์ฝ๊ธฐ(FI, Fetch Instruction): ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ช…๋ น์„ ๊ฐ€์ ธ์˜จ๋‹ค.
  2. ํ•ด์„(DI, Decode Instruction): ๋ช…๋ น์„ ํ•ด์„ํ•œ๋‹ค.
  3. ์‹คํ–‰(EI, Execute Instruction): ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  4. ๊ธฐ๋ก (WB, Write Back): ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.

๋ช…๋ น์–ด ์ฒ˜๋ฆฌ ๋ฐฉ์‹

RISC์™€ CISC๋ฐฉ์‹์ด ์žˆ๋‹ค.

RISC(Reduced Instruction Set Computer)

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

CISC(Complex Instruction Set computer)

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

Memory

  • ์ž„์‹œ์ ์ธ ๋‚ด์šฉ๋“ค์„ ๊ธฐ์–ตํ•˜๋Š” ์žฅ์น˜
  • ์‹œ์Šคํ…œ์ด ํ™œ์„ฑํ™” ๋œ ์ƒํƒ€์—์„œ ๊ทธ ๊ฐ’์„ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์ง€๋งŒ ์‹œ์Šคํ…œ์ด ๊บผ์ง€๊ฒŒ ๋˜๋ฉด ์ง€์›Œ์ง€๋Š” ํœ˜๋ฐœ์„ฑ์ด๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ

  • ๋ฉ”๋ชจ๋ฆฌ์˜ ์†๋„๋Š” ๋ฉ”๋กœ๋ฆฌ๊ฐ€ CPU์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ์‹œ๊ฐ„์„ ๋งํ•œ๋‹ค. (์—‘์„ธ์Šค)
  • ๋ฆฌํ”„๋ ˆ์‹œ ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ์—‘์„ธ์Šค ์‹œ๊ฐ„, ์‚ฌ์ดํด ์‹œ๊ฐ„ ๋“ฑ์ด ์žˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์ข…๋ฅ˜

์ฃผ ๊ธฐ์–ต์žฅ์น˜

  • RAM(Random Access Memory)
  • ์ปดํ“จํ„ฐ์˜ ์ „์›์ด ๋Š์–ด์ง€๋ฉด ๋‚ด์šฉ์ด ํœ˜๋ฐœ๋˜์–ด ๋ณด์กฐ ์ €์žฅ ์žฅ์น˜๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค. (ํœ˜๋ฐœ์„ฑ)
  • RAM์˜ ํฌ๊ธฐ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ˆ˜ํ–‰ ์†๋„์— ์˜ํ–ฅ์„ ์ค€๋‹ค.
  • CPU์—์„œ ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ์œ ์ผํ•œ ์ €์žฅ ์žฅ์น˜์ด๋‹ค.
  • RAM์˜ ์ข…๋ฅ˜
    • SRAM: ๋ฆฌํ”„๋ ˆ์‰ฌ๊ฐ€ ํ•„์š” ์—†๊ณ  ์ „๋ ฅ ์†Œ๋ชจ๊ฐ€ ์ ์œผ๋‚˜ ๋น„์‹ธ๋‹ค.
    • DRAM: ๋ฆฌํ”„๋ ˆ์‰ฌ๊ฐ€ ํ•„์š”ํ•˜๊ณ  SRAM๋ณด๋‹ค ์ €๊ฐ€์ด๋ฉฐ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜

  • ์ž๊ธฐ ๋””์Šคํฌ
    • ์›ํŒ ํ‘œ๋ฉด์˜ ์ฒ  ์ž…์ž์˜ ๋ฐฉํ–ฅ์œผ๋กœ 0๊ณผ 1์„ ํ‘œํ˜„ํ•œ๋‹ค. (ํ”Œ๋กœํ”ผ ๋””์Šคํฌ, ํ•˜๋“œ ๋””์Šคํฌ)
  • ๊ด‘ ๋””์Šคํฌ
    • ๋น›์˜ ๋ฐ˜์‚ฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž๋ฃŒ๋ฅผ ์ฝ์–ด๋‚ด๋Š” ์ €์žฅ ๋งค์ฒด์ด๋‹ค. (CD, DVD, ๋ธ”๋ฃจ๋ ˆ์ด ๋“ฑ)
  • ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ
    • ์ „์ž์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šฐ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ๋น„ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ถฉ๊ฒฉ์— ๊ฐ•ํ•˜์—ฌ ํœด๋Œ€์šฉ ๊ธฐ๊ธฐ์— ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. (USB, SSD ๋“ฑ)
    • SSD: ํ—ค๋”์™€ ๊ฐ™์€ ๊ธฐ๊ณ„์  ์žฅ์น˜๋Š” ๋น ์กŒ์ง€๋งŒ ์ €์ „๋ ฅ, ์ €์†Œ์Œ, ์ €์ค‘๋Ÿ‰์ด๋ผ๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ(Cache Memory)
    • CPU ๋‚ด•์™ธ ์กด์žฌํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฉฐ, ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์™€ CPU ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์ค‘๊ฐ„ ๋ฒ„ํผ ์—ญํ• ์„ ํ•œ๋‹ค.
    • ๋น ๋ฅธ CPU์˜ ์ฒ˜๋ฆฌ ์†๋„์™€ ๋Š๋ฆฐ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ์˜ ์†๋„์˜ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์šด์˜์ฒด์ œ

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

์šด์˜์ฒด์ œ ๋ชฉ์  ๋ฐ ๊ธฐ๋Šฅ

  • ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ ํ–ฅ์ƒ, ์‚ฌ์šฉ ๊ฐ€๋Šฅ๋„ ํ–ฅ์ƒ, ์‹ ๋ขฐ๋„ ํ–ฅ์ƒ, ๋ฐ˜ํ™˜ ์‹œ๊ฐ„ ๋‹จ์ถ• ๋“ฑ์˜ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.
  • ํ”„๋กœ์„ธ์„œ, ๊ธฐ์–ต์žฅ์น˜, ์ž…์ถœ๋ ฅ์žฅ์น˜, ํŒŒ์ผ ๋ฐ ์ •๋ณด ๋“ฑ์˜ ์ž์›์„ ๊ด€๋ฆฌํ•œ๋‹ค.
  • ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ž์›์˜ ์Šค์ผ€์ค„๋ง ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
    • ์Šค์ผ€์ค„๋ง: ์–ด๋–ค ์ž์›์„ ๋ˆ„๊ฐ€, ์–ธ์ œ, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.
  • ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ๊ฐ„์˜ ํŽธ๋ฆฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ์‹œ์Šคํ…œ์˜ ๊ฐ์ข… ํ•˜๋“œ์›จ์–ด์™€ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ œ์–ดํ•œ๋‹ค.

์šด์˜ ์ฒด์ œ์˜ ์‹œ์Šคํ…œ ์ž์› ๊ด€๋ฆฌ

  • ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ(CPU)
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ
  • I/O(์ž…์ถœ๋ ฅ) ๊ด€๋ฆฌ (๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ ๋“ฑ)

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ด€๋ฆฌ

  • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ณ , ์‹œ์Šคํ…œ ์ž์›์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ถŒํ™˜๊ณผ ์‚ฌ์šฉ์ž๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค

  • ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰ ์ค‘์ธ ์ƒํƒœ๋กœ ํŠน์ • ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ์ ์žฌ๋˜๊ณ  CPU๊ฐ€ ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ํ•˜๋‚˜์”ฉ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

ํ”„๋กœ์„ธ์Šค ๊ตฌ์„ฑ ์š”์†Œ

  1. ์œ ์ € ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ๊ด€๋ฆฌ (Virtual Address Descriptors)
  2. ํ•ธ๋“ค ํ…Œ์ด๋ธ” (Handle Table)
  3. ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

ํ”„๋กœ์„ธ์Šค ํŠน์ง•

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

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

  • ์‹คํ–‰ (Run): ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ฐจ์ง€ํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ๋ฐ›๊ณ  ์žˆ๋Š” ์ƒํƒœ
  • ์ค€๋น„ (Ready): ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„๋˜๋Š” ์ƒํƒœ
  • ๋Œ€๊ธฐ (Waiting): CPU์˜ ์‚ฌ์šฉ์ด ์•„๋‹ˆ๋ผ ์ž…์ถœ๋ ฅ์˜ ์‚ฌ๊ฑด์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ

ํ”„๋กœ์„ธ์„œ

  • ํ•˜๋“œ์›จ์–ด์ ์ธ ์ธก๋ฉด: ์ปดํ“จํ„ฐ ๋‚ด์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ์œ ๋‹›
  • ์†Œํ”„ํŠธ์›จ์–ด์ ์ธ ์ธก๋ฉด: ๋ฐ์ดํ„ฐ ํฌ๋งท์„ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ

์Šค๋ ˆ๋“œ

  • ๋ช…๋ น์–ด๊ฐ€ CPU๋ฅผ ํ†ตํ•ด์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ฐ์ฒด์˜ ๋‹จ์œ„์ด๋‹ค.
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

์Šค๋ ˆ๋“œ์˜ ๊ตฌ์„ฑ์š”์†Œ

  • ๊ฐ€์ƒ CPU: ์ธํ„ฐํ”„๋ฆฌํ„ฐ, ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๋‚ด๋ถ€์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฐ€์ƒ ์ฝ”๋“œ
  • ์ˆ˜ํ–‰ ์ฝ”๋“œ: Thread Class์— ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” run() Method ์ฝ”๋“œ
  • ์ฒ˜๋ฆฌ ๋ฐ์ดํ„ฐ: Thread์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ

์Šค๋ ˆ๋“œ์˜ ํŠน์ง•

  • ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„์˜ ๋‹จ์œ„์ด๋‹ค.
  • ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋Š” ์‹œ์ž‘ํ•ด์„œ ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ํ•œ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ๋ช…๋ น๋“ค์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ๊ฐ ์Šค๋ ˆ๋“œ๋งˆ๋‹ค call stack์ด ์กด์žฌํ•˜๋ฉฐ, ๋‚˜๋จธ์ง€ Code, Data, Heap ์˜์—ญ์€ ์Šค๋ ˆ๋“œ ๋ผ๋ฆฌ ๊ณต์œ ํ•œ๋‹ค.
  • ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์™€ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.

์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ(Single-Thread)

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

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ(Multi-Thread)

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

๋ฌธ์ž์—ด

  • ์œ ๋‹ˆ์ฝ”๋“œ
    • ์œ ๋‹ˆ์ฝ”๋“œ ํ˜‘ํšŒ๊ฐ€ ์ œ์ •ํ•˜๋Š” ์ „ ์„ธ๊ณ„์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์ปดํ“จํ„ฐ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ณ  ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ์‚ฐ์—… ํ‘œ์ค€์ด๋‹ค.
    • ISO 10646 ๋ฌธ์ž ์ง‘ํ•ฉ, ๋ฌธ์ž ์ธ์ฝ”๋”ฉ, ๋ฌธ์ž ์ •๋ณด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋ฌธ์ž๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.
    • ASCII๋ฅผ ํ™•์žฅํ•œ ํ˜•ํƒœ์ด๋‹ค.
  • ASCII
    • ์˜๋ฌธ ์•ŒํŒŒ๋ฒณ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์œผ๋กœ 7๋น„ํŠธ๋กœ ๋ชจ๋“  ์˜์–ด ์•ŒํŒŒ๋ฒณ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • 52๊ฐœ์˜ ์˜๋ฌธ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž, 10๊ฐœ์˜ ์ˆซ์ž, 32๊ฐœ์˜ ํŠน์ˆ˜ ๋ฌธ์ž, ํ•˜๋‚˜์˜ ๊ณต๋ฐฑ ๋ฌธ์ž๋ฅผ ํฌํ•จํ•œ๋‹ค.
  • UTF-8 (๊ฐ€๋ณ€ ๊ธธ์ด ์ธ์ฝ”๋”ฉ)
    • ์œ ๋‹ˆ์ฝ”๋“œ ํ•œ ๋ฌธ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด 1 byte(=8 bits)์—์„œ 4 byte๊นŒ์ง€ ์‚ฌ์šฉํ•œ๋‹ค.
    • ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ํ…์ŠคํŠธ๋Š” ์ฃผ๋กœ UTF-8๋กœ ์ธ์ฝ”๋”ฉ๋œ๋‹ค.
    • ๋ฐ”์ดํŠธ ์ˆœ์„œ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋‹ค.
  • UTF-16 
    • ์ฝ”๋“œ ๊ทธ๋Œ€๋กœ ๋ฐ”์ดํŠธ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฐ”์ดํŠธ ์ˆœ์„œ๊ฐ€ ๋‹ค์–‘ํ•˜๋‹ค.

๊ทธ๋ž˜ํ”ฝ

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

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜

  • ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์–ธ์–ด๋กœ๋Š” JAVA, C#, JavaScript ๋“ฑ์ด ์žˆ๋‹ค.

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์˜ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•

  • ํŠธ๋ ˆ์ด์‹ฑ: ํ•œ๊ฐ์ฒด์— flag๋ฅผ๋‘๊ณ , ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์‚ฌ์ดํด๋งˆ๋‹ค flag์— ํ‘œ์‹œ ํ›„ ์‚ญ์ œํ•˜๋Š” mark and sweep ๋ฐฉ๋ฒ•์ด๋‹ค.
  • ๋ ˆํผ๋Ÿฐ์Šค ์นด์šดํŒ…: ํ•œ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ณ€์ˆ˜์˜ ์ˆ˜๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์›น ์„œ๋น„์Šค์—์„œ์˜ ์บ์‹œ

๋งŽ์€ ์‹œ๊ฐ„์ด๋‚˜ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•œ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

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

๊ธฐ๋ณธ ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ธต์— ์•ก์„ธ์Šคํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋” ๋Š๋ฆฐ ์ž‘์—…์˜ ์š”๊ตฌ๋ฅผ ์ค„์ด๊ณ  ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์˜ ์„ฑ๋Šฅ์„ ๋†’์ธ๋‹ค.

์บ์‹œ์˜ ์žฅ์ 

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ๊ฐœ์„ 
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋น„์šฉ ์ ˆ๊ฐ
  • ๋ฐฑ์—”๋“œ ๋ถ€ํ•˜ ๊ฐ์†Œ
  • ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•ซ์ŠคํŒŸ ์ œ๊ฑฐ
  • ์ฝ๊ธฐ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ฆ๊ฐ€

์บ์‹œ ์‚ฌ์šฉ์˜ ์˜ˆ์‹œ

  • ํด๋ผ์ด์–ธํŠธ: HTTP ์บ์‹œ ํ—ค๋”, ๋ธŒ๋ผ์šฐ์ €
  • ๋„คํŠธ์›Œํฌ: DNS ์„œ๋ฒ„, HTTP ์บ์‹œ ํ—ค๋”, CDN, ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ
  • ์„œ๋ฒ„ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: ํ‚ค-๊ฐ’ ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด, ๋กœ์ปฌ ์บ์‹œ

๐Ÿ“˜ ์ถ”๊ฐ€๋กœ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ

[udemy] React ์™„๋ฒฝ ๊ฐ€์ด๋“œ ๊ฐ•์˜ ๋ณด๊ธฐ (๋งค์ผ ์กฐ๊ธˆ์”ฉ ์ด๋ผ๋„ ๊พธ์ค€ํžˆ ๋“ฃ๊ธฐ)

Study์›๊ณผ ํ•จ๊ป˜ ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ ๊ตฌํ˜„

๐Ÿ“ ์ค‘์š”ํ•œ ๋‚ด์šฉ

  • ์ปดํ“จํ„ฐ ๊ตฌ์กฐ
  • ์ค‘์•™ ์ฒ˜๋ฆฌ์žฅ์น˜
  • ์šด์˜ ์ฒด์ œ
  • ํ”„๋Ÿฌ์„ธ์Šค
  • ์Šค๋ ˆ๋“œ
  • ์บ์‹œ

'Daily > Today I Learned' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

22.08.03_TIL  (0) 2022.08.03
22.08.02_TIL  (0) 2022.08.02
22.07.28_TIL  (0) 2022.07.28
22.07.27_TIL  (0) 2022.07.27
22.07.26_TIL  (0) 2022.07.26