13. 주소 공간

이주희·2022년 10월 27일
0

OS

목록 보기
8/17

초기 시스템

  • 운영체제는 메모리 0부터 존재
  • 물리메모리에 하나의 실행중인 프로그램 존재, 나머지 메모리 사용
  • 특별한 가상화 없음

멀티프로그래밍과 시분할

여러 프로그램이 실행 상태
운영체제가 이들을 번갈아가면서 실행 -> CPU의 이용률 증가

시분할

오랜 시간이 걸리는 프로그램-디버그 사이클에서 일괄 처리방식의 한계를 느낌
-> 대화식 이용의 개념이 중요해짐

방식

  • 하나의 프로세스를 짧은 시간동안 실행
    너무 느리게 동작한다는 문제 발생
    메모리가 커질 수록 느려짐

주소공간

주소공간은 실행중인 프로그램이 가정하는 메모리의 모습이다
실행 프로그램의 모든 메모리 상태를 가지고 있음

  • 코드

  • 스택
    함수호출 체인 상의 현재 위치, 지역변수, 함수 인자와 반환값


  • 동적으로 할당되는 메모리를 위해 사용

프로그램 코드는 주소공간 위쪽에 위치
정적이라 추가 메모리 필요하지 않음

실행과 더불어 확장, 축소가 되는 두 부분
heap, stack

주소공간의 양 끝에 배치하고 있어서 확장하는 것이 가능하다

메모리 가상화

여러 프로세스들이 같은 메모리에 공존하게 하는 방식
가상메모리(VM) 목표

  • 투명성
    실행중인 프로그램이 가상 메모리의 존재를 인지하지 못하도록 구현해야함

  • 효율성
    시간과 공간 측면에서 효율적이도록 해야함

  • 보호
    프로세스를 다른 프로세스로부터 보호해야하고, 자기 자신도 보호해야함
    서로 주소공간을 격리시켜야 한다

0개의 댓글