1 |
1
애플리케이션이 포그라운드(foreground) 애플리케이션인지 백그라운드(background) 애플리케이션인지 판별하는 단계;상기 애플리케이션이 상기 포그라운드 애플리케이션인 경우, 상기 애플리케이션이 CPU 위주(CPU-bound)의 애플리케이션인지 I/O 위주(I/O-bound)의 애플리케이션인지 판별하는 단계; 및상기 애플리케이션이 상기 포그라운드 애플리케이션이고 상기 I/O 위주의 애플리케이션인 경우 I/O 폴링(polling) 방식을 적용하고, 상기 애플리케이션이 상기 포그라운드 애플리케이션이고 상기 CPU 위주의 애플리케이션이거나, 또는 상기 백그라운드 애플리케이션인 경우 인터럽트(interrupt) 방식을 적용하는 단계를 포함하는, 적응형 I/O 완료 방법
|
2 |
2
제1항에 있어서,상기 애플리케이션이 CPU 위주의 애플리케이션인지 I/O 위주의 애플리케이션인지 판별하는 단계는 상기 애플리케이션의 태스크가 할당받은 타임 슬라이스(time slice)를 전부 소모하는지 여부를 판별하는 단계를 포함하는, 적응형 I/O 완료 방법
|
3 |
3
제2항에 있어서,상기 애플리케이션의 태스크가 할당받은 타임 슬라이스를 전부 소모하는지 여부를 판별하는 단계는상기 태스크에 cpu_bound 플래그를 추가하는 단계;상기 태스크가 상기 타임 슬라이스를 전부 소모하는 경우 카운트(count)를 증가시키고, 그렇지 않은 경우 상기 카운트를 감소시키는 단계; 및상기 카운트가 소정의 임계값을 초과하면 상기 애플리케이션이 포그라운드 애플리케이션인 것으로 판단하고, 상기 cpu_bound 플래그를 설정하는 단계를 포함하는, 적응형 I/O 완료 방법
|
4 |
4
제1항에 있어서,상기 I/O 폴링 방식을 적용하는 것은 폴링 플래그를 설정하는 것인, 적응형 I/O 완료 방법
|
5 |
5
제4항에 있어서,상기 폴링 플래그를 설정하는 것은 hipri 플래그를 설정하고, sysfs에서 저장장치의 io_poll 플래그를 설정하는 것인, 적응형 I/O 완료 방법
|
6 |
6
제1항에 있어서,상기 애플리케이션이 CPU 위주의 애플리케이션인지 I/O 위주의 애플리케이션인지 판별하는 단계는 상기 애플리케이션이 I/O 위주의 애플리케이션인 경우 상기 애플리케이션의 태스크에 io_bound 플래그를 설정하는 단계를 포함하는, 적응형 I/O 완료 방법
|
7 |
7
컴퓨터가 애플리케이션에 대한 적응형 I/O 완료 방법을 수행하도록 하기 위한 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 상기 컴퓨터가:상기 애플리케이션이 포그라운드(foreground) 애플리케이션인지 백그라운드(background) 애플리케이션인지 판별하도록 하고,상기 애플리케이션이 포그라운드 애플리케이션인 경우, 상기 애플리케이션이 CPU 위주(CPU-bound)의 애플리케이션인지 I/O 위주(I/O-bound)의 애플리케이션인지 판별하도록 하고, 그리고상기 애플리케이션이 포그라운드 애플리케이션이고 I/O 위주의 애플리케이션인 경우 I/O 폴링(polling) 방식을 적용하고, 상기 애플리케이션이 상기 포그라운드 애플리케이션이고 상기 CPU 위주의 애플리케이션이거나, 또는 상기 백그라운드 애플리케이션인 경우 인터럽트(interrupt) 방식을 적용하도록 하는, 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램
|
8 |
8
제7항에 있어서,상기 애플리케이션이 CPU 위주의 애플리케이션인지 I/O 위주의 애플리케이션인지 판별하는 것은 상기 애플리케이션의 태스크가 할당받은 타임 슬라이스(time slice)를 전부 소모하는지 여부를 판별하는 것을 포함하는, 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램
|
9 |
9
제8항에 있어서,상기 애플리케이션의 태스크가 할당받은 타임 슬라이스를 전부 소모하는지 여부를 판별하는 것은상기 태스크에 cpu_bound 플래그를 추가하고,상기 태스크가 상기 타임 슬라이스를 전부 소모하는 경우 카운트(count)를 증가시키고, 그렇지 않은 경우 상기 카운트를 감소시키고, 그리고상기 카운트가 소정의 임계값을 초과하면 상기 애플리케이션이 포그라운드 애플리케이션인 것으로 판단하고, 상기 cpu_bound 플래그를 설정하는 것을 포함하는, 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램
|
10 |
10
제7항에 있어서,상기 I/O 폴링 방식을 적용하는 것은 폴링 플래그를 설정하는 것인, 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램
|
11 |
11
제10항에 있어서,상기 폴링 플래그를 설정하는 것은 hipri 플래그를 설정하고, sysfs에서 저장장치의 io_poll 플래그를 설정하는 것인, 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램
|
12 |
12
제7항에 있어서,상기 애플리케이션이 CPU 위주의 애플리케이션인지 I/O 위주의 애플리케이션인지 판별하는 것은 상기 애플리케이션이 I/O 위주의 애플리케이션인 경우 상기 애플리케이션의 태스크에 io_bound 플래그를 설정하는 것을 포함하는, 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램
|
13 |
13
컴퓨터가 애플리케이션에 대한 적응형 I/O 완료 방법을 수행하도록 하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능한 저장매체에 있어서, 상기 컴퓨터 프로그램은 상기 컴퓨터가:상기 애플리케이션이 포그라운드(foreground) 애플리케이션인지 백그라운드(background) 애플리케이션인지 판별하도록 하고,상기 애플리케이션이 포그라운드 애플리케이션인 경우, 상기 애플리케이션이 CPU 위주(CPU-bound)의 애플리케이션인지 I/O 위주(I/O-bound)의 애플리케이션인지 판별하도록 하고, 그리고상기 애플리케이션이 포그라운드 애플리케이션이고 I/O 위주의 애플리케이션인 경우 I/O 폴링(polling) 방식을 적용하고, 상기 애플리케이션이 상기 포그라운드 애플리케이션이고 상기 CPU 위주의 애플리케이션이거나, 또는 상기 백그라운드 애플리케이션인 경우 인터럽트(interrupt) 방식을 적용하도록 하는, 컴퓨터 판독 가능한 저장매체
|