[컴퓨터과학 개둠] 8κ°• - 운영체제(2)

2025. 8. 27. 14:46Β·πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅/πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠

βœ… 1. ν”„λ‘œμ„Έμ„œ 관리(1)

[ ν”„λ‘œμ„ΈμŠ€ : Process ]

  • μš΄μ˜μ²΄μ œμ— μ˜ν•΄ λ©”λͺ¨λ¦¬μ— 적재되고 CPU μ‹€ν–‰ λŒ€μƒμ΄ 된 ν”„λ‘œκ·Έλž¨μ„ ν”„λ‘œμ„ΈμŠ€λΌκ³  ν•œλ‹€.
  • λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°€ μžˆλŠ” μƒνƒœλ§ŒμœΌλ‘œλ„ OS κ΄€μ μ—μ„œ 이미 ν”„λ‘œμ„ΈμŠ€λ‘œ κ΄€λ¦¬λ˜κ³  μžˆλŠ” 것이기 λ•Œλ¬Έμ— 이것도 ν”„λ‘œμ„ΈμŠ€λ‘œ λ³Έλ‹€.
  • CPUκ°€ μ‹€μ œλ‘œ ν•΄λ‹Ή λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°„ ν”„λ‘œκ·Έλž¨μ˜ λͺ…λ Ήμ–΄λ₯Ό 가져와 μ‹€ν–‰μ‹œμΌœλ„ ν”„λ‘œμ„ΈμŠ€λ‘œ λ³Έλ‹€.
  • ν”„λ‘œμ„ΈμŠ€λŠ” μ£ΌκΈ°μ–΅μž₯μΉ˜μ— 적재되고 μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό ν• λ‹Ήλ°›μ•„ 싀행될 λͺ…λ Ήμ–΄λ‘œ λ³€κ²½λ˜μ–΄ λ‹€μ–‘ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” λŠ₯동적 ν”„λ‘œμ„ΈμŠ€κ°€ λœλ‹€.
  • μ •λ¦¬ν•˜λ©΄ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°„ μƒνƒœμ™€ CPUμ—μ„œ λ©”λͺ¨λ¦¬μ— λͺ…λ Ήμ–΄λ₯Ό 가져와 μ‹€ν–‰ μ‹œν‚€λŠ” 단계 λ˜ν•œ ν”„λ‘œμ„ΈμŠ€λ‘œ λ³Ό 수 μžˆλ‹€λŠ” 의미

[ ν”„λ‘œμ„Έμ„œ : Processor ]

  • μ²˜λ¦¬ν•˜λŠ” μž₯μΉ˜λΌλŠ” 뜻으둜, 보톡 λͺ…λ Ήμ–΄λ₯Ό ν•΄μ„ν•˜κ³  μ‹€ν–‰ν•˜λŠ” μž₯치인 CPUλ₯Ό μ˜λ―Έν•œλ‹€.

(1) κ°œμš”

[ ν”„λ‘œμ„Έμ„œ κ΄€λ¦¬μž ]

  • μ€‘μ•™μ²˜λ¦¬μž₯치(CPU)λ₯Ό ν”„λ‘œμ„ΈμŠ€μ—κ²Œ ν• λ‹Ήν•˜λŠ” κ΄€λ¦¬μžλ₯Ό μ˜λ―Έν•œλ‹€.
  • μ‰½κ²Œλ§ν•΄, μ€‘μ•™μ²˜λ¦¬μž₯치(CPU)λ₯Ό ν”„λ‘œμ„ΈμŠ€μ—κ²Œ ν• λ‹Ήν•˜λŠ” κ΄€λ¦¬μž
  • μ€‘μ•™μ²˜λ¦¬μž₯치 할당은 ν”„λ‘œμ„Έμ„œ κ΄€λ¦¬μž(운영체제)의 μ—­ν• μž„
  • ν”„λ‘œμ„Έμ„œ κ΄€λ¦¬μžλŠ” 단일 CPU에 ν”„λ‘œμ„ΈμŠ€λ₯Ό ν• λ‹Ήν•˜λŠ” 방법과 μ‹œκ°„μ„ 결정함
  • μ •λ¦¬ν•˜λ©΄ CPU에선 ν•˜λ‚˜μ˜ μ½”μ–΄μ—μ„œ ν•˜λ‚˜μ˜ ν”„λ‘œμ„Έμ„œλ§Œ λ™μž‘μ΄ κ°€λŠ₯ν•˜μ§€λ§Œ, 운영체제의 ν”„λ‘œμ„Έμ„œ κ΄€λ¦¬μžμ˜ μ˜ν•΄ CPUλ₯Ό λ²ˆκ°ˆμ•„ κ°€λ©΄μ„œ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ ν• λ‹Ή(μŠ€μΌ€μ€„λ§) 을 ν•œλ‹€. μ‰½κ²Œλ§ν•΄, ν”„λ‘œμ„Έμ„œ κ΄€λ¦¬μžλŠ” ν”„λ‘œμ„ΈμŠ€κ°€ CPUμ—μ„œ 싀행될 수 μžˆλŠ” 기회(μ‹œκ°„)λ₯Ό λ‚˜λˆ μ£ΌλŠ” 역할을 ν•œλ‹€.

(2) ν”„λ‘œμ„ΈμŠ€ κ°œλ…

[ ν”„λ‘œμ„ΈμŠ€ μƒνƒœ ]

  • ν”„λ‘œμ„ΈμŠ€λŠ” μ‹€ν–‰ μƒνƒœμ— μžˆλŠ” λŠ₯동적 ν”„λ‘œκ·Έλž¨μ΄λ©°, ν”„λ‘œκ·Έλž¨μ€ 보쑰기얡μž₯μΉ˜μ— μ €μž₯된 μƒνƒœμ˜ μˆ˜λ™μ  객체이닀.
  • ν”„λ‘œμ„ΈμŠ€λŠ” μ£ΌκΈ°μ–΅μž₯μΉ˜μ— 적재되고 μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό ν• λ‹Ήλ°›μ•„ 싀행될 λͺ…λ Ήμ–΄λ‘œ λ³€κ²½λ˜μ–΄ λ‹€μ–‘ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” λŠ₯동적 ν”„λ‘œμ„ΈμŠ€κ°€ λœλ‹€. ( 이것이 μš΄μ˜μ²΄μ œκ°€ ν•΄μ£ΌλŠ” 일이닀. )
  • μš΄μ˜μ²΄μ œλŠ” ν”„λ‘œμ„ΈμŠ€μ˜ 정보λ₯Ό μ €μž₯ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€ μ œμ–΄ 블둝(Process Control Block, PCB) 을 κ΄€λ¦¬ν•˜λ©°, ν”„λ‘œμ„ΈμŠ€μ˜ 싀행이 λλ‚˜λ©΄ ν”„λ‘œμ„ΈμŠ€ μ œμ–΄ 블둝을 μ‚­μ œν•œλ‹€. 
  • ν”„λ‘œμ„ΈμŠ€κ°€ μ‹œμŠ€ν…œ 내에 μ‘΄μž¬ν•˜λŠ” λ™μ•ˆ, κ·Έ ν”„λ‘œμ„ΈμŠ€λŠ” 생성(new), μ€€λΉ„(ready), μ‹€ν–‰(running), λŒ€κΈ°(waiting), μ’…λ£Œ(finished) 와 같은 5개 μƒνƒœ 쀑 ν•œ μƒνƒœμ— 있게 λœλ‹€. ( μš΄μ˜μ²΄μ œκ°€ ν•΄μ€Œ )

(3) μ€‘μ•™μ²˜λ¦¬μž₯치 μŠ€μΌ€μ€„λ§ 기법

[ ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§ κ°œμš” ]

  • ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜: μš΄μ˜μ²΄μ œκ°€ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό ν• λ‹Ήν•˜λŠ” 방법 ( CPU ν• λ‹Ή 방법 )
  • 즉, μš΄μ˜μ²΄μ œκ°€ ν•΄λ‹Ή μ•Œκ³ λ¦¬μ¦˜μ„ ν™œμš©ν•΄μ„œ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ ν”„λ‘œμ„Έμ„œλ₯Ό ν• λ‹Ήν•΄μ£ΌλŠ” λ°©λ²•μž„.
  • ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜μ€ 선점 μŠ€μΌ€μ€„λ§ 기법과 비선점 μŠ€μΌ€μ€„λ  κΈ°λ²•μœΌλ‘œ 크게 ꡬ뢄이 λœλ‹€.

[ 비선점 μŠ€μΌ€μ€„λ§ 기법 ]

  • 일단 ν”„λ‘œμ„ΈμŠ€μ— μ€‘μ•™μ²˜λ¦¬μž₯μΉ˜κ°€ ν• λ‹Ήλ˜μ–΄ ν”„λ‘œμ„ΈμŠ€μ˜ 싀행이 μ‹œμž‘λ˜λ©΄, ν”„λ‘œμ„ΈμŠ€κ°€ μ’…λ£Œλ  λ•ŒκΉŒμ§€ μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ–‘λ³΄ν•˜μ§€ μ•ŠλŠ” κΈ°λ²•μž„. ( ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€κ°€ λλ‚ λ•Œ κΉŒμ§€ μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό μ­‰ μ‚¬μš© μ–‘λ³΄ν•˜μ§€ μ•ŠμŒ )
  • 비선점 μŠ€μΌ€μ€„λ§ 기법은 짧은 μž‘μ—…μ΄ κΈ΄ μž‘μ—…μœΌλ‘œ 인해 κΈ°λ‹€λ¦¬κ²Œ λ˜λŠ” κ²½μš°κ°€ μžˆμ§€λ§Œ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€ 관리가 곡평해짐.
  • 비선점 μŠ€μΌ€μ€„λ§ 기법은 μš°μ„ μˆœμœ„μ— 관계없이 λŒ€κΈ° 쀑인 μž‘μ—…μ—λŠ” 변동이 μ—†μœΌλ―€λ‘œ μ‘λ‹΅μ‹œκ°„μ„ μ˜ˆμΈ‘ν•  수 μžˆλŠ” μž₯점이 있음.

