운영체제 ꡬ쑰

μš΄μ˜μ²΄μ œμ—μ„œ μ œκ³΅ν•΄μ•Όν•˜λŠ” μ„œλΉ„μŠ€

  1. μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€: GUI, Touch Screen Interface, Command Line Interface (μš΄μ˜μ²΄μ œκ°€ μ œκ³΅ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€)
  2. ν”„λ‘œκ·Έλž¨ μˆ˜ν–‰: ν”„λ‘œκ·Έλž¨ 적재 및 μ‹€ν–‰, μ’…λ£Œ (비정상 μ’…λ£Œλ„ 포함)
  3. μž…μΆœλ ₯ μ—°μ‚°: μž…μΆœλ ₯ μˆ˜ν–‰ μˆ˜λ‹¨ 제곡
  4. 파일 μ‹œμŠ€ν…œ μ‘°μž‘: 파일 생성, μ‚­μ œ, μ†Œμœ κΆŒ 확인등 파일 μ‹œμŠ€ν…œ 제곡
  5. 톡신: ν”„λ‘œμ„ΈμŠ€κ°„ 정보 κ΅ν™˜ 방식 제곡 (곡유 λ©”λͺ¨λ¦¬, λ©”μ‹œμ§€ 전달등)
  6. 였λ₯˜ 탐지: 각 μœ ν˜•μ˜ 였λ₯˜μ— λŒ€ν•œ μ λ‹Ήν•œ 쑰치 제곡
  7. μžμ› ν• λ‹Ή: 싀행쀑인 λ‹€μˆ˜ ν”„λ‘œμ„ΈμŠ€μ— μžμ› ν• λ‹Ή 및 관리
  8. 기둝 μž‘μ„± (Logging): ν”„λ‘œκ·Έλž¨μ΄ μ‚¬μš©μ€‘μΈ 컴퓨터 μžμ› 좔적, μ‚¬μš©ν†΅κ³„
  9. 보호, λ³΄μ•ˆ: ν”„λ‘œμ„ΈμŠ€ μ†Œμœ κΆŒ, μ‹œμŠ€ν…œ 보호 및 λ³΄μ•ˆ

μš΄μ˜μ²΄μ œκ°€ μ œκ³΅ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€

  1. Command Interpreter: λͺ…λ Ήμ–΄ 해석기 (Shell) μ…€ 슀크립트: μ…Έ λͺ…λ Ήμ–΄ λͺ¨μŒ a. λͺ…λ Ήμ–΄ μžμ²΄κ°€ μ‹€ν–‰ν•  μ½”λ“œλ₯Ό 포함할 경우: ν•΄μ„κΈ°μ˜ 크기 증가 b. μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž¨μœΌλ‘œ 처리: ν•΄μ„κΈ°λŠ” λ©”λͺ¨λ¦¬μ— μ μž¬λ˜μ–΄ μ‹€ν–‰ν•  파일 식별 (rm file1.txt)
  2. Graphical User Interface
  3. Touchscreen Interface

μ‹œμŠ€ν…œ κ΅¬μ„±μš”μ†Œμ™€ κ΅¬μ„±μš”μ†Œκ°„ μ—°κ²°

1. System Call

