λͺ©λ‘μ „체 κΈ€ (1005)

😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[ν”„λ‘œμ„ΈμŠ€μ™€ μŠ€λ ˆλ“œ 닀쀑 처리] λ¦¬λˆ…μŠ€ λΆ€νŒ… κ³Όμ •κ³Ό ν”„λ‘œμ„ΈμŠ€

⭐ λ¦¬λˆ…μŠ€ λΆ€νŒ… κ³Όμ •κ³Ό ν”„λ‘œμ„ΈμŠ€ PC μ—μ„œ 전원이 λ“€μ–΄μ˜€λ©΄ ROM (Read Only Meomry) / ν”Œλž˜μ‹œ (Flash) λ©”λͺ¨λ¦¬μ— λ“€μ–΄ μžˆλŠ” BIOS (Basic Input/Output System) κ°€ λ¨Όμ € μ‹€ν–‰λœλ‹€ BIOS μ—μ„œλŠ” μ‹œμŠ€ν…œμ„ μ κ²€ν•œ ν›„ ν•˜λ“œ λ””μŠ€ν¬μ˜ 첫 번째 섹터에 μžˆλŠ” GRUB λ‚˜ LILO 같은 λΆ€νŠΈλ‘œλ” μ‹€ν–‰ λΆ€νŠΈλ‘œλ”λŠ” λ¦¬λˆ…μŠ€ 컀널을 λ©”λͺ¨λ¦¬λ‘œ 올리고 μ‹œμŠ€ν…œμ„ μ΄ˆκΈ°ν™” ν•˜λŠ” 과정을 진행함 GRUB κ°€ λ¦¬λˆ…μŠ€ 컀널 이미지λ₯Ό λ©”λͺ¨λ¦¬λ‘œ λΆˆλŸ¬μ™€μ„œ μ‹œμŠ€ν…œ μ œμ–΄κΆŒμ„ μ»€λ„μ—κ²Œ λ„˜κ²¨μ€€λ‹€ μ»€λ„μ˜ λ‘œλ”©μ΄ μ‹œμž‘λ˜λ©΄μ„œ λΆ€νŒ…κ³Ό κ΄€λ ¨λœ λ©”μ‹œμ§€λ₯Ό ν„°λ―Έλ„λ‘œ 좜λ ₯ν•œλ‹€ λΆ€νŠΈλ‘œλ”λŠ” λ¦¬λˆ…μŠ€ 컀널 이미지λ₯Ό λ©”λͺ¨λ¦¬λ‘œ μ˜¬λ¦¬λŠ”λ° 컀널 μ΄λ―Έμ§€μ˜ 첫 뢀뢄이 기계어 μˆ˜μ€€μ˜ μ–΄μ…ˆλΈ”λ¦¬ μ½”λ“œλ‘œ λ˜μ–΄ μžˆλ‹€ μ²˜μŒμ— μƒμ„±λ˜λŠ” swapper(s..

[ν”„λ‘œμ„ΈμŠ€μ™€ μ‹œκ·Έλ„] μ‹œκ·Έλ„ (Signal)

β­μ‹œκ·Έλ„ ν”„λ‘œμ„ΈμŠ€λ“€ μ‚¬μ΄μ—μ„œ 비동기적 (Asynchronous) μ‚¬κ±΄μ˜ λ°œμƒμ„ μ „λ‹¬ν•˜λŠ” 방법 μ†Œν”„νŠΈμ›¨μ–΄μ μΈ μΈν„°λŸ½νŠΈ (Interrupt) μš΄μ˜μ²΄μ œμ—μ„œ μΈν„°λŸ½νŠΈλ₯Ό μ˜λ―Έν•˜λŠ” μ‹œκ·Έλ„μ΄ λ°œμƒν•΄μ„œ ν˜„μž¬ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨μ— 전달이 되고, ν•΄λ‹Ή μ‹œκ·Έλ„μ„ 받은 ν”„λ‘œκ·Έλž¨μ€ μ’…λ£Œλœλ‹€ μ‹œκ·Έλ„μ€ ν”„λ‘œκ·Έλž¨μ—κ²Œ 무언가 사건을 μ „λ‹¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λœλ‹€ λŒ€λΆ€λΆ„μ˜ μ‹œκ·Έλ„μ΄ SIGINT, SIGABRT, SIGALRM λ“± SIG 으둜 μ‹œμž‘ν•˜λŠ” 이름을 가진닀 ν”„λ‘œμ„ΈμŠ€λŠ” λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ— μ‹œκ·Έλ„μ„ 전달/μ„€μ • κ°€λŠ₯ ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€λŠ” λΉ„λ™κΈ°μ μœΌλ‘œ μ‹œκ·Έλ„μ„ λ°›μ•„μ„œ μ²˜λ¦¬ν•  수 μžˆλ‹€ SIGCONT μ‹œκ·Έλ„μ€ 같은 μ„Έμ…˜μ— μžˆλŠ” μž„μ˜μ˜ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ 전달 SIGURG μ‹œκ·Έλ„μ€ TCP/IP λ„€νŠΈμ›Œν¬ OOB(Out Of Band) λ©”μ‹œμ§€ ν†΅ν•΄μ„œ 전달 β˜‘οΈ μ‹œκ·Έλ„..

[ν”„λ‘œμ„ΈμŠ€μ™€ μ‹œκ·Έλ„] ν”„λ‘œμ„ΈμŠ€ (Process)

⭐ λ©€ν‹° ν”„λ‘œμ„ΈμŠ€μ—μ„œ μƒˆλ‘œμš΄ ν”„λ‘œμ„ΈμŠ€ 생성 fork() ν•¨μˆ˜λ‘œ μƒμ„±ν•œλ‹€ ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ„ λ°›μ•„μ„œ λ™μΌν•œ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” λ„€νŠΈμ›Œν¬ μ„œλ²„μ™€ 같은 경우 ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ³΅μ œν•˜μ—¬ λΆ€λͺ¨μ™€ μžμ‹μ΄ λ™μ‹œμ— 각각 κ΄€λ ¨λœ κΈ°λŠ₯을 μ‹€ν–‰ν•  수 μžˆλ‹€ μ…Έμ—μ„œμ™€ 같이 μƒˆλ‘œμš΄ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•΄μ•Ό ν•˜λŠ” κ²½μš°μ—λŠ” fork() ν•¨μˆ˜λ‘œ μžμ‹ ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒμ„±ν•œ 후에 exec() ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ μƒˆλ‘œμš΄ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•œλ‹€ SUS μ—μ„œλŠ” fork()/exec() 을 ν•¨κ»˜ μˆ˜ν–‰ν•˜λŠ” posix_spawn() ν•¨μˆ˜ μ œκ³΅ν•¨ ⭐ IPC (Inter-Process Communication) ν”„λ‘œμ„ΈμŠ€ μ‚¬μ΄μ—λŠ” μ„œλ‘œ κ³΅μœ ν•˜λŠ” 곡간이 μ—†μŒ μ„œλ‘œ 간에 λ©”μ‹œμ§€λ₯Ό μ „λ‹¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ³„λ„μ˜ IPC κ°€ ν•„μš”ν•¨ IPC 둜 νŒŒμ΄ν”„λ‚˜, FIFO, 곡유 λ©”λͺ¨λ¦¬ λ“±μ˜ λ°©..

λ¦¬λˆ…μŠ€ ν”„λ‘œκ·Έλž˜λ°μ˜ 기초

⭐ λ¦¬λˆ…μŠ€ 컀널 ν•˜λ“œμ›¨μ–΄μ˜ μ œμ–΄μ™€ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” μš΄μ˜μ²΄κ³„μ˜ 핡심 계측 ν”„λ‘œμ„ΈμŠ€ 관리, λ©”λͺ¨λ¦¬ 관리, 파일 μ‹œμŠ€ν…œ, λ””λ°”μ΄μŠ€ μ œμ–΄, λ„€νŠΈμ›Œν¬ λ“± λ‹€μ–‘ν•œ κΈ°λŠ₯ 제곡 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ κΈ°λŠ₯을 효율적으둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ μ‹œμŠ€ν…œ 호좜 μΈν„°νŽ˜μ΄μŠ€λ₯Ό 제곡 κ°œλ°œμžλŠ” μ‹œμŠ€ν…œ ν˜ΈμΆœμ„ 톡해 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μž‘μ„±ν•  수 있음 ⭐ 파일 처리 파일, 디렉터리, λͺ…λͺ…λœ νŒŒμ΄ν”„, μ†ŒμΌ“, λ””λ°”μ΄μŠ€ 등이 λͺ¨λ‘ 파일둜 취급됨 λ””λ°”μ΄μŠ€λ₯Ό 닀루기 μœ„ν•΄μ„œλŠ” 파일 μ²˜λ¦¬μ— λŒ€ν•΄ μ•Œμ•„μ•Ό 함 λ¦¬λˆ…μŠ€μ—μ„œ μ €μˆ˜μ€€μœΌλ‘œ νŒŒμΌμ„ λ‹€λ₯Ό 수 μžˆλŠ” open, read, write, close, fcntl, ioctl λ“± ν•¨μˆ˜ 제곡됨 μœ λ‹‰μŠ€μ˜ ν‘œμ€€ λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ μ œκ³΅ν•˜λŠ” FILE ꡬ쑰체λ₯Ό μ΄μš©ν•˜λŠ” fopen, fread, fwrite, fclose ν•¨μˆ˜ λ“±..

[파일 정보와 κΆŒν•œ] 파일의 μ ‘κ·Ό κΆŒν•œ 및 λ³€κ²½ with 링크

⭐ ν•˜λ“œ 링크와 심볼릭 링크 링크 : ν•΄λ‹Ή νŒŒμΌμ„ λ‹€λ₯Έ κ²ƒμœΌλ‘œ μ—°κ²°ν•΄μ„œ μ‚¬μš©ν•˜λŠ” κ°œλ… ν•˜λ“œ 링크 : κ°•ν•˜κ²Œ μ—°κ²°λ˜μ–΄ μžˆλŠ” 것, ν•˜λ‚˜μ˜ 파일이 두 개의 μ΄λ¦„μœΌλ‘œ λΆˆλ¦°λ‹€κ³  μƒκ°ν•˜λ©΄ 이해가 쉽닀 μ–΄λ–€ μ΄λ¦„μœΌλ‘œ νŒŒμΌμ„ μˆ˜μ •ν•˜λ“  원본 νŒŒμΌμ— μ ‘κ·Ό 및 μˆ˜μ •μ΄ κ°€λŠ₯ν•˜λ‹€ 심볼링 링크 : μ•½ν•˜κ²Œ μ—°κ²°λ˜μ–΄ μžˆλŠ” 것, νŒŒμΌμ— λŒ€ν•œ 간접적인 ν¬μΈν„°λ‘œ μ‹€μ œ νŒŒμΌμ— λŒ€ν•œ 경둜λ₯Ό μ €μž₯ν•œλ‹€ μœˆλ„μš°μ˜ λ°”λ‘œκ°€κΈ°μ™€ λΉ„μŠ·ν•œ κ°œλ…μ‘λ‘œ 원본 파일과 링크 파일이 λ”°λ‘œ μ‘΄μž¬ν•˜λ―€λ‘œ 각각 μ°Έκ³ ν•  수 μžˆλ‹€ ν•˜λ“œ 링크 : νŒŒμΌμ— λŒ€ν•΄ 같은 μ•„μ΄λ…Έλ“œλ₯Ό 가진닀 μ–΄λ–€ 파일둜 μ ‘κ·Όν•˜λ“  λ™μΌν•œ 파일둜 κ°„μ£Όλ˜κ³ , 같은 μ•„μ΄λ…Έλ“œ λΈ”λ‘μ—μ„œλ§Œ μ‚¬μš©ν•  수 있기 λ•Œλ¬Έμ— 단일 파일 μ‹œμŠ€ν…œ μ—μ„œλ§Œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€ 심볼릭 링크 : 원본 파일 μœ„μΉ˜μ— λŒ€ν•œ μœ„μΉ˜(μ•„μ΄λ…Έλ“œ)λ§Œμ„ μ €μž₯..