CS 54

[λ°μ΄ν„°λ² μ΄μŠ€] λ°μ΄ν„°λ² μ΄μŠ€ 기초(도메인, ν•„λ“œμ™€ λ ˆμ½”λ“œ)

도메인(Domain) λ„λ©”μΈμ΄λž€ λ¦΄λ ˆμ΄μ…˜μ— ν¬ν•¨λœ 각각의 속성듀이 κ°€μ§ˆ 수 μžˆλŠ” κ°’μ˜ 집합을 λ§ν•œλ‹€. 예λ₯Ό λ“€μ–΄, μ„±λ³„μ΄λΌλŠ” 속성이 μžˆλ‹€λ©΄ 이 속성이 κ°€μ§ˆ 수 μžˆλŠ” 값은 {남, μ—¬}λΌλŠ” 집합이 λœλ‹€. ν•„λ“œμ™€ λ ˆμ½”λ“œ 'νšŒμ›'μ΄λΌλŠ” μ—”ν„°ν‹°λŠ” 'member'λΌλŠ” ν…Œμ΄λΈ”λ‘œ μ†μ„±μœΌλ‘œ 이름, 아이디, μ£Όμ†Œ, μ „ν™”λ²ˆν˜Έλ₯Ό κ°€μ§€κ³  있으며, 각각의 속성듀은 ν…Œμ΄λΈ”μ—μ„œ name, ID, address, phonenumberλΌλŠ” ν•„λ“œλ‘œ ν‘œν˜„ν•œλ‹€. 또, 이 ν…Œμ΄λΈ”μ— ν–‰ λ‹¨μœ„μ˜ 데이터λ₯Ό 'λ ˆμ½”λ“œ' λ˜λŠ” 'νŠœν”Œ'이라 ν•œλ‹€. ν•„λ“œ νƒ€μž… ν•„λ“œλŠ” νƒ€μž…μ„ κ°€μ§„λ‹€. 예λ₯Ό λ“€μ–΄, 이름은 λ¬Έμžμ—΄μ΄κ³ , μ „ν™”λ²ˆν˜ΈλŠ” 숫자인 것이닀. μ΄λŸ¬ν•œ νƒ€μž…μ€ DBMSλ§ˆλ‹€ λ‹€λ₯΄κ³  μ—¬κΈ°μ„œλŠ” MySQL을 κΈ°μ€€μœΌλ‘œ μ„€λͺ…ν•˜κ³ μž ν•œλ‹€. μ—¬λŸ¬ κ°€μ§€ νƒ€μž…μ΄ 있고 λŒ€ν‘œμ μΈ 타..

[λ°μ΄ν„°λ² μ΄μŠ€] λ°μ΄ν„°λ² μ΄μŠ€ 기초(μ—”ν„°ν‹°, λ¦΄λ ˆμ΄μ…˜, 속성)

λ°μ΄ν„°λ² μ΄μŠ€λŠ” μΌμ •ν•œ κ·œμΉ™, ν˜Ήμ€ κ·œμ•½μ„ 톡해 κ΅¬μ‘°ν™”λ˜μ–΄ μ €μž₯λ˜λŠ” λ°μ΄ν„°μ˜ λͺ¨μŒμ΄λ‹€. ν•΄λ‹Ή 데이터λ₯Ό μ œμ–΄, κ΄€λ¦¬ν•˜λŠ” 톡합 μ‹œμŠ€ν…œμ€ DBMS(Data Management System)이라 ν•˜λ©°, λ°μ΄ν„°λ² μ΄μŠ€ μ•ˆμ— μžˆλŠ” 데이터듀은 νŠΉμ • DBMSλ§ˆλ‹€ μ •μ˜λœ 쿼리 μ–Έμ–΄λ₯Ό 톡해 μ‚½μž…, μ‚­μ œ, μˆ˜μ •, 쑰회 등을 μˆ˜ν–‰ν•  수 μžˆλ‹€. 또, λ°μ΄ν„°λ² μ΄μŠ€λŠ” μ‹€μ‹œκ°„ μ ‘κ·Όκ³Ό λ™μ‹œ κ³΅μœ κ°€ κ°€λŠ₯ν•˜λ‹€. μœ„ 그림처럼 λ°μ΄ν„°λ² μ΄μŠ€ μœ„μ— DBMSκ°€ 있고, κ·Έ μœ„μ— μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ 있으며, μ΄λŸ¬ν•œ ꡬ쑰λ₯Ό 기반으둜 데이터λ₯Ό μ£Όκ³  λ°›λŠ”λ‹€. 예λ₯Ό λ“€μ–΄, MySQLμ΄λΌλŠ” DBMSκ°€ 있고 κ·Έ μœ„μ— μ‘μš© ν”„λ‘œκ·Έλž¨μ— μ†ν•˜λŠ” Node.jsλ‚˜ phpμ—μ„œ ν•΄λ‹Ή λ°μ΄ν„°λ² μ΄μŠ€ μ•ˆμ— μžˆλŠ” 데이터λ₯Ό 끄집어내 ν•΄λ‹Ή 데이터 κ΄€λ ¨ λ‘œμ§μ„ ꡬ좕할 수 μžˆλŠ” 것이닀. μ—”ν„°ν‹°..