μš΄μ˜μ²΄μ œμ— μ˜ν•΄ μ‚¬μš© κ°€λŠ₯ν•˜κ²Œλœ μ„œλΉ„μŠ€μ— λŒ€ν•œ μΈν„°νŽ˜μ΄μŠ€ 제곡

  • RTE(μ‹€ν–‰μ‹œκ°„ ν™˜κ²½): μ‹œμŠ€ν…œ 콜 μΈν„°νŽ˜μ΄μŠ€ 제곡, νŠΉμ • μ‘μš©ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λŠ”λ° ν•„μš”ν•œ 전체 μ†Œν”„νŠΈμ›¨μ–΄μ™€ 라이브러리 λ˜λŠ” λ‘œλ”μ™€ 같은 μ†Œν”„νŠΈμ›¨μ–΄
  • μ‹œμŠ€ν…œ 콜 μΈν„°νŽ˜μ΄μŠ€: API ν•¨μˆ˜μ˜ ν˜ΈμΆœμ„ κ°€λ‘œμ±„ μš΄μ˜μ²΄μ œμ— ν•„μš”ν•œ μ‹œμŠ€ν…œ 콜 호좜
  • 운영체제 λ§€κ°œλ³€μˆ˜ 전달
    • λ ˆμ§€μŠ€ν„°λ₯Ό 톡해 전달
    • 블둝 방법: λ§€κ°œλ³€μˆ˜λ₯Ό λ©”λͺ¨λ¦¬ λ‚΄ λΈ”λ‘μ΄λ‚˜ ν…Œμ΄λΈ”μ— μ €μž₯, λ ˆμ§€μŠ€ν„°μ— ν•΄λ‹Ή λ©”λͺ¨λ¦¬ μ£Όμ†Œ μ €μž₯
    • μŠ€νƒ 방법: ν”„λ‘œκ·Έλž¨μ€ λ§€κ°œλ³€μˆ˜λ₯Ό μŠ€νƒμ— ν‘Έμ‹œ, μš΄μ˜μ²΄μ œλŠ” μŠ€νƒμ˜ 값을 팝
  • μ‹œμŠ€ν…œ 콜 μœ ν˜•
    1. ν”„λ‘œμ„ΈμŠ€ μ œμ–΄: μƒˆλ‘œμš΄ ν”„λ‘œμ„ΈμŠ€ 생성, ν”„λ‘œμ„ΈμŠ€ 속성 κ²°μ • 및 μž¬μ„€μ •, ν”„λ‘œμ„ΈμŠ€ μ’…λ£Œ, ν”„λ‘œμ„ΈμŠ€ 생성 ν›„ 일정 μ‹œκ°„λ§ŒνΌ λŒ€κΈ° 및 νŠΉμ • μ΄λ²€νŠΈκ°€ 일어날 λ•Œ κΉŒμ§€ λŒ€κΈ°, ν”„λ‘œμ„ΈμŠ€ 잠금(곡유 데이터 일관성 제곡)
    2. 파일 관리: 파일 생성, μ‚­μ œ, μ—΄κΈ°, 읽기, μ“°κΈ°, μœ„μΉ˜ λ³€κ²½, 되감기, 파일 λ‹«κΈ°, 파일 및 디렉토리 속성 μ„€μ • 및 흭득
    3. μž₯치 관리: μš΄μ˜μ²΄μ œμ— μ˜ν•΄ μ œμ–΄λ˜λŠ” λ‹€μ–‘ν•œ μžμ›μ„ μž₯치둜 κ°„μ£Ό, μž₯치 μ‚¬μš© μš”μ²­ 및 방좜, μž₯치 읽기 및 μ“°κΈ°, μœ„μΉ˜ λ³€κ²½ (λ§Žμ€ μš΄μ˜μ²΄μ œκ°€ 파일과 μž₯치λ₯Ό File device structure둜 κ²°ν•©)
    4. 정보 μœ μ§€ 관리:μ‹œκ°„, λ‚ μ§œ, 운영체제 정보와 같은 μ‹œμŠ€ν…œ 정보 제곡, ν”„λ‘œμ„ΈμŠ€ 정보 제곡
    5. 톡신: 각 ν”„λ‘œμ„ΈμŠ€λŠ” ν”„λ‘œμ„ΈμŠ€ 이름을 가지고 있으며, μš΄μ˜μ²΄μ œμ— μ˜ν•΄ λ™λ“±ν•œ μ‹λ³„μžλ‘œ λ³€ν™˜
      1. λ©”μ‹œμ§€ 전달
      2. 곡유 λ©”λͺ¨λ¦¬
    6. 보호

Application Programming Interface

