1 |
1
적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치의 동작 방법으로서,임의의 파일의 읽기/쓰기(이하 'I/O'라고 호칭함) 요청을 입력받는 단계,상기 I/O 요청에 포함된 데이터 페이지를 포함하는 I/O 요청 노드를 구성하고, 상기 I/O 요청 노드를 인터벌 트리에 삽입하는 단계,상기 인터벌 트리를 조회하여, 상기 I/O 요청 노드에 포함된 데이터 페이지를 포함하는 I/O 요청 노드가 있는지 확인하는 단계,상기 I/O 요청 노드와 중복되는 범위의 I/O 요청 노드가 작업이 완료되어 삭제되면, 상기 I/O 요청에 포함된 데이터 페이지의 락을 획득하고 상기 I/O 요청을 수행하는 단계를 포함하고, 상기 인터벌 트리는 복수의 I/O 요청 노드들을 포함하고, 각 I/O 요청 노드는 I/O 요청 대상인 데이터 페이지의 포함 여부에 따라 자식 노드를 갖는, 동작 방법
|
2 |
2
제1항에서, 상기 확인하는 단계는, 상기 인터벌 트리의 왼쪽 하위부터 오른쪽 하위 방향으로 중위 순회(Inorder Traversal)하는, 동작 방법
|
3 |
3
제1항에서,상기 I/O 요청 노드는, 자식 노드들에 포함된 데이터 페이지 중 가장 큰 값인 상한값을 더 포함하는, 동작 방법
|
4 |
4
제3항에서,상기 확인하는 단계는,임의의 I/O 요청 노드에 포함된 상한값이 상기 I/O 요청 노드의 상한값보다 작으면 상기 임의의 I/O 요청 노드의 자식 노드들은 조회하지 않는, 동작 방법
|
5 |
5
제1항에서,상기 확인하는 단계는,상기 I/O 요청 노드에 포함된 데이터 페이지를 포함하는 I/O 요청 노드의 개수인 중복 요청 개수를 상기 I/O 요청 노드에 더 포함하는, 동작 방법
|
6 |
6
제5항에서,상기 수행하는 단계는, 상기 중복 요청 개수가 0이 되면 상기 I/O 요청을 수행하는, 동작 방법
|
7 |
7
제1항에서,상기 인터벌 트리는 DRAM(Dynamic Random Access Memory)에 저장되는, 동작 방법
|
8 |
8
적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치의 동작 방법으로서,파일을 구성하는 각 세그먼트의 사용 중인 정보를 세마포어(Semaphore)로 나타내어 관리하는 단계,상기 파일의 특정 세그먼트에 대한 읽기/쓰기 요청을 입력받는 단계,상기 특정 세그먼트에 대응된 세마포어 값을 확인하는 단계, 그리고상기 세마포어 값에 따라 상기 특정 세그먼트의 락을 획득하고, 상기 읽기/쓰기 요청을 수행하는 단계를 포함하는, 동작 방법
|
9 |
9
제8항에서,상기 관리하는 단계는,상기 세그먼트가 쓰기 연산을 수행 중이면 상기 세마포어 값에 포함된 특정 비트값을 1로 설정하고, 읽기 연산을 수행 중이면 상기 세마포어 값에 1을 더하고, 쓰기 또는 읽기 연산을 수행 중이 아니면 상기 세마포어 값을 0으로 설정하는, 동작 방법
|
10 |
10
제9항에서,상기 수행하는 단계는,상기 세마포어 값이 0이면, 상기 특정 비트값을 1로 설정하고 상기 세그먼트의 쓰기 락을 획득하고,상기 특정 비트값이 0이면, 상기 세마포어 값을 1을 더하고 상기 세그먼트의 읽기 락을 획득하는, 동작 방법
|
11 |
11
제8항에서,상기 세그먼트는, 상기 파일에 포함된 데이터 페이지들의 모음인, 동작 방법
|
12 |
12
컴퓨팅 장치로서,메모리, 그리고상기 메모리에 로드된 프로그램의 명령들(instructions)을 실행하는 적어도 하나의 프로세서를 포함하고,상기 프로그램은임의의 파일의 읽기/쓰기(이하 ‘I/O’라고 호칭함) 요청을 입력받는 단계,상기 I/O 요청에 포함된 데이터 페이지가 임의의 스레드에 의해 사용 중인지 확인하는 단계, 그리고상기 임의의 스레드에 의한 사용이 완료되면, 상기 데이터 페이지의 락을 획득하고, 상기 I/O 요청을 수행하는 단계실행하도록 기술된 명령들을 포함하는, 컴퓨팅 장치
|
13 |
13
제12항에서,상기 확인하는 단계는,상기 I/O 요청에 포함된 데이터 페이지 정보를 노드로 구성한 인터벌 트리 또는 상기 I/O 요청에 포함된 데이터 페이지의 사용 현황을 I/O 세마포어(Semaphore) 값으로 표현한 세그먼트를 이용하는, 컴퓨팅 장치
|