Mathlife
Mathlife의 학습 노트
Mathlife
전체 방문자
오늘
어제
  • 분류 전체보기
    • CS
      • 알고리즘
      • 자료구조
      • 운영체제
      • 네트워크
      • 데이터베이스
    • 프로그래밍 언어
      • Java
      • JavaScript
      • C·C++
      • Python
    • Backend
      • Spring
    • Frontend
      • HTML
      • CSS
    • Math
      • Linear Algebra
      • Calculus
    • AI
      • ML
      • DL
      • RL
    • Git

블로그 메뉴

  • 홈
  • 관리
  • 글쓰기
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Mathlife

Mathlife의 학습 노트

가상메모리
CS/운영체제

가상메모리

2022. 5. 24. 16:38

출처 : KMOOC / 운영체제 / 이화여대 반효경 교수님

 

실제로 대부분의 OS는 Paging 기법을 사용.

 

이제부터는 Paging 기법을 사용한다고 가정.

 

1, 3, 4 페이지는 물리 메모리에 올라가 있지 않아서 i

6, 7 페이지는 사용하지 않는 주소라서 i

 

1번 페이지 요구했는데 i

page falut trap 걸리고 OS가 ISR에 따라 처리

 

 

1. 먼저 범위 밖의 주소거나 사용하지 않는 주소거나 이런 건 아닌지 확인

2. page frame 얻어온다

3. disk read. page table의 valid bit v로 변환.

4. 나중에 CPU 다시 얻으면 접근 가능

 

page fault는 오버헤드가 엄청 큰 작업

하지만 실제로는 page falult 거의 안일어남

 

Page Replacement

빈 페이지가 없을 때는 frame을 뺏어와야 새로운 page를 메모리에 올릴 수 있음

 

가급적 page-fault가 일어나지 않는 것이 좋음

 

Page Replacement Algorithm

이건 실제로는 불가능

대신 성능의 upper bound가 이거라는 건 알 수 있음

성능이 OPT랑 비슷하면 굉장한 알고리즘이라는 걸 알 수 있음

 

프레임 수를 늘렸는데 오히려 page fault가 많이 일어날 수 있음

 

FIFO는 가장 오래 전에 메모리에 올라온 걸 지우는 것!

LRU는 가장 오래 전에 참조된 걸 지우는 것!

 

 

 

 

 

 

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

Linker and Loader  (0) 2022.08.23
가상메모리 (캐싱)  (0) 2022.05.24
메모리 관리  (0) 2022.05.24
Deadlock  (0) 2022.05.24
[ETL] Multithreading  (0) 2022.05.22
    'CS/운영체제' 카테고리의 다른 글
    • Linker and Loader
    • 가상메모리 (캐싱)
    • 메모리 관리
    • Deadlock
    Mathlife
    Mathlife

    티스토리툴바