λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ–₯ CS/운영체제

[운영체제] μš΄μ˜μ²΄μ œλž€?

μš΄μ˜μ²΄μ œλž€?

 

운영체제(OS, Operating System)λŠ” μ‚¬μš©μžκ°€ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•  수 μžˆλŠ” 기반 ν™˜κ²½μ„ μ œκ³΅ν•˜μ—¬ 컴퓨터λ₯Ό νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ 도와주고, ν•˜λ“œμ›¨μ–΄λ₯Ό 효율적으둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” μ‹œμŠ€ν…œ μ†Œν”„νŠΈμ›¨μ–΄μž…λ‹ˆλ‹€.

 

컴퓨터 μ‹œμŠ€ν…œμ€ 크게 μ‚¬μš©μž, μ†Œν”„νŠΈμ›¨μ–΄, ν•˜λ“œμ›¨μ–΄λ‘œ κ΅¬μ„±λ˜λŠ”λ°, 

μš΄μ˜μ²΄μ œλŠ” ν•˜λ“œμ›¨μ–΄ λ°”λ‘œ μœ—λ‹¨μ— μ„€μΉ˜λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄λ‘œ μ‚¬μš©μžκ°€ ν•˜λ“œμ›¨μ–΄μ— μ ‘κ·Όν•  수 μžˆλŠ” μœ μΌν•œ μˆ˜λ‹¨μž…λ‹ˆλ‹€. 

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μš΄μ˜μ²΄μ œλŠ” ν•˜λ“œμ›¨μ–΄μ™€ 각쒅 μ†Œν”„νŠΈμ›¨μ–΄, 그리고 μ‚¬μš©μžλ₯Ό μ—°κ²°ν•΄μ£ΌλŠ” 계측이라고 ν•  수 μžˆμŠ΅λ‹ˆλ‹€

운영체제의 μ’…λ₯˜λ‘œλŠ” UNIX, MS-DOS, MS Windows 등이 μžˆμŠ΅λ‹ˆλ‹€.

운영체제의 λͺ©μ 

1. 컴퓨터 μ‹œμŠ€ν…œμ˜ μžμ›μ„ 효율적으둜 관리 (νš¨μœ¨μ„±)

컴퓨터 μ‹œμŠ€ν…œμ˜ μžμ›(=λ¦¬μ†ŒμŠ€)λ₯Ό 효율적으둜 κ΄€λ¦¬ν•˜μ—¬ μ΅œλŒ€ν•œμ˜ μ„±λŠ₯을 내도둝 ν•˜λŠ” 것이 운영체제의 κ°€μž₯ μ€‘μš”ν•œ λͺ©μ μ΄λΌκ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μš΄μ˜μ²΄μ œλŠ” λ‹€μ–‘ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ ν•˜λ“œμ›¨μ–΄(ν”„λ‘œμ„Έμ„œ, λ©”λͺ¨λ¦¬, μž…μΆœλ ₯ μž₯치 λ“±), 즉 컴퓨터 μžμ›μ„ 효율적으둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ κ΄€λ¦¬ν•˜κ³  μ‘°μ •ν•˜λŠ” 역할을 ν•˜μ—¬ μ‚¬μš©μžλ“€μ—κ²Œ μžμ› λΆ„λ°°κ°€ ν˜•ν‰μ„±μžˆκ²Œ 이루어지도둝 ν•˜λ©°, 주어진 μžμ›μœΌλ‘œ μ΅œλŒ€ν•œμ˜ μ„±λŠ₯을 내도둝 ν•©λ‹ˆλ‹€.

λ˜ν•œ, λ‹€μ–‘ν•œ μ‚¬μš©μžμ—κ²Œμ„œ 컴퓨터 μ‹œμŠ€ν…œμ„ λ³΄ν˜Έν•˜κΈ° μœ„ν•΄ μž…μΆœλ ₯을 μ œμ–΄ν•˜λ©° 데이터λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

2. 컴퓨터 μ‹œμŠ€ν…œμ„ νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” ν™˜κ²½μ„ 제곡 (νŽΈλ¦¬μ„±)

μš΄μ˜μ²΄μ œλŠ” μ‚¬μš©μžμ—κ²Œ 컴퓨터 μ‹œμŠ€ν…œμ„ νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” ν™˜κ²½μ„ μ œκ³΅ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€.

