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

OS

1μž₯ Introduction to Operating System

 

reference: kocw의 반효경 κ΅μˆ˜λ‹˜ κ°•μ˜μ™€ κΆŒμ§„μš± κ΅μˆ˜λ‹˜ κ°•μ˜(λŒ€ν•™ μ •κ·œ μˆ˜μ—…)

μˆ˜μ—…μ„ λ“£κ³ λ‚˜μ„œ κ°•μ˜ ꡐ재λ₯Ό νƒ€μ΄ν•‘ν•˜κ³  ν•„κΈ°ν•œ 뢀뢄을 μΆ”κ°€μ μœΌλ‘œ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

μ›Ήλ·°μ—μ„œ tocλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

github의 md 파일둜 λ³΄λŠ” 게 νŽΈν•˜μ‹œλ‹€λ©΄, μ—¬κΈ°λ‘œ μ΄λ™ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.


1. μš΄μ˜μ²΄μ œλž€ 무엇인가?

컴퓨터 ν•˜λ“œμ›¨μ–΄ λ°”λ‘œ μœ„μ— μ„€μΉ˜λ˜μ–΄ μ‚¬μš©μž 및 λ‹€λ₯Έ λͺ¨λ“  μ†Œν”„νŠΈμ›¨μ–΄μ™€ ν•˜λ“œμ›¨μ–΄λ₯Ό μ—°κ²°ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ κ³„μΈ΅

  • 쒁은 의미의 운영체제 = μ»€λ„
    • 운영체제의 핡심 λΆ€λΆ„μœΌλ‘œ λ©”λͺ¨λ¦¬μ— μƒμ£Όν•˜λŠ” λΆ€λΆ„
  • 넓은 의미의 운영체제
    • 컀널 뿐 μ•„λ‹ˆλΌ 각쒅 μ£Όλ³€ μ‹œμŠ€ν…œ μœ ν‹Έλ¦¬ν‹°λ₯Ό ν¬ν•¨ν•œ κ°œλ…

2. 운영체제의 λͺ©μ 

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

  • μš΄μ˜μ²΄μ œλŠ” λ™μ‹œ μ‚¬μš©μž, ν”„λ‘œκ·Έλž¨λ“€μ΄ 각각 λ…μžμ  μ»΄ν“¨ν„°μ—μ„œ μˆ˜ν–‰λ˜λŠ” 것 같은 ν™˜μƒμ„ 제곡
  • ν•˜λ“œμ›¨μ–΄λ₯Ό 직접 λ‹€λ£¨λŠ” λ³΅μž‘ν•œ 뢀뢄을 μš΄μ˜μ²΄μ œκ°€ λŒ€ν–‰
  •  

2. 컴퓨터 μ‹œμŠ€ν…œμ˜ μžμ›μ„ 효율적으둜 관리

  • hw μžμ› (cpu, λ©”λͺ¨λ¦¬, i/o μž₯치)와 sw μžμ› λ“±μ˜ νš¨μœ¨μ  κ΄€λ¦¬
    • μ‚¬μš©μž κ°„μ˜ ν˜•ν‰μ„± μžˆλŠ” μžμ› λΆ„λ°°
    • 주어진 μžμ›μœΌλ‘œ μ΅œλŒ€ν•œμ˜ μ„±λŠ₯을 내도둝
    • ex) μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨λ“€μ—κ²Œ λ©”λͺ¨λ¦¬ 곡간을 κ³΅ν‰ν•˜κ²Œ 1/n 으둜 λ‚˜λˆ„μ§€ μ•Šκ³  집쀑 νˆ¬μžν•˜λŠ”, λ‹€μ†Œ λͺ°μ•„μ£ΌλŠ” λ°©μ‹μœΌλ‘œ λ‚˜λˆ„λŠ”λ° 이 방식이 νš¨μœ¨μ μž„
  • μ‚¬μš©μž 및 운영체제 μžμ‹ μ˜ 보호
  • ν”„λ‘œμ„ΈμŠ€, 파일, 메세지 등을 관리
  • ν•œλ§ˆλ””λ‘œ ν†΅μΉ˜μž 역할을 함.

