• 제목/요약/키워드: 리눅스 커널

검색결과 316건 처리시간 0.024초

JVM 기반 스마트폰의 실시간성 지원 구조 (Implementation of Real-time Support in JVM-based Smartphone System)

  • 우영주;조정욱;서의성
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(A)
    • /
    • pp.506-509
    • /
    • 2011
  • Android는 스마트폰 시스템에서 사용되는 소프트웨어 플랫폼으로 JVM(Java Virtual Machine)을 기반으로 한다. JVM은 실시간성 지원을 고려하지 않은 기술이며 이를 기반으로 한 Android 또한 실시간성을 지원하기 위한 어떠한 방법도 가지고 있지 않다. 스마트폰 시스템을 통해 QoS를 보장하면서 멀티미디어 서비스를 제공하기 위해서는 JVM 기반의 시스템을 위한 실시간성 향상 기술이 필요하다. 본 연구에서는 기존의 안드로이드 시스템에 리눅스에서 제공하는 실시간 보장기능을 적용할 수 있도록 지원하는 크로스 레이어 구조를 제안한다. 이 구조를 통해 우리는 리눅스 커널에 존재하는 실시간 스케줄러를 사용하여 태스크가 실시간으로 실행될 수 있도록 지원한다. 또한 다양한 목적을 가진 어플리케이션이 공존하는 스마트폰 시스템에서 실시간성을 요구하는 어플리케이션에 대해 차별적으로 실시간성을 보장할 수 있다. 소프트 리얼타임 특성을 가지는 멀티미디어 태스크를 실시간 태스크로 실행하고 실제 스마트폰에서 실행시켰을 때 시스템에 높은 부하가 걸릴 때에도 합리적인 실시간 보장성을 얻을 수 있다. 음악을 재생한 실험에서는 1200개의 프로세스가 백그라운드 태스크로 실행되는 상황에서도 끊김을 느낄 수 없을 정도로 QoS를 보장성이 높은것을 확인 하였다. 본 연구에서 제안하는 실시간성 지원을 위한 크로스 레이어를 통해 스마트폰은 낮은 비용으로 기존의 어플리케이션을 변경하지 않으면서 실시간 특성을 지원할 수 있다.

NAS를 위한 신뢰성과 확장성이 있는 저장 장치 시스템 (Reliable and Flexible Storage System for NAS Environments)

  • 이태근;강용혁;엄영익
    • 정보처리학회논문지D
    • /
    • 제10D권7호
    • /
    • pp.1085-1092
    • /
    • 2003
  • 대용량, 고속의 멀티미디어 서비스가 일반화됨에 따라 컨텐츠를 저장하는 서버의 저장 장치 또한 대용량화되고 있다. 그러나 서버를 구성하는 다른 하드웨어 구성 요소에 비해 상대적으로 느린 저장 장치의 입출력 속도와 물리적 또는 논리적인 오류는 시스템 전반의 성능을 저하시키는 원인이 되고 있다. 또한 컨텐츠의 지속적인 증가로 인한 유연한 확장성이 필요하게 되었다. 본 논문에서는 이러한 문제점을 해결하기 위해 소프트웨어 RAID 사용하여 저장 장치의 성능을 향상시키고 신뢰성을 높였으며, LVM을 사용하여 저장 장치에 확장성을 부여하였다. 리눅스 커널 2.4.x에서 제공하는 이러한 기능들을 사용하여 신뢰성과 확장성이 있는 저장 장치를 구현하고 성능을 평가하였다.