[운영체제] CPU μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜

CPU μŠ€μΌ€μ€„λŸ¬λŠ” CPU μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜μ— 따라 ν”„λ‘œμ„ΈμŠ€μ—μ„œ ν•΄μ•Ό ν•˜λŠ” 일을 μŠ€λ ˆλ“œ λ‹¨μœ„λ‘œ CPU에 ν• λ‹Ήν•œλ‹€. ν”„λ‘œκ·Έλž¨μ΄ 싀행될 λ•Œ CPU μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜μ΄ μ–΄λ–€ ν”„λ‘œκ·Έλž¨μ— CPU μ†Œμœ κΆŒμ„ 쀄 것인지 κ²°μ •ν•œλ‹€. 이 μ•Œκ³ λ¦¬μ¦˜μ€ CPU 이용λ₯ μ„ λ†’κ²Œ, μ£Όμ–΄μ§„ μ‹œκ°„μ— λ§Žμ€ 일을 ν•˜κ²Œ, μ€€λΉ„ 큐에 μžˆλŠ” ν”„λ‘œμ„ΈμŠ€λŠ” 적게, 응닡 μ‹œκ°„μ€ 짧게 μ„€μ •ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•œλ‹€. CPU μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜ μ’…λ₯˜λŠ” λ‹€μŒκ³Ό κ°™λ‹€. λΉ„μ„ μ ν˜• FCFS(First come, First Served) SJF(Shortest Job First) μš°μ„ μˆœμœ„ μ„ μ ν˜• λΌμš΄λ“œ 둜빈(RR, Round-Robin) SRF(Shortest Remaining Time First) 닀단계 큐 λΉ„μ„ μ ν˜• 방식(non-preemptive) λΉ„μ„ μ ν˜• 방식은 ν”„..

[운영체제] ꡐ착 μƒνƒœ(deadlock)

ꡐ착 μƒνƒœλŠ” 두 개 μ΄μƒμ˜ ν”„λ‘œμ„ΈμŠ€λ“€μ΄ μ„œλ‘œκ°€ κ°€μ§„ μžμ›μ„ κΈ°λ‹€λ¦¬λ©΄μ„œ λ¬΄ν•œ λŒ€κΈ°ν•˜λ©° μ€‘λ‹¨λœ μƒνƒœλ₯Ό λ§ν•œλ‹€. 예λ₯Ό λ“€μ–΄, ν”„λ‘œμ„ΈμŠ€ Aκ°€ ν”„λ‘œμ„ΈμŠ€ Bκ°€ μ μœ ν•œ μžμ› R1을 μš”μ²­ν•  λ•Œ ν”„λ‘œμ„ΈμŠ€ B도 ν”„λ‘œμ„ΈμŠ€ Aκ°€ μ μœ ν•œ μžμ› R2λ₯Ό μš”μ²­ν•˜λŠ” μƒνƒœμ΄λ‹€. ν”„λ‘œμ„ΈμŠ€ Aκ°€ μžμ› R1을 μš”μ²­ν•˜λ©΄ ν”„λ‘œμ„ΈμŠ€ AλŠ” ν”„λ‘œμ„ΈμŠ€ Bκ°€ μžμ› R1을 λ°˜λ‚©ν•  λ•ŒκΉŒμ§€ λŒ€κΈ° μƒνƒœμ— λ“€μ–΄κ°„λ‹€. 그리고 ν”„λ‘œμ„ΈμŠ€ Bκ°€ μžμ›R2λ₯Ό μš”μ²­ν•˜λ©΄ ν”„λ‘œμ„ΈμŠ€ Aκ°€ μžμ› R2λ₯Ό λ°˜λ‚©ν•  λ•ŒκΉŒμ§€ λŒ€κΈ° μƒνƒœμ— λ“€μ–΄κ°„λ‹€. 이와 같이 μ„œλ‘œμ— μ˜ν•΄ λŒ€κΈ° μƒνƒœμ— λ“€μ–΄κ°€ λ¬΄ν•œ λŒ€κΈ°ν•˜λŠ” λ°λ“œλ½μ΄ λ°œμƒν•˜λŠ” 것이닀. ꡐ착 μƒνƒœμ˜ 원인 μƒν˜Έ 배제 : ν•œ ν”„λ‘œμ„ΈμŠ€κ°€ μžμ›μ„ λ…μ ν•˜κ³  있으며 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λ“€μ€ 접근이 λΆˆκ°€λŠ₯ν•˜λ‹€. 점유 λŒ€κΈ° : νŠΉμ • ν”„λ‘œμ„ΈμŠ€κ°€ μ μœ ν•œ μžμ›μ„ λ‹€λ₯Έ ν”„λ‘œ..