[ 선점 μŠ€μΌ€μ€„λ§ 기법 ]

  • μ€‘μ•™μ²˜λ¦¬μž₯치(CPU)λ₯Ό μ μœ ν•˜μ—¬ μ‹€ν–‰ 쀑인 ν”„λ‘œμ„ΈμŠ€λ₯Ό 내보내고, λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ€‘μ•™μ²˜λ¦¬μž₯μΉ˜μ— ν• λ‹Ήν•˜λŠ” μŠ€μΌ€μ€„λ§ 기법이닀. ( μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜μ˜ μ˜ν•΄ 더 μ€‘μš”ν•œ ν”„λ‘œμ„ΈμŠ€κ°€ λ“€μ–΄μ˜€λ©΄ ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€μ—κ²Œ 양보λ₯Ό ν•˜λŠ” 경우 )

[ FCFS (First-Come First-Served) μŠ€μΌ€μ€„λ§ 기법 - 비선점 μŠ€μΌ€μ€„λ§ ]

  • μ€€λΉ„ 큐에 λ„μ°©ν•œ μˆœμ„œλŒ€λ‘œ μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό ν• λ‹Ή 받도둝 ν•΄ μ£ΌλŠ” 기법이닀. ( 큐 μˆœμ„œλŒ€λ‘œ 처리 ν•˜λ‚˜μ”© )
  • ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€κ°€ μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό μ°¨μ§€ν•˜λ©΄ κ·Έ ν”„λ‘œμ„ΈμŠ€μ˜ μˆ˜ν–‰μ΄ μ™„λ£Œλœ 후에 κ·Έ λ‹€μŒ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό 할당함.
  • ν•΄λ‹Ή FCFS μŠ€μΌ€μ€„λ§μ—μ„œλŠ” λŒ€κΈ° 큐에 늦게 λ“€μ–΄μ˜¨ 짧은 μž‘μ—…μ΄ λŒ€κΈ° 큐에 일찍 λ“€μ–΄μ˜¨ κΈ΄ μž‘μ—…μ„ κΈ°λ‹€λ¦¬κ²Œ 되고, μ€‘μš”ν•œ ν”„λ‘œμ„ΈμŠ€κ°€ 덜 μ€‘μš”ν•œ ν”„λ‘œμ„ΈμŠ€μ˜ μ™„λ£Œλ₯Ό κΈ°λ‹€λ¦¬λŠ” 단점이 있음.
  • 참고둜 비선점 방식 쀑 ν•˜λ‚˜λ‘œ 비선점 전체에 ν¬ν•¨λ˜λŠ” ν•˜μœ„ κ°œλ…μ΄λ‹€. ( 즉, λΉ„μ„ μ μ˜ ν•œ μ’…λ₯˜μž„ )
  • μ‰½κ²Œλ§ν•΄, λΉ„μ„ μ μ΄λž‘ 선점은 좔상적 섀계 원칙이고, ν•΄λ‹Ή 좔상화λ₯Ό κ΅¬ν˜„ν•œ κ²ƒμœΌλ‘œ λ³Ό 수 있음.

[ μš°μ„ μˆœμœ„ μŠ€μΌ€μ€„λ§ - 선점 μŠ€μΌ€μ€„λ§ ]

  • μš°μ„ μˆœμœ„κ°€ 높은 ν”„λ‘œμ„ΈμŠ€λΆ€ν„° λ¨Όμ € μ²˜λ¦¬ν•˜λŠ” μŠ€μΌ€μ€„λ§ 기법
  • μš°μ„ μˆœμœ„λŠ” μ—¬λŸ¬ κ°€μ§€ μš”μΈμ— μ˜ν•΄ 결정될 수 있음
  • 기본적 μš°μ„ μˆœμœ„: 각 ν”„λ‘œμ„ΈμŠ€κ°€ μš”κ΅¬ν•˜λŠ” κΈ°μ–΅μž₯치의 μ–‘, μ£Όλ³€μž₯치의 μˆ˜μ™€ ν˜•νƒœ, μ€‘μ•™μ²˜λ¦¬μž₯치 처리 μš”κ΅¬ μ‹œκ°„, μž‘μ—… 처리λ₯Ό μ‹œμž‘ν•œ μ‹œμ λΆ€ν„° 경과된 μ‹œκ°„ 등을 κ³ λ €ν•˜μ—¬ μ€‘μ•™μ²˜λ¦¬μž₯치 κ΄€λ¦¬μžμ— μ˜ν•΄ 결정이 됨.
  • 외뢀적 μš°μ„ μˆœμœ„: μ‚¬μš©μžμ˜ μ§μœ„λ‚˜ μƒκ±°λž˜μ˜ 규λͺ¨ 등을 μ΄μš©ν•˜μ—¬ μ‹œμŠ€ν…œ κ΄€λ¦¬μžκ°€ 결정함.

  • μš°μ„ μˆœμœ„ μŠ€μΌ€μ€„λ§μ„ μ‚¬μš©ν•˜λŠ” 경우 ν”„λ‘œμ„ΈμŠ€λŠ” 일반적으둜 μš°μ„ μˆœμœ„μ— 따라 λ°°μΉ˜ν•˜κΈ° μœ„ν•΄μ„œ μ—¬λŸ¬ 개의 μ€€λΉ„ 큐에 듀어감
  • μš°μ„ μˆœμœ„ μŠ€μΌ€μ€„λ¦¬μ— μ˜ν•΄ μ€€λΉ„ 리슀트 큐 A 의 λ‚΄λΆ€ μž‘μ—…λ“€μ΄ 순차적으둜 μ‹€ν–‰ 된 ν›„ B, C 둜 λ„˜μ–΄κ°€λŠ” ꡬ쑰이닀.
  • ν•΄λ‹Ή ꡬ쑰의 단점은 λ§Œμ•½ list A, list B μž‘μ—…μ΄ λλ‚˜κ³  Cλ₯Ό μ‹€ν–‰ν•˜λ €κ³  ν•  λ•Œ, list A 큐에 μž‘μ—… Dκ°€ λ“€μ–΄μ˜€κ²Œ 되면 λ‹€μ‹œ μš°μ„ μˆœμœ„μ— 따라 Dκ°€ 싀행이 되게 λœλ‹€. 즉, Cκ°€ 싀행이 λͺ»λ˜λŠ” ν˜„μƒμ΄ λ°œμƒ ν•  수 있게 λœλ‹€.

[ SJF (Shortest Job Fist) μŠ€μΌ€μ€„λ§ ]

  • ν˜„μž¬ μ€€λΉ„ 큐에 μžˆλŠ” ν”„λ‘œμ„ΈμŠ€λ“€ μ€‘μ—μ„œ μˆ˜ν–‰μ‹œκ°„μ΄ κ°€μž₯ μ§§μ€κ²ƒμœΌλ‘œ μ˜ˆμƒλ˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό λ¨Όμ € μ²˜λ¦¬ν•˜λŠ” μŠ€μΌ€μ€„λ§ 기법
  • ν”„λ‘œμ„ΈμŠ€μ˜ μ˜ˆμƒ μˆ˜ν–‰ μ‹œκ°„μ„ μ‹€ν–‰ μž…λ ₯ 이전에 μ•Œμ•„μ•Ό ν•˜λ―€λ‘œ μΌκ΄„μ²˜λ¦¬ ν™˜κ²½μ—μ„œλŠ” κ΅¬ν˜„ν•˜κΈ° μ‰½μ§€λ§Œ, λŒ€ν™”μ‹ μ‹œμŠ€ν…œμ—λŠ” μ‚¬μš©μžμ™€ μ»΄ν“¨ν„°κ°„μ˜ μƒν˜Έμž‘μš©μœΌλ‘œ 인해 μ‹€ν–‰μ‹œκ°„μ„ μ˜ˆμΈ‘ν•  수 μ—†κΈ° λ•Œλ¬Έμ— μ‚¬μš©λ˜κΈ° νž˜λ“¦
  • λŒ€κΈ°ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€μ˜ 수λ₯Ό μ΅œμ†Œν™”ν•  수 μžˆμœΌλ―€λ‘œ λΉ λ₯Έ μ‘λ‹΅μ‹œκ°„μ„ μ œκ³΅ν•  수 μžˆμ§€λ§Œ, μˆ˜ν–‰μ‹œκ°„μ΄ κΈ΄ ν”„λ‘œμ„ΈμŠ€λŠ” CPUλ₯Ό ν• λ‹Ή λ°›μ§€ λͺ»ν•œ 채 계속 기닀릴 수 μžˆλŠ” 단점도 있음.
  • ν•΄λ‹Ή μŠ€μΌ€μ€„λ§μ˜ μš°μ„ μˆœμœ„λŠ” 짧은 μˆ˜ν–‰μ‹œκ°„μ˜ ν”„λ‘œμ„ΈμŠ€μ΄λ‹€.

