ν”„λ‘œμ„ΈμŠ€μ™€ μŠ€λ ˆλ“œ
728x90

Today, What I learned?

본격적으둜 ν”„λ‘œμ νŠΈκ°€ μ‹œμž‘λœ 첫날.. πŸ˜‚
기획과 μ™€μ΄μ–΄ν”„λ ˆμž„μ„ 잘 작고~ ν”„λ‘œμ„ΈμŠ€μ™€ μŠ€λ ˆλ“œμ— λŒ€ν•œ κ°•μ˜λ₯Ό λ“€μ—ˆλ‹€.
쉽지 μ•Šμ€ κ°œλ…μΈλ° λ‚˜λ¦„λŒ€λ‘œ ν’€μ–΄μ„œ 정리해본닀.

 

 

ν”„λ‘œμ„ΈμŠ€?

μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° 할당받은 μž‘μ—…μ˜ λ‹¨μœ„λ₯Ό λ§ν•œλ‹€.

이 각각의 μž‘μ—…λ“€μ€ μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° μ‹œμŠ€ν…œ μžμ›μ„ ν• λ‹Ήλ°›λŠ”λ°, μžμ›μ΄λΌλŠ” 것은 CPU μ‹œκ°„κ³Ό 싀행에 ν•„μš”ν•œ λ©”λͺ¨λ¦¬ μ˜μ—­μ΄λ‹€!

 

μ‰½κ²Œ λ§ν•˜λ©΄ ν”„λ‘œμ„ΈμŠ€λŠ” μ‹€ν–‰λ˜κ³  μžˆλŠ” ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ΄λ‹€.

μ•„λž˜μ™€ 같이 μœˆλ„μš°μ˜ μž‘μ—… κ΄€λ¦¬μžλ‚˜ λ§₯의 ν™œμ„± μƒνƒœ λ³΄κΈ°μ—μ„œ μ‹€ν–‰λ˜κ³  μžˆλŠ” λ§Žμ€ ν”„λ‘œμ„ΈμŠ€λ“€μ„ λ³Ό 수 μžˆλ‹€.

 

ν”„λ‘œμ„ΈμŠ€ μ£Όμ†Œκ³΅κ°„

각각의 λ©”λͺ¨λ¦¬λ₯Ό 할당받은 ν”„λ‘œμ„ΈμŠ€λŠ” λ©”λͺ¨λ¦¬λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ ν”„λ‘œμ„ΈμŠ€ μ£Όμ†Œ 곡간을 κ°–λŠ”λ‹€.

ν”„λ‘œμ„ΈμŠ€ μ£Όμ†Œ 곡간은 μ΄λ ‡κ²Œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

  • Code : ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰μ‹œν‚€κΈ° μœ„ν•œ μ½”λ“œκ°€ μ˜¬λΌκ°€λŠ” λ©”λͺ¨λ¦¬ μ˜μ—­
  • Data : μ „μ—­λ³€μˆ˜λ‚˜ 정적 λ³€μˆ˜λ₯Ό ν• λ‹Ήν•˜λŠ” μ˜μ—­
  • Stack : μž„μ‹œμ μΈ λ©”λͺ¨λ¦¬ μ˜μ—­ (μ§€μ—­λ³€μˆ˜, ν•¨μˆ˜ λ§€κ°œλ³€μˆ˜, 리턴 κ°’ 등을 μ €μž₯ν•œλ‹€)
  • Heap : 동적 ν• λ‹Ή μ‹œ μ‚¬μš© (Cμ–Έμ–΄μ˜ mallocμ΄λ‚˜ Java의 new λ“±)

기본적으둜 ν”„λ‘œμ„ΈμŠ€λ§ˆλ‹€ 1개의 μŠ€λ ˆλ“œλ₯Ό κ°–κ²Œ λ˜λŠ”λ°, 그럼 μŠ€λ ˆλ“œλŠ” 무엇인가? πŸ€”

 

 

μŠ€λ ˆλ“œ?

ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€ μ•ˆμ—μ„œλ„ μž‘μ—…μ΄ μ—¬λŸ¬ 개 진행될 수 있고, 이 각각의 μž‘μ—…μ„ μ§„ν–‰ν•˜λŠ” 것이 μŠ€λ ˆλ“œλ‹€.

