Skip to content

Latest commit

Β 

History

History
48 lines (37 loc) Β· 3.63 KB

File metadata and controls

48 lines (37 loc) Β· 3.63 KB

Daemon

Daemon?

  • 데λͺ¬μ΄λž€ μ„œλΉ„μŠ€μ˜ μš”μ²­μ— λŒ€ν•΄ μ‘λ‹΅ν•˜κΈ° μœ„ν•΄ μ˜€λž«λ™μ•ˆ 싀행쀑인 λ°±κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€
  • μœ λ‹‰μŠ€ μš΄μ˜μ²΄μ œμ—μ„œ 이름이 "d"둜 λλ‚˜λŠ” ν”„λ‘œμ„ΈμŠ€λ“€μ΄ λŒ€ν‘œμ μ΄λΌκ³  함
    • inetd, httpd, nfsd, sshd, named, lpd
  • μ„œλ²„λŠ” 계속 λ©ˆμΆ”μ§€ μ•Šκ³  ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ”λ° 이와 같이 λ©ˆμΆ”μ§€ μ•Šκ³  계속 μž‘λ™ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ 데λͺ¬(deamon)이라고 함
    • μ›Ή λŒ€λͺ¬μœΌλ‘œ 많이 μ‚¬μš©λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄λŠ” IIS, μ•„νŒŒμΉ˜ ν†°μΊ£ λ“±

CGI(Common Gateway Interface)와 가상머신

  • 초기 HTML 화면은 κ³ μ •λœ νŽ˜μ΄μ§€λ‘œ κ΅¬μ„±λ˜μ–΄ 동적인 데이터λ₯Ό ν‘œμ‹œν•˜λŠ” 것이 μ•ˆλ¬μœΌλ‚˜ 동적인 데이터λ₯Ό HTML에 μ‚½μž…ν•˜λ €λ©΄ ν”„λ‘œμ„ΈμŠ€μ— μ§ˆλ¬Έν•˜κ³  결과값을 HTML ν˜•νƒœλ‘œ μ›Ή 데λͺ¬μ— μ „λ‹¬ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€κ°€ ν•„μš”ν–ˆλŠ”λ° 이λ₯Όμœ„ν•΄ 개발된 것이 CGI
    • 초기의 CGIλŠ” C, νŽ„, 였크 같은 ν”„λ‘œκ·Έλž˜λ°μ–Έμ–΄λ₯Ό μ‚¬μš©ν•΄ κ°„λ‹¨ν•œ μž‘μ—…λ§Œμ΄ κ°€λŠ₯ν•˜μ˜€μœΌλ‚˜ μ›Ή μ‹œμŠ€ν…œμ΄ λ°œμ „ν•˜λ©΄μ„œ λ§Žμ€ μž‘μ—…μ„ μ›Ήμ—μ„œ ν•˜κ²Œ λ˜μ—ˆμŒ
  • 그에따라 λ°μ΄ν„°λ² μ΄μŠ€μ™€ μ›Ή μ„œλ²„μ˜ μ—°κ²° μž‘μ—…μ— CGIλ₯Ό μ‚¬μš©ν•˜κΈ° μ‹œμž‘
    • λŒ€ν‘œμ μΈ 예둜 ASP, PHP, JSPκ°€ 있음
  • ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„ μ‹œμŠ€ν…œμ΄ λ°œμ „ν•¨μ— 따라 미듀웨어 κ°œλ…λ„ λ“±μž₯
    • 미듀웨어 : μ–‘μͺ½μ„ μ—°κ²°ν•˜μ—¬ 데이터λ₯Ό 주고받을 수 μžˆλ„λ‘ μ€‘κ°„μ—μ„œ 맀개 역할을 ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄
    • 미듀웨어λ₯Ό μ‚¬μš©ν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„λ₯Ό 3-tire ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„, μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„λ₯Ό 2-tire ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„λΌκ³  함
  • μš΄μ˜μ²΄μ œμ™€ κ΄€λ ¨λœ λ―Έλ“€μ›¨μ–΄λ‘œλŠ” 가상머신이 있으며 객체지ν–₯언어인 μžλ°”λŠ” λ‹€λ₯Έ μš΄μ˜μ²΄μ œμ—μ„œλ„ μ½”λ“œ μˆ˜μ •μ—†μ΄ μ‚¬μš©ν•  수 μžˆλ„λ‘ν•˜λŠ” μžλ°” 가상 λ¨Έμ‹ (JVM)이 쑴재