[ RR (Round Robin) μŠ€μΌ€μ€„λ§ ]

  • ν”„λ‘œμ„ΈμŠ€κ°€ λ„μ°©ν•œ μˆœμ„œλŒ€λ‘œ CPUκ°€ ν• λ‹Ήλ˜μ§€λ§Œ, CPU의 μ‹œκ°„ ν• λ‹ΉλŸ‰ λ˜λŠ” μ‹œκ°„ 간격에 μ˜ν•΄ μ œν•œμ„ λ°›λŠ” μŠ€μΌ€μ€„λ§ 방식
  • μ‹œκ°„ ν• λ‹ΉλŸ‰μ„ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€μ—κ²Œ λ™μΌν•˜κ²Œ μ£Όκ³ , κ·Έ μ‹œκ°„ λ™μ•ˆ μ™„λ£Œλ˜μ§€ λͺ»ν•œ ν”„λ‘œμ„ΈμŠ€λŠ” μ€€λΉ„ 큐의 맨 뒀에 배치되고 μ€€λΉ„ 쀑인 λ‹€μŒ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ€‘μ•™μ²˜λ¦¬μž₯치λ₯Ό 할당함.
  • ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€κ°€ CPUλ₯Ό λ…μ ν•˜μ§€ μ•Šκ³  κ³΅ν‰ν•˜κ²Œ 이용될 수 μžˆλ„λ‘ ν•˜λŠ” μž₯점도 μžˆμ§€λ§Œ, μš΄μ„ μˆœμœ„κ°€ 높은 μž‘μ—…μ„ 빨리 μ²˜λ¦¬ν•˜κΈ° μ–΄λ €μš΄ 단점도 있음. ( μš°μ„ μˆœμœ„ 높은 μ• λ₯Ό λ¨Όμ € 큐의 μ•žμœΌλ‘œ λ³΄λ‚΄λŠ” 방법도 μ‚¬μš©ν•˜κΈ°λ„ 함 )

  • μ‰½κ²Œλ§ν•΄, 큐에 λ„μ°©ν•œ μˆœμ„œλŒ€λ‘œ CPU 할당을 ν•΄μ£Όκ³  μ •ν•΄μ§„ μ‹œκ°„ 만큼만 ν”„λ‘œμ„ΈμŠ€μ—κ²Œ CPUλ₯Ό ν• λ‹Ήν•΄μ€€λ‹€. 이후, μ •ν•΄μ§„ μ‹œκ°„μ„ λ²—μ–΄λ‚˜λŠ” μž‘μ—…μ€ 남은 μ‹œκ°„μ„ 가진채 큐의 맨 λ’€λ‘œ λ‹€μ‹œ λ“€μ–΄κ°€κ²Œ λ˜λŠ” 방식이닀.

[ κ²°λ‘  ]

  • 운영체제의 ν”„λ‘œμ„Έμ„œ κ΄€λ¦¬μž κ°œλ…μ•ˆμ— ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜μ„ ν†΅ν•΄ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ CPUλ₯Ό ν• λ‹Ήμ„ ν•΄μ€Œ.

βœ… 2. ν”„λ‘œμ„Έμ„œ 관리(2)

(1) ꡐ착 μƒνƒœ

[ κ°œμš” ]

ꡐ착 μƒνƒœμ˜ μ˜ˆμ‹œ

  • 닀쀑 ν”„λ‘œκ·Έλž˜λ° μ‹€ν–‰ ν™˜κ²½μ—μ„œλŠ” μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€λ“€μ΄ μ œν•œλœ 컴퓨터 μžμ›μ„ μ‚¬μš©ν•˜λ €κ³  μ„œλ‘œ κ²½μŸν•  수 있음
  • ν•œ ν”„λ‘œμ„ΈμŠ€κ°€ 컴퓨터 μžμ›μ„ μš”μ²­ν–ˆμ§€λ§Œ λ°”λ‘œ ν• λ‹Ή 받을 수 μ—†λ‹€λ©΄, κ·Έ ν”„λ‘œμ„ΈμŠ€λŠ” μžμ›μ„ μ–»κΈ° μœ„ν•œ λŒ€κΈ° μƒνƒœλ‘œ 듀어감
  • 그림의 μ˜ˆμ‹œλ₯Ό 보면 P1 - ν”„λ¦°ν„° ν• λ‹Ή, P2 ν”„λ¦°ν„° μš”κ΅¬, P1 μžκΈ°ν…Œμ΄ν”„ μš”κ΅¬, P2 μžκΈ°ν…Œμ΄ν”„ ν• λ‹Ή μ„œλ‘œ ν•„μš”ν•œ 것이 μ—‡κ°ˆλ € κ°€μ§€κ³  μžˆλŠ” μƒνƒœλ₯Ό ꡐ착 μƒνƒœλΌ ν•œλ‹€. ( 즉, 움직일 수 μ—†λŠ” μƒνƒœ )
  • 두 개의 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€κ°€ μ„œλ‘œμ—κ²Œ ν• λ‹Ήλœ 컴퓨터 μžμ›μ„ μ–»κΈ° μœ„ν•΄ λŒ€κΈ°ν•˜λ©΄μ„œ μžμ‹ μ—κ²Œ ν• λ‹Ήλœ 컴퓨터 μžμ›μ„ ν¬κΈ°ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄, μ„œλ‘œμ˜ 컴퓨터 μžμ›μ„ λ¬΄ν•œλŒ€λ‘œ κΈ°λ‹€λ¦¬λŠ” μƒνƒœκ°€ 됨.
  • μ‰½κ²Œλ§ν•΄, 2개 μ΄μƒμ˜ ν”„λ‘œμ„ΈμŠ€κ°€ λŒ€κΈ° 쀑인 ν”„λ‘œμ„ΈμŠ€λ“€ μ€‘μ˜ ν•˜λ‚˜μ— μ˜ν•΄μ„œλ§Œ λ°œμƒν•  수 μžˆλŠ” 사건을 λ¬΄μž‘μ • κΈ°λ‹€λ¦¬λŠ” μƒνƒœλ₯Ό κ΅μ°©μƒνƒœ(deadlock) 라고 ν•œλ‹€.

(2) ꡐ착 μƒνƒœμ˜ ν•„μˆ˜ 쑰건

  • κ΅μ°©μƒνƒœλŠ” λ‹€μŒμ˜ λ„€ κ°€μ§€ 쑰건이 λ™μ‹œμ— λ§Œμ‘±ν•  λ•Œμ—λ§Œ λ°œμƒν•œλ‹€.

  • μƒν˜Έ 배제 쑰건: ν•œ ν”„λ‘œμ„ΈμŠ€κ°€ 컴퓨터 μžμ›μ„ μ‚¬μš© 쀑이면 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€λŠ” κ·Έ 컴퓨터 μžμ›μ„ μ‚¬μš©ν•˜μ§€ λͺ»ν•˜κ³  ν•΄μ œλ  λ•ŒκΉŒμ§€ λ°˜λ“œμ‹œ κΈ°λ‹€λ €μ•Ό ν•œλ‹€. ( 예: ν”„λ¦°ν„°λ₯Ό ν•œ λ²ˆμ— 두 ν”„λ‘œμ„ΈμŠ€κ°€ λ™μ‹œμ— μ‚¬μš©ν•  수 μ—†μŒ. )
  • λŒ€κΈ° 쑰건: ν”„λ‘œμ„ΈμŠ€κ°€ 적어도 ν•˜λ‚˜ μ΄μƒμ˜ 컴퓨터 μžμ›μ„ ν• λ‹Ή λ°›μ•„ μ μœ ν•˜κ³  μžˆμœΌλ©΄μ„œ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€κ°€ ν• λ‹Ή 받은 μžμ›μ„ μš”μ²­ν•˜κ³  그것이 ν•΄μ œλ˜κΈ°λ₯Ό κΈ°λ‹€λ €μ•Ό ν•œλ‹€. ( 예: ν”„λ‘œμ„ΈμŠ€ Aκ°€ ν”„λ¦°ν„°λ₯Ό κ°€μ§€κ³  μžˆμœΌλ©΄μ„œ, λ™μ‹œμ— μŠ€μΊλ„ˆλ₯Ό κΈ°λ‹€λ¦Ό. )
  • 비선점 쑰건: ν• λ‹Ήλœ 컴퓨터 μžμ›μ΄ κ·Έ ν”„λ‘œμ„ΈμŠ€μ˜ μž‘μ—… μ’…λ₯˜ ν›„ 자발적으둜만 ν•΄μ œλ  수 있고 νƒ€μ˜μ— μ˜ν•΄μ„œλŠ” ν•΄μ œλ˜μ§€ μ•ŠλŠ”λ‹€. ( 예: ν”„λ‘œμ„ΈμŠ€κ°€ ν”„λ¦°ν„°λ₯Ό μ“°λŠ” 도쀑 μš΄μ˜μ²΄μ œκ°€ κ°•μ œλ‘œ 뺏을 수 μ—†μŒ. )
  • ν™˜ν˜• λŒ€κΈ° 쑰건: ν”„λ‘œμ„ΈμŠ€μ˜ μ›ν˜• μ‚¬μŠ¬μ΄ μ‘΄μž¬ν•΄μ„œ 이λ₯Ό κ΅¬μ„±ν•˜λŠ” 각 ν”„λ‘œμ„ΈμŠ€κ°€ μ‚¬μŠ¬ λ‚΄μ˜ λ‹€μŒμ— μžˆλŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μš”κ΅¬ν•˜λŠ” ν•˜λ‚˜ μ΄μƒμ˜ μžμ›μ„ κ°€μ§€κ³  μžˆλ‹€. ( 예: μžμ› μš”μ²­μ΄ μ›ν˜• 고리λ₯Ό 이루며 λŒ€κΈ°ν•˜λŠ” 상황 )

