전체 글47 [CPP] 소켓 통신 채팅 서버 만들기 소켓 채팅 구현에 관심이 생겨 여러가지 검색을 해본 후 CPP와 window를 사용해 구현해보기로 결정했다! 우선 역시 코드를 짜기로 마음 먹었으니 git에 repository 부터 만들고 시작했다. cpp를 학교에서 수업을 듣고 난 뒤 시간이 좀 지났지만 42서울에서 꾸준히 C를 해오기도 했고 요즘 프로젝트를 하면서 oop에 대해서도 어느정도 감을 잃지 않고 있다고 생각해서 두려움은 없었는데 문제는 소켓 프로그램이 감이 안잡혔다 ㅠㅠ 그래서 우선 gpt를 통해서 감을 잡기로 했다! TCP/IP 소켓 채팅 서버를 데이터베이스, 로그인 서비스, 다중 사용자 환경을 지원하는 형태로 구축하는 작업을 C++을 사용하여 고성능 서버로 시작하는 튜토리얼을 계획해보겠습니다. 이 튜토리얼은 한 주 내에 완료할 수 있도.. 2024. 3. 18. 가상 메모리 (페이징) [혼공컴구] 가상 메모리 - 실행하고자 하는 프로그램을 일부만 메모리에 적재하여 실제 물리 메모리 크기보다 더 큰 프로세스를 실행할 수 있게 하는 기술 페이징 - 메모리와 프로세스를 일정한 단위로 자르고, 이를 메모리에 불연속적으로 할당하는 방법 - 프로세스의 논리 주소 공간을 페이지라는 일정한 단위로 자르고, 메모리 물리 주소 공간을 프레임이라는 페이지와 동일한 크기의 일정한 단위로 자른 뒤 프레지를 프레임에 할당하는 가상 메모리 기법 - 프로세스 전체를 스와핑하는 것이 아닌 페이지 단위로 스왑 - 스왑 인 -> 페이지 인 - 스왑 아웃 -> 페이지 아웃 - 프로세스를 이루는 페이지 중 실행에 필요한 일부 페이지만을 메모리에 적재하고, 당장 실행에 필요하지 않은 페이지들은 보조기억장치에 남겨둠 페이지 테이블 - 프.. 2024. 1. 31. 메모리 스와핑 [혼공컴구] 스와핑 - 대기 상태이거나, 오래 사용하지 않은 프로세스글을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리 상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식 - 스왑 영역 - 프로세스들이 쫓겨나는 보조기억장치의 일부 영역 - 스왑 아웃 - 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것 - 스왑 인 - 스왑 영역에 있던 프로세스가 다시 메모리로 돌아오는 것 - 스와핑을 이용하면 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 프로세스들을 동시에 실행 가능 메모리 할당 - 최초 적합 - 메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식 - 프로세스가 적재될 수 있는 공간을 발견하는 .. 2024. 1. 31. 프로세스 동기화 [혼공컴구] 프로세스 동기화 - 프로세스들 사이의 수행시기를 맞추는 것 - 동기화 방법 - 실행 순서 제어 - 프로세스를 올바른 순서대로 실행하기 - 상호 배제 - 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기 - 실행 순서 제어를 위한 동기화 - 동시에 실행되는 프로세스를 올바른 순서대로 실행하는 것 - 예시) - Read 프로세스, Write 프로세스와 같이 읽고 쓰기 순서가 중요한 프로세스는 순서 동기화가 잘 되어야함 - Read 프로세스는 특정 위치에 값이 존재한다는 조건 하에 실행을 이어나갈 수 있으므로 동시에 실행되는 Write 프로세스의 순서가 잘 제어되야 함 - 상호 배제 - 공유가 불가능한 자원의 동시 사용을 피하기 위해 사용하는 알고리즘 - 동시에 접근해서는 안되는 자원에 동시에.. 2024. 1. 18. 이전 1 2 3 4 5 6 7 8 ··· 12 다음