profile
better
post-thumbnail

[PintOS] Project 3 - Swap In/Out

Swap In/Out 메모리 스와핑은 물리적 메모리 사용을 최대화하기 위한 메모리 회수 기술입니다. 메인 메모리의 프레임이 할당되면 시스템은 사용자 프로그램의 메모리 할당 요청을 더 이상 처리할 수 없습니다. 한 가지 솔루션은 현재 디스크에 사용되지 않는 메모

2022년 1월 27일
·
0개의 댓글
·

[PintOS] Project 3 - Memory Mapped Files

- Memory Mapped Files 이 섹션에서는 메모리 매핑 페이지를 구현합니다. 메모리 매핑된 페이지는 익명 페이지와 달리 파일 백업 매핑입니다. 페이지의 내용은 일부 기존 파일의 데이터를 미러링합니다. 페이지 오류가 발생하면 물리적 프레임이 즉시 할당되고 파

2022년 1월 27일
·
0개의 댓글
·

[PintOS] Project 3 - Stack Growth

프로젝트 2에서 스택은 USER_STAK부터 시작하는 단일 페이지였으며, 프로그램의 실행은 이 크기로 제한되었습니다. 이제 스택이 현재 크기를 초과하여 커지면, 필요에 따라 추가 페이지를 할당합니다.추가 페이지가 스택 액세스로 "표시(appear)"되는 경우에만 페이지

2022년 1월 27일
·
0개의 댓글
·

[PintOS] Project 3 - Anonymous Page (2)

- Supplemental Page Table - Revisit (구현) 이제 복사 및 정리 작업을 지원하기 위해 추가 페이지 테이블 인터페이스를 다시 방문합니다. 이러한 작업은 프로세스를 생성(자식 프로세스를 생성하는 것보다 구체적으로 생성)하거나 프로세스를 파괴할

2022년 1월 27일
·
0개의 댓글
·

[PintOS] Project 3 - Anonymous Page (1)

이 프로젝트의 이 파트에서, anonymous page 라는 non-disk 기반 이미지를 구현합니다.익명 매핑에는 백업 파일이나 장치가 없습니다. (파일 기반 페이지와 달리) 명명된 파일 소스가 없기 때문에 익명입니다. 익명 페이지는 스택 및 힙과 같은 실행 파일에서

2022년 1월 25일
·
0개의 댓글
·
post-thumbnail

[PintOS] Project 3 - Memory Management

메모리 관리가상 메모리 시스템을 지원하려면 가상 페이지와 물리적 프레임을 효과적으로 관리해야 합니다. 즉, 어떤 (가상 또는 물리적) 메모리 영역이 어떤 목적으로 누구에 의해 사용되고 있는지 등을 추적해야 합니다. 먼저 추가 페이지 테이블을 처리한 다음 물리적 프레임을

2022년 1월 25일
·
0개의 댓글
·
post-thumbnail

[PintOS] Project 3 - Introduction

Virtual memory managementpagingvirtual pagephysical framepage table & supplementary page tableMemory Management Unit (MMU)Translation Lookaside Buffer

2022년 1월 25일
·
0개의 댓글
·
post-thumbnail

[PintOS] Project 2 - User Programs (2) User memory access, System Call

시스템 호출의 일부로서 커널은 사용자 프로그램에 의해 제공되는 포인터를 통해 메모리에 접근해야 한다. 사용자가 null 포인터, 매핑되지 않은 가상 메모리에 대한 포인터 또는 커널 가상 주소 공간(KERN_BASE 위)에 대한 포인터를 전달할 수 있으므로 커널은 그렇게

2022년 1월 11일
·
0개의 댓글
·
post-thumbnail

[PintOS] Project 2 - User Programs (1) Argument passing

만약 추가 과제의 테스트케이스를 도전하고 싶으면 userprog/Make.vars를 수정하라.TODO가 없는 코드는 수정할 필요가 없다.We allow more than one process to run at a time. Each process has one thre

2022년 1월 11일
·
0개의 댓글
·
post-thumbnail

[PintOS] Project 1 - Alarm Clock, Priority, Donate

timer_sleep()은 커서를 1초에 한 번 깜박이는 것과 같이 실시간으로 작동하는 스레드에 유용하다. timer_sleep() 함수는 밀리초나 다른 단위가 아닌 타이머 눈금 단위로 표현된다. 초당 TIMER_FREQ 타이머 틱이 있으며, 여기서 TIMER_FREQ

2021년 12월 30일
·
0개의 댓글
·