리눅스 환경에서 결함 허용 프로세스를 위한 검사점 및 복구 도구 (A Checkpoint and Recovery Facility for the Fault-Tolerant Process on Linux Environment)

  • 임성락;김신호
    • 정보처리학회논문지A
    • /
    • 제11A권5호
    • /
    • pp.313-318
    • /
    • 2004
  • 본 논문에서는 장시간 실행이 예상되는 결함 허용 프로세스를 위한 검사점 및 복구 도구를 제시한다. 제시한 도구의 기본 개념은 프로세스의 실행 상태를 주기적으로 저장함으로써 시스템 결항으로 인해 실행이 정지되었을 경우, 결함이 발생하기 전의 실행 상태를 복구하여 계속 실행시키는 것이다. 제시한 도구에서는 검사점 및 복구를 위하여 결함 허용 프로세스의 소스 코드를 수정할 필요가 없다. 이를 위하여 결함 허용 프로세스를 위한 파일명과 검사점 주기를 사용자가 직접 지정하도록 설계하고, 두 개의 시스템 호출(Save, recover)을 추가하였다. 마지막으로 제시한 기법의 타당성을 검토하기 위하여 리눅스 환경(커널 2.4.18)에서 구현하였다.

실시간 객체 TMO의 분산 IPC를 위한 채널 바인딩 기법 설계 및 개발 (Development of a Channel Binding Scheme for the Distributed IPC of the Real-time Object Model, TMO)

  • 김도형;김정국
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 춘계학술발표논문집 (상)
    • /
    • pp.177-180
    • /
    • 2003
  • 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 기반으로 확장하였다.

  • PDF

멀티 코어 시스템을 위한 고속 노드내 통신 지원 모듈 (A Kernel Module to Support High-Performance Intra-Node Communication for Multi-Core Systems)

  • 진현욱;강현구;김종순
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제34권9호
    • /
    • pp.407-415
    • /
    • 2007
  • 병렬 클러스터 컴퓨팅 시스템에서는 노드간의 효율적인 통신이 시스템의 전체 성능을 좌우하는 중요한 요소로 인식되어 왔다. 따라서 지금까지의 많은 연구들은 노드간 통신(inter-node communication)의 성능 향상에 초점을 맞췄다. 하지만 최근 등장한 멀티 코어 프로세서(multi-core processor)는 노드간 통신 외에도 노드내 통신(intra-node communication)의 중요성을 크게 부각시키고 있다. 이와 같이 그 중요성이 점점 더 증가하고 있는 노드내 통신의 성능을 향상시키기 위해서 여러 가지 노드내 통신향상 기법들이 제안되어 왔다. 본 논문에서는 운영체제 커널의 도움으로 노드내 통신 시 발생하는 데이터 복사를 최소화하는 기법을 제안한다. 제안된 기법은 프로세스의 통신 버퍼를 상대 프로세스의 메모리 영역에 매핑하여 데이타 복사가 한번만 발생하도록 한다. 특히 제안된 기법은 리눅스 커널 버전 2.6을 위해서 설계된다. 성능 측정은 멀티 코어 프로세서를 장착한 시스템에서 이루어 졌으며, 기존 구현과 비교하여 본 논문에서 구현된 커널 모듈이 중간 및 작은 데이타 크기에 대해서 지연시간과 처리율을 각각 최대 62%와 144% 향상시킴을 보인다. 또한 프로세스가 수행되는 코어의 위치에 따라서 다른 성능을 보일 수 있음을 보인다.

FlaSim: 리눅스 커널 모듈을 이용한 FTL 에뮬레이터 (FlaSim: A FTL Emulator using Linux Kernel Modules)

  • 최화영;김상현;이승원;박상원
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권11호
    • /
    • pp.836-840
    • /
    • 2009
  • 플래시 메모리의 성능평가 실험 환경 구성은 플래시 메모리가 장착된 제품들이 동작하는 시스템으로 이뤄진다. 이와 같은 방법은 물리적이고 비용적인 제약이 따르게 된다. 또한 실험에 쓰이는 입력 데이터와 FTL 알고리즘의 성능평가를 위한 결과 데이터인 트레이스의 추출 방법이 까다롭고 힘들다. Oracle의 경우 트레이스 추출이 불가능하고, MySQL, SQLite는 트레이스 추출이 가능하더라도 결과의 정확성이 보장되지 않는 문제점이 있다. 따라서 본 논문에서는 디바이스 드라이버를 통해 물리적 제약을 없애고 트레이스 추출을 쉽고 간편하게 하여 정확한 실험 결과 분석이 용이하도록 FTL 에뮬레이터를 설계하고 구현한 내용에 대해 다룬다. 본 논문에서 제안한 FTL 에뮬레이터인 FlaSim은 플래시 메모리의 데이터 저장 메커니즘과 동일한 동작을 하도록 구현하고 리눅스 커널 모듈을 사용하여 필요한 기능을 추가할 수 있다. FlaSim은 모듈 적재 방식을 사용하기 때문에 FTL 알고리즘 및 플래시 메모리에 대한 실험의 확장성을 향상시킨다. 또한 다양한 응용프로그램에 적용이 쉽고, 플래시 메모리에 대한 실험의 제약이 되는 물리적인 비용을 줄일 수 있다. 게다가 트레이스 추출하는 데 쉽고 효율적인 방법을 제공하여 결과 도출 및 분석 시 시간적, 시스템적 제약을 받지 않아 효율성이 큰 장점이 있다. 추후 많은 FTL 알고리즘 및 플래시 메모리에 대한 실험과 연구에 도움이 될 것으로 예상된다.