[운영체제] 곡유 μžμ›κ³Ό μž„κ³„ μ˜μ—­

곡유 μžμ›(shared memory) 곡유 μžμ›μ€ μ‹œμŠ€ν…œ μ•ˆμ—μ„œ 각 ν”„λ‘œμ„ΈμŠ€, μŠ€λ ˆλ“œκ°€ ν•¨κ»˜ μ ‘κ·Όν•  수 μžˆλŠ” λͺ¨λ‹ˆν„°, ν”„λ¦°ν„°, λ©”λͺ¨λ¦¬, 파일, 데이터 λ“±μ˜ μžμ›μ΄λ‚˜ λ³€μˆ˜ 등을 μ˜λ―Έν•œλ‹€. 이 곡유 μžμ›μ„ 두 개 μ΄μƒμ˜ ν”„λ‘œμ„ΈμŠ€κ°€ λ™μ‹œμ— μ½κ±°λ‚˜ μ“°λŠ” 상황을 경쟁 μƒνƒœ(race condition)이라 ν•œλ‹€. λ™μ‹œμ— 접근을 μ‹œλ„ν•  λ•Œ, μ ‘κ·Όμ˜ νƒ€μ΄λ°μ΄λ‚˜ μˆœμ„œ 등이 결괏값에 영ν–₯을 쀄 수 μžˆλŠ” μƒνƒœμΈ 것이닀. μ „μ—­ λ³€μˆ˜ '예금'에 10λ§Œμ›μ΄ μ €μž₯λ˜μ–΄ μžˆλ‹€. ν”„λ‘œμ„ΈμŠ€ P1이 μ˜ˆκΈˆμ„ ν™•μΈν•˜κ³ , ν”„λ‘œμ„ΈμŠ€ P2κ°€ μ˜ˆκΈˆμ„ ν™•μΈν•œ 뒀에 μ˜ˆκΈˆμ— 5λ§Œμ›μ„ μΆ”κ°€ν•˜κ³  μ˜ˆκΈˆμ„ μ €μž₯ν•œλ‹€. μ΄λ•Œ μΆ”κ°€ν•œ 예금이 ν”„λ‘œμ„ΈμŠ€ P1μ—λŠ” μ—…λ°μ΄νŠΈλ˜μ§€ μ•ŠλŠ”λ‹€. κ·Έ 이후에, ν”„λ‘œμ„ΈμŠ€ P1이 ν”„λ‘œμ„ΈμŠ€ P2κ°€ μ˜ˆκΈˆμ„ μΆ”κ°€ν•˜κΈ° 전에 확인해둔 예금 κΈˆμ•‘μ— ..

[운영체제] μŠ€λ ˆλ“œμ™€ λ©€ν‹°μŠ€λ ˆλ”©