(3) κ΅μ°©μƒνƒœμ˜ 처리

[ κ΅μ°©μƒνƒœ λ°©μ§€(prevention) ]

  • κ΅μ°©μƒνƒœλŠ” κ΅μ°©μƒνƒœ ν•„μˆ˜ 쑰건을 λ§Œμ‘±ν•  κ²½μš°μ— λ°œμƒμ΄ 됨.
  • λ„€ κ°€μ§€ κ΅μ°©μƒνƒœ λ°œμƒ 쑰건 μ€‘μ—μ„œ μ–΄λŠ ν•œ κ°€μ§€ 쑰건이도 μ œκ±°ν•˜λ©΄, κ΅μ°©μƒνƒœκ°€ λ°œμƒν•˜μ§€ μ•Šλ„λ‘ ν•  수 있음
  • 이와 같이 μš”κ΅¬ μƒνƒœλ₯Ό μ œν•œν•¨μœΌλ‘œμ¨ κ΅μ°©μƒνƒœλ₯Ό λ°©μ§€ν•˜κ²Œ 되면 컴퓨터 μžμ›μ˜ 이용λ₯ κ³Ό μ‹œμŠ€ν…œ μ„±λŠ₯이 μ €ν•˜λ˜λŠ” λΆ€μž‘μš©μ΄ μƒκΈ°κ²Œ λœλ‹€.

[ κ΅μ°©μƒνƒœ 탐지(detection) ]

  • κ΅μ°©μƒνƒœμ— λΉ μ§„ ν”„λ‘œμ„ΈμŠ€μ˜ 쑴재λ₯Ό κ²€μ‚¬ν•˜μ—¬ κ΅μ°©μƒνƒœλ₯Ό μ°Ύμ•„λ‚΄λŠ” 기법을 μ˜λ―Έν•œλ‹€.
  • κ΅μ°©μƒνƒœ 탐지 μ•Œκ³ λ¦¬μ¦˜μ„ μˆ˜ν–‰ν•˜λŠ” 것은 μ‹œμŠ€ν…œ μ„±λŠ₯에 μƒλ‹Ήν•œ 뢀담이 되기 λ•Œλ¬Έμ—, κ΅μ°©μƒνƒœ 탐지 μ•Œκ³ λ¦¬μ¦˜μ€ μ μ ˆν•˜κ²Œ μˆ˜ν–‰μ΄ λ˜μ–΄μ•Ό ν•œλ‹€. ( ν™•μ‹€ν•œ ꡐ착 μƒνƒœλ₯Ό 탐지λ₯Ό ν•΄μ€˜μ•Ό ν•œλ‹€λŠ” μ˜λ―Έμž„ )

[ κ΅μ°©μƒνƒœ 볡ꡬ(recovery) ]

  • κ΅μ°©μƒνƒœλ₯Ό μ œκ±°ν•˜μ—¬ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€κ°€ 컴퓨터 μžμ›μ„ μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•˜λŠ” 방법이닀.
  • κ΅μ°©μƒνƒœ 볡ꡬ 방법 쀑 ν•˜λ‚˜λŠ” μ‹œμŠ€ν…œ κ΄€λ¦¬μžμ—κ²Œ κ΅μ°©μƒνƒœκ°€ λ°œμƒν•˜μ˜€μŒμ„ μ•Œλ €μ£Όμ–΄ 직접 μˆ˜μž‘μ—…μœΌλ‘œ μ²˜λ¦¬ν•˜λ„λ‘ ν•˜λŠ” κ²ƒμž„
  • ν™˜ν˜• λŒ€κΈ°λ₯Ό μ—†μ• κΈ° μœ„ν•΄ λͺ‡ 개의 ν”„λ‘œμ„ΈμŠ€λ“€μ„ μ€‘μ§€μ‹œν‚€κ±°λ‚˜ κ΅μ°©μƒνƒœμ— μžˆλŠ” ν•˜λ‚˜ μ΄μƒμ˜ ν”„λ‘œμ„ΈμŠ€λ“€λ‘œλΆ€ν„° λͺ‡ 개의 μžμ›μ„ λ°˜λ‚©ν•˜κ²Œ ν•˜λŠ” 것이닀. ( λͺ‡ 개의 ν”„λ‘œμ„ΈμŠ€λ“€μ„ 쀑지할지 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜λŠ” 것이 ꡉμž₯히 λ³΅μž‘ν•¨ )

[ 정리 ]

  • CPUλ₯Ό 효율적으둜 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œ μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ™μ‹œμ— λ©”λͺ¨λ¦¬μ— μ˜¬λ €λ†“κ³  λ²ˆκ°ˆμ•„ μ‹€ν–‰ν•˜λŠ” 것은 운영체제의 μŠ€μΌ€μ€„λ§ 덕뢄에 κ°€λŠ₯ν•˜λ©°, ν•΄λ‹Ή 닀쀑 ν”„λ‘œκ·Έλž˜λ°μ—μ„œ λ™μ‹œμ— μžμ›μ„ μš”κ΅¬ν•˜λ©΄μ„œ λ°œμƒν•˜λŠ”κ²ƒμ΄ κ΅μ°©μƒνƒœλ‘œ λ³Ό 수 μžˆλ‹€.

βœ… 3. μž₯치 관리

(1) μž₯치 관리와 파일 관리

[ κ°œμš” ]

  • μš΄μ˜μ²΄μ œλŠ” μž₯치 κ΄€λ¦¬μžμ™€ 파일 κ΄€λ¦¬μžμ˜ 역할도 μˆ˜ν–‰ν•¨
  • μž₯치 κ΄€λ¦¬μžλŠ” μ‹œμŠ€ν…œμ˜ ν‚€λ³΄λ“œ, 마우슀, ν”„λ¦°ν„°, λ„€νŠΈμ›Œν¬ μΉ΄λ“œ λ“±κ³Ό 같은 λͺ¨λ“  μ£Όλ³€κΈ°κΈ°λ₯Ό 관리함.
  • 파일 κ΄€λ¦¬μžλŠ” μ‹œμŠ€ν…œ 내에 μ‘΄μž¬ν•˜λŠ” 파일의 μ €μž₯κ³Ό μ ‘κ·Ό κΆŒν•œ 등을 관리함.

(2) 보쑰기얡μž₯치

[ κ°œμš” ]

  • λŒ€μš©λŸ‰μ˜ ν”„λ‘œκ·Έλž¨μ΄λ‚˜ 데이터λ₯Ό μž₯κΈ°κ°„ μ €μž₯ν•˜κΈ° μœ„ν•œ μž₯치 λ§€μ²΄λŠ” 보쑰기얡μž₯치이며 λ””μŠ€ν¬ μƒμ˜ νŒŒμΌμ— 직접 μ ‘κ·Όν•  수 μžˆλŠ” 직접 μ ‘κ·Ό 맀체인 ν•˜λ“œ λ””μŠ€ν¬μ™€ ν”Œλž˜μ‹œ λ©”λͺ¨λ¦¬κ°€ λŒ€ν‘œμ μΈ 보쑰기얡μž₯μΉ˜μž„.
  • ν•˜λ“œλ””μŠ€ν¬μ™€ 같은 직접 μ ‘κ·Όμž₯치: 자기 λ””μŠ€ν¬μ˜ νŠΉμ • μœ„μΉ˜μ— μžˆλŠ” 데이터λ₯Ό μ½κ±°λ‚˜ μ“Έ 경우 μž„μ˜μ μΈ 접근이 κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— μž„μ˜ μ ‘κ·Ό μ €μž₯μž₯μΉ˜λΌκ³ λ„ 함.
  • μ΄λŸ¬ν•œ 보쑰기얡μž₯치λ₯Ό 관리 기법을 μ‚¬μš©ν•΄ λΉ λ₯΄κ²Œ 접근을 ν•˜λŠ”κ²ƒμ΄ 운영체제의 역할이닀.