3. 운영체제의 λΆ„λ₯˜

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

단일 μž‘μ—… (single tasking)

ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ μž‘μ—…λ§Œ 처리

ex) MS-DOS ν”„λ‘¬ν”„νŠΈ μƒμ—μ„œλŠ” ν•œ λͺ…λ Ήμ˜ μˆ˜ν–‰μ„ 끝내기 전에 λ‹€λ₯Έ λͺ…령을 μˆ˜ν–‰μ‹œν‚¬ 수 μ—†μŒ.

닀쀑 μž‘μ—… (multi tasking)

λ™μ‹œμ— 두 개 μ΄μƒμ˜ μž‘μ—…(ν”„λ‘œκ·Έλž¨) 처리

UNIX, MS Windows λ“±μ—μ„œλŠ” ν•œ λͺ…λ Ήμ˜ μˆ˜ν–‰μ΄ λλ‚˜κΈ° 전에 λ‹€λ₯Έ λͺ…λ Ήμ΄λ‚˜ ν”„λ‘œκ·Έλž¨μ„ μˆ˜ν–‰ν•  수 있음.

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

단일 μ‚¬μš©μž (single user)

ex) MS-DOS, MS Windows --- 개인 컴퓨터 κ°œλ…

닀쀑 μ‚¬μš©μž (multi user)

ex) UNIX, NT server

1λŒ€ 컴퓨터에 닀쀑 μ‚¬μš©μžκ°€ 터미널 ν˜•νƒœλ‘œ λ™μ‹œ 접속

3-3. 처리 방식

일괄 처리 (batch processing)

  • μž‘μ—… μš”μ²­μ˜ μΌμ •λŸ‰ λͺ¨μ•„μ„œ ν•œκΊΌλ²ˆμ— 처리
  • μž‘μ—…μ΄ μ™„μ „ μ’…λ£Œλ  λ•ŒκΉŒμ§€ κΈ°λ‹€λ €μ•Ό 함
  • ex) 초기 Punch Card 처리 μ‹œμŠ€ν…œ
  • 과거에 주민등둝등본을 λ–Όλ €λ©΄ 원본을 μ°Ύμ•„ λ³΅μ‚¬ν•˜λŠ” λ°©μ‹μ΄μ—ˆλŠ”λ° 10뢄에 ν•œ λ²ˆμ”© μ°Ύμ•˜λ‹€κ³  함(?)

μ‹œλΆ„ν•  (time sharing)

  • μ—¬λŸ¬ μž‘μ—…μ„ μˆ˜ν–‰ν•  λ•Œ 컴퓨터 처리 λŠ₯λ ₯을 μΌμ •ν•œ μ‹œκ°„ λ‹¨μœ„λ‘œ λΆ„ν• ν•˜μ—¬ μ‚¬μš©
  • 일괄 처리 μ‹œμŠ€ν…œμ— λΉ„ν•΄ 짧은 응닡 μ‹œκ°„μ„ 가짐
  • ex) UNIX
  • interactiveν•œ 방식

μ‹€μ‹œκ°„ (Realtime OS)

  • 정해진 μ‹œκ°„ μ•ˆμ— μ–΄λ– ν•œ 일이 λ°˜λ“œμ‹œ μ’…λ£Œλ¨ (deadline)이 보μž₯λ˜μ–΄μ•Ό ν•˜λŠ” μ‹€μ‹œκ°„ μ‹œμŠ€ν…œμ„ μœ„ν•œ OS
  • ex) μ›μžλ‘œ/곡μž₯ μ œμ–΄, 미사일 μ œμ–΄, λ°˜λ„μ²΄ μž₯λΉ„, 둜보트 μ œμ–΄
  • κ°œλ…μ„ ν™•μž₯ν•œλ‹€λ©΄
    • hard realtime system --- ex) μ›μžλ‘œ μ œμ–΄ μ‹œ 1μ΄ˆμ— ν•΄μ•Όν•˜λŠ”λ° 2초면 큰일날 수 있음
    • soft realtime system --- ex) λ™μ˜μƒμ„ λ³Έλ‹€. μ΄ˆλ‹Ή λͺ‡ ν”„λ ˆμž„μ„ μ°μ–΄μ•Όν•˜λŠ”λ° λͺ» 찍을 경우 λ™μ˜μƒμ΄ 끊길 μˆ˜λŠ” μžˆμ§€λ§Œ μ–΄κ²Όλ‹€κ³  ν•΄μ„œ 큰 λ¬Έμ œκ°€ λ˜μ§€ μ•ŠλŠ” 경우