리눅스 넷필터 기반의 인터넷 웜 탐지에서 버퍼를 이용하지 않는 빠른 스트링 매칭 방법 (A Fast String Matching Scheme without using Buffer for Linux Netfilter based Internet Worm Detection)

  • 곽후근;정규식
    • 정보처리학회논문지C
    • /
    • 제13C권7호
    • /
    • pp.821-830
    • /
    • 2006
  • 전 세계적으로 큰 피해를 주는 웜을 탐지하고 필터링 하는 것은 인터넷 보안에서 큰 이슈중의 하나이다. 웜을 탐지하는 하나의 방법으로서 리눅스 넷필터 커널 모듈이 사용된다. 웜을 탐지하는 기본 동작으로서 스트링 매칭은 네트웍 상으로 들어오는 패킷을 미리 정의된 웜 시그니쳐(Signature, 패턴)와 비교하는 것이다. 웜은 하나의 패킷 혹은 2개(혹은 그 이상의) 연속된 패킷에 나타난다. 이때, 웜의 일부분은 첫 번째 패킷에 있고 나머지 부분은 연속된 패킷 안에 있다. 웜 패턴의 최대 길이가 1024 바이트를 넘지 않는다고 가정하면, 2048 바이트의 길이를 가지는 2개의 연속된 패킷에 대해서 스트링 매칭을 수행해야만 한다. 이렇게 하기 위해, 리눅스 넷필터는 버퍼에 이전 패킷을 저장하고 버퍼링된 패킷과 현재의 패킷을 조합한 2048 바이트 크기의 스트링에 대해 매칭을 수행한다. 웜 탐지 시스템에서 다루어야 하는 동시 연결 개수의 수가 늘어날수록 버퍼(메모리)의 총 크기가 증가하고 스트링 매칭 속도가 감소하게 된다. 이에 본 논문에서는 메모리 버퍼 크기를 줄이고 스트링 매칭의 속도를 증가시키는 버퍼를 이용하지 않는 스트링 매칭 방식을 제안한다. 제안된 방식은 이전 패킷과 시그니쳐(Signature)의 부분 매칭 결과만을 저장하고 이전 패킷을 버퍼링하지 않는다. 부분 매칭 정보는 연속된 패킷에서 웜을 탐지하는데 사용된다. 제안된 방식은 리눅스 넷필터 모듈을 수정하여 구현하였고, 기존 리눅스 넷필터 모듈과 비교하였다. 실험 결과는 기존 방식에 비해 25%의 적은 메모리 사용량 및 54%의 속도 향상을 가짐을 확인하였다.

