메모리 관리

2020. 1. 25. 00:13· Computer Science/운영체제
목차
  1. 메모리 계층 구조
  2. Address Binding
  3. Dynamic Loading
  4. Swapping

메모리 관리

메모리 계층 구조

  • Block

    • 보조기억장치와 주기억 장치 사이의 데이터 전송 단위
    • OS마다 차이는 있으나, 일반적으로 1~4 kb
    • 1 Byte만 사용하더라도 Block 단위로 메모리에 올라간다.
  • Word

    • CPU(레지스터)와 주기억장치(메모리) 사이의 데이터 전송 단위
    • 16 ~ 64 bit의 크기를 갖는다.

Address Binding

  1. Compile time binding

    • 프로세스가 적재될 메모리의 위치를 100% 아는 경우(절대 위치 사용)
    • 한 번 적재되면 위치가 변하지 않는다.
    • 프로그램 전체가 메모리에 적재된다.
  2. Load time binding

    • 메모리 적재 위치를 컴파일 시간에 모르는 경우, 대처 가능한 상대 주소를 생성
      • 0번에 데이터 A가 적재된다고 가정
      • 실제로 프로그램을 실행시켰더니 400번지에 데이터 A가 적재되었음.
      • 0과 400은 400만큼 차이가 나므로 Allocation Address = 400
      • 400만큼 Re Location
    • 프로그램 전체가 메모리에 적재된다.
  3. Runtime binding

    • Address binding을 실제 수행 전까지 연기(프로세스가 수행 중 다른 위치로 이동할 수 있기 때문)
    • HW의 도움 필요(Memory Management Unit)
    • 대부분의 OS가 사용

Dynamic Loading

Address binding은 프로그램이 연속된 메모리에 적재되는 경우

일부만 적재할 필요가 있는 경우가 생긴다.

  • 모든 루틴을 교체 가능한 형태로 디스크에 저장
    • 실제 호출 전까지 적재하지 않음.
  • 메인 프로그램만 메모리에 적재
  • 루틴 호출 시점에 Address Binding 수행

메모리 공간의 효율성이 좋아진다.

Swapping

  • Swap in : Ready Queue <- Suspended ready(새롭게 시작하는 프로세스)
  • Swap out : Ready Queue -> Suspended ready(프로세스 할당이 끝난, 수행 완료 된 프로세스)
저작자표시 비영리 (새창열림)

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

메모리 관리 전략  (0) 2020.01.25
메모리 할당  (0) 2020.01.25
교착상태  (0) 2020.01.25
프로세스 동기화  (0) 2020.01.25
프로세스 스케줄링  (0) 2020.01.25
  1. 메모리 계층 구조
  2. Address Binding
  3. Dynamic Loading
  4. Swapping
'Computer Science/운영체제' 카테고리의 다른 글
  • 메모리 관리 전략
  • 메모리 할당
  • 교착상태
  • 프로세스 동기화
감동이중요해
감동이중요해
https://github.com/dhmin5693 dhmin5693@naver.com
감동이중요해
티끌모아 산을 쌓아보자
감동이중요해
전체
오늘
어제
  • 분류 전체보기 (111)
    • 알고리즘 (35)
    • Infra & Dev tools (10)
      • Git (2)
      • Cloud platform (5)
      • Mac, Linux (3)
    • BigData (1)
    • IT 도서 (11)
      • Clean Code (8)
    • Java (36)
      • Spring framework (19)
      • JPA (5)
      • Domain Driven Design (3)
    • Database (2)
      • oracle (1)
      • mysql (0)
    • Computer Science (7)
      • 운영체제 (7)
    • 기타 (9)
      • 크롤링(파이썬) (1)
      • 회고 (4)
      • Career (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

  • About me

인기 글

태그

  • bean
  • 알고리즘
  • 프로세스
  • 블라인드공채
  • Stream
  • Linux
  • Mac
  • Database
  • 영속
  • Java
  • JPA
  • 운영체제
  • Clean Code
  • 영속상태
  • Spring
  • 우아한테크캠프2기
  • 메모리
  • AWS
  • 회고
  • DDD

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
감동이중요해
메모리 관리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.