stddb
close
프로필 사진

stddb

github: @denev6

  • 분류 전체보기 (202)
    • TIL (15)
    • WIL (9)
    • 별 잡다 (26)
    • 문제풀이 (70)
    • 구현하기 (30)
    • 컴퓨터 이론 (33)
      • CS:APP (14)
    • with Nest (4)
  • 홈
  • 태그
  • 방명록

PintOS P3 #B : Bitmap

그림에 대한 비트맵을 다루는 것은 아니고, 말그대로 bit들의 집합이다. 넓게 보면 bool의 true/false 배열이라고 간주 할 수도 있다. 즉, 동일한 자원들의 잡힙에서 사용률을 추적하는데 활용 된다. 이 Bitmap은 Swap Table에 활용되고 있다. Swap Tableswap table은 bitmap 형태로 구현되고, 이 테이블 내에서 쓸 수 있는 영역과 쓰고 있는 영역을 구분하기 위한 테이블이다. 메모리가 부족해서 페이지를 swap disk에 내보내야 할 때, 어느 자리가 비어있는지를 찾아내는데 있어서 기록해두기 위한 테이블이다.bitmap_scan(swap_table, 0, 1, false) 라는 함수를 통해 첫 빈 자리를 바로 찾아 볼 수 있다.각 비트는 해당 swap slot의 상태..

  • format_list_bulleted 구현하기
  • · 2025. 6. 9.

PintOS P3 #7 : 메모리 교체와 Swap

우리는 기억하고 싶은 것을 평생을 기억하겠다고 결심 했다가도 조금만 지나면 감정만이 남거나, 주관적 왜곡조차 없어진 기억을 겪는다. 망각은 축복이라고 한다. 이러한 축복은 사람만 있으면 된다. 컴퓨터는 까먹으면 안된다. 이와 연관된 메모리 관리 기법을 논해보도록 한다.2025.06.09 - [구현하기] - PintOS P3 #6 : Stack Growth PintOS P3 #6 : Stack GrowthProject 2는 4KB로 다 해먹을 수 있지만, 우리는 이제 1MB 까지 즉, 256배에 달하는 크기까지 늘어날 수 있는 운영체제만의 스택 용량을 기대한다. 이를 만드는 과정은 생각보다 간단한데, 이 글을 통hyeonistic.tistory.com스택 성장에 대해 논한 이전 글에서 이어진다. 우리는 페..

  • format_list_bulleted 구현하기
  • · 2025. 6. 9.

PintOS P3 #6 : Stack Growth

Project 2는 4KB로 다 해먹을 수 있지만, 우리는 이제 1MB 까지 즉, 256배에 달하는 크기까지 늘어날 수 있는 운영체제만의 스택 용량을 기대한다. 이를 만드는 과정은 생각보다 간단한데, 이 글을 통해서 도움을 받을 수 있을 것이다.2025.06.09 - [구현하기] - PintOS P3 #5 : SPT를 비롯한 구현 #2 PintOS P3 #5 : SPT를 비롯한 구현 #2한 제목에 P3 이면서 #5 이면서 #2 인게 참 헷갈리만도 하겠지만, 너가 다루고 있는 PintOS의 PML4는 이런 구조이다. Project 3 의 5번 글의 2번째 시리즈 글이라고 영역전개를 해야 슬슬 알아들을만하죠?hyeonistic.tistory.com이 글에서 이어진다. 언제 키움?스택의 전체 크기가 늘어나야..

  • format_list_bulleted 구현하기
  • · 2025. 6. 9.

PintOS P3 #5 : SPT를 비롯한 구현 #2

한 제목에 P3 이면서 #5 이면서 #2 인게 참 헷갈리만도 하겠지만, 너가 다루고 있는 PintOS의 PML4는 이런 구조이다. Project 3 의 5번 글의 2번째 시리즈 글이라고 영역전개를 해야 슬슬 알아들을만하죠? 우린 모두 헷갈림의 시대에 살고있다.2025.06.03 - [구현하기] - PintOS P3 #4 : SPT를 비롯한 구현 PintOS P3 #4 : SPT를 비롯한 구현기존 글에서 구현 해야 할 네 가지를 다루었다. 이 네 가지는 너무 극 요약 한 것에 불과해서, 실제 구현에서만 다룰 수 있는 이게 뭐야 싶은 상황도 보게 될 것이다. 하지만 언제 그랬냐는듯 너hyeonistic.tistory.com이 글에서 이어진다. 우린 기존 작업에 이어 Project 2 테스트 케이스의 모든 작..

  • format_list_bulleted 구현하기
  • · 2025. 6. 9.

PintOS P3 #A : Clock Algorithm

static struct frame *vm_get_victim (void) { // Clock Algorithm : 2번 순회해서 찾아냄 struct frame *victim = NULL; struct list_elem *e; lock_acquire(&g_frame_lock); for (e = list_begin (&g_frame_table); e != list_end (&g_frame_table); e = list_next (e)) { struct frame *frame = list_entry (e, struct frame, f_elem); if(pml4_is_accessed(&thread_current()->pml4, frame->page->va)) pml4_set_accessed(&..

  • format_list_bulleted 구현하기
  • · 2025. 6. 4.
PintOS P3 #4 : SPT를 비롯한 구현

PintOS P3 #4 : SPT를 비롯한 구현

기존 글에서 구현 해야 할 네 가지를 다루었다. 이 네 가지는 너무 극 요약 한 것에 불과해서, 실제 구현에서만 다룰 수 있는 이게 뭐야 싶은 상황도 보게 될 것이다. 하지만 언제 그랬냐는듯 너만의 PintOS를 완성할 것이다. 아마도..2025.06.03 - [구현하기] - PintOS P3 #3 : 뭐부터 할지 논하기 PintOS P3 #3 : 뭐부터 할지 논하기Page와 Frame을 대강 알 수 있었던 이전 글에서 이제 실질적으로 작동을 시키는 형태로 아이디어를 이용해보자. 운이 좋게도 우리는 기존 프로젝트를 도로 작동시켜야한다는 전제조건이 있다. 이hyeonistic.tistory.com이전 글에서 이어진다.load_segment는 페이지 크기 단위의 순회를 돈다. 페이지 하나가 가리켜질 때 정보..

  • format_list_bulleted 구현하기
  • · 2025. 6. 3.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • ···
  • 34
  • navigate_next
공지사항
  • WHO I AM
전체 카테고리
  • 분류 전체보기 (202)
    • TIL (15)
    • WIL (9)
    • 별 잡다 (26)
    • 문제풀이 (70)
    • 구현하기 (30)
    • 컴퓨터 이론 (33)
      • CS:APP (14)
    • with Nest (4)
인기 글
전체 방문자
오늘
어제
Copyright © pwerty 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바