본문 바로가기
운영체제

운영체제 - 공룡 책 9 , 10 장

by 개발자 포비 2024. 11. 21.

운영체제 정리

1. CPU의 메모리 접근과 동작

  • CPU의 역할:
    • 명령어 해독
    • 메모리에서 피연산자 가져오기
    • 연산 수행

필요한 요소들은 반드시 메모리에 적재되어야 함.

2. 메모리 접근 과정

  • CPU 동작:
    • 메인 메모리에서 데이터 가져오기
    • 레지스터에 데이터 올리기
    • 레지스터의 데이터 사용

레지스터와 메모리 간 속도 차이가 큼.

  • 캐시: 중간 저장장치로 빠른 메모리 접근 지원 (하드웨어 레벨).

3. 메모리 보호

  • 목적:
    • 프로세스별 보호된 주소 영역 사용 보장
    • 커널 모드의 중요 영역 보호
  • 구현:
    • CPU: 프로세스별 논리주소 영역 마련
    • 메모리 보호 영역 지정
    • 유저 모드의 커널 메모리 침범 시 트랩 발생

메모리 보호를 위한 상한 레지스터: 문맥 교환 시 전환.

4. 프로세스 주소 할당

  • 주요 개념:
    • 논리주소: CPU가 사용하는 프로세스 주소 영역
    • 물리주소: 실제 데이터가 위치한 메모리 주소

핵심: 논리주소와 물리주소의 매핑 방법.

5. 메모리 관리 장치 (MMU)

  • 역할: 가상 주소와 실제 주소 연결.
  • 기능: 주소 매핑 지원 및 전체 메모리 관리 과정 담당.
  • 장점: 논리 주소와 물리 주소의 동적 연결로 유연한 메모리 관리 가능.

6. 메모리 할당

  • 연속 할당 방식:
    • 장점: 간단하고 직관적
    • 단점: 외부 단편화 발생
  • 해결 방법:
    • 최초 적합
    • 최적 적합
    • 최악 적합

내부 단편화: 성능을 위해 메모리를 일정 크기 배수로 할당할 때 발생.

7. 페이징 기법

  • 목적: 외부 단편화 문제 해결.
  • 특징:
    • 논리주소와 물리주소를 페이지/프레임 단위로 분할
    • 일반적인 페이지 크기: 4KB
    • 비연속적 메모리 공간에 적재 가능
  • 장점:
    • 외부 단편화 해결
    • 큰 논리 주소 범위 지원 (예: x64 아키텍처에서 $2^{64}$)

주의: 내부 단편화는 여전히 발생 가능.

8. 페이지 구조와 주소 변환

  • 구성 요소:
    • 페이지 번호
    • 오프셋 (상대적 위치)

페이지 테이블: 페이지-프레임 매핑 정보 관리.

  • 주소 변환 과정:
    • MMU가 페이지 번호로 프레임 위치 확인
    • 실제 주소 = 프레임 주소 + 오프셋

9. 페이지 테이블 관리

  • 저장 위치: PCB에 포인터로 저장.
  • 사용 시점: 문맥 교환 시 레지스터에 로드.

TLB (Translation Lookaside Buffer): 성능 향상을 위한 캐시.

  • TLB 특징:
    • 프레임 번호-페이지 번호 매핑 정보 저장
    • 프로세스별 독립적 정보
    • 문맥 교환 시 일반적으로 무효화 (ASID 사용 시 예외).

10. 스와핑

  • 정의: 페이지를 메모리와 백업 장치 사이에서 이동하는 과정.
  • 관련 용어:
    • 페이징 파일: 백업 장치에 저장된 페이지들
    • 페이징-인: 백업 장치에서 메모리로 페이지 로드
    • 페이징-아웃: 메모리에서 백업 장치로 페이지 이동
  1. 페이징 파일 불러오기
    • 페이지가 메모리에 없는 경우:
      • 페이지 미생성
      • 페이징 아웃으로 페이징 파일에 저장
    • 구분 방법: 페이지의 invalid 속성 사용
      • 페이지 정보 없음: OS에서 트랩 발생
      • 페이지 존재: 페이징 파일에서 로드, 적재, 갱신
    • CPU는 예외만 발생, OS가 처리 담당.

'운영체제' 카테고리의 다른 글

캐시 - 캐시의 구조의 분석  (0) 2025.01.15

댓글