write_function - KimTaebin-ai/study_posts GitHub Wiki

unistd.h 와 system call

unistd.hλŠ” POSIX ν‘œμ€€μ„ μ€€μˆ˜ν•˜λŠ” 헀더 파일둜, write와 같은 λ‹€μ–‘ν•œ μ‹œμŠ€ν…œ μ½œμ„ μœ„ν•œ ν•¨μˆ˜μ˜ μ›ν˜•μ΄ μ •μ˜λ˜μ–΄ μžˆλ‹€. 이 ν•¨μˆ˜λŠ” μ‹€μ œλ‘œ μ»€λ„μ—μ„œ μ •μ˜λœ μ‹œμŠ€ν…œ μ½œμ„ ν˜ΈμΆœν•˜λ„λ‘ μ„€κ³„λ˜μ–΄ 있으며, μ»€λ„κ³Όμ˜ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μΆ”μƒν™”ν•˜μ—¬ μœ μ € ν”„λ‘œκ·Έλž¨μ΄ μ‰½κ²Œ ν•˜λ“œμ›¨μ–΄ μžμ›μ— μ ‘κ·Όν•  수 μžˆλ„λ‘ 도와쀀닀.

각 λΆ„μ•Ό 별 μ‹œμŠ€ν…œ 콜 μ˜ˆμ‹œ

  • ν”„λ‘œμ„ΈμŠ€ μ œμ–΄: fork(), exit(), wait(),
  • 파일 관리: open(), read(), write(), close()
  • μž₯치 관리: ioctl(), read(), write()
  • 정보 μœ μ§€: getpid(), alarm(), sleep()
  • λ³΄μ•ˆ(Protection): chmod(),umask(), chown()

c μ–Έμ–΄μ—μ„œ unistd ν—€λ”νŒŒμΌμ„ 톡해 μ‚¬μš©ν•˜λŠ” write ν•¨μˆ˜λŠ” μœ μ €λͺ¨λ“œμ—μ„œ 컀널λͺ¨λ“œλ‘œ μ „ν™˜ν•˜μ—¬ 파일 μ‹œμŠ€ν…œμ— 데이터λ₯Ό μ“°λŠ” μ‹œμŠ€ν…œ μ½œμ„ λ°œμƒμ‹œν‚¨λ‹€. 이 κ³Όμ •μ—μ„œ C ν‘œμ€€ λΌμ΄λΈŒλŸ¬λ¦¬μ— μ •μ˜λœ write ν•¨μˆ˜λŠ” 컀널 λ‚΄λΆ€μ˜ write μ‹œμŠ€ν…œ 콜과 직접 λ§€ν•‘λœλ‹€.

λ”°λΌμ„œ unistd.h의 write ν•¨μˆ˜λŠ” μ»€λ„μ˜ write μ‹œμŠ€ν…œ 콜과 λ™μΌν•œ λ™μž‘μ„ μˆ˜ν–‰ν•˜λ©°, λ‹€λ§Œ μœ μ € λͺ¨λ“œμ—μ„œ 호좜된 ν•¨μˆ˜κ°€ μ»€λ„λ‘œ μ‹œμŠ€ν…œ μ½œμ„ λ°œμƒμ‹œν‚€λŠ” 역할을 ν•œλ‹€κ³  λ³Ό 수 μžˆλ‹€.