본문 바로가기

네트워크 프로그래밍

[2009/06/27] 프로세스 기반의 다중접속 서버의 구현. 1. 프로세스 기반 다중 접속 서버의 구현 모델 - 새로운 연결 요청을 수락 할 때마다 프로세스의 생성. 2. 파일 디스크립터의 복사 - 하나의 소켓(파일)에 대한 파일 디스크립터가 둘 이상 존재한느 경우, 모든 파일 디스크립터를 종료 해 줘야 해당 소켓(파일)이 종료 된다. 3. TCP 입출력 루틴의 분할. - 입력과 출력을 실행하는 루틴을 분리한다. 4. TCP 입출력 루틴의 분할의 이점. - 입력과 출력이 독립적이다. 더보기
[2009/06/24] 시그널 핸들링과 좀비 프로세스 1. 시그널(Signal) 핸들링 - 시그널이란? 1) 시스템 내의 특정상황 발생을 알리기 위해서 커널이 전달하는 신호. - 시그널 핸들러 1) 적절한 처리를 해 주는 함수. - 시그널 핸들링 1) 시그널이 발생 함에 따라 이에 대한 적절한 처리를 해 주는 것. 2. 시그널(Signal)의 종류 3. signal 함수를 이용한 시그널 핸들링 - signal 함수 1) 시그널과 시그널 핸들러를 연결해 주는 기능을 한다. #include void (*signal(int signum, void(*func)(int)))(int); 3. sigaction 함수를 이용한 시그널 핸들링 - sigaction 함수 1) 시그널과 시그널 핸들러를 연결해 주는 기능을 한다. #include int sigaction(int.. 더보기
[2009/06/24] 프로세스 & 좀비 프로세스 1. 좀비 프로세스(zombie process) - 좀비 프로세스란? 1) 프로세스 종료 후 메모리상에서 사라지지 않는 프로세스 - 좀비 프로세스의 생성 이유 1) 자식 프로세스는 부모 프로세스에게 실행 결과에 대한 값을 반환해야 한다. 2. 좀비 프로세스의 소멸1 - 소멸 방법 1) 부모 프로세스에서 자식 프로세스의 반환 값을 요구한다. - wait 함수의 사용 1) 장점 : 사용하기 간단하다. 2) 단점 : 무한 대기 상태에 빠질 수 있다. #include #include pid_t wait(int *status) 3. 좀비 프로세스의 소멸2 - 소멸 방법 1) 부모 프로세스에서 자식 프로세스의 반환 값을 요구한다. - waitpid 함수의 사용 1) wait 함수가 지니고 있는 무한 대기 상태의 문.. 더보기
[2009/06/23] fork 함수에 의한 프로세스의 생성 1. fork 함수 호출을 통한 프로세스의 생성 - fork 함수 호출을 통한 프로세스의 생성은 복사에 의한 생성이다. #include #include pid_t fork(void); 더보기
[2009/06/23] 멀티태스킹을 위한 프로세스의 이해 1. 다중 접속 서버의 구현 방법들 - 프로세스 생성을 통한 멀티태스킹(Multitasking) 서버의 구현. - select 함수에 의한 멀티플렉싱(Multiplexing) 서버의 구현. - 쓰레드를 기반으로 하는 멀티쓰레딩(Multithreading) 서버의 구현. 2. 프로세스에 대한 이해 - 프로세스란 실행되고 있는 프로그램의 기본 단위이다. - 생성된 프로세스는 운영체제의 의해 할당된 고유한 ID를 지닌다. - 하나의 프로그램 내에서 여러 개의 프로세스가 동시에 실행 될 수 있다. 더보기