Develop/SW사관학교 정글5기

PintOS의 꽃? Virtual Memory 이번엔 Virtual Memory를 직접 만들어 메모리 할당을 Layz 하게 해야 했다. 알아야 할 개념이 한두개가 아니었다. 보조 페이지(SPT), 물리 메모리, 디스크, swap in/out, 프레임 등등... 그래도 과제는 끝까지 해내긴 하였으나, 정확히 이해 하였다고는 말하지 못할 듯하다. 힘들었던 점들과 어떻게 극복 하려 했는지에 대해 정리하겠다. 1. 많은 이론에 대한 공부 부담 - 난 공부 속도가 빠른편이 아니다. 그래서 많은 양은 부담이 더 크게 되었다. - 파트를 총 5파트로 나눴다. 그리고 그 안에서도 주제별로 나눴다. 그리고 하나씩 보면서 밟아갔다. - 특히 CSAPP를 꾸준히 읽었던 것이 아주 도움이 되었다. 2. 수학적 계산들에 대한 ..
https://therapeutic-scallion-56a.notion.site/WEEK_10-13_Pintos_Project3_Virtual-Memory-f501353e2e18405186fbc475bd42ab39
꼭지 남기기 말이 좀 이상하게 보일 수 있으나 결론은 회고록을 안 쓴 지 오래되어 정글 기간 동안의 나의 변화점을 기록하려고 한다. (Notion이라는 정리하기 아주 좋은 플랫폼을 발견하여 그곳에 계속 적으로 정리 중이다.) https://therapeutic-scallion-56a.notion.site/SW_Jungle-458 f012 a 5 adb4 a 38 b 5 f64 f2 da60 ee56 f SW_Jungle A new tool for teams & individuals that blends everyday work apps into one. therapeutic-scallion-56a.notion.site WEEK04까지 했던 알고리즘 개인적으론 가장 힘든 시간이었다. (솔직히 지금 Pint..
https://therapeutic-scallion-56a.notion.site/WEEK_09_Pintos_Project2_User-Program-bd47f914f8ce485cb757c3e65edc2ab3
1. PintOS 동기화에 관한 주요 용어 정리 1) 스레드(Thread) 프로세스 ‘내’에서 실행되는 흐름의 ‘단위’를 말한다. 멀티 스레드(multi_thread) : 프로세스 내에는 최소 한개 이상의 스레드가 실행 될 수 있다. 아주 큰 장점으로는 하나의 프로세스에서는 여러 스레드가 자원(메모리)를 공유하게 된다. 💡 멀티 프로세스와의 차이점으로는 각각의 프로세스는 자원을 공유할 수 없다. 2) 인터럽트의 비활성화(Disabling Interrupts) 커널의 스케쥴링 방식에 따라 CPU 사용을 선점 당할 수 있는지의 여부가 달라진다. PintOS는 커널 스레드가 언제든지 선점 당할 수 있는 Preempible kernel(선점형 커널)이다. interrupt를 비활성화 하는 것만으로도 Synchr..
해당 내용은 정확하지 않아 개발 공부에 도움이 되지 않습니다. 귀한 시간 내주시어 지적해 주시면 감사 드리겠습니다. 1. Tiny서버 1) CGI - 서버와 어플리케이션 간에 데이터를 주고 받는 방식, 또는 컨벤션 2) 소켓 - 데이터를 보내거나 받을때 창구 역할을 한다. - 데이터 송신의 Abstraction 3) 라우팅과 라우트 - 라우트는 경로, 라우팅은 그 경로를 찾아가기 위한 과정 4) Tiny 서버에서 사용되는 함수 정리 - strlen() : 문자열 길이를 반환한다. - open() : std input, std output, std err 파일을 기본적으로 열어 줄 수 있다. - close() : file descriptor(fd)를 받아 닫는다. - Read() : 읽은 바이트의 크기를 ..
Hong-Kyu
'Develop/SW사관학교 정글5기' 카테고리의 글 목록