악명이 자자했던 Pintos 주차의 시작...처음엔 뭐부터 어떻게 해야 할 지 막막했지만, 일단 키워드부터 공부한 후에 과제 git book 찔끔찔끔 봤다.키워드는 일단 추후에 공부하면서 정리해서 업로드 해야겠다🥹...그러다가 옆 분반 분께서 kaist 교수님께서 과
어제 드디어 priority까지 끝냈다.. 발제한 지 8일 만에...확실히 priority가 더 어려웠다.alarm은 처음에 아무것도 모르는 상태에서 감 잡느라 더 어렵게 느껴졌던 거 같다.아무튼 mlfqs 들어가기 전에 priority도 가볍게 정리하고 마무리 해야겠
Main Goal: Multi Level Feedback Queue 스케줄러 구현priority scheduler는 priority에만 의존하기 때문에 우선순위가 낮은 thread들은 cpu를 점유하기 어렵고, 이로 인해 평균 반응 시간이 커질 위험이 있다.우선순위 d
3주간 진행했던 핀토스 프로젝트 1,2를 마치고 3이 시작됐다.좀 더 미리 업로드 했어야 하는데 발제하는 날 새벽까지 과제를 붙잡고 있느라 회고가 늦어졌다.사실 작성하게 된 현재 시점까지도 완벽히 이해했다고는 할 수 없긴 하다.. (〃⌒▽⌒〃)ゝ프로젝트 2의 한마디
📍두 번째 과제, User Memory Access (유저 메모리 접근) 시스템 콜 기능을 구현하기 위해, 유저 가상 주소 공간에 데이터를 읽고 쓰기 위한 방법을 제공해야 한다. 인자를 받을 때는 이 방법이 필요하지 않지만, 시스템 콜의 인자로 들어온 포인터로부터
시스템 콜?: 사용자 모드 프로그램이 커널 기능을 사용할 수 있도록 하는 인터페이스로, 커널모드에서 실행되며 처리 후 사용자 모드로 복귀된다.현재 Pintos에는 시스템 콜 핸들러가 구현되어 있지 않아서 시스템 콜을 호출할 수 없으며, 응용 프로그램이 실행되지 않는다.
시스템 콜 종류에 따라 파일 관련 시스템 콜 & 프로세스 관련 시스템 콜 나누어서 정리하겠다.구현 목록: create, remove, open, filesize, read, write, seek, tell, closeparsing을 할 때와 마찬가지로, 파일을 다루는
📍프로세스 관련 시스템 콜 구현 프로세스 관련 시스템 콜을 구현하기 위해선 프로세스 계층 구조를 먼저 구현해야 한다. 🛠️ 프로세스 계층 구조 프로세스는 실행 도중 시스템 호출을 통해 다른 프로세스를 생성할 수 있다. 부모 프로세스: 새 프로세스를 생성한 프로세스
프로젝트3) Virtual Memory(1) - Mamory Management 현재까지 구현한 PintOS는 여러개의 스레드를 알맞게 동기화/핸들링할 수 있고, 여러 개의 유저 프로그램을 한 번에 로드할 수 있다. 그러나 돌릴 수 있는 프로그램의 개수와 사이즈는 메
📍 두 번째 과제, Anonymous Page 이번 파트에서는 Anonymous Page(non-disk based image)를 구현한다. > Anonymous Page? 🤔 익명 매핑에는 백업 파일이나 장치가 없다. file-backed page와 달리 이름이
먼저 page_fault() 함수를 보면 해당 함수는 page fault가 발생했을 때 제어권을 받아 처리하는 함수다.접근한 메모리에 물리 프레임이 존재하지 않을 경우 spt에서 인자로 받은 가상주소에 해당하는 페이지를 확인한다. 존재한다면 쓰기 가능한 페이지인지(wr
📍세 번째 과제, Stack Growth 프로젝트 2에서 스택은 USER_STACK에서 시작하는 단일 페이지였으며, 이 크기를 4KB로 제한해 실행했다. 이제 해당 파트에서는 스택이 현재 크기를 초과할 때 필요에 따라 추가 페이지를 할당하는 Stack Growth를
핀토스 정리를 다 끝내지 못 한 상태에서 나만무 주간이 시작되어 계속해서 작성을 미뤘다. 개인적인 욕심으로 핀토스만은 마지막까지 정리를 하고 싶었기 때문에 뜨문뜨문한 기억으로 정리를 마무리 지어보려고 한다ㅎ.. 거의 세 달이 되어가기 때문에 그 때만큼 자세하게 작성하진
이번엔 Unmapping 관련 내용을 다뤄볼건데, 기본 내용은 이전 게시글과 같다. 그러니 munmap syscall & do_munmap에 관해서만 다루겠다. 그렇다 해도 unmapping 관련해서 수정/구현해야 할 내용이 훨씬 많다ㅎ... munmap syscal