1 |
1
통신 시스템에서 송수신 데이터를 저장하기 위한 버퍼의 저장 공간을 생성하고 해제하는 버퍼 관리 방법에서, 물리적 메모리 영역에 존재하는 디스크립터 풀(descriptor pool)과 메모리 블록 풀(memory block pool)로서, 다수의 디스크립터(descriptor)를 상기 디스크립터 풀에 미리 할당하고, 다수의 메모리 블록을 상기 메모리 블록 풀에 미리 할당하는 단계;상기 디스크립터 풀로부터 하나의 디스크립터를 할당받고, 상기 메모리 블록 풀로부터 일정 개수의 메모리 블록들을 할당받는 단계; 및상기 하나의 디스크립터와 상기 일정 개수의 메모리 블록들을 링크드 리스트 구조(linked list structure)로 연결하는 방식으로 상기 버퍼의 저장 공간을 생성하는 단계를 포함하는 버퍼 관리 방법
|
2 |
2
제1항에서,상기 일정 개수의 메모리 블록들을 할당받는 단계는,하나의 메모리 블록이 저장할 수 있는 공간의 크기와 상기 송수신 데이터의 크기에 따라 상기 메모리 블록의 일정 개수를 가변적으로 계산하는 단계; 및상기 메모리 블록 풀로부터 상기 가변적으로 계산된 상기 일정 개수의 메모리 블록들을 할당받는 단계;를 포함하는 버퍼 관리 방법
|
3 |
3
제1항에서, 상기 일정 개수의 메모리 블록들을 할당받는 단계는,아래의 수학식 1에 따라 상기 송수신 데이터의 크기에 적합한 상기 일정 개수를 계산하는 단계를 포함하고,상기 수학식 1은,여기서, BlockCount는 최종 계산값인 메모리 블록의 일정 개수로서, 정수값이며, DataSize는 송수신 데이터의 실제크기, BlockSize는 메모리 블록의 저장 공간의 크기인 것인 버퍼 관리 방법
|
4 |
4
제1항에서, 상기 버퍼의 저장 공간을 해제하는 단계를 더 포함하고,상기 하나의 디스크립터에 링크드 리스트 구조(linked list structure)로 연결된 첫 번째 메모리블록에서부터 마지막 메모리블록까지 순차적으로 주소 링크를 따라가면서 각 메모리 블록을 상기 메모리 블록 풀에 모두 반납하는 단계; 및각 메모리 블록의 반납이 완료되면, 상기 하나의 디스크립터를 디스크립터 풀에 반납하여, 상기 버퍼의 저장 공간을 해제하는 단계를 포함하는 버퍼 관리 방법
|
5 |
5
송수신 데이터를 저장하기 위한 버퍼의 저장 공간을 생성하고 해제하는 통신 시스템에서,다수의 디스크립터를 포함하는 디스크립터 풀(descriptor pool)과 다수의 메모리 블록을 포함하는 메모리 블록 풀(memory block pool)이 존재하는 물리적 메모리 영역을 갖는 메모리; 및 상기 디스크립터 풀로부터 하나의 디스크립터를 할당받고, 상기 메모리 블록 풀로부터 일정 개수의 메모리 블록들을 할당받고, 상기 하나의 디스크립터와 상기 일정 개수의 메모리 블록들을 링크드 리스트 구조(linked list structure)로 연결하여, 상기 버퍼의 저장 공간을 생성하는 프로세서;를 포함하는 통신 시스템
|
6 |
6
제5항에서, 상기 프로세서는,하나의 메모리 블록이 저장할 수 있는 공간의 크기와 상기 송수신 데이터의 크기에 따라 상기 메모리 블록의 일정 개수를 계산하는 것인 통신 시스템
|
7 |
7
제5항에서, 상기 프로세서는,아래의 수학식 1에 따라 상기 송수신 데이터의 크기에 적합한 상기 일정 개수를 계산하고,상기 수학식 1은,이고,여기서, BlockCount는 최종 계산값인 메모리 블록의 일정 개수로서, 정수값이며, DataSize는 송수신 데이터의 실제크기, BlockSize는 메모리 블록의 저장 공간의 크기인 것인 통신 시스템
|
8 |
8
제5항에서, 상기 프로세서는,상기 하나의 디스크립터에 링크드 리스트 구조(linked list structure)로 연결된 첫 번째 메모리블록에서부터 마지막 메모리블록까지 순차적으로 주소 링크를 따라가면서 각 메모리 블록을 상기 메모리 블록 풀에 모두 반납한 후, 각 메모리 블록의 반납이 완료되면, 상기 하나의 디스크립터를 디스크립터 풀에 반납하여, 상기 버퍼의 저장 공간을 해제하는 것인 통신 시스템
|