[ λ””μŠ€ν¬ 팩의 ꡬ쑰 ]

  • 일반적으둜 λ””μŠ€ν¬μ— μ ‘κ·Όν•˜λŠ” 데 κ±Έλ¦¬λŠ” μ‹œκ°„μ€ νŠΈλž™ 탐색 μ‹œκ°„(seek time), λ””μŠ€ν¬ νšŒμ „ μ§€μ—° μ‹œκ°„(latencty time), 데이터 전솑 μ‹œκ°„(transfer time)의 ν•©μœΌλ‘œ ꡬ성이 λ˜μ–΄μžˆμŒ.
  • κ·Έ 쀑 νŠΈλž™ 탐색 μ‹œκ°„μ— κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ κ°€μž₯ κΈΈμ–΄ 보쑰기얡μž₯치λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜ κΈ°λ²•μ—λŠ” λŒ€λΆ€λΆ„ νŠΈλž™ 탐색 μ‹œκ°„μ„ μ€„μ΄λŠ”λ° 초점이 맞좰져 있음.
  • νŠΈλž™ 탐색 μ‹œκ°„: ν—€λ“œλ₯Ό 움직여 μ›ν•˜λŠ” νŠΈλž™μœΌλ‘œ μ΄λ™μ‹œν‚€λŠ” 데 ν•„μš”ν•œ μ‹œκ°„μ„ μ˜λ―Έν•˜λ©°, 기계적인 λ™μž‘μœΌλ‘œ 이루어지기 λ•Œλ¬Έμ— κ°€μž₯ μ‹œκ°„μ΄ 많이 κ±Έλ¦¬λŠ” μš”μ†Œμž„. ( ν•΄λ‹Ή νŠΈλž™κΉŒμ§€ λ””μŠ€ν¬ 암이 κ°€λŠ”λ° κ±Έλ¦¬λŠ” μ‹œκ°„μ„ 의미 )
  • λ””μŠ€ν¬ νšŒμ „ μ§€μ—° μ‹œκ°„: ν—€λ“œκ°€ μ›ν•˜λŠ” νŠΈλž™μ— μœ„μΉ˜ν•œ 후에, μš”κ΅¬λœ μžλ£Œκ°€ μ €μž₯된 νŠΉμ • μ„Ήν„°κ°€ ν—€λ“œ 밑에 이λ₯Ό λ•ŒκΉŒμ§€ λ””μŠ€ν¬κ°€ νšŒμ „ν•˜λŠ” 데 ν•„μš”ν•œ μ‹œκ°„μ„ μ˜λ―Έν•¨.
  • 데이터 전솑 μ‹œκ°„: μ“°κΈ° λ™μž‘μΌ κ²½μš°μ—λŠ” μ£ΌκΈ°μ–΅μž₯μΉ˜μ—μ„œ 데이터가 보쑰기얡μž₯μΉ˜μ— μ €μž₯λ˜λŠ” μ‹œκ°„μ΄λ©°, 읽기 λ™μž‘μΌ κ²½μš°μ—λŠ” 보쑰기얡μž₯μΉ˜λ‘œλΆ€ν„° 데이터λ₯Ό 읽어 μ£ΌκΈ°μ–΅μž₯치둜 μ΄λ™ν•˜λŠ” 데 ν•„μš”ν•œ μ‹œκ°„μž„. ( μ•žμ˜ 두 κ°€μ§€ 보닀 κ±Έλ¦¬λŠ” μ‹œκ°„μ€ 짧음 )

(3) λ””μŠ€ν¬ μŠ€μΌ€μ€„λ§

[ κ°œμš” ]

  • ν”„λ‘œμ„ΈμŠ€λ“€μ˜ 보쑰기얡μž₯치 읽기 μš”μ²­μ΄λ‚˜ μ“°κΈ° μš”μ²­μ„ 효율적으둜 μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ 보쑰기얡μž₯치(λ””μŠ€ν¬) 관리 κΈ°λ²•μž„.
  • λ””μŠ€ν¬ μŠ€μΌ€μ€„λŸ¬λŠ” λŒ€κΈ°ν•˜κ³  μžˆλŠ” μš”μ²­λ“€ κ°„μ˜ μœ„μΉ˜μ  관계λ₯Ό μ‘°μ‚¬ν•œ 후에, μ΅œμ†Œν•œμ˜ 기계적 λ™μž‘μ— μ˜ν•΄ 처리될 수 μž‡λ„λ‘ μš”μ²­λ“€μ˜ μˆœμ„œλ₯Ό μž¬λ°°μ—΄μ„ ν•œλ‹€. ( νŠΈλž™ 탐색 μ‹œκ°„μ— κ°€μž₯ 집쀑을 함. )
  • νŠΈλž™ 탐색 μ‹œκ°„ μ΅œμ ν™”μ™€ νšŒμ›μ§€μ—° μ‹œκ°„ μ΅œμ ν™”μ˜ 두 κ°€μ§€ ν˜•νƒœλ‘œ λ‚˜λˆŒ 수 있음

[ FCFS(First-Come First Served) μŠ€μΌ€μ€„λ§ 기법 ]

  • λ¨Όμ € λ„μ°©ν•œ λ””μŠ€ν¬ μ ‘κ·Ό μš”μ²­μ΄ κ°€μž₯ λ¨Όμ € μ„œλΉ„μŠ€λ₯Ό 받도둝 ν•˜λŠ” 기법을 μ˜λ―Έν•¨.
  • 일단 λ””μŠ€ν¬ μ ‘κ·Ό μš”μ²­μ΄ λ„μ°©ν•˜λ©΄ μ‹€ν–‰ μˆœμ„œκ°€ κ³ μ •λ˜μ–΄ 더 높은 μš”μ²­μ΄ 도착해도 μ‹€ν–‰ μˆœμ„œκ°€ λ°”λ€Œμ§€ μ•ŠμŒ
  • λΆ€ν•˜κ°€ 적은 μ‹œμŠ€ν…œμ˜ κ²½μš°μ—λŠ” 비ꡐ적 쒋은 λ°©λ²•μ΄μ§€λ§Œ, λΆ€ν•˜κ°€ 컀질수둝 μž₯치λ₯Ό ν¬ν™”μ‹œν‚€κΈ°κ°€ 쉽고 μ‘λ‹΅μ‹œκ°„μ΄ κΈΈμ–΄μ§€λŠ” 단점이 있음.
  • 즉, 처음 λ“€μ–΄μ˜¨ λ””μŠ€ν¬ μš”μ²­λΆ€ν„° μˆœμ„œλŒ€λ‘œ 처리λ₯Ό ν•΄μ£ΌλŠ” λ°©μ‹μž„

[ SSTF(Shortest Seek Time First) μŠ€μΌ€μ€„λ§ 기법 ]

  • ν˜„μž¬ λ””μŠ€ν¬ ν—€λ“œμ˜ μœ„μΉ˜μ—μ„œ κ°€μž₯ 짧은 νŠΈλž™ 탐색 거리(λ˜λŠ” 탐색 μ‹œκ°„)λ₯Ό κ°€μ§„ λ””μŠ€ν¬ μ ‘κ·Ό μš”μ²­μ„ λ¨Όμ € μ²˜λ¦¬ν•˜λŠ” 기법
  • FCFS에 λΉ„ν•΄ 평균 μ‘λ‹΅μ‹œκ°„λ„ μ§§μ§€λ§Œ, κ°€μž₯ μ€‘μš”ν•œ 단점은 쀑간 λ²”μœ„μ˜ νŠΈλž™μ— λΉ„ν•΄ κ°€μž₯ μ•ˆμͺ½ λ˜λŠ” λ°”κΉ₯μͺ½ νŠΈλž™μ΄ μ„œλΉ„μŠ€λ₯Ό λ°›μ§€ λͺ»ν•˜λŠ” κ²½μš°κ°€ λ°œμƒν•  ν™•λ₯ μ΄ λ†’μŒ
  • SSTFλŠ” μ²˜λ¦¬λŸ‰μ΄ μ£Όμš” 관심사인 일괄 처리 μ‹œμŠ€ν…œμ—μ„œλŠ” μœ μš©ν•˜κ²Œ μ‚¬μš©λ  수 μžˆμ§€λ§Œ, 응닡 μ‹œκ°„μ˜ 큰 편차둜 λ°œμƒν•˜κΈ° λ•Œλ¬Έμ— λŒ€ν™”μ‹ μ‹œμŠ€ν…œμ—μ„œλŠ” μ‚¬μš©λ˜μ§€ μ•ŠλŠ”λ‹€.

[ SCAN μŠ€μΌ€μ€„λ§ 기법 ]

  • SSTF μŠ€μΌ€μ€„λ§ κΈ°λ²•μ˜ μ„œλΉ„μŠ€μ— λŒ€ν•œ λΆˆκ³΅ν‰μ„± 문제λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄μ„œ μ œμ•ˆλœ 방법이닀. (μ—˜λ¦¬λ² μ΄ν„° μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ 뢈림)
  • ν•œμͺ½ λ°©ν–₯μ—μ„œ κ°€μž₯ 짧은 탐색 거리의 λ””μŠ€ν¬ μ ‘κ·Ό μš”μ²­μ΄ λ¨Όμ € μ„œλΉ„μŠ€λ₯Ό 받도둝 ν•˜λŠ” 기법이닀.
  • ν•΄λ‹Ή λ°©ν–₯의 λ§ˆμ§€λ§‰ 싀린더λ₯Ό λ§Œλ‚˜κ±°λ‚˜ κΈ°λ‹€λ¦¬λŠ” μš”κ΅¬κ°€ 더 이상 μ—†μ„λ•Œμ—λŠ” λ°©ν–₯을 λ°”κΎΈμ–΄ μ„œλΉ„μŠ€λ₯Ό κ³„μ†ν•œλ‹€.
  • μ‰½κ²Œλ§ν•΄, λ””μŠ€ν¬ ν—€λ“œκ°€ ν•œμͺ½ λμ—μ„œ λ‹€λ₯Έ μͺ½ 끝으둜 μ΄λ™ν•˜λ©΄μ„œ, μ§€λ‚˜κ°€λŠ” μš”μ²­λ“€μ„ μˆœμ„œλŒ€λ‘œ μ²˜λ¦¬ν•˜λŠ” λ°©μ‹μž„.
  • ν—€λ“œκ°€ μ§€λ‚˜κ°„ ν›„ ν—€λ“œ λ°”λ‘œ 뒀에 λ„μ°©ν•˜λŠ” μš”κ΅¬λŠ” ν—€λ“œκ°€ μ§„ν–‰ λ°©ν–₯의 λκΉŒμ§€ κ°”λ‹€κ°€ λ°©ν–₯을 λ°”κΎΈμ–΄ λ˜λŒμ•„μ˜¬ λ•ŒκΉŒμ§€ κΈ°λ‹€λ €μ•Όν•˜λŠ” λ¬Έμ œκ°€ 있으며, μƒλŒ€μ μœΌλ‘œ μ•ˆμͺ½ νŠΈλž™κ³Ό λ°”κΉ₯μͺ½ νŠΈλž™μ΄ μ€‘μ•™νŠΈλž™λ³΄λ‹€ μ„œλΉ„μŠ€λ₯Ό 많이 λ°›κ²Œ λ˜λŠ” λΆˆκ³΅ν‰μ„± λ¬Έμ œκ°€ 있음.