μŠ€λ ˆλ“œ(thread) μŠ€λ ˆλ“œλŠ” ν”„λ‘œμ„ΈμŠ€μ˜ μ‹€ν–‰ κ°€λŠ₯ν•œ κ°€μž₯ μž‘μ€ λ‹¨μœ„μ΄λ‹€. ν”„λ‘œμ„ΈμŠ€λŠ” μ—¬λŸ¬ μŠ€λ ˆλ“œλ₯Ό κ°€μ§ˆ 수 μžˆλ‹€. μ½”λ“œ, 데이터, μŠ€νƒ, νž™μ„ 각각 μƒμ„±ν•΄μ„œ μžμ‹ λ§Œμ˜ λ©”λͺ¨λ¦¬ μ˜μ—­μ„ κ°€μ§€λŠ” ν”„λ‘œμ„ΈμŠ€μ™€λŠ” 달리 μŠ€λ ˆλ“œλŠ” μ½”λ“œ, 데이터, νž™μ€ μŠ€λ ˆλ“œλΌλ¦¬ μ„œλ‘œ κ³΅μœ ν•˜κ³ , κ·Έ 외에 μ˜μ—­μ€ 각각 μƒμ„±λœλ‹€. λ©€ν‹°μŠ€λ ˆλ”©(multi-threading) λ©€ν‹°μŠ€λ ˆλ”©μ€ ν”„λ‘œμ„ΈμŠ€ λ‚΄ μž‘μ—…μ„ μ—¬λŸ¬ 개의 μŠ€λ ˆλ“œ, 즉 λ©€ν‹°μŠ€λ ˆλ“œλ‘œ μ²˜λ¦¬ν•˜λŠ” 기법이닀. μŠ€λ ˆλ“œλΌλ¦¬ μŠ€νƒ μ˜μ—­μ„ μ œμ™Έν•œ λ©”λͺ¨λ¦¬λ₯Ό μ„œλ‘œ κ³΅μœ ν•˜κΈ° λ•Œλ¬Έμ—, 데이터 μ˜μ—­μ— μ €μž₯된 μ „μ—­ λ³€μˆ˜(global)λ‚˜ 정적 λ³€μˆ˜(static), νž™μ— μ €μž₯된 malloc에 μ˜ν•œ 동적할당 등에 λŒ€ν•œ 정보λ₯Ό κ³΅μœ ν•  수 μžˆλ‹€. 이와 같이, ν”„λ‘œμ„ΈμŠ€κ°„ 톡신(IPC)와 같은 과정을 κ±°μΉ˜μ§€ μ•Šμ•„λ„ 정보λ₯Ό..

[운영체제] λ©€ν‹°ν”„λ‘œμ„Έμ‹±(multi-processing)

λ©€ν‹°ν”„λ‘œμ„Έμ‹±μ€ μ—¬λŸ¬ 개의 'ν”„λ‘œμ„ΈμŠ€', 즉 λ©€ν‹°ν”„λ‘œμ„ΈμŠ€λ₯Ό 톡해 λ™μ‹œμ— 두 κ°€μ§€ μ΄μƒμ˜ 일을 μˆ˜ν–‰ν•  수 μžˆλŠ” 것을 λ§ν•œλ‹€. 이λ₯Ό 톡해 ν•˜λ‚˜ μ΄μƒμ˜ 일을 λ³‘λ ¬λ‘œ μ²˜λ¦¬ν•  수 있고, νŠΉμ • ν”„λ‘œμ„ΈμŠ€μ˜ λ©”λͺ¨λ¦¬λ‚˜ μžμ‹ ν”„λ‘œμ„ΈμŠ€ 쀑 λ¬Έμ œκ°€ λ°œμƒν•˜λ”λΌλ„ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ΄μš©ν•΄μ„œ μ²˜λ¦¬ν•  수 μžˆμœΌλ―€λ‘œ 신뒰성이 높은 강점이 μžˆλ‹€. μ›Ή λΈŒλΌμš°μ € μ›Ή λΈŒλΌμš°μ €λŠ” λ©€ν‹°ν”„λ‘œμ„ΈμŠ€ ꡬ쑰λ₯Ό κ°€μ§€κ³  있으며 λ‹€μŒκ³Ό κ°™λ‹€. λΈŒλΌμš°μ € ν”„λ‘œμ„ΈμŠ€ : μ£Όμ†Œ ν‘œμ‹œμ€„, 뢁마크 λ§‰λŒ€, λ’€λ‘œ κ°€κΈ° λ²„νŠΌ, μ•žμœΌλ‘œ κ°€κΈ° λ²„νŠΌ 등을 λ‹΄λ‹Ήν•˜λ©°, λ„€νŠΈμ›Œν¬ μš”μ²­μ΄λ‚˜ 파일 접근같은 κΆŒν•œμ„ λ‹΄λ‹Ήν•œλ‹€. λ Œλ”λŸ¬ ν”„λ‘œμ„ΈμŠ€ : μ›Ή μ‚¬μ΄νŠΈμ˜ 'λ³΄μ΄λŠ”' λΆ€λΆ„μ˜ λͺ¨λ“  것을 μ œμ–΄ν•œλ‹€. ν”ŒλŸ¬κ·ΈμΈ ν”„λ‘œμ„ΈμŠ€ : μ›Ή μ‚¬μ΄νŠΈμ—μ„œ μ‚¬μš©ν•˜λŠ” ν”ŒλŸ¬κ·ΈμΈ(ex: Flash)을 μ œμ–΄ν•œλ‹€. GPU ν”„λ‘œμ„ΈμŠ€ ..

