조준화의 오류정정

조준화의 오류정정

  • 분류 전체보기
    • TIL
    • 프로그래밍 언어
      • Java
      • JavaScript
      • C++\C
      • HTML\CSS
      • Markdown
    • 알고리즘
      • 문제풀이
      • 알고리즘 지식
    • CS
      • Computer Architecture
      • Operating System
      • Computer Network
      • 백엔드
      • Information Retrieval
      • Database System
      • ServerProgramming
    • AI
      • YOLO
      • CS231n
    • 프로젝트: Co Laobr
    • 프로젝트: 노인을 위한 나라는 있다.
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

조준화의 오류정정

컨텐츠 검색

태그

자바 java 알고리즘 C++ 정렬 백준 OS 백트래킹 문제풀이 BFS 시뮬레이션 문자열 DP html dfs 우선순위 큐 재귀 BOJ 자료구조 til

최근글

댓글

공지사항

아카이브

CS(47)

  • [OS] Thrashing, Working Set Model, PFF (Page Fault Frequency), Shared Memory, Copy on Write, Memory mapped files

    Thrashing동시에 사용하는 프로세스의 수를 계속 늘리게 되면 CPU 사용률도 계속 증가하다가 임계점을 넘어가면 CPU 사용률이 줄어드는 현상이 생긴다.메모리가 부족해지는 순간에 Thrashing이 생기면서 대부분의 시간을 OS가 디스크를 왔다 갔다 하면서 Page fualt를 계속 해결하면서 CPU가 사용되지 못한다.메모리가 overcommitted 된 상황이라고도 하며, overcommitted라는 용어는 시스템이 사용할 수 있는 용량보다 훨씬 더 많은 프로세스, 메모리를 사용하는 상황을 말한다. Thrashing 현상이 일어나면 OS는 page fault를 줄이기 위해 어떻게 해야 할지 모르고 page fault만 계속 일어나면서 I/O는 계속 일어나고 CPU는 계속 I/O만 기다리게 된다.해결..

    2024.06.02
  • [OS] Page Replacement - FIFO, LRU, Second Chance, NRU, LFU, MFU, Allocation of Frames

    피지컬한 메모리가 결국은 페이지 단위로 동작하고, 메모리가 부족하면 디스크로 내려보내게 될 것인데 어떤 프레임을 내려 보낼 것인가에 대한 얘기이다.Page Replacementpage fault가 발생했을 때 OS는 디스크에서 faulted page를 load 해서 메모리에 할당해줘야 한다.그런데 운영체제가 메모리에 빈 프레임을 유지하기 위해서 어떤 페이지를 evict 시켜야 한다.eviction은 정해진 page replacement 알고리즘대로 동작하게 된다.Evicting the best pagereplacement 알고리즘의 목적은 fault rate를 감소시키는 것이다.가장 좋은 선택은 가장 오랫동안 사용되지 않을 페이지를 evict 하는 게 가장 좋다.벨라디의 증명가장 오랫동안 쓰이지 않을 메..

    2024.06.02
  • [OS] TLBs, 캐시 복습, Translation Using a TLB, Managing TLBs, Memory Reference, TLB hit 총 정리

    TLBs페이지 테이블을 거쳐서 메모리에 액세스 하면 시간이 많이 걸린다. original page table은 doubled the cost of memory lookups 하다. Two-level에서는 triple the cost 하다! 시간적인 오버헤드를 줄이기 위해서 도입된 게 TLB이다. TLB의 목적은 메모리 액세스 한 번의 수준으로 물리 주소를 얻는 것이고, 해결책은 캐싱밖에 없다. 페이지 테이블의 일부 내용을 캐싱하고 있는 하드웨어가 Translation Lookaside Buffer TLB이다. MMU안에 TLB가 들어있다. TLB는 어떻게 구성되어 있을까?캐시 안에는 페이지 테이블과 상당히 유사한 데이터를 가지고 있다.그림에는 없지만 ref가 있을 것이다.캐시를 태그로 사용하기 위해 vi..

    2024.05.31
  • [OS] Two-level Page Table, Hashed Page Tables, Clustered page tables, Inverted Page Table, 페이지 테이블을 어디다 두고 관리할까?

    어떻게 운영체제가 메모리를 조금이라도 적게 쓰고 virtual 한 어드레스를 잘 번역할 수 있을까? 좀 더 빨리 번역할 수 있을까? 먼저 space overhead를 생각해보자. 32bit 머신에서 페이지 테이블이 4KB, 페이지 테이블 한 row가 4byte라고 한다면 엔트리가 2^20개이므로 총 2^24, 즉 프로세스당 페이지 테이블을 4MB 사용한다. 어떻게 좀 더 줄일 수 있을까?프로세스가 실행되면서 어드레스 스페이스를 전체 다 사용하지는 않는다. 페이지 테이블 엔트리가 2^20개라는 건 4GB를 다 사용한다고 생각하고 페이지 테이블을 만드는 것이다. 그런데 실제로 그런 프로세스는 잘 없고 대부분이 메모리의 일부분만 사용한다.오버헤드를 잘 줄이려면 실제로 사용되는 주소 공간의 일부만 매핑하면 된다..

    2024.05.31
  • [OS] Paging, Demand Paging, Page fault, Segmentation, 페이징과 세그멘테이션 비교, Segmentation with Paging

    1. Demand PagingDemand가 있을 때 Paging을 시키겠다는 개념이다. 메모리가 정말로 필요한 순간에 가상 페이지를 피지컬한 메모리에 할당한다.피지컬한 메모리와 디스크를 왔다갔다하는 I/O 횟수가 줄어든다.피지컬한 메모리의 필요량이 줄어든다.응답이 빨라진다.좀 더 많은 프로세스를 수용할 수 있다.OS가 메인 메모리를 마치 캐시처럼 사용한다.메모리를 디스크의 캐시처럼 사용한다.프레임 단위로 디스크에 내리거나 필요한 게 있으면 메모리로 올려서 사용하는 방식이다.피지컬한 메모리가 다 차게 되면, 메모리가 부족해진 것이므로 적절한 프레임을 찾아서 디스크로 내린다.디스크로 내리는 과정을 Eviction이라 하고, 반대의 과정 메모리로 올리는 것을 loading이라 한다.디스크로 내리는 과정을 보자..

    2024.05.30
  • [OS] Paging, 페이지 크기에 따른 가상 주소와 물리 주소 예시, PTEs

    1. Paging페이징의 동작 과정을 알아보자.먼저 피지컬한 메모리를 먼저 4KB 단위로 조각조각 쪼갠다. 그 조각 하나 하나를 프레임이라 한다. 물론 4KB가 아닐 수도 있다.그리고 프로세스가 사용하는 가상 메모리도 4KB 단위로 쪼개고, 페이지라 부른다. 이 또한 4KB가 아닐 수 있다.그리고 중간에 페이지 테이블을 만든다. 페이지 테이블은 프로세스별로 따로 만드는 것을 주의하자. TCB처럼 프로세스마다 페이지 테이블을 OS가 가지고 있다.유저는 가상의 크고 연속적인 가상 메모리를 본다.커널은 페이지 테이블을 보고 피지컬한 메모리로 접근한다.ex) Page 1 → Page table → Frame 11페이지에 대해 좀 더 자세히 알아보자.피지컬한 어드레스를 연속적으로 배치하지 않아도 된다.가상의 주소..

    2024.05.30
이전
1 2 3 4 5 6 7 8
다음
티스토리 github notion
© 2018 TISTORY. All rights reserved.

티스토리툴바