Android는 스마트폰 시스템에서 사용되는 소프트웨어 플랫폼으로 JVM(Java Virtual Machine)을 기반으로 한다. JVM은 실시간성 지원을 고려하지 않은 기술이며 이를 기반으로 한 Android 또한 실시간성을 지원하기 위한 어떠한 방법도 가지고 있지 않다. 스마트폰 시스템을 통해 QoS를 보장하면서 멀티미디어 서비스를 제공하기 위해서는 JVM 기반의 시스템을 위한 실시간성 향상 기술이 필요하다. 본 연구에서는 기존의 안드로이드 시스템에 리눅스에서 제공하는 실시간 보장기능을 적용할 수 있도록 지원하는 크로스 레이어 구조를 제안한다. 이 구조를 통해 우리는 리눅스 커널에 존재하는 실시간 스케줄러를 사용하여 태스크가 실시간으로 실행될 수 있도록 지원한다. 또한 다양한 목적을 가진 어플리케이션이 공존하는 스마트폰 시스템에서 실시간성을 요구하는 어플리케이션에 대해 차별적으로 실시간성을 보장할 수 있다. 소프트 리얼타임 특성을 가지는 멀티미디어 태스크를 실시간 태스크로 실행하고 실제 스마트폰에서 실행시켰을 때 시스템에 높은 부하가 걸릴 때에도 합리적인 실시간 보장성을 얻을 수 있다. 음악을 재생한 실험에서는 1200개의 프로세스가 백그라운드 태스크로 실행되는 상황에서도 끊김을 느낄 수 없을 정도로 QoS를 보장성이 높은것을 확인 하였다. 본 연구에서 제안하는 실시간성 지원을 위한 크로스 레이어를 통해 스마트폰은 낮은 비용으로 기존의 어플리케이션을 변경하지 않으면서 실시간 특성을 지원할 수 있다.
대용량, 고속의 멀티미디어 서비스가 일반화됨에 따라 컨텐츠를 저장하는 서버의 저장 장치 또한 대용량화되고 있다. 그러나 서버를 구성하는 다른 하드웨어 구성 요소에 비해 상대적으로 느린 저장 장치의 입출력 속도와 물리적 또는 논리적인 오류는 시스템 전반의 성능을 저하시키는 원인이 되고 있다. 또한 컨텐츠의 지속적인 증가로 인한 유연한 확장성이 필요하게 되었다. 본 논문에서는 이러한 문제점을 해결하기 위해 소프트웨어 RAID 사용하여 저장 장치의 성능을 향상시키고 신뢰성을 높였으며, LVM을 사용하여 저장 장치에 확장성을 부여하였다. 리눅스 커널 2.4.x에서 제공하는 이러한 기능들을 사용하여 신뢰성과 확장성이 있는 저장 장치를 구현하고 성능을 평가하였다.
본 논문에서는 장시간 실행이 예상되는 결함 허용 프로세스를 위한 검사점 및 복구 도구를 제시한다. 제시한 도구의 기본 개념은 프로세스의 실행 상태를 주기적으로 저장함으로써 시스템 결항으로 인해 실행이 정지되었을 경우, 결함이 발생하기 전의 실행 상태를 복구하여 계속 실행시키는 것이다. 제시한 도구에서는 검사점 및 복구를 위하여 결함 허용 프로세스의 소스 코드를 수정할 필요가 없다. 이를 위하여 결함 허용 프로세스를 위한 파일명과 검사점 주기를 사용자가 직접 지정하도록 설계하고, 두 개의 시스템 호출(Save, recover)을 추가하였다. 마지막으로 제시한 기법의 타당성을 검토하기 위하여 리눅스 환경(커널 2.4.18)에서 구현하였다.
TMO (Tim-triggered Message-triggered Object) 는 분산환경에서의 정시보장 컴퓨팅을 목표로 제안된 실시간 객체 모델이다. TMO는 객체 자료저장소(object data store), 주기와 데드라인에 의해 구동되는 쓰레드와 이벤트 메시지 전달에 의해 데드라인 방식으로 구동되는 쓰레드로 구성된다. 이러한 TMO 의 수행을 위해, 윈도우 운영체제상의 WTMOS, 리눅스 상의 LTMOS 와 리눅스 커널 내부에서 TMO를 제공하기 위한 TMO-Linux등의 엔진들이 개발되었다. 이러한 엔진들은 서로 다른 플랫폼을 가진 네트워크 환경에서 논리적 멀티캐스트 채널 방식의 분산 IPC 를 기반으로 TMO 의 분산 컴퓨팅을 지원한다 단, 기존의 분산 IPC 는 UDP 기반의 브로드캐스트 방식을 사용하기 때문에 같은 서브 네트워크에 속한 노드들로만 분산 환경을 구축할 수 있고, 특정 채널을 사용하지 않는 노드에도 메시지를 전달하는 브로드캐스팅 오버혜드가 발생하며, UDP 의 특성에 기인한 신뢰성 저하의 문제를 갖고 있다 본 논문에서는 이러한 단점을 극복하기 위해, TMO 엔진의 분산 IPC 모델에 Channel Binding을 통한 그룹 커뮤니케이션 기법을 도입하고 이를 TCP 기반으로 확장하였다.
병렬 클러스터 컴퓨팅 시스템에서는 노드간의 효율적인 통신이 시스템의 전체 성능을 좌우하는 중요한 요소로 인식되어 왔다. 따라서 지금까지의 많은 연구들은 노드간 통신(inter-node communication)의 성능 향상에 초점을 맞췄다. 하지만 최근 등장한 멀티 코어 프로세서(multi-core processor)는 노드간 통신 외에도 노드내 통신(intra-node communication)의 중요성을 크게 부각시키고 있다. 이와 같이 그 중요성이 점점 더 증가하고 있는 노드내 통신의 성능을 향상시키기 위해서 여러 가지 노드내 통신향상 기법들이 제안되어 왔다. 본 논문에서는 운영체제 커널의 도움으로 노드내 통신 시 발생하는 데이터 복사를 최소화하는 기법을 제안한다. 제안된 기법은 프로세스의 통신 버퍼를 상대 프로세스의 메모리 영역에 매핑하여 데이타 복사가 한번만 발생하도록 한다. 특히 제안된 기법은 리눅스 커널 버전 2.6을 위해서 설계된다. 성능 측정은 멀티 코어 프로세서를 장착한 시스템에서 이루어 졌으며, 기존 구현과 비교하여 본 논문에서 구현된 커널 모듈이 중간 및 작은 데이타 크기에 대해서 지연시간과 처리율을 각각 최대 62%와 144% 향상시킴을 보인다. 또한 프로세스가 수행되는 코어의 위치에 따라서 다른 성능을 보일 수 있음을 보인다.
플래시 메모리의 성능평가 실험 환경 구성은 플래시 메모리가 장착된 제품들이 동작하는 시스템으로 이뤄진다. 이와 같은 방법은 물리적이고 비용적인 제약이 따르게 된다. 또한 실험에 쓰이는 입력 데이터와 FTL 알고리즘의 성능평가를 위한 결과 데이터인 트레이스의 추출 방법이 까다롭고 힘들다. Oracle의 경우 트레이스 추출이 불가능하고, MySQL, SQLite는 트레이스 추출이 가능하더라도 결과의 정확성이 보장되지 않는 문제점이 있다. 따라서 본 논문에서는 디바이스 드라이버를 통해 물리적 제약을 없애고 트레이스 추출을 쉽고 간편하게 하여 정확한 실험 결과 분석이 용이하도록 FTL 에뮬레이터를 설계하고 구현한 내용에 대해 다룬다. 본 논문에서 제안한 FTL 에뮬레이터인 FlaSim은 플래시 메모리의 데이터 저장 메커니즘과 동일한 동작을 하도록 구현하고 리눅스 커널 모듈을 사용하여 필요한 기능을 추가할 수 있다. FlaSim은 모듈 적재 방식을 사용하기 때문에 FTL 알고리즘 및 플래시 메모리에 대한 실험의 확장성을 향상시킨다. 또한 다양한 응용프로그램에 적용이 쉽고, 플래시 메모리에 대한 실험의 제약이 되는 물리적인 비용을 줄일 수 있다. 게다가 트레이스 추출하는 데 쉽고 효율적인 방법을 제공하여 결과 도출 및 분석 시 시간적, 시스템적 제약을 받지 않아 효율성이 큰 장점이 있다. 추후 많은 FTL 알고리즘 및 플래시 메모리에 대한 실험과 연구에 도움이 될 것으로 예상된다.
전 세계적으로 큰 피해를 주는 웜을 탐지하고 필터링 하는 것은 인터넷 보안에서 큰 이슈중의 하나이다. 웜을 탐지하는 하나의 방법으로서 리눅스 넷필터 커널 모듈이 사용된다. 웜을 탐지하는 기본 동작으로서 스트링 매칭은 네트웍 상으로 들어오는 패킷을 미리 정의된 웜 시그니쳐(Signature, 패턴)와 비교하는 것이다. 웜은 하나의 패킷 혹은 2개(혹은 그 이상의) 연속된 패킷에 나타난다. 이때, 웜의 일부분은 첫 번째 패킷에 있고 나머지 부분은 연속된 패킷 안에 있다. 웜 패턴의 최대 길이가 1024 바이트를 넘지 않는다고 가정하면, 2048 바이트의 길이를 가지는 2개의 연속된 패킷에 대해서 스트링 매칭을 수행해야만 한다. 이렇게 하기 위해, 리눅스 넷필터는 버퍼에 이전 패킷을 저장하고 버퍼링된 패킷과 현재의 패킷을 조합한 2048 바이트 크기의 스트링에 대해 매칭을 수행한다. 웜 탐지 시스템에서 다루어야 하는 동시 연결 개수의 수가 늘어날수록 버퍼(메모리)의 총 크기가 증가하고 스트링 매칭 속도가 감소하게 된다. 이에 본 논문에서는 메모리 버퍼 크기를 줄이고 스트링 매칭의 속도를 증가시키는 버퍼를 이용하지 않는 스트링 매칭 방식을 제안한다. 제안된 방식은 이전 패킷과 시그니쳐(Signature)의 부분 매칭 결과만을 저장하고 이전 패킷을 버퍼링하지 않는다. 부분 매칭 정보는 연속된 패킷에서 웜을 탐지하는데 사용된다. 제안된 방식은 리눅스 넷필터 모듈을 수정하여 구현하였고, 기존 리눅스 넷필터 모듈과 비교하였다. 실험 결과는 기존 방식에 비해 25%의 적은 메모리 사용량 및 54%의 속도 향상을 가짐을 확인하였다.
압축파일시스템은 비용효율성을 높이기 위해 모바일 장치 개발에 자주 사용된다. 그러나 압축파일시스템은 비압축파일시스템에 비해 읽기 성능이 떨어진다는 단점이 있다. 압축파일시스템의 읽기성능저하의 원인 중 하나는 커널 의 미리읽기 기법이다. 주된 이유는 압축파일시스템의 압축해제 오버헤드로 인해 미리읽기 미스패널티가 너무 크기 때문이다. 이 문제를 해결하기 위해 본 논문에서는 커널의 미리읽기 기법을 고려한 압축파일시스템의 읽기기법을 제안한다. 제안된 기법은 bulk read를 통해 저장장치의 성능을 향상시키는 동시에 선택적 압축해제를 통해 압축파일 시스템의 압축해제 오버헤드를 줄인다. 우리는 리눅스 기반 시스템에서 널리 사용되는 압축파일시스템인 CramFS를 수정하여 제안된 기법을 구현하였으며 성능측정 실험을 통해 제안된 기법이 압축파일시스템의 메이저 페이지 폴트 처리 시간을 약 28%까지 단축시킬 수 있음을 보였다.
최근 들어 ARM 구조에서 가상화를 구현하기 위해 다양한 연구들이 진행되었다. 현재의 ARM 구조는 전통적인 에뮬레이션 방법인 "trap-and-emulation"으로 가상화 할 수 없기 때문에, 게스트 커널 수행 시간에 가상화 민감 명령어를 탐지하여, 이를 직접 수행하는 대신 가상화 에뮬레이션 한다. 일반적으로 가상화 에뮬레이션은 이진 변환 또는 인터프리테이션 방법으로 구현한다. 본 연구는 인터프리테이션 방법을 기반으로 하는 가상화 에뮬레이션의 성능 향상에 관한 것이다. 인터프리테이션은 명령어 페치, 명령어 디코딩, 그리고 명령어 수행의 단계로 이루어진다. 본 논문에서는 게스트 커널의 컴파일 시간에 모든 가상화 민감 명령어를 디코딩하여, 게스트 커널의 수행 시간에 인터프리테이션 시간을 줄이는 방법을 제안한다. 본 연구의 방법은 인터프리테이션 기반의 가상화 방법에서 에뮬레이션 코드를 간단하게 하고, 에뮬레이션 성능을 향상시킨다.
기존의 운영체제에서 암호화 및 복호화는 응용 프로그램 수준에서 사용자가 지정한 파일을 암호화 키 및 복호화 키를 입력하여, 파일 단위로 일괄적으로 전체를 암호화하고 복호화하는 방식을 사용하였다. 이러한 방식에서는 성능상의 오버헤드가 매우 크다. 본 논문에서 제안하는 메커니즘은 리눅스 커널 수준에서, 일정한 보안 등급을 보유하는 사용자 프로세스가 비밀 수준의 파일을 쓰고(write)자 할 때 사용자에게 투명하게 자동으로 효율적으로 파일을 암호화하여 저장한다. 또한 암호화된 파일을 수정할 때는 필요한 만큼만의 데이터를 자동으로 부분 복호화 및 암호화를 하고, 읽을(read) 때에도 필요한 만큼만을 부분 복호화한다. 따라서 본 메커니즘은 종래의 응용 수준에서의 전체 암호화 및 복호화로 인한 처리 시간을 크게 감소시킨 효율적인 커널 수준의 자동 부분 암호화 수단을 제공한다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.