전체 글

개발 좋아하는 PM 입니다.
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() : 읽은 바이트의 크기를 ..
해당 내용은 정확하지 않을 수 있습니다. 귀한 시간 내주시어 지적해 주시면 감사드리겠습니다. Malloc 함수란? C에서 메모리를 동적으로 할당 하기위한 함수이다. 사용을 위해선 stdlib.h 헤더를 include 해야 사용할 수 있다. 왜 메모리를 동적으로 할당할 일이 생길까? 기존에 Python만을 사용하던 나에겐 이해가 되지 않는 부분중 하나였다. C에서는 컴파일과정이 필요하고 이로 인해 컴파일 후 runtime이라는 부분이 생긴다. 이렇게 되면 문제가 몇가지 생긴다. - 컴파일을 하면서 '난 변수에서 이 정도 메모리를 쓸 거고, 리스트로 이 정도 메모리 쓸 거야' 하는 정보가 실행파일 정보에 담긴다. - 하지만 프로그램이라는게, 유동적인 구조들이 필요할 경우가 당연히 생긴다. - 예를들어 리스트..
Hong-Kyu
PM의 기획 개발 IT