ν”„λ‘œμ„ΈμŠ€ μ•ˆμ˜ μŠ€λ ˆλ“œλ“€μ€ Code, Data, Heap μ˜μ—­μ„ κ³΅μœ ν•˜κ³  stack만 μŠ€λ ˆλ“œ λ³„λ‘œ 각각 할당을 λ°›λŠ”λ‹€.

μŠ€λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€ 내에 μ—¬λŸ¬ 개 μƒκΈΈμˆ˜κ°€ μžˆλ‹€!

 

 

 

λ©€ν‹° ν”„λ‘œμ„ΈμŠ€μ™€ λ©€ν‹° μŠ€λ ˆλ“œ

λ©€ν‹° ν”„λ‘œμ„ΈμŠ€

  • ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ΄ μ—¬λŸ¬ 개의 ν”„λ‘œμ„ΈμŠ€λ‘œ κ΅¬μ„±λœ 것.
  • 각각의 ν”„λ‘œμ„ΈμŠ€λ‹Ή ν•˜λ‚˜μ˜ μž‘μ—…μ„ μ²˜λ¦¬ν•œλ‹€.
  • ν”„λ‘œμ„ΈμŠ€ 쀑 ν•˜λ‚˜μ— λ¬Έμ œκ°€ λ°œμƒν•΄λ„ ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€λ§Œ 죽을 뿐, ν”„λ‘œκ·Έλž¨μ€ μ—¬μ „νžˆ λ™μž‘ν•œλ‹€!

λ©€ν‹° μŠ€λ ˆλ“œ

  • ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ΄ μ—¬λŸ¬ 개의 μŠ€λ ˆλ“œλ‘œ κ΅¬μ„±λœ 것.
  • 각각의 μŠ€λ ˆλ“œλ‹Ή ν•˜λ‚˜μ˜ μž‘μ—…μ„ μ²˜λ¦¬ν•œλ‹€.
  • ν”„λ‘œμ„ΈμŠ€λ³΄λ‹€ λ©”λͺ¨λ¦¬ 곡간과 μ‹œμŠ€ν…œ μžμ› μ†Œλͺ¨κ°€ 적닀.
  • μŠ€λ ˆλ“œ κ°„ κ³΅μœ ν•˜λŠ” μ˜μ—­(Data, Heap)이 있기 λ•Œλ¬Έμ— κ°„λ‹¨ν•œ 톡신방법!

 

ν”„λ‘œμ νŠΈ 진행 μ—¬λΆ€

λ‚˜λŠ” μ΄λ²ˆμ— νŒ€μž₯을 λ§‘μ•˜κ³ !... ν”„λ‘œμ νŠΈ 진행과 κ΄€λ ¨λ˜μ–΄μ„œλŠ” λ³„λ„λ‘œ 일지λ₯Ό μž‘μ„±ν•΄λ³΄λ € ν•œλ‹€.

μ•„λž˜λŠ” μ‹œμž‘ν•œ 였늘, 1일차에 λŒ€ν•œ 진행사항듀이닀. πŸ˜‡

쉽지 μ•Šκ² μ§€λ§Œ 이번 ν”„λ‘œμ νŠΈλ‘œ 또 ν•œ 번 μ„±μž₯ν•  λ‚΄κ°€ κΈ°λŒ€λœλ‹€ ! ! !...


https://i-ten.tistory.com/217

 

기초 ν”„λ‘œμ νŠΈ Swivee 진행 1일차

ν”„λ‘œμ νŠΈλ₯Ό μ‹œμž‘ν•˜λ©°, 1일차. 본격적으둜 기초 ν”„λ‘œμ νŠΈκ°€ μ‹œμž‘λ˜μ—ˆλ‹€. πŸ˜‡ μ§€λ‚œ ν”„λ‘œμ νŠΈλ₯Ό λ°”νƒ•μœΌλ‘œ 이번 ν”„λ‘œμ νŠΈ λ•ŒλŠ” κΈ°νšμ„ μ’€ 더 μ„ΈλΆ€μ μœΌλ‘œ μ‹ κ²½μ¨μ„œ ν•΄μ•Όκ² λ‹€κ³  느끼며!.. νŒ€μ›λ“€κ³Ό μ—΄

i-ten.tistory.com

 

728x90