μ‚¬μš©μžκ°€ μ„œλ‘œ λ‹€λ₯Έ ν”„λ‘œκ·Έλž¨λ“€μ„ λ™μ‹œμ— μ‹€ν–‰ν•  수 μžˆλ„λ‘ μš΄μ˜μ²΄μ œκ°€ ν•˜λ“œμ›¨μ–΄ μžμ›μ„ κ΄€λ¦¬ν•©λ‹ˆλ‹€.

μ•„μ£Ό 짧은 μ‹œκ°„ λ‹¨μœ„λ‘œ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨λ“€μ—κ²Œ CPUλ₯Ό λ²ˆκ°ˆμ•„ ν• λ‹Ήν•˜κ³ , λ©”λͺ¨λ¦¬ 곡간을 적절히 λΆ„λ°°ν•˜μ—¬

μ‚¬μš©μžλ“€μ΄ μ‹€ν–‰ν•˜λŠ” ν”„λ‘œκ·Έλž¨λ“€μ΄ 각각 λ…μžμ  μ»΄ν“¨ν„°μ—μ„œ μˆ˜ν–‰λ˜λŠ” 것 같은 ν™˜μƒμ„ μ œκ³΅ν•©λ‹ˆλ‹€.

λ˜ν•œ, ν•˜λ“œμ›¨μ–΄λ₯Ό 직접 λ‹€λ£¨λŠ” λ³΅μž‘ν•œ 뢀뢄을 μš΄μ˜μ²΄μ œκ°€ λŒ€ν–‰ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ νŽΈλ¦¬μ„±μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

운영체제의 λΆ„λ₯˜

μš΄μ˜μ²΄μ œλŠ” λ‹€μŒμ˜ μ„Έ 가지 기쀀에 따라 λΆ„λ₯˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

1. λ™μ‹œ μž‘μ—… κ°€λŠ₯ μ—¬λΆ€

  • 단일 μž‘μ—…(single tasking): ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨λ§Œ μˆ˜ν–‰ν•  수 μžˆλŠ” 운영체제 (ex. MS-DOS)
  • 닀쀑 μž‘μ—…(multitasking): λ™μ‹œμ— 2개 μ΄μƒμ˜ ν”„λ‘œκ·Έλž¨μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” 운영체제 (ν˜„μž¬μ˜ λŒ€λΆ€λΆ„μ˜ 컴퓨터)

2. μ‚¬μš©μžμ˜ 수

  • 단일 μ‚¬μš©μž(single user):  ν•˜λ‚˜μ˜ 컴퓨터에 ν•œ λͺ…μ˜ μ‚¬μš©μžλ§Œ μ ‘κ·Ό κ°€λŠ₯ (ex. MS-DOS, MS Windows)
  • 닀쀑 μ‚¬μš©μž(multi user): ν•˜λ‚˜μ˜ 컴퓨터에 μ—¬λŸ¬ μ‚¬μš©μžκ°€(μ—¬λŸ¬ 계정을 톡해) λ™μ‹œ μ ‘κ·Ό κ°€λŠ₯ (ex. UNIX, NT sever)