4. λͺ‡κ°€μ§€ μš©μ–΄

μ•„λž˜μ˜ μš©μ–΄λŠ” 컴퓨터 μ•ˆμ—μ„œ ν”„λ‘œκ·Έλž¨μ„(μ—¬λŸ¬ μž‘μ—…μ„) λ™μ‹œμ— μ‹€ν–‰μ‹œν‚¬ 수 μžˆλ‹€λŠ” λΉ„μŠ·ν•œ λœ»μ„ 가지고 μžˆλ‹€.

  • multitasking
  • multiprogramming - μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨μ΄ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°€ μžˆμŒμ„ κ°•μ‘°
  • time sharing - CPU 의 μ‹œκ°„μ„ λΆ„ν• ν•˜μ—¬ λ‚˜λˆ„μ–΄ μ“΄λ‹€λŠ” 의미λ₯Ό κ°•μ‘°
  • multiprocess

  • multiprocessor ν•˜λ‚˜μ˜ 컴퓨터에 CPU (processor) κ°€ μ—¬λŸ¬ 개 λΆ™μ–΄ μžˆμŒμ„ 의미

5. 운영체제의 예

μœ λ‹‰μŠ€(UNIX)

  • μ„œλ²„ (λŒ€ν˜• 컴퓨터)λ₯Ό μœ„ν•œ OS
  • μ½”λ“œμ˜ λŒ€λΆ€λΆ„μ„ Cμ–Έμ–΄λ‘œ μž‘μ„± γ…‘> 높은 이식성(μ—¬λŸ¬ architecture 와 ν˜Έν™˜λ˜λ‹ˆκΉŒ)
  • (κ³Όκ±°, ν•˜λ“œμ›¨μ–΄μ μΈ 뢀뢄을 μ œμ–΄ν•˜κΈ° μœ„ν•΄μ„  assembly μ–Έμ–΄λ‘œ ν”„λ‘œκ·Έλž˜λ°μ„ ν•΄μ•Ό ν–ˆλŠ”λ° μ–΄λ €μ›Œμ„œ ν”„λ‘œκ·Έλž˜λ° 언어인 Cλ₯Ό λ§Œλ“€μ—ˆλ‹€κ³  ν•œλ‹€. )
  • μ΅œμ†Œν•œμ˜ 컀널 ꡬ쑰
  • λ³΅μž‘ν•œ μ‹œμŠ€ν…œμ— 맞게 ν™•μž₯ 용이
  • μ†ŒμŠ€ μ½”λ“œ 곡개
  • ν”„λ‘œκ·Έλž¨ κ°œλ°œμ— 용이
  • λ‹€μ–‘ν•œ 버전
    • System V, FreeBSD, SunOS, Solaris
    • Linux

DOS

MS Windows

  • MS μ‚¬μ˜ 닀쀑 μž‘μ—…μš© GUI 기반 운영 체제
  • Plug and Play, λ„€νŠΈμ›Œν¬ ν™˜κ²½ κ°•ν™”
  • DOS 용 μ‘μš© ν”„λ‘œκ·Έλž¨κ³Ό ν˜Έν™˜μ„± 제곡
  • (λΆˆμ•ˆμ •μ„±)
  • ν’λΆ€ν•œ 지원 μ†Œν”„νŠΈμ›¨μ–΄

android, ios

6. 운영 체제의 ꡬ쑰

 

'OS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

7μž₯ Deadlock  (0) 2021.06.19
6μž₯ Process Synchronization  (0) 2021.06.19
5μž₯ CPU scheduling  (0) 2021.06.18
4μž₯ Process Management  (0) 2021.06.18
3μž₯ Process  (0) 2021.06.18
2μž₯ System Structure & Program Execution  (0) 2021.06.18