[ SLTF(Shortest Latency Time First) μŠ€μΌ€μ€„λ§ 기법 ]

  • νŠΈλž™ 탐색 μ‹œκ°„μ„ μ΅œμ ν™”ν•˜κΈ° μœ„ν•œ SSTF μŠ€μΌ€μ€„λ§κ³Ό μœ μ‚¬ν•˜κ²Œ λ””μŠ€ν¬μ˜ νšŒμ „ μ§€μ—° μ‹œκ°„μ„ μ΅œμ ν™”ν•˜κΈ° μœ„ν•œ κΈ°λ²•μž„.
  • 일단 λ””μŠ€ν¬ ν—€λ“œκ°€ νŠΉμ • 싀린더에 λ„μ°©ν•˜λ©΄ κ·Έ 싀린더 λ‚΄μ˜ μ—¬λŸ¬ νŠΈλž™μ— λŒ€ν•˜μ—¬ λ§Žμ€ μš”κ΅¬κ°€ μžˆμ„ κ°€λŠ₯성이 λ†’κΈ° λ•Œλ¬Έμ— λͺ¨λ“  μš”κ΅¬λ₯Ό κ²€μ‚¬ν•œ ν›„ κ°€μž₯ 짧은 νšŒμ „ 지연을 κ°–λŠ” μš”κ΅¬λ“€μ—κ²Œ μš°μ„ μ μœΌλ‘œ μ„œλΉ„μŠ€λ₯Ό ν•˜λŠ” 기법이닀.
  • κ°€μž₯ κ°€κΉŒμš°λ©΄μ„œ, ν•΄λ‹Ή νŠΈλž™μ— λŒ€ν•˜μ—¬ λ§Žμ€ μš”κ΅¬κ°€ μžˆμ„ 경우 μš°μ„ μˆœμœ„λ₯Ό μ€€λ‹€λŠ” μ˜λ―Έμž„.

[ κ²°λ‘  ]

  • λ””μŠ€ν¬ μŠ€μΌ€μ€„λ§μ€ 운영체제(OS) μ•ˆμ—μ„œ, μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€κ°€ λ™μ‹œμ— λ””μŠ€ν¬ I/O μš”μ²­μ„ ν•  λ•Œ, κ·Έ μš”μ²­λ“€μ„ μ–΄λ–€ μˆœμ„œλ‘œ μ²˜λ¦¬ν• μ§€λ₯Ό κ²°μ •ν•˜λŠ”  역할을 ν•˜λ©°, CPU μŠ€μΌ€μ€„λ§μ΄ CPU μžμ› λΆ„λ°°λ₯Ό κ΄€λ¦¬ν•˜λ“―, λ””μŠ€ν¬ μŠ€μΌ€μ€„λ§μ€ λ””μŠ€ν¬λΌλŠ” μž…μΆœλ ₯ μž₯치 μžμ›μ„ 효율적으둜 λ°°λΆ„ν•˜λŠ” 것이닀.

βœ… 4. 파일 관리

(1) 파일 관리 μ‹œμŠ€ν…œ

[ κ°œμš” ]

  • 파일(file) μ΄λž€ 일반적으둜 λ””μŠ€ν¬ λ“±μ˜ 보쑰기얡μž₯μΉ˜μ— μ €μž₯λ˜μ–΄ μžˆλŠ” μ„œλ‘œ κ΄€λ ¨μ„± μžˆλŠ” λ°μ΄ν„°μ˜ μ§‘ν•©(λ ˆμ½”λ“œμ˜ μ§‘ν•©)을 μ˜λ―Έν•œλ‹€.
  • νŒŒμΌμ— μ˜ν•΄μ„œ μ‚¬μš©λ˜λŠ” μžμ›μ˜ 관리λ₯Ό λΉ„λ‘―ν•˜μ—¬ 파일의 생성, μ‚­μ œ, μˆ˜μ •, μ ‘κ·Ό 등을 μ œμ–΄ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό 파일 관리 μ‹œμŠ€ν…œ(File Management System)이라고 ν•œλ‹€.

[ ꡬ성 μš”μ†Œ ]

  • 파일 관리 μ‹œμŠ€ν…œ(운영체제)의 μ£Όμš” ꡬ성 μš”μ†Œ
  • (1) νŒŒμΌμ— μ €μž₯λ˜μ–΄ μžˆλŠ” 데이터에 λŒ€ν•œ μ ‘κ·Ό 방식
  • (2) 파일의 μ €μž₯, μ°Έμ‘°, 곡유 및 파일 보호 기법을 μ œκ³΅ν•˜λŠ” 파일 관리
  • (3) 보쑰기얡μž₯μΉ˜μ— 파일 μ €μž₯을 μœ„ν•œ 곡간 ν• λ‹Ήκ³Ό κ΄€λ ¨λœ 보쑰기얡μž₯치 관리
  • (4) 파일의 정보가 μ†Œμ‹€λ˜μ§€ μ•Šλ„λ‘ 보μž₯ν•˜λŠ” 일에 κ΄€κ³„λœ 파일 무결성 μœ μ§€

 [ μ—­ν•  ]

  • ꡬ성 μš”μ†Œλ“€μ„ 톡해 파일 관리 μ‹œμŠ€ν…œμ€ 물리적인 μ €μž₯ μš”μ†Œ, μ •λ³΄μžμ›, 그리고 νŒŒμΌλ“€μ„ μ €μž₯ν•˜κ³  λΆ„λ°°ν•˜κΈ° μœ„ν•œ 정책듀을 μ±…μž„μ§„λ‹€.
  • ꡬ체적으둜 파일의 생성, μˆ˜μ •, μ‚­μ œ, 곡유, λ°±μ—…κ³Ό 볡ꡬ, 보호, μ‚¬μš©μž 편의 μΈν„°νŽ˜μ΄μŠ€ 제곡 λ“±μ˜ λ‹€μ–‘ν•œ κΈ°λŠ₯듀을 μˆ˜ν–‰ν•œλ‹€.
  • 파일 κ΅¬μ‘°λŠ” νŒŒμΌμ„ κ΅¬μ„±ν•˜λŠ” λ ˆμ½”λ“œλ“€μ˜ 보쑰기얡μž₯치 배치 κΈ°λ²•μœΌλ‘œ νŒŒμΌμ—μ„œ λ ˆμ½”λ“œμ— μ ‘κ·Όν•˜λŠ” 방식과 λ°€μ ‘ν•œ 관계 가짐.
  • μ‹€μ œ λ‚΄λΆ€μ μœΌλ‘œ μ‚¬μš©μžλŠ” 파일 μ‹œμŠ€ν…œμ„ 톡해 "파일"μ΄λΌλŠ” λ‹¨μœ„λ‘œ μ ‘κ·Ό ν›„ 파일 μ‹œμŠ€ν…œμ€ λ‚΄λΆ€μ μœΌλ‘œ ν•΄λ‹Ή νŒŒμΌμ„ λ””μŠ€ν¬ 블둝(μ„Ήν„°)에 λ§€ν•‘ ν•œ λ’€ λ””μŠ€ν¬ 블둝 μš”μ²­μ΄ λ“€μ–΄κ°€λ©΄, λ””μŠ€ν¬ I/O λ‹¨κ³„μ—μ„œ λ””μŠ€ν¬ μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜μ΄ μ–΄λ–€ μˆœμ„œλ‘œ μ ‘κ·Όν• μ§€ 결정을 ν•œλ‹€.
  • 즉, 파일 관리 μ‹œμŠ€ν…œμ€ 논리적 계측(μ‚¬μš©μž -> 파일, 디렉토리 관리)으둜 λ³Ό 수 있고, λ””μŠ€ν¬ μŠ€μΌ€μ€„λ§μ€ 물리적 κ³„μΈ΅μœΌλ‘œ (λ””μŠ€ν¬ ν—€λ“œ 이동, μ„Ήν„° μ ‘κ·Ό μ΅œμ ν™”)으둜 λ³Ό 수 μžˆλ‹€. λ‘˜μ€ μΈ΅μœ„κ°€ λ‹¬λΌμ„œ, 파일 μ‹œμŠ€ν…œμ΄ 논리적 μš”μ²­μ„ λ§Œλ“€κ³  λ””μŠ€ν¬ μŠ€μΌ€μ€„λ§μ΄ 물리적으둜 μ²˜λ¦¬ν•˜λŠ” νλ¦„μœΌλ‘œ λ³Ό 수 있음.
  • μ‰½κ²Œλ§ν•΄, μ•žμ—μ„œλŠ” 파일 관리 μ‹œμŠ€ν…œμ΄ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜κ³ , λ’€μ—μ„œλŠ” λ””μŠ€ν¬ μŠ€μΌ€μ€„λ§μ΄ νš¨μœ¨μ„ 맞좰 돌고 μžˆλŠ” ꡬ쑰