3. 처리 방식

  • 일괄 처리(batch processing): μž‘μ—… μš”μ²­μ˜ μΌμ •λŸ‰μ„ λͺ¨μ•„μ„œ ν•œκΊΌλ²ˆμ— 처리. interactiveν•œ μ²˜λ¦¬λ°©μ‹μ΄ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— μž‘μ—… μ€€λΉ„ μ‹œκ°„ 쀄일 수 있음 (ex. 초기 Punch Card 처리 μ‹œμŠ€ν…œ)
  • μ‹œλΆ„ν• (time sharing): μ—¬λŸ¬ μž‘μ—…μ„ μˆ˜ν–‰ν•  λ•Œ 컴퓨터 처리 λŠ₯λ ₯을 μΌμ •ν•œ μ‹œκ°„ λ‹¨μœ„λ‘œ λΆ„ν• ν•˜μ—¬ μ‚¬μš©(interactiveν•œ 방식) (λ²”μš© 컴퓨터에 μ‚¬μš©λ¨)
  • μ‹€μ‹œκ°„(Realtime OS): μ •ν•΄μ§„ μ‹œκ°„ μ•ˆμ— μ–΄λ– ν•œ 일이 λ°˜λ“œμ‹œ μ’…λ£Œλ¨μ΄ 보μž₯λ˜μ–΄μ•Όν•˜λŠ” μ‹€μ‹œκ°„ μ‹œμŠ€ν…œμ„ μœ„ν•œ OS (ex. μ›μžλ‘œ/곡μž₯ μ œμ–΄, 미사일 μ œμ–΄, λ°˜λ„μ²΄ μž₯λΉ„ λ“±)
    • Hard realtime system (κ²½μ„± μ‹€μ‹œκ°„ μ‹œμŠ€ν…œ): μž‘μ—…μ˜ μ‹€ν–‰ μ‹œμž‘μ΄λ‚˜ μ™„λ£Œμ— λŒ€ν•œ μ‹œκ°„ μ œμ•½ 쑰건을 지킀지 λͺ»ν•  λ•Œ μ‹œμŠ€ν…œμ— 치λͺ…적인 영ν–₯을 μ£ΌλŠ” μ‹œμŠ€ν…œ (ex. λ°œμ „μ†Œ μ œμ–΄, 미사일 μ œμ–΄ λ“±)
    • Soft realtime system (μ—°μ„± μ‹€μ‹œκ°„ μ‹œμŠ€ν…œ): μž‘μ—… μ‹€ν–‰μ—μ„œ μ‹œκ°„ μ œμ•½ 쑰건은 μžˆμœΌλ‚˜, 이λ₯Ό 지킀지 λͺ»ν•΄λ„ 전체 μ‹œμŠ€ν…œμ— 치λͺ…적인 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠλŠ” μ‹œμŠ€ν…œ (ex. λ™μ˜μƒ 슀트리밍)

ν˜„μž¬ μ‚¬μš©ν•˜λŠ” λŒ€λΆ€λΆ„ μ»΄ν“¨ν„°μ˜ μš΄μ˜μ²΄μ œλŠ” 닀쀑 μž‘μ—…, 닀쀑 μ‚¬μš©μžλ₯Ό μ§€μ›ν•˜κ³  μ‹œλΆ„ν•  λ°©μ‹μœΌλ‘œ μš΄μ˜λ˜λŠ” μš΄μ˜μ²΄μ œμž…λ‹ˆλ‹€.

운영체제의 κΈ°λŠ₯

 

μš΄μ˜μ²΄μ œλŠ” λ‹€μ–‘ν•œ 역할을 μˆ˜ν–‰ν•˜λ©° 이에 따라 μ œκ³΅ν•˜λŠ” κΈ°λŠ₯도 맀우 λ‹€μ–‘ν•œλ°,

μ΄λŸ¬ν•œ κΈ°λŠ₯은 크게 μžμ› 관리와 μ‹œμŠ€ν…œ κ΄€λ¦¬λ‘œ λΆ„λ₯˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μžμ›κ΄€λ¦¬

컴퓨터 μ‹œμŠ€ν…œμ˜ λ©”λͺ¨λ¦¬, ν”„λ‘œμ„ΈμŠ€, μž₯치, 파일 λ“± ꡬ성 μš”μ†Œλ₯Ό μžμ›μ΄λΌκ³  ν•˜λŠ”λ°, μš΄μ˜μ²΄μ œλŠ” 이 μžμ›μ„ κ΄€λ¦¬ν•©λ‹ˆλ‹€.

 

1. ν”„λ‘œμ„ΈμŠ€ 관리

ν”„λ‘œμ„ΈμŠ€λŠ” μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨μœΌλ‘œ, ν”„λ‘œμ„ΈμŠ€ κ΄€λ¦¬λŠ” μš΄μ˜μ²΄μ œμ—μ„œ μž‘λ™ν•˜λŠ” μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ΄€λ¦¬ν•˜λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

CPU μŠ€μΌ€μ€„λ§μ„ 톡해 ν˜„μž¬ CPUλ₯Ό μ μœ ν•΄μ•Ό ν•  ν”„λ‘œμ„ΈμŠ€λ₯Ό κ²°μ •ν•˜κ³ , μ‹€μ œλ‘œ CPUλ₯Ό ν”„λ‘œμ„ΈμŠ€μ— ν• λ‹Ήν•˜λ©°, 이 ν”„λ‘œμ„ΈμŠ€ κ°„ 곡유 μžμ› μ ‘κ·Όκ³Ό 톡신 등을 κ΄€λ¦¬ν•˜κ²Œ λ©λ‹ˆλ‹€.

 

