카이스트 정글
-
정글 vs 나, 5개월의 회고.SW Jungle/daily 2024. 7. 30. 16:21
시작하며,정글에서 떠나는날 마지막으로 강의실에 남아정글에서 있었던 총 5개월을 회고하는 글을 작성하려고한다. 첫 정글처음 들어왔을땐 정신이 없었다. 알아서 방을 찾아가 짐을 풀고 강의실로 모여서 설명을 듣고 0주차 과제를 하는 스케줄이 휘몰아 쳤고, 공지로만 스케줄을 파악해야했기 때문이다. 뭔가 열심히 하려고 온건 맞는데, 정말 내가 뭘 얻고 싶어서 온건지는 딱 못정했었던것 같다. 오자마자 신기했던게 중학교 동창을 만나게 되었다. 사실 입소전 슬랙 프사 보고 서로 알고있었는데, 와서 보니 맞는거 같아서 우리는 바로 인사하고 서를 알아보고 금방 친해졌다. 기숙사도 옆방이고. 아무튼 동창 덕분에 정글 초반을 잘 버틸수 있었다. 왜냐하면 내 룸메는 일주일 늦게 오기로 해서 뭔가 쓸쓸했거든. 그리고 별거아닌 걸..
-
초안 발표Projects/나만의 무기 2024. 6. 14. 00:32
팀이 결성되었다.안태리, 정재혁, 남청우, 유흥국, 문건우 24시간 만에 2개의 초안을 만들어 최종발표처럼 발표를 하는 미션을 받았다.우리의 전략우선 밤 9시 까지 하나의 안건을 완성하기. 그 다음 두번째 안건 생각하기.이유: 하나의 주제에 몰입했을 때 집중이 더 잘되어서. 우선 하나를 만들면 두번째것은 아이디어만 내면 좀더 수월할거 같아서.KOVI"Keyword Out Voice In" 음성대화를 키워드로 기록해주는 서비스주제 선정 배경겪었던 문제팀 회의 중 어떤 키워드들을 언급했는지 기억하기 어려움회의의 흐름을 다시 파악하고 싶을 때가 자주 있음중간에 회의에 참여한 경우, 이전 대화 내용을 파악하기 어려움회의록 작성등 회의의 내용을 요약하고싶었을 때 다시 듣고 치느라 불편했던 경험.핵심 기능 설명프로..
-
PintOS Project 3 VM swap in/outSW Jungle/TIL 2024. 5. 28. 02:42
핀토스 프로젝트 3 의 마지막 구현 과제인 (cow 제외) swap in/out 구현에 대한 이야기를 작성 해보려고 한다.기초적인 swap in out 에 대한 이야기와 내가 구현한 방법과 어이없는 실수로 인한 디버깅을 이야기 해보겠다. Swap in / out 이 뭔데요???운영체제의 메모리 관리 기법중 하나이다. 당장 사용할 (페이지폴트나서 요청받은) 새로운 물리 메모리가 필요한데 이미 (사용자 영역의) 물리 메모리가 꽉차서 더이상 새로운 물리 메모리 프레임도 할당 받지 못 할 때 안쓰는 다른 프레임을 하드 디스크의 스왑 영역에 보내버리고 그 공간을 지금 쓰고싶은 페이지에게 주는 것이다. Swap in / out Flow메모리가 꽉 차서 frame 할당 받는 것에 실패한다.현재 물리 메모리에 올라가있..
-
PintOS's Memory StructorSW Jungle/TIL 2024. 5. 21. 19:58
이번글에서는 핀토스 VM 프로젝트를 진행하며 공부하게된 페이징 기법과 핀토스의 메모리 구조에 대해 글을 써보려고한다. 더보기목차프레임 과 페이지페이징핀토스에서의 주소 변환핀토스의 메모리 구조프레임과 페이지프레임(frame): 물리 메모리를 일정한 크기로 나눈 블록이다. 페이지(page): 가상 메모리를 일정한 크기로 나눈 블록이다. 프레임과 페이지의 크기는 동일한 크기를 가지며 이 일정한 크기는 페이지 크기이다.일정한 크기 == 페이지 크기(사이즈) == 2^12 == 4096 주소 하나당 1byte의 크기를 저장 할 수 있다. 따라서, 4096개의 주소 * 1byte = 4kB 이므로, 페이지 하나는 4kB의 크기를 가진다. 페이지나 프레임이나 4096개의 연속된 행이 있는 리스트 라고 보았을 때 4..
-
Pintos 디버그 세팅하기Archive/Tips 2024. 4. 26. 14:58
pintos kaist 프로젝트를 시작하게 되었다. 디버깅에 관한 팁을 적고자한다.pintos kaist 공식 문서에서 제공하는 디버깅 방법중 하나인 gdb 사용 법을 우선 적어보고자 한다.편하게 디버깅 툴을 쓰던 것과 달리 꽤나 원시적이라고 느껴서 이를 원시인 방법이라고 적겠다 🙉🙉원시인 디버깅1. gdb 가 설치되어있는가?우선 실행 환경에 gdb를 설치할것커널에gdb를 쳐서 설치되었는지 확인해보고 없다면sudo apt install gdb로 설치 2. pintos 실행핀토스를 실행할때 여러 옵션을 주고 실행할 수 있는 것을 아는가? pintos.c 를 까보아도 되고 pintos -h 를 실행해도 된다.--gdb 옵션을 pintos 명령어 다음에 인자로 주면 디버깅 을 할수있다.추가 tip`--` ..