[ 순차 파일 ]

  • λ ˆμ½”λ“œλ“€μ˜ μ €μž₯이 연속적인 물리적 μœ„μΉ˜μ— 따라 μ €μž₯λ˜μ–΄ μžˆλŠ” 파일 ν˜•νƒœλ₯Ό μ˜λ―Έν•œλ‹€.
  • 순차 νŒŒμΌμ€ 일반적으둜 ν‚€ 값에 따라 μΌμ •ν•œ μˆœμ„œλ₯Ό μœ μ§€ν•˜λ©° μ €μž₯되며, λ…Όλ¦¬μ μœΌλ‘œ μ—°μ†μ μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” λ ˆμ½”λ“œλ“€μ€ λ¬Όλ¦¬μ μœΌλ‘œλ„ 연속적인 μœ„μΉ˜μ— μ €μž₯이 λœλ‹€.
  • ν•œ λ ˆμ½”λ“œμ— μ ‘κ·Όν•˜κΈ° μœ„ν•΄μ„œ, κ·Έ λ ˆμ½”λ“œμ˜ μ•žμ— μžˆλŠ” λ ˆμ½”λ“œλ“€μ„ λ¨Όμ € μ ‘κ·Όν•΄μ•Ό ν•œλ‹€. ( 순차 μ ‘κ·Ό )
  • 물리적으둜 순차적인 μ ‘κ·Ό νŠΉμ„±μ„ κ°€μ§„ 자기 ν…Œμ΄ν”„μ— κ°€μž₯ 많이 이용이 λœλ‹€.

[ 직접 파일 ]

  • λ ˆμ½”λ“œκ°€ μ €μž₯λ˜μ–΄ μžˆλŠ” μ €μž₯μž₯치의 물리적 μ£Όμ†Œμ— μ˜ν•΄ μ§μ ‘μ μœΌλ‘œ μ ‘κ·Όν•  수 μžˆλŠ” ꡬ쑰의 파일 ν˜•νƒœμ΄λ‹€.
  • λ‹€λ₯Έ λ ˆμ½”λ“œλ₯Ό μ°Έμ‘°ν•˜μ§€ μ•Šκ³  μ–΄λ–€ λ ˆμ½”λ“œμ—λ„ μ ‘κ·Όν•  수 있음
  • νŠΉμ • λ ˆμ½”λ“œλ₯Ό μ‹λ³„ν•˜κΈ° μœ„ν•œ λ ˆμ½”λ“œ 킀와 보쑰기얡μž₯치의 μ €μž₯ μ£Όμ†Œμ˜ 관계 정보λ₯Ό μ•Œκ³  μžˆμ–΄μ•Ό 함
  • νŒŒμΌμ„ ꡬ성할 λ•Œ λ ˆμ½”λ“œ 킀와 μ‹€μ œ μ €μž₯ μ£Όμ†Œ μ‚¬μ΄μ˜ 관계λ₯Ό μ°Ύμ•„λ‚Ό 수 μžˆλŠ” ν•¨μˆ˜κ°€ ν•„μš”ν•˜λ©°, 이λ₯Ό 톡해 λ ˆμ½”λ“œ ν‚€λ₯Ό λ³€ν™˜ν•˜μ—¬ μ‹€μ œ μ €μž₯된 보쑰기얡μž₯치의 μ£Όμ†Œλ₯Ό μ–»μ–΄λ‚Έλ‹€.
  • 직접 νŒŒμΌμ€ 이와 같은 μ ‘κ·Όμ˜ νš¨μœ¨μ„±μ„ μœ„ν•΄ 순차 νŒŒμΌκ³ΌλŠ” λ‹€λ₯΄κ²Œ 자기 λ””μŠ€ν¬μ™€ 같은 직접 μ ‘κ·Ό μ €μž₯μž₯μΉ˜μ— μ €μž₯ν•œλ‹€.

[ 인덱슀 순차 파일 - ν˜„λŒ€ ν•˜λ“œλ””μŠ€ν¬λŠ” λŒ€λΆ€λΆ„ μ΄λ°©μ‹μ΄λΌλŠ”λ°? ]

  • λ ˆμ½”λ“œ ν‚€ 값에 따라 μ •λ ¬λœ λ ˆμ½”λ“œλ₯Ό 순차적으둜 μ ‘κ·Όν•  수 μžˆλŠ” 순차파일의 νŠΉμ§•μ„ κ°€μ§€κ³  있음.
  • μ£Όμ–΄μ§„ ν‚€ 값에 따라 직접 μ ‘κ·Όν•  수 μžˆλŠ” 직접 파일의 νŠΉμ§•μ„ κ°–λŠ” ꡬ쑰의 파일 ν˜•νƒœμ΄λ‹€.
  • 순차 접근을 μ§€μ›ν•˜λŠ” 순차 파일과 직접 접근을 μ§€μ›ν•˜λŠ” 직접 νŒŒμΌμ„ κ²°ν•©ν•œ ν˜•νƒœλ‘œ λ³Ό 수 μžˆλ‹€.

[ κ²°λ‘  ]

  • μ •λ¦¬ν•˜λ©΄, 순차 파일, 직접 파일, 인덱슀 순차 파일 등은 파일 쑰직 방식(논리적 섀계 κ°œλ…)에 가깝닀. 즉, 데이터λ₯Ό 보쑰기얡μž₯μΉ˜μ— μ–΄λ–»κ²Œ λ°°μΉ˜ν•˜κ³  μ ‘κ·Όν• μ§€λ₯Ό μ •μ˜ν•˜λŠ” 논리적 섀계라고 λ³΄λŠ”κ²Œ λ§žλŠ” 것이닀. 거기에 따라 데이터λ₯Ό 검색할 λ•Œ μ‚¬μš©ν•  μ•Œκ³ λ¦¬μ¦˜μ΄ λ”°λ‘œ λΆ™λŠ” 것이닀.

(2) λ””μŠ€ν¬ 곡간 ν• λ‹Ή 방식

  • νŒŒμΌμ„ 보쑰기얡μž₯μΉ˜μ— μ €μž₯ν•  λ•Œ μ–΄λ–»κ²Œ λ””μŠ€ν¬ 곡간을 ν• λ‹Ή 할것인가와 κ΄€λ ¨λœ 문제λ₯Ό 파일 관리 μ‹œμŠ€ν…œμ˜ ν•œ μš”μ†Œλ₯Ό μ°¨μ§€ν•˜κ³  μžˆλŠ” μ€‘μš”ν•œ 뢀뢄이며, κ³΅κ°„μ˜ νš¨μœ¨μ„±κ³Ό 파일의 μ ‘κ·Όμ„± 등이 곡간 ν• λ‹Ή 방식에 따라 달라진닀.

[ 연속 ν• λ‹Ή (Contiguous Alloccation) 기법 ]

  • 파일이 보쑰기얡μž₯μΉ˜μ— μ €μž₯될 λ•Œ μ—°μ†λœ 곡간을 ν• λ‹Ή λ°›λŠ” 기법
  • 파일의 μ‹œμž‘ μ£Όμ†Œμ™€ 파일의 길이 정보λ₯Ό κ΄€λ¦¬ν•˜λŠ” 파일 디렉터리λ₯Ό 톡해 νŒŒμΌμ— 접근을 함.
  • λ§Œμ•½ 보쑰기얡μž₯μΉ˜μ— 파일 크기보닀 큰 μ—°μ†λœ 곡간이 없을 κ²½μš°μ—λŠ” νŒŒμΌμ„ 생성할 수 μ—†μŒ
  • λ…Όλ¦¬μ μœΌλ‘œ μ—°μ†λœ λ ˆμ½”λ“œλ“€μ΄ λ¬Όλ¦¬μ μœΌλ‘œλ„ μ„œλ‘œ μΈμ ‘ν•˜κ²Œ μ €μž₯λ˜λ―€λ‘œ μ ‘κ·Ό μ‹œκ°„μ΄ 쀄어듀고, 파일 λ””λ ‰ν„°λ¦¬μ˜ κ΅¬ν˜„μ΄ 쉬움
  • 파일이 제거되고 λ‚œ ν›„μ˜ 빈 곡간이 μƒˆλ‘œ μ €μž₯λ˜λŠ” 파일의 크기와 κ°™μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 보쑰기얡μž₯치의 λ‹¨νŽΈν™” λ¬Έμ œκ°€ λ°œμƒν•˜κ³ , 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 보쑰기얡μž₯치 μ••μΆ• μž‘μ—…μ΄ ν•„μš”ν•¨.
  • 파일의 크기가 μ‹œκ°„μ΄ 지남에 따라 νŒŒμΌν¬κΈ°κ°€ λ³€ν•˜κΈ° λ•Œλ¬Έμ— μ •ν™•ν•œ 크기둜 곡간을 ν• λ‹Ήν•  수 μ—†λŠ” 문제둜 인해 λ‚­λΉ„κ°€ λ°œμƒν•  수 있음