[운영체제] PCB(Process Control Block)

PCBλŠ” μš΄μ˜μ²΄μ œμ—μ„œ ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ 메타 데이터λ₯Ό μ €μž₯ν•œ 데이터λ₯Ό λ§ν•œλ‹€. 'ν”„λ‘œμ„ΈμŠ€ μ œμ–΄ 블둝'이라고도 λΆˆλ¦°λ‹€. ν”„λ‘œμ„ΈμŠ€κ°€ μƒμ„±λ˜λ©΄, μš΄μ˜μ²΄μ œλŠ” ν•΄λ‹Ή PCBλ₯Ό μƒμ„±ν•œλ‹€. ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λ©΄ ν”„λ‘œμ„ΈμŠ€κ°€ μƒμ„±λ˜κ³ , ν”„λ‘œμ„ΈμŠ€ μ£Όμ†Œ 값듀에 μ•žμ„œ μ„€λͺ…ν•œ μŠ€νƒ, νž™ λ“±μ˜ ꡬ쑰λ₯Ό 기반으둜 λ©”λͺ¨λ¦¬κ°€ ν• λ‹Ήλœλ‹€. 그리고 이 ν”„λ‘œμ„ΈμŠ€μ˜ 메타데이터듀이 PCB에 μ €μž₯λ˜μ–΄ κ΄€λ¦¬λœλ‹€. PCBμ—λŠ” ν”„λ‘œμ„ΈμŠ€μ˜ μ€‘μš”ν•œ 정보λ₯Ό ν¬ν•¨ν•˜κ³  있기 λ•Œλ¬Έμ— 일반 μ‚¬μš©μžκ°€ μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λ„둝 컀널 μŠ€νƒμ˜ κ°€μž₯ μ•žλΆ€λΆ„μ—μ„œ κ΄€λ¦¬λœλ‹€. * 메타데이터 : 데이터에 κ΄€ν•œ κ΅¬μ‘°ν™”λœ λ°μ΄ν„°μ΄μž 데이터λ₯Ό μ„€λͺ…ν•˜λŠ” μž‘μ€ 데이터, λŒ€λŸ‰μ˜ 정보 κ°€μš΄λ°μ—μ„œ μ°Ύκ³  μžˆλŠ” 정보λ₯Ό 효율적으둜 μ°Ύμ•„λ‚΄μ„œ μ΄μš©ν•˜κΈ° μœ„ν•΄ μΌμ •ν•œ κ·œμΉ™μ— 따라 μ½˜ν…μΈ μ— λŒ€ν•΄ λΆ€μ—¬λ˜λŠ” 데이터 PCB의 ..

[운영체제] ν”„λ‘œμ„ΈμŠ€μ˜ λ©”λͺ¨λ¦¬ ꡬ쑰

