정글

· 정글/TIL
📌 공부한 내용 anonymous page 지연 로딩 필요 시점까지 메모리의 로딩을 지연시키는 방법 페이지가 할당되었다는 것은 대응되는 페이지 구조체는 있지만 연결된 물리 메모리 프레임은 아직 없고 페이지에 대한 실제 콘텐츠들이 아직 로드되지 않았다는 것을 의미 페이지의 초기화 과정 → vm_alloc_page_with_initalizer 호출 : 페이지 구조체를 할당하고 페이지 타입에 맞는 적절한 초기화 함수를 세팅하고 유저 프로그램으로 제어권 넘김 → 유저 프로그램이 실행될 때 로드되지 않은 페이지에 접근하게 되면 페이지 폴트 → 페이지 폴트를 처리하는 과정에서 uninit_initailize 호출 → 익명 페이지를 초기화 하는 함수는 anon_initalizer - 파일 기반 페이지 초기화 함수는 ..
· 정글/TIL
📌 공부한 내용 페이지 테이블 가상 메모리에서 사용되는 중요한 데이터구조 운영 체제는 가상 메모리를 사용하여 물리적인 메모리를 관리하고, 프로세스 에게 가상 주소 공간을 제공한다 페이지 테이블은 가상 주소 공간과 물리적인 메모리 주소공간 간의 매핑을 관리하는데 사용된다. 페이지 64비트 가상주소의 마지막 12비트는 페이지 오프셋이고, 상위 비트들은 페이지 테이블의 인덱스를 표시한다. 프레임 물리 메모리상의 연속적인 영역. 페이지와 동일하게, 프레임은 페이지사이즈여야 하고 페이지 크기에 정렬되어 있어야 합니다. 64비트 물리주소는 프레임 넘버 와 프레임 오프셋 으로 나누어질 수 있습니다. 구현해야 할 것 보조 페이지 테이블 핵심 유저 → 페이지 폴트 핸들러, 프로젝트2에서 페이지 폴트는 항상 커널, 유저프..
· 정글/TIL
📌 공부한 내용 📌 - multi-oom`은 memory leak을 측정하는 테스트인데 어떤 방식으로 측정하는지 궁금해서 찾아봄 : 재귀적으로 자식프로세스를 fork해서 더 이상 fork 할 수 없을 때까지 진행하고 처음 fork한 숫자를 저정한다. 그리고 이것을 10번 반복하면서 처음 fork한 수와 비교하면서 처음과 다르다면 메모리에 누수가 생긴 것이므로 fail을 반환하게 된다. int main (int argc UNUSED, char *argv[] UNUSED) { msg ("begin"); int first_run_depth = make_children (); CHECK (first_run_depth >= EXPECTED_DEPTH_TO_PASS, "Spawned at least %d child..
· 정글/TIL
📌 공부한 내용 - Argument Passing을 공부하고 참고해서 적용했는데, 제대로 된 실행이 안되는 중이다. 현재 이렇게만 나오는 중 내일 다시 수정해서 적용해봐야 할 것 같음 일단은 해결했는데 다시 보면서 정리해야 할 것 같다. No Lv Algorithm Name Judge etc 15686 G5 브루트포스 치킨배달 solved … 💭 느낀 점 & 배운 점 pintos에 해당하는 내용은 역시 많이 어려운 것 같다. 내용은 어느 정도 이해를 하겠는데, 직접 구현한다는 건 또 다른 차원의 문제라고 생각한다. 아직까지 실력이 많이 부족하다고 생각하고 꾸준히 공부를 해야겠다는 생각이 든다. 알고리즘 문제는 이제 브루트포스 같은 약간의 공식이 있는 문제들은 G5정도까진 1시간 안에 풀 수 있는 것 같다..
· 정글/TIL
📌 공부한 내용 - 프로세스와 스레드 정리 - 알고리즘 정인셋 - Pintos -> User Programs No Lv Algorithm Name Judge etc 1449 S3 그리디,정렬 수리공 항승 solved 실버문제라 간단하게 품 1018 S4 브루트포스 체스판다시칠하기 solved 예전에 푼 문제라 안풀었는데 다시 풀어봐야할듯 21608 G5 구현 상어 초등학교 solved 구현 문제는 확실히 노가다 + 시간이 많이 드는것 같고 조금 어려운 것 같음 💭 느낀 점 & 배운 점 - 프로세스 - 스레드에 대한 개념은 아무래도 CS 면접에서 물어보기 너무 편해보여서 확실히 외워두는게 좋을 것 같음 알고리즘 문제들은 정글에 오기전과 비교해봤을때 확실히 많이 늘었다고 생각함, 아직 한참 모자르기 때문에 ..
· 정글/TIL
📌 공부한 내용 선점형(Preemption) 선점형은 하나의 프로세스가 다른 프로세스 대신에 프로세서를 차지할 수 있다는 뜻이다. 빠른 응답시간을 요하는 대화식 시분할 시스템에 적합하며 긴급한 프로세서를 제어 할 수 있다. 선점형 방식의 스케쥴링에는 Round Robin : 시간 단위가 설정되어 각 시간동안 프로세스를 실행하고 시간이 지나면 다음 프로세스로 전환되게 한다. 전체적인 응답 속도가 빨라질수도 있으나, 시간 단위마다 프로세스를 전환할 때 문맥 전환에 따른 오버헤드가 발생할 수 있기 때문에 적당한 시간 단위 설정을 해야한다. 비선점형(Non-Preemption) 비선점형은 하나의 프로세스가 끝나지 않으면 다른 프로세스는 CPU를 사용할 수 없다. 순서대로 처리되는 공정성이 있고, 다음에 처리해야..
Casteira
'정글' 카테고리의 글 목록