2. λ©”λͺ¨λ¦¬(μ €μž₯μž₯치) 관리

메인 λ©”λͺ¨λ¦¬μ™€ 보쑰기얡μž₯치λ₯Ό κ΄€λ¦¬ν•˜λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.

ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λ €λ©΄ λ¨Όμ € ν•„μš”ν•œ 데이터와 ν•¨κ»˜ 메인 λ©”λͺ¨λ¦¬μ— μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 그런데 메인 λ©”λͺ¨λ¦¬λŠ” 곡간이 μ œν•œλ˜μ–΄ μžˆμ–΄ λͺ¨λ“  데이터와 ν”„λ‘œκ·Έλž¨μ„ 계속 μ €μž₯ν•  수 μ—†μœΌλ―€λ‘œ 보쑰기얡μž₯치λ₯Ό μ΄μš©ν•©λ‹ˆλ‹€. λŒ€λΆ€λΆ„μ˜ μ‘μš© ν”„λ‘œκ·Έλž¨μ€ 메인 λ©”λͺ¨λ¦¬μ— μ μž¬ν•  λ•ŒκΉŒμ§€λŠ” 보쑰기얡μž₯μΉ˜μ— μ €μž₯ν•©λ‹ˆλ‹€.

 

-  λ©”인 λ©”λͺ¨λ¦¬(1μ°¨ μ €μž₯μž₯치)

  • ν”„λ‘œμ„ΈμŠ€μ— ν• λ‹Ήν•˜λŠ” λ©”λͺ¨λ¦¬ μ˜μ—­μ˜ ν• λ‹Ήκ³Ό ν•΄μ œ
  • 각 λ©”λͺ¨λ¦¬ μ˜μ—­ κ°„μ˜ μΉ¨λ²” 방지
  • 메인 λ©”λͺ¨λ¦¬μ˜ 효율적 ν™œμš©μ„ μœ„ν•œ 가상 λ©”λͺ¨λ¦¬ κΈ°λŠ₯

-  λ³΄μ‘°κΈ°μ–΅μž₯치(ν•˜λ“œλ””μŠ€ν¬ λ“±)

  • 파일 ν˜•μ‹μ˜ 데이터 μ €μž₯
  • 파일 데이터 관리λ₯Ό μœ„ν•œ 파일 μ‹œμŠ€ν…œμ„ OSμ—μ„œ 관리

3. 파일(데이터) 관리

파일 κ΄€λ¦¬λŠ” μž…μΆœλ ₯ 파일의 μœ„μΉ˜, μ €μž₯κ³Ό 검색 관리λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

컴퓨터 μ‹œμŠ€ν…œμ€ 물리적으둜 λ‹€μ–‘ν•œ ν˜•νƒœλ‘œ νŒŒμΌμ„ μ €μž₯ν•  수 μžˆλŠ”λ°, μš΄μ˜μ²΄μ œλŠ” 데이터λ₯Ό 효율적으둜 μ‚¬μš©ν•  수 μžˆλ„λ‘ λ‹¨μΌν™”λœ μ €μž₯ ν˜•νƒœλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μš΄μ˜μ²΄μ œλŠ” νŒŒμΌμ„ μ‰½κ²Œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ 보톡 λ””λ ‰ν„°λ¦¬λ‘œ κ΅¬μ„±ν•˜λ©°, λ‹€μˆ˜μ˜ μ‚¬μš©μžκ°€ 여기에 μ ‘κ·Όν•˜λ €κ³  ν•  λ•ŒλŠ” 접근을 μ œμ–΄ν•©λ‹ˆλ‹€.

 

4. μž…μΆœλ ₯ μž₯치 관리

μš΄μ˜μ²΄μ œλŠ” 특수 ν”„λ‘œκ·Έλž¨μΈ μž₯치 λ“œλΌμ΄λΈŒλ₯Ό μ‚¬μš©ν•˜μ—¬ μž…μΆœλ ₯μž₯μΉ˜μ™€ μƒν˜Έμž‘μš©ν•©λ‹ˆλ‹€. 