μš΄μ˜μ²΄μ œλŠ” ν”„λ‘œμ„ΈμŠ€μ— μ μ ˆν•œ λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήν•˜λŠ”λ°, λ‹€μŒ ꡬ쑰λ₯Ό 기반으둜 ν• λ‹Ήν•œλ‹€. μœ„μ—μ„œλΆ€ν„° μŠ€νƒ, νž™, 데이터(BSS, Data) μ˜μ—­, μ½”λ“œ μ˜μ—­μœΌλ‘œ κ΅¬λΆ„λœλ‹€. μŠ€νƒμ€ μ£Όμ†Œκ°€ μœ„μͺ½λΆ€ν„° ν• λ‹Ήλ˜κ³ , νž™μ€ μ•„λž˜μͺ½λΆ€ν„° μ£Όμ†Œκ°€ ν• λ‹Ήλœλ‹€. μŠ€νƒκ³Ό νž™ μŠ€νƒκ³Ό νž™μ€ 동적 할당이 되며, 동적 ν• λ‹Ήμ΄λž€ λŸ°νƒ€μž„ λ‹¨κ³„μ—μ„œ λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. μŠ€νƒμ—λŠ” μ§€μ—­ λ³€μˆ˜, λ§€κ°œλ³€μˆ˜, μ‹€ν–‰λ˜λŠ” ν•¨μˆ˜μ— μ˜ν•΄ λŠ˜μ–΄λ‚˜κ±°λ‚˜ μ€„μ–΄λ“œλŠ” λ©”λͺ¨λ¦¬ μ˜μ—­μ΄λ‹€. ν•¨μˆ˜κ°€ 호좜될 λ•Œλ§ˆλ‹€ 호좜될 λ•Œμ˜ ν™˜κ²½ λ“± νŠΉμ • 정보가 μŠ€νƒμ— μ €μž₯λœλ‹€. 또, μž¬κ·€ ν•¨μˆ˜κ°€ 호좜될 λ•ŒλŠ” ν•΄λ‹Ή ν•¨μˆ˜κ°€ 호좜될 λ•Œλ§ˆλ‹€ μƒˆλ‘œμš΄ μŠ€νƒ 곡간이 ν• λ‹Ήλ˜κΈ° λ•Œλ¬Έμ— ν•¨μˆ˜ λ‚΄μ˜ λ³€μˆ˜ 집합이 ν•΄λ‹Ή ν•¨μˆ˜μ˜ λ‹€λ₯Έ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λ₯Ό λ°©ν•΄ν•˜μ§€ μ•ŠλŠ”λ‹€. 그리고 μž¬κ·€ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œλ§ˆλ‹€ μƒˆλ‘œμš΄..

[운영체제] ν”„λ‘œμ„ΈμŠ€μ˜ μƒνƒœ

ν”„λ‘œμ„ΈμŠ€λŠ” μ—¬λŸ¬ κ°€μ§€ μƒνƒœ 값을 κ°€μ§„λ‹€. 생성(create) 생성 μƒνƒœλŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μƒμ„±λœ μƒνƒœλ₯Ό μ˜λ―Έν•˜λ©°, fork() λ˜λŠ” exec() ν•¨μˆ˜λ₯Ό 톡해 μƒμ„±ν•œλ‹€. μ΄λ•Œ PCB(Process Control Block)κ°€ ν• λ‹Ήλœλ‹€. fork()λŠ” λΆ€λͺ¨ ν”„λ‘œμ„ΈμŠ€μ˜ μ£Όμ†Œ 곡간을 κ·ΈλŒ€λ‘œ λ³΅μ‚¬ν•˜λ©°, μƒˆλ‘œμš΄ μžμ‹ ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒμ„±ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. μ£Όμ†Œ κ³΅κ°„λ§Œ 볡사할 뿐이고 λΆ€λͺ¨ ν”„λ‘œμ„ΈμŠ€μ˜ 비동기 μž‘μ—… 등은 μƒμ†ν•˜μ§€ μ•ŠλŠ”λ‹€. exec()λŠ” μƒˆλ‘­κ²Œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒμ„±ν•˜λŠ” ν•¨μˆ˜μ΄λ‹€. μ€€λΉ„(ready) μ€€λΉ„ μƒνƒœλŠ” λ©”λͺ¨λ¦¬ 곡간이 μΆ©λΆ„ν•  경우 λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήλ°›κ³ , μ•„λ‹ˆλ©΄ μ•„λ‹Œ μƒνƒœλ‘œ λŒ€κΈ°λ₯Ό ν•˜κ³  μžˆλ‹€κ°€ CPU μŠ€μΌ€μ€„λŸ¬λ‘œλΆ€ν„° CPU μ†Œμœ κΆŒμ΄ λ„˜μ–΄μ˜€κΈ°λ₯Ό κΈ°λ‹€λ¦¬λŠ” μƒνƒœμ΄λ‹€. μ΄λ•Œ CPU μ†Œμœ κΆŒμ„ λ°›μ•„ μ‹€ν–‰ μƒνƒœλ‘œ λ“€μ–΄κ°€λŠ” 것을 λ””μŠ€νŒ¨μΉ˜(d..