커널의 미리읽기를 고려한 압축파일시스템의 읽기성능향상 (Improving the Read Performance of Compressed File Systems Considering Kernel Read-ahead Mechanism)

  • 안성용;현승환;고건
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권6호
    • /
    • pp.678-682
    • /
    • 2010
  • 압축파일시스템은 비용효율성을 높이기 위해 모바일 장치 개발에 자주 사용된다. 그러나 압축파일시스템은 비압축파일시스템에 비해 읽기 성능이 떨어진다는 단점이 있다. 압축파일시스템의 읽기성능저하의 원인 중 하나는 커널 의 미리읽기 기법이다. 주된 이유는 압축파일시스템의 압축해제 오버헤드로 인해 미리읽기 미스패널티가 너무 크기 때문이다. 이 문제를 해결하기 위해 본 논문에서는 커널의 미리읽기 기법을 고려한 압축파일시스템의 읽기기법을 제안한다. 제안된 기법은 bulk read를 통해 저장장치의 성능을 향상시키는 동시에 선택적 압축해제를 통해 압축파일 시스템의 압축해제 오버헤드를 줄인다. 우리는 리눅스 기반 시스템에서 널리 사용되는 압축파일시스템인 CramFS를 수정하여 제안된 기법을 구현하였으며 성능측정 실험을 통해 제안된 기법이 압축파일시스템의 메이저 페이지 폴트 처리 시간을 약 28%까지 단축시킬 수 있음을 보였다.

컴파일 시간 명령어 디코딩을 통한 가상화 민감 명령어 에뮬레이션 성능 개선 (Performance Improvement of Virtualization Sensitive Instruction Emulation by Instruction Decoding at Compile Time)

  • 신동하;윤경언
    • 한국컴퓨터정보학회논문지
    • /
    • 제17권2호
    • /
    • pp.1-11
    • /
    • 2012
  • 최근 들어 ARM 구조에서 가상화를 구현하기 위해 다양한 연구들이 진행되었다. 현재의 ARM 구조는 전통적인 에뮬레이션 방법인 "trap-and-emulation"으로 가상화 할 수 없기 때문에, 게스트 커널 수행 시간에 가상화 민감 명령어를 탐지하여, 이를 직접 수행하는 대신 가상화 에뮬레이션 한다. 일반적으로 가상화 에뮬레이션은 이진 변환 또는 인터프리테이션 방법으로 구현한다. 본 연구는 인터프리테이션 방법을 기반으로 하는 가상화 에뮬레이션의 성능 향상에 관한 것이다. 인터프리테이션은 명령어 페치, 명령어 디코딩, 그리고 명령어 수행의 단계로 이루어진다. 본 논문에서는 게스트 커널의 컴파일 시간에 모든 가상화 민감 명령어를 디코딩하여, 게스트 커널의 수행 시간에 인터프리테이션 시간을 줄이는 방법을 제안한다. 본 연구의 방법은 인터프리테이션 기반의 가상화 방법에서 에뮬레이션 코드를 간단하게 하고, 에뮬레이션 성능을 향상시킨다.

사용자 투명성을 갖는 커널 수준의 파일 암호화 메카니즘 (User Transparent File Encryption Mechanisms at Kernel Level)

  • 김재환;박태규;조기환
    • 정보보호학회논문지
    • /
    • 제16권3호
    • /
    • pp.3-16
    • /
    • 2006
  • 기존의 운영체제에서 암호화 및 복호화는 응용 프로그램 수준에서 사용자가 지정한 파일을 암호화 키 및 복호화 키를 입력하여, 파일 단위로 일괄적으로 전체를 암호화하고 복호화하는 방식을 사용하였다. 이러한 방식에서는 성능상의 오버헤드가 매우 크다. 본 논문에서 제안하는 메커니즘은 리눅스 커널 수준에서, 일정한 보안 등급을 보유하는 사용자 프로세스가 비밀 수준의 파일을 쓰고(write)자 할 때 사용자에게 투명하게 자동으로 효율적으로 파일을 암호화하여 저장한다. 또한 암호화된 파일을 수정할 때는 필요한 만큼만의 데이터를 자동으로 부분 복호화 및 암호화를 하고, 읽을(read) 때에도 필요한 만큼만을 부분 복호화한다. 따라서 본 메커니즘은 종래의 응용 수준에서의 전체 암호화 및 복호화로 인한 처리 시간을 크게 감소시킨 효율적인 커널 수준의 자동 부분 암호화 수단을 제공한다.