1 |
1
멀티코어 운영체제를 위한 스핀락 장치의 스핀락 방법으로, 스핀락하고자 하는 객체가 이미 삭제되었는지 여부를 확인하기 위하여 상기 객체의 유효성을 검사하는 단계; 상기 객체의 유효성 검사에 의해 상기 객체가 유효한 것으로 판단되면, 상기 객체의 스핀락을 시도하는 단계; 및상기 객체에 대한 상기 스핀락이 성공하면, 상기 객체에 관한 처리를 수행하기 위한 적어도 하나의 동작이 정의된 임계 영역을 수행하는 단계를 포함하는 것을 특징으로 하는 스핀락 방법
|
2 |
2
제1항에 있어서, 상기 객체의 유효성 검사에 의해 상기 객체가 무효한 것으로 판단되면, 상기 객체의 무효를 통보하는 단계; 및상기 객체의 스핀락 동작을 종료하는 단계를 더 포함하는 것을 특징으로 하는 스핀락 방법
|
3 |
3
제1항에 있어서, 상기 스핀락을 시도하는 단계는, 상기 객체 내에 정의된 잠금 변수를 획득하는 단계; 및상기 잠금 변수의 값을 기초로, 상기 스핀락이 성공하였는지, 실패하였는지 또는 상기 객체가 이미 삭제되었는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 스핀락 방법
|
4 |
4
제3항에 있어서, 상기 잠금 변수의 값에 따라 상기 객체에 대한 상기 스핀락이 실패한 것으로 판단되면, 상기 스핀락이 성공할 때까지 상기 객체의 스핀락의 시도를 반복적으로 수행하는 단계를 더 포함하는 것을 특징으로 하는 스핀락 방법
|
5 |
5
제3항에 있어서, 상기 잠금 변수의 값에 따라 상기 객체가 이미 삭제된 것으로 판단되면, 상기 객체의 무효를 통보하는 단계; 및 상기 객체의 스핀락 동작을 종료하는 단계를 더 포함하는 것을 특징으로 하는 스핀락 방법
|
6 |
6
제3항에 있어서, 상기 잠금 변수의 값을 기초로, 상기 스핀락이 성공하였는지, 실패하였는지 또는 상기 객체가 이미 삭제되었는지 여부를 판단하는 단계는,상기 잠금 변수의 값이 0이면, 상기 스핀락이 성공한 것으로, 상기 잠금 변수의 값이 1이면, 상기 스핀락이 실패한 것으로, 상기 잠금 변수의 값이 2이면, 상기 객체가 이미 삭제된 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 스핀락 방법
|
7 |
7
제1항에 있어서, 상기 스핀락이 성공하고, 상기 객체를 삭제하는 경우, 상기 객체를 무효화하는 단계;상기 객체의 무효화가 완료된 후, 상기 객체에 대한 스핀락을 해제하는 단계; 및 상기 객체를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 스핀락 방법
|
8 |
8
제7항에 있어서, 상기 스핀락을 해제하는 단계는, 상기 객체가 삭제되었음을 지시하는 값으로 상기 객체에 대한 잠금 변수를 설정하는 단계를 포함하는 것을 특징으로 하는 스핀락 방법
|
9 |
9
제7항에 있어서, 상기 스핀락을 해제하는 단계는, 상기 스핀락이 삭제되지 않은 경우, 상기 객체에 대한 잠금 변수를 0으로 설정하고, 상기 스핀락이 삭제된 경우, 상기 객체에 대한 잠금 변수를 2로 설정하는 특수 잠금 해제 함수를 실행하는 단계를 포함하는 것을 특징으로 하는 스핀락 방법
|
10 |
10
제1항에 있어서, 상기 임계 영역을 수행하는 단계 이전에,상기 객체의 유효성을 재검사하는 단계를 더 포함하는 것을 특징으로 하는 스핀락 방법
|
11 |
11
멀티코어 운영체제로 동작하는 스핀락 장치로,적어도 하나의 객체를 저장하는 저장부; 및복수의 코어 중 임의의 코어에 의해 스핀락 동작이 수행되는 경우, 스핀락하고자 하는 객체가 이미 삭제되었는지 여부를 확인하기 위하여 상기 객체의 유효성을 검사하고, 상기 객체의 유효성 검사에 의해 상기 객체가 유효한 것으로 판단되면, 상기 객체의 스핀락을 시도하고, 상기 객체에 대한 상기 스핀락이 성공하면, 상기 객체에 관한 처리를 수행하기 위한 적어도 하나의 동작이 정의된 임계 영역을 수행하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 스핀락 장치
|
12 |
12
제11항에 있어서, 상기 제어부는, 상기 객체의 유효성 검사에 의해 상기 객체가 무효한 것으로 판단되면, 상기 객체의 무효를 통보하고, 상기 임의의 코어에 대한 상기 스핀락 동작을 종료하도록 제어하는 것을 특징으로 하는 스핀락 장치
|
13 |
13
제11항에 있어서, 상기 제어부는, 상기 객체 내에 정의된 잠금 변수를 획득하고, 상기 잠금 변수의 값을 기초로, 상기 스핀락이 성공하였는지, 실패하였는지 또는 상기 객체가 이미 삭제되었는지 여부를 판단하도록 제어하는 것을 특징으로 하는 스핀락 장치
|
14 |
14
제13항에 있어서, 상기 제어부는, 상기 잠금 변수의 값에 따라 상기 객체에 대한 상기 스핀락이 실패한 것으로 판단되면, 상기 스핀락이 성공할 때까지 상기 객체의 스핀락의 시도를 반복적으로 수행하도록 제어하는 것을 특징으로 하는 스핀락 장치
|
15 |
15
제13항에 있어서, 상기 제어부는, 상기 잠금 변수의 값에 따라 상기 객체가 이미 삭제된 것으로 판단되면, 상기 객체의 무효를 통보하고, 상기 임의의 코어에 대한 상기 스핀락 동작을 종료하도록 제어하는 것을 특징으로 하는 스핀락 장치
|
16 |
16
제13항에 있어서, 상기 제어부는, 상기 잠금 변수의 값이 0이면, 상기 스핀락이 성공한 것으로, 상기 잠금 변수의 값이 1이면, 상기 스핀락이 실패한 것으로, 상기 잠금 변수의 값이 2이면, 상기 객체가 이미 삭제된 것으로 판단하도록 제어하는 것을 특징으로 하는 스핀락 장치
|
17 |
17
제11항에 있어서, 상기 제어부는,상기 스핀락이 성공하고, 상기 객체를 삭제하는 경우, 상기 객체를 무효화하고, 상기 객체의 무효화가 완료된 후, 상기 객체에 대한 스핀락을 해제하고, 상기 객체를 삭제하도록 제어하는 것을 특징으로 하는 스핀락 장치
|
18 |
18
제17항에 있어서, 상기 제어부는,상기 객체가 삭제되었음을 지시하는 값으로 상기 객체에 대한 잠금 변수를 설정하도록 제어하는 것을 특징으로 하는 스핀락 장치
|
19 |
19
제17항에 있어서, 상기 제어부는, 상기 스핀락이 삭제되지 않은 경우, 상기 객체에 대한 잠금 변수를 0으로 설정하고, 상기 스핀락이 삭제된 경우, 상기 객체에 대한 잠금 변수를 2로 설정하는 특수 잠금 해제 함수를 실행하도록 제어하는 것을 특징으로 하는 스핀락 장치
|
20 |
20
제11항에 있어서, 상기 제어부는, 상기 임계 영역을 수행하기 이전에, 상기 객체의 유효성을 재검사하도록 제어하는 것을 특징으로 하는 스핀락 장치
|