BackGround Process?

  • ν¬κ·ΈλΌμš΄λ“œ(Foreground) ν”„λ‘œμ„ΈμŠ€μ˜ λ°˜λŒ€ κ°œλ…μœΌλ‘œ μž…λ ₯μž₯μΉ˜μ— λŒ€ν•΄ ν„°λ―Έλ„κ³Όμ˜ 관계λ₯Ό λŠμ€ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€λ₯Ό 의미
    • ν¬κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€λŠ” ν‘œμ€€μž…μΆœλ ₯μž₯치λ₯Ό 톡해 λŒ€ν™”ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€

μžλ°”μ˜ 데λͺ¬ μŠ€λ ˆλ“œ

  • μŠ€λ ˆλ“œλŠ” 일반 μŠ€λ ˆλ“œμ™€ 데λͺ¬ μŠ€λ ˆλ“œκ°€ 쑴재
  • JVM 이 처음 μ‹œμž‘ν•  λ•Œ main μŠ€λ ˆλ“œλ₯Ό μ œμ™Έν•˜κ³  JVM λ‚΄λΆ€μ μœΌλ‘œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μ‹€ν–‰ν•˜λŠ” μŠ€λ ˆλ“œ(κ°€λΉ„μ§€ 컬렉터 μŠ€λ ˆλ“œλ‚˜ 기타 μ—¬λŸ¬ λΆ€μˆ˜μ μΈ μŠ€λ ˆλ“œ)λŠ” λͺ¨λ‘ 데λͺ¬ μŠ€λ ˆλ“œ
  • μƒˆλ‘œμš΄ μŠ€λ ˆλ“œκ°€ μƒμ„±λ˜λ©΄ μžμ‹ μ„ 생성해 μ€€ λΆ€λͺ¨ μŠ€λ ˆλ“œμ˜ 데λͺ¬ μ„€μ • μƒνƒœλ₯Ό 확인해 κ·Έ 값을 κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜λ©°, λ”°λΌμ„œ main μŠ€λ ˆλ“œμ—μ„œ μƒμ„±ν•œ λͺ¨λ“  μŠ€λ ˆλ“œλŠ” 기본적으둜 데λͺ¬ μŠ€λ ˆλ“œκ°€ μ•„λ‹Œ 일반 μŠ€λ ˆλ“œμž„
    • μŠ€λ ˆλ“œ λ‚΄λΆ€μ μœΌλ‘œ 데λͺ¬ μƒνƒœ 쑴재
  • μŠ€λ ˆλ“œ ν•˜λ‚˜κ°€ μ’…λ£Œλ˜λ©΄ JVM 은 λ‚¨μ•„μžˆλŠ” λͺ¨λ“  μŠ€λ ˆλ“œ κ°€μš΄λ° 일반 μŠ€λ ˆλ“œκ°€ μžˆλŠ”μ§€λ₯Ό ν™•μΈν•˜κ³ , 일반 μŠ€λ ˆλ“œλŠ” λͺ¨λ‘ μ’…λ£Œλ˜κ³  λ‚¨μ•„μžˆλŠ” μŠ€λ ˆλ“œκ°€ λͺ¨λ‘ 데λͺ¬ μŠ€λ ˆλ“œλΌλ©΄ μ¦‰μ‹œ JVM μ’…λ£Œ 절차λ₯Ό μ§„ν–‰
    • finally λΈ”λ‘μ˜ μ½”λ“œλ„ μ‹€ν–‰λ˜μ§€ μ•ŠμœΌλ©°, 호좜 μŠ€νƒλ„ 원상 λ³΅κ΅¬λ˜μ§€ μ•ŠμŒ
    • 데λͺ¬ μŠ€λ ˆλ“œμ— μ‚¬μš©ν–ˆλ˜ μžμ›μ„ κΌ­ 정리해야 ν•˜λŠ” 일을 μ‹œν‚¨λ‹€λ©΄, JVM이 μ’…λ£Œλ  λ•Œ μžμ›μ„ μ •λ¦¬ν•˜μ§€ λͺ»ν•  수 있기 λ•Œλ¬Έμ— μ μ ˆν•˜μ§€ μ•ŠμŒ
    • 데λͺ¬ μŠ€λ ˆλ“œλŠ” 예고 없이 μ’…λ£Œλ  수 있기 λ•Œλ¬Έμ— μ•± λ‚΄λΆ€μ—μ„œ μ‹œμž‘μ‹œν‚€κ³  μ’…λ£Œν•˜κΈ°μ—λŠ” κ·Έλ‹€μ§€ 쒋은 방법이 μ•„λ‹˜

24-04-22

Reference