μ‘μš©ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μ‚¬μš© κ°€λŠ₯ν•œ ν•¨μˆ˜μ˜ 집합 λͺ…μ‹œ, UNIX와 Linux μ‹œμŠ€ν…œμ˜ 경우 Cμ–Έμ–΄λ‘œ μ œκ³΅λ˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μœ„ν•΄ libc 라이브러리 제곡 ex) Windows API, POSIX API, Java API

2. μ‹œμŠ€ν…œ μ„œλΉ„μŠ€

μ‹œμŠ€ν…œ μœ ν‹Έλ¦¬ν‹° 제곡 (ν”„λ‘œκ·Έλž¨ 개발과 싀행을 μœ„ν•΄ 더 νŽΈλ¦¬ν•œ ν™˜κ²½ 제곡)

  • 파일 관리
  • μƒνƒœ 정보
  • 파일 λ³€κ²½
  • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ 지원
  • ν”„λ‘œκ·Έλž¨ 적재 및 μˆ˜ν–‰: Absolute loader, Relocatable loader, Linkage Editor, Overlay loaderλ“± 제곡
    • 링컀와 λ‘œλ”
  • 톡신: ν”„λ‘œμ„ΈμŠ€, μ‚¬μš©μž, 컴퓨터 μ‹œμŠ€ν…œ 사이 가상 접속을 μœ„ν•œ 기법 제곡
  • λ°±κ·ΈλΌμš΄λ“œ μ„œλΉ„μŠ€ Daemon μ„œλΉ„μŠ€: 항상 μ‹€ν–‰λ˜λŠ” μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž¨ ν”„λ‘œμ„ΈμŠ€ (μ„œλΉ„μŠ€, μ„œλΈŒμ‹œμŠ€ν…œ)

3. 운영체제 ꡬ쑰

  1. λͺ¨λ†€λ¦¬μ‹
  2. 계측적
  3. λ§ˆμ΄ν¬λ‘œμ»€λ„
  4. λͺ¨λ“ˆ
  5. ν•˜μ΄λΈŒλ¦¬λ“œ

μ‹œμŠ€ν…œ λΆ€νŠΈ

λΆ€νŒ…: 컀널을 μ μž¬ν•˜μ—¬ 컴퓨터 μ‹œμž‘ν•˜λŠ” κ³Όμ •

  1. λΆ€νŠΈμŠ€νŠΈλž© ν”„λ‘œκ·Έλž¨ ν˜Ήμ€ λΆ€νŠΈλ‘œλ”κ°€ μ»€λ„μœ„μΉ˜ 탐색
  2. 컀널 λ©”λͺ¨λ¦¬μ— 적재 및 μ‹€ν–‰
  3. 컀널이 ν•˜λ“œμ›¨μ–΄ μ΄ˆκΈ°ν™”
  4. 루트 파일 μ‹œμŠ€ν…œ 마운트

닀단계 λΆ€νŒ…:

  1. BIOS(μ†Œν˜• λΆ€νŠΈλ‘œλ”) μ‹€ν–‰
  2. λΆ€νŠΈ λΈ”λŸ­μ— μœ„μΉ˜ν•œ λ‘λ²ˆμ§Έ λΆ€νŠΈλ‘œλ” 적재 (μ†Œν˜• λΆ€νŠΈλ‘œλ”μ˜ μž„λ¬΄)
  3. 전체 운영체제λ₯Ό λ©”λͺ¨λ¦¬μ— 적재 및 μ‹€ν–‰

UEFI (Unified Extensible Firmware Interface): ν•˜λ‚˜μ˜ λΆ€νŒ… κ΄€λ¦¬μž, 닀단계 BIOS λΆ€νŒ… 과정보닀 λΉ λ₯΄λ‹€. GRUB: 곡개 μ†ŒμŠ€ λΆ€νŠΈ 슀트랩 ν”„λ‘œκ·Έλž¨, λΆ€νŒ… μ‹œ 컀널 λ§€κ°œλ³€μˆ˜ μˆ˜μ • 및 λΆ€νŒ… κ°€λŠ₯ν•œ 컀널 선택 κ°€λŠ₯