조준화의 오류정정

조준화의 오류정정

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

조준화의 오류정정

컨텐츠 검색

태그

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

최근글

댓글

공지사항

아카이브

CS/Operating System(24)

  • [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
  • [OS] Memory Management - Fixed Partitions, Variable Partitions, Overlays, Swapping, Virtual Address

    1. 메모리 관리운영체제가 어떤 방식으로 피지컬한 메모리를 관리할까?메모리 관리의 목적은 다음과 같다.프로그래머에게 abstract view를 보여주는게 중요하다.프로그래머는 A.exe가 메모리의 어디에 위치하는지는 전혀 신경쓰지 않고 배열을 선언하는 등 편하게 사용한다. 그 이유는 운영체제가 피지컬한 메모리를 가상의 공간으로 잘 보여주기 때문이다.메모리는 부족한 자원인데, 이를 잘 나눠줘야 한다.여러 프로세스들이 메모리를 두고 경쟁하는 과정에서, 성능은 최대화시키면서 오버헤드는 최대한 줄여 잘 나눠줘야 한다.프로세스간 isolation을 제공해야 한다.프로세스마다 가상의 메모리를 각각 가지고 있고 서로의 메모리는 볼 수 없어야 한다.왜 메모리 관리가 어려울까?싱글 프로세스라면 OS 등의 메모리만 할당하..

    2024.05.14
이전
1 2 3 4
다음
티스토리 github notion
© 2018 TISTORY. All rights reserved.

티스토리툴바