μž₯치 λ“œλΌμ΄λ²„λŠ” νŠΉμ • ν•˜λ“œμ›¨μ–΄μž₯μΉ˜μ™€ 톡신할 수 μžˆλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜λ―€λ‘œ νŠΉμ • ν•˜λ“œμ›¨μ–΄μ— μ’…μ†λœ ν”„λ‘œκ·Έλž¨μž…λ‹ˆλ‹€.

μš΄μ˜μ²΄μ œλŠ” μž„μ‹œ μ €μž₯ μ‹œμŠ€ν…œ κΈ°λŠ₯, 일반 μž₯치용 λ“œλΌμ΄λ²„ μΈν„°νŽ˜μ΄μŠ€ 제곡, νŠΉμ • μž₯치 λ“œλΌμ΄λ²„ μ œκ³΅μ„ 톡해 μž…μΆœλ ₯μž₯치λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

μ‹œμŠ€ν…œ 관리

μš΄μ˜μ²΄μ œλŠ” μΆ”κ°€λ‘œ μ‹œμŠ€ν…œ 보호, λ„€νŠΈμ›Œν‚Ή, λͺ…λ Ήμ–΄ 해석기 λ“±μ˜ κΈ°λŠ₯을 μ§€μ›ν•©λ‹ˆλ‹€.

 

1. μ‹œμŠ€ν…œ 보호

컴퓨터 μžμ›μ—μ„œ ν”„λ‘œκ·Έλž¨, ν”„λ‘œμ„ΈμŠ€, μ‚¬μš©μžμ˜ 접근을 μ œμ–΄ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

μš΄μ˜μ²΄μ œλŠ” 파일 μ‚¬μš© κΆŒν•œ λΆ€μ—¬, 데이터 μ•”ν˜Έν™” λ“± μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜μ—¬ 데이터와 μ‹œμŠ€ν…œμ„ λ³΄μ•ˆν•©λ‹ˆλ‹€.

 

2. λ„€νŠΈμ›Œν‚Ή

TCP/IP 기반의 인터넷에 μ—°κ²°ν•˜κ±°λ‚˜, μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ λ„€νŠΈμ›Œν¬λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ μš΄μ˜μ²΄μ œμ—μ„œ λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ„ 지원해야 ν•©λ‹ˆλ‹€.

ν˜„μž¬ μƒμš© OS듀은 λ‹€μ–‘ν•˜κ³  λ§Žμ€ λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ„ μ§€μ›ν•©λ‹ˆλ‹€. μ΄μ²˜λŸΌ μš΄μ˜μ²΄μ œλŠ” μ‚¬μš©μžμ™€ 컴퓨터 ν•˜λ“œμ›¨μ–΄ 사이에 μœ„μΉ˜ν•΄μ„œ, ν•˜λ“œμ›¨μ–΄λ₯Ό 운영 및 κ΄€λ¦¬ν•˜κ³  λͺ…λ Ήμ–΄λ₯Ό μ œμ–΄ν•˜μ—¬ μ‘μš© ν”„λ‘œκ·Έλž¨ 및 ν•˜λ“œμ›¨μ–΄λ₯Ό μ†Œν”„νŠΈμ›¨μ–΄μ μœΌλ‘œ μ œμ–΄ 및 관리 ν•΄μ•Όν•©λ‹ˆλ‹€. 

 

3. λͺ…λ Ήμ–΄ 해석기

λͺ…λ Ήμ–΄ ν•΄μ„κΈ°λŠ” μ‚¬μš©μžλ‚˜ ν”„λ‘œκ·Έλž¨μ—μ„œ μž…λ ₯ν•œ λͺ…λ Ήμ–΄λ₯Ό μ΄ν•΄ν•˜κ³  μ‹€ν–‰ν•˜λŠ” μ‚¬μš©μžμ™€ 운영체제의 μΈν„°νŽ˜μ΄μŠ€ μž…λ‹ˆλ‹€.

μ‚¬μš©μžκ°€ μž…λ ₯ν•œ λͺ…령은 μ œμ–΄λ¬ΈμœΌλ‘œ μš΄μ˜μ²΄μ œμ— μ „λ‹¬λ˜λŠ”λ°, 이 전달을 λͺ…λ Ήμ–΄ 해석기가 λ‹΄λ‹Ήν•©λ‹ˆλ‹€.