[ λΆˆμ—°μ† ν• λ‹Ή (Noncontiguous Allocation) 기법 ]

  • νŒŒμΌμ„ μž‘μ€ λ‹¨μœ„λ‘œ λ‚˜λˆ„κ³ , 보쑰기얡μž₯치의 λΆˆμ—°μ†μ μΈ 곡간을 λ‚˜λˆ„μ–΄ ν• λ‹Ή λ°›λŠ” 기법
  • 보쑰기얡μž₯치의 λΆˆμ—°μ†μ μΈ 곡간 λ‹¨μœ„μ— 따라 μ„Ήν„° λ‹¨μœ„ ν• λ‹Ήκ³Ό 블둝 할당이 μžˆλ‹€.

[ μ„Ήν„° λ‹¨μœ„ λΆˆμ—°μ† ν• λ‹Ή 기법 - λΆˆμ—°μ† ν• λ‹Ή 기법 κ΅¬ν˜„ 방식 쀑 ν•˜λ‚˜ ]

  • λ””μŠ€ν¬ 상에 μžˆλŠ” ν•˜λ‚˜μ˜ νŒŒμΌμ€ μ—¬λŸ¬ 개의 μ„Ήν„° λ‹¨μœ„λ‘œ λ‚˜λˆ„μ–΄ μ €μž₯을 ν•œλ‹€.
  • λ™μΌν•œ νŒŒμΌμ— μ†ν•˜λŠ” 섹터듀은 포인터λ₯Ό ν†΅ν•΄μ„œ μ—°κ²°λœ ν•˜λ‚˜μ˜ 리슀트λ₯Ό 이루도둝 μ €μž₯ν•˜λŠ” 방식
  • 파일 κ΄€λ ¨ 정보λ₯Ό μ €μž₯ν•˜λŠ” 파일 λ””λ ‰ν„°λ¦¬λŠ” ν•΄λ‹Ή 파일의 μ‹œμž‘ μ£Όμ†Œμ™€ λ§ˆμ§€λ§‰ μ£Όμ†Œμ— λŒ€ν•œ 포인터λ₯Ό 가짐
  • 데이터 μ‚½μž…κ³Ό 같이 νŒŒμΌμ„ 더 ν™•μž₯ν•  ν•„μš”κ°€ 생기면 μΆ”κ°€ μ„Ήν„°λ₯Ό ν• λ‹Ή λ°›μ•„ μ—°κ²° λ¦¬μŠ€νŠΈμ— 좔가함.
  • 파일이 μΆ•μ†Œλ˜λŠ” κ²½μš°μ—λŠ” λΆˆν•„μš”ν•œ μ„Ήν„°λ₯Ό λ˜λŒλ €μ£ΌλŠ” 방식을 μ‚¬μš©ν•¨
  • 보쑰기얡μž₯치 곡간에 λŒ€ν•œ μ••μΆ•κ³Ό 같은 μž‘μ—…μ΄ ν•„μš” μ—†μŒ.
  • 단점: 파일의 읽기 μž‘μ—…μ„ μœ„ν•΄ λΆ„μ‚°λœ μ„Ήν„°λ₯Ό μ°Ύκ³  μ ‘κ·Όν•˜κΈ° μœ„ν•΄ 연속 ν• λ‹Ή 기법에 λΉ„ν•΄ κΈ΄ 탐색 μ‹œκ°„μ΄ ν•„μš”ν•¨.
  • μ΄μœ λŠ”, μ„Ήν„°κ°€ μ—¬λŸ¬κ΅°λ°μ— λ‚˜λˆ μ Έ 있기 λ•Œλ¬Έμž„.
  • μΆ”κ°€μ μœΌλ‘œ μ—°κ²° 리슀트 관리 및 포인터에 μ‚¬μš©λ˜λŠ” 곡간 등에 λ”°λ₯Έ μΆ”κ°€ λΉ„μš©μ΄ λ°œμƒν•œλ‹€λŠ” 단점이 있음.

[ 블둝 λ‹¨μœ„ λΆˆμ—°μ† ν• λ‹Ή 기법 - λΆˆμ—°μ† ν• λ‹Ή 기법 κ΅¬ν˜„ 방식 쀑 ν•˜λ‚˜ ]

  • 보쑰기얡μž₯치의 보닀 효율적인 이용과 μ‹€ν–‰ κ³Όμ • 쀑에 λ°œμƒν•˜λŠ” μΆ”κ°€ λΉ„μš©μ˜ 문제λ₯Ό 쀄이기 μœ„ν•œ 연속 ν• λ‹Ήκ³Ό λΆˆμ—°μ† ν• λ‹Ή κΈ°λ²•μ˜ 절좩된 방법이닀. μ—°μ†λœ μ„Ήν„° λͺ‡ 개λ₯Ό ν•˜λ‚˜μ˜ λΈ”λ‘μœΌλ‘œ μ‚ΌλŠ” κ²ƒμž„. ( μ›€μ§μ΄λŠ” λΉ„μš©μ΄ 많이 쀄어듦 )
  • κ°œλ³„μ μΈ μ„Ήν„°λ₯Ό ν• λ‹Ήν•˜λŠ” λŒ€μ‹ μ— μ—°μ†λœ μ„Ήν„°λ‘œ κ΅¬μ„±λœ 블둝을 μ΄μš©ν•œλ‹€.
  • 좔가적인 곡간 할당이 μš”κ΅¬λ˜λ©΄ ν˜„μž¬ 파일이 μ €μž₯λ˜μ–΄ μžˆλŠ” λΈ”λ‘μ—μ„œ κ°€μž₯ κ°€κΉŒμš΄ 거리에 μžˆλŠ” 블둝을 μ„ νƒν•˜μ—¬ 할당함.
  • 블둝 λ‹¨μœ„ λΆˆμ—°μ† ν• λ‹Ή κΈ°λ²•μ—μ„œλŠ” 맀번 νŒŒμΌμ— μ ‘κ·Όν•  λ•Œλ§ˆλ‹€ ν•΄λ‹Ή 블둝을 κ²°μ •ν•˜κ³ , λ‹€μ‹œ ν•΄λ‹Ή μ„Ήν„°λ₯Ό κ²°μ •ν•œλ‹€. 

'πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ > πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[컴퓨터과학 개둠] 9κ°• - 컴퓨터 ꡬ쑰(1)  (0) 2025.09.08
[컴퓨터과학 개둠] 5κ°• - μ•Œκ³ λ¦¬μ¦˜(1)  (0) 2025.09.04
[컴퓨터과학 개둠] 7κ°• - 운영체제(1)  (2) 2025.08.22
[컴퓨터과학 개둠] 1κ°• - 컴퓨터와 자료(1)  (3) 2025.08.20
'πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅/πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [컴퓨터과학 개둠] 9κ°• - 컴퓨터 ꡬ쑰(1)
  • [컴퓨터과학 개둠] 5κ°• - μ•Œκ³ λ¦¬μ¦˜(1)
  • [컴퓨터과학 개둠] 7κ°• - 운영체제(1)
  • [컴퓨터과학 개둠] 1κ°• - 컴퓨터와 자료(1)
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    였늘
    μ–΄μ œ
    • 전체보기 (169)
      • πŸŽ“λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅ (35)
        • βš™οΈμ»΄ν“¨ν„°μ˜ 이해 (11)
        • πŸ’»μ»΄ν“¨ν„°κ³Όν•™ 개둠 (5)
        • πŸ”’μžλ£Œκ΅¬μ‘° (4)
        • πŸŒμœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ… (11)
        • πŸ›οΈμ„Έκ³„μ˜μ •μΉ˜μ™€κ²½μ œ (3)
        • πŸ–₯️컴퓨터과학과 (1)
      • πŸ› οΈBackend (58)
        • πŸ“šλ°±μ—”λ“œ 곡뢀 (4)
        • β˜•Java (23)
        • 🌳Spring (13)
        • βš™οΈC (2)
        • ⚑Python (13)
        • JavaScript (1)
        • πŸ›’οΈDatabase (0)
        • Algorithm Problem Solving (2)
      • 🌐 Network (7)
        • πŸ“œHTTP (7)
      • πŸš€DevOps (1)
      • β›ΊμŠ€νŒŒλ₯΄νƒ€μ½”λ”©ν΄λŸ½ (64)
      • 정보 (2)
      • 정리가 ν•„μš”ν•œ κΈ€ (2)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

    • GitHub
  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    μœ λΉ„μΏΌν„°μŠ€
    컴파일러
    운영체제
    μ»΄ν“¨ν„°μ˜ 이해
    μœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ…
    Python
    λ°©ν†΅λŒ€
    μž…μΆœλ ₯
    자료ꡬ쑰
    μžλ°”
    파이썬
    λ°©μ†‘λŒ€
    μœ λΉ„μΏΌν„°μŠ€ μ»΄ν“¨νŒ…κ°œλ‘ 
    spring
    Spring Framework
    λ°°μ—΄
    μŠ€ν”„λ§
    ν΄λΌμš°λ“œ
    λ°©μ†‘ν†΅μ‹ λŒ€ν•™κ΅
    Java
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.1
junbin2
[컴퓨터과학 개둠] 8κ°• - 운영체제(2)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”