KR101058059B1 - 임베디드 파일 시스템의 마운팅 장치 및 그 방법 - Google Patents

임베디드 파일 시스템의 마운팅 장치 및 그 방법 Download PDF

Info

Publication number
KR101058059B1
KR101058059B1 KR1020090038902A KR20090038902A KR101058059B1 KR 101058059 B1 KR101058059 B1 KR 101058059B1 KR 1020090038902 A KR1020090038902 A KR 1020090038902A KR 20090038902 A KR20090038902 A KR 20090038902A KR 101058059 B1 KR101058059 B1 KR 101058059B1
Authority
KR
South Korea
Prior art keywords
file
file system
sub
root
access path
Prior art date
Application number
KR1020090038902A
Other languages
English (en)
Other versions
KR20100066306A (ko
Inventor
박승민
임채덕
박호준
강동욱
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20100066306A publication Critical patent/KR20100066306A/ko
Application granted granted Critical
Publication of KR101058059B1 publication Critical patent/KR101058059B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 임베디드 파일 시스템의 마운팅 장치 및 그 방법에 관한 것으로, 읽기 전용의 루트 파일 시스템에 저장된 파일 중 쓰기 작업이 요청된 파일의 속성을 분석하여 쓰기 가능한 서브 파일 시스템에 복사하고, 서브 파일 시스템 상에서 해당 파일에 대한 쓰기 작업을 수행한 후에, 서브 파일 시스템으로 복사된 파일에 대한 접근 경로 설정하여 루트 파일 시스템에 등록한다. 본 발명에 따르면, 읽기 전용 특성의 파일 시스템을 사용할 경우 일부 파일에 대해 쓰기 가능 특성을 부여하도록 함으로써, 디렉토리 전체에 대해 수행되던 마운트 과정을 단순화 하고 부팅 시간을 단축시키는 이점이 있다. 따라서, 빠른 부팅을 요구하는 운영체제에서 마운트 시간의 지연 없이 다양한 파일 시스템 타입으로 구성된 파일 시스템을 사용할 수 있는 효과가 있다.

Description

임베디드 파일 시스템의 마운팅 장치 및 그 방법{Apparatus and method for mounting of embedded file system}
본 발명은 임베디드 파일 시스템의 마운팅 장치 및 그 방법에 관한 것으로, 특히 마운팅 과정을 단순화하여 부팅시간을 단축하도록 하는 파일 시스템 마운팅 장치 및 그 방법에 관한 것입니다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-038-03, 과제명: 모바일 컨버전스 컴퓨팅을 위한 단말적응형 임베디드 운영체제 기술개발].
빠른 부팅이 요구되는 임베디드 시스템에서는 마운트 속도가 현저히 빠른 CRAMFS 등과 같은 읽기 전용 특성을 갖는 파일 시스템 타입이 사용되어 왔다. 그러나, CRAMFS에서는 쓰기 작업을 수행할 수 없는 단점이 있다.
이에, 읽기 전용의 파일 시스템 중 쓰기 작업이 요구되는 일부 디렉토리를 쓰기 가능한 다른 파일 시스템으로 구성하고, 이전 파일 시스템에 마운팅한다. 이로써, 일부 디렉토리에 대해 쓰기 작업이 가능하게 된다.
하지만, 임베디드 파일 시스템은 모든 작업이 디렉토리 단위로 처리된다.
다시 말해, 파일 시스템을 마운팅 할 때에도, 동일 특성을 갖는 파일 또는 하위 디렉토리를 하나의 디렉토리로 묶어 파일 시스템을 구성해야만 한다. 예를 들어, 쓰기 가능한 파일 시스템을 구성할 경우, 해당 디렉토리에 포함된 모든 파일 및 그 하위 디렉토리에 대해서도 쓰기 가능하도록 구성해야 한다. 이로 인해, 파일 시스템을 마운팅하는데 많은 시간이 소요되게 되므로, 부팅 시간 또한 지연되는 문제가 있다.
빠른 부팅 분야 외에도 하위 디렉토리를 포함하는 디렉토리 전체에 대해 마운트를 해야 하는 기존 파일 시스템 구조는 두 가지 이상의 파일 시스템이 요구되는 상황에서 마운트 처리 속도의 증가와 유연성 저하의 원인이 된다.
본 발명은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 파일 시스템의 빠른 마운트가 필요한 경우에 주로 사용되는 읽기 전용 (read-only) 특성을 가지는 파일 시스템 타입의 단점을 보완하고 디렉토리 단위로 처리되는 기존 마운트 기술을 대체할 수 있는 새로운 파일 시스템을 제공함에 그 목적이 있다.
또한, 본 발명은 파일 시스템의 빠른 마운트가 필요한 경우에 주로 사용되는 읽기 전용 (read-only) 특성을 가지는 파일 시스템 타입의 단점을 보완하고 디렉토리 단위로 처리되는 기존 마운트 기술을 대체할 수 있는 새로운 파일 시스템을 제공함에 다른 목적이 있다.
또한, 본 발명은 하나의 파일시스템을 구성하는 각각의 파일들이 서로 다른 파일시스템 타입을 갖는 파일 시스템 구조를 제공함에 또 다른 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 임베디드 파일 시스템의 마운팅 장치는, 읽기 전용의 루트 파일 시스템 및 쓰기 가능한 복수의 서브 파일 시스템을 구비한 저장부, 상기 루트 파일 시스템에 저장된 파일 및 파일 정보를 탐색하는 탐색부, 상기 루트 파일 시스템에 저장된 파일 중 쓰기 작업이 요청된 파일의 속성을 분석하여 상기 서브 파일 시스템에 복사하고, 상기 서브 파일 시스템 상에서 해당 파일에 대한 쓰기 작업을 수행하는 파일 시스템 관리부, 및 상기 서브 파일 시스템으로 복사된 파일에 대한 접근 경로를 상기 루트 파일 시스템에 설정하 는 경로 설정부를 포함한다.
상기 파일 정보는 쓰기 가능 여부를 확인하기 위한 파일 속성 정보, 및 마운트된 파일에 대한 접근 경로 정보 중 하나 이상을 포함하는 것을 특징으로 한다.
상기 파일 시스템 관리부는 상기 루트 파일 시스템에 저장된 파일 중 쓰기 작업이 허용된 파일에 대해서만 상기 서브 파일 시스템에 복사하는 것을 특징으로 한다.
상기 파일 시스템 관리부는 상기 접근 경로 설정된 파일에 대한 읽기 또는 쓰기 작업 요청이 있는 경우, 등록된 접근 경로에 대응하는 서브 파일 시스템에 접근하여 해당 파일에 대해 요청된 작업을 수행하는 것을 특징으로 한다.
상기 루트 파일 시스템에 저장된 파일은, 부트 데이터(boot data) 관련 파일인 것을 특징으로 한다.
한편, 상기한 목적을 달성하기 위한 본 발명에 따른 임베디드 파일 시스템의 마운팅 방법은, 읽기 전용의 루트 파일 시스템에 저장된 파일 중 어느 하나의 파일에 대한 쓰기 작업 요청이 입력되는 단계, 상기 쓰기 작업 요청된 파일의 속성 정보를 분석하여 쓰기 가능 여부를 확인하는 단계, 상기 확인하는 단계의 확인 결과에 따라 해당 파일을 쓰기 가능한 서브 파일 시스템에 복사하고, 해당 서브 파일 시스템 상에서 요청된 파일에 대한 쓰기 작업을 수행하는 단계, 및 상기 서브 파일 시스템으로 복사된 파일에 대한 접근 경로를 설정하고, 해당 파일에 대한 접근 경로 정보를 상기 루트 파일 시스템에 등록하는 단계를 포함한다.
상기 루트 파일 시스템에 저장된 파일 중 어느 하나의 파일에 대한 읽기 또 는 쓰기 작업 요청 시, 해당 파일에 대한 접근 경로 정보가 존재하는지를 확인하는 단계를 더 포함한다.
상기 읽기 또는 쓰기 작업 요청된 파일에 대한 접근 경로 정보가 존재하는 경우, 등록된 접근 경로 정보에 대응하는 서브 파일 시스템에 접근하여 해당 파일에 대해 요청된 작업을 수행하는 단계를 더 포함하는 것을 특징으로 한다.
상기 루트 파일 시스템에 저장된 파일은 부트 데이터(boot data) 관련 파일인 것을 특징으로 한다.
본 발명에 따르면, 읽기 전용 특성의 파일 시스템을 사용할 경우 일부 파일에 대해 쓰기 가능 특성을 부여하도록 함으로써, 디렉토리 전체에 대해 수행되던 마운트 과정을 단순화 하고 부팅 시간을 단축시키는 이점이 있다.
또한, 본 발명은 다양한 파일 시스템 특성이 요구되는 환경에서 마운트로 인해 발생할 수 있는 지연을 방지하고, 파일 별로 다른 파일 시스템 타입을 적용할 수 있는 이점이 있다. 따라서, 빠른 부팅을 요구하는 운영체제에서 마운트 시간의 지연 없이 다양한 파일 시스템 타입으로 구성된 파일 시스템을 사용할 수 있는 효과가 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
본 발명은 모든 파일을 갖는 하나의 루트 파일 시스템(11)과, 일부 혹은 전체 파일을 갖는 다수의 접근 경로 정보 시스템(15)으로 구성된다.
외부 또는 내부로부터 파일에 대한 접근 요청이 있으면, 우선은 루트 파일 시스템(11)에 접근한 후, 해당 파일에 대해 요청된 작업의 속성 또는 해당 파일의 위치에 따라 루트 파일 시스템(11)에서 해당 파일에 요청된 작업을 수행하거나, 혹은 해당 파일이 저장된 서브 파일 시스템(15)에서 요청된 작업을 수행하게 된다.
도 1은 본 발명의 실시예에 따른 임베디드 파일 시스템의 마운팅 장치의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명에 따른 임베디드 파일 시스템의 마운팅 장치는, 저장부(10), 입력부(20), 파일 시스템 관리부(30), 탐색부(40), 경로 설정부(50), 출력부(60)를 포함한다.
저장부(10)는 부트 데이터가 저장되는 복수의 로지컬 디바이스를 포함한다.
복수의 로지컬 디바이스에는 부트 데이터에 대한 파일 시스템이 설계된다. 여기서, 어느 하나의 로지컬 디바이스에는 모든 부트 데이터가 저장되는 루트 파일 시스템(11)이 설계된다. 이때, 루트 파일 시스템(11)이 설계된 로지컬 디바이스는 읽기 전용 특성을 갖는다. 일 예로, 읽기 전용 파일 시스템으로 사용되는CRAMFS(Compressed RAM File System) 등을 들 수 있다.
한편, 루트 파일 시스템(11)이 설계된 로지컬 디바이스 외에 나머지 로지컬 디바이스에는 하나 또는 그 이상의 부트 데이터가 저장되는 서브 파일 시스템(15)이 설계된다. 이때, 서브 파일 시스템(15)이 설계된 로지컬 디바이스는 읽기 또는 쓰기 가능한 특성을 갖는다. 일 예로, JFFS2(Journaling Flash File System 2) 등을 들 수 있다. 물론, 서브 파일 시스템(15)에 저장되는 부트 데이터는 쓰기 작업 이 가능한 데이터이어야 한다.
입력부(20)는 외부로부터의 명령을 입력 받는 수단이다. 파일 시스템 관리부(30)는 입력부(20)로부터 입력된 명령에 따라 파일 시스템에 저장된 파일을 관리한다.
파일 시스템 관리부(30)는 운영체제의 부팅 과정을 수행하는 동안, 루트 파일 시스템(11) 또는 서브 파일 시스템(15)에 저장된 부트 데이터를 제공한다.
또한, 파일 시스템 관리부(30)는 루트 파일 시스템(11) 또는 서브 파일 시스템(15)에 저장된 부트 데이터로의 접근 요청이 있으면, 탐색부(40)로 제어 명령을 출력한다. 이때, 탐색부(40)는 파일 시스템 관리부(30)의 제어 명령에 따라 요청된 파일을 탐색하고, 탐색 정보를 파일 시스템 관리부(30)로 제공한다. 탐색 정보는 해당 파일의 속성 정보, 루트 파일 시스템(11)에서의 위치 정보, 마운트된 접근 경로 정보 등을 포함한다.
파일 시스템 관리부(30)는 탐색부(40)로부터 제공된 탐색 정보에 근거하여 접근 요청된 파일의 속성 및 위치 등을 파악한다. 예를 들어, 파일 시스템 관리부(30)는 해당 파일이 읽기 전용 파일인지 혹은 쓰기 가능한 파일인지를 확인한다. 또한, 파일 시스템 관리부(30)는 해당 파일의 저장 위치가 루트 파일 시스템(11)인지를 확인한다. 또한, 파일 시스템 관리부(30)는 서브 파일 시스템(15)으로의 접근 경로 정보가 존재하는 경우 해당 파일이 저장된 서브 파일 시스템(15)을 확인한다.
한편, 파일 시스템 관리부(30)는 접근 요청된 파일에 수행할 작업의 속성을 파악한다.
만일, 해당 파일에 읽기 작업을 수행하려는 것인 경우, 파일 시스템 관리부(30)는 루트 파일 시스템(11)에 접근하여 해당 파일에 대한 읽기 작업을 수행한다. 물론, 해당 파일에 대해 서브 파일 시스템(15)으로의 접근 경로 정보가 존재하는 경우, 파일 시스템 관리부(30)는 해당 서브 파일 시스템(15)에 접근한 후, 해당 파일에 대해 읽기 작업을 수행한다.
해당 파일에 쓰기 작업을 수행하려는 것인 경우, 파일 시스템 관리부(30)는 먼저 해당 파일의 속성을 확인한다. 만일, 해당 파일이 읽기 전용 파일인 경우, 파일 시스템 관리부(30)는 해당 파일에 쓰기 작업을 수행할 수 없음을 출력부(60)를 통해 외부로 출력하도록 한다.
한편, 해당 파일이 쓰기 가능 파일인 경우, 파일 시스템 관리부(30)는 해당 파일의 저장 위치를 확인한다. 해당 파일에 대해 서브 파일 시스템(15)으로의 접근 경로 정보가 존재하는 경우, 파일 시스템 관리부(30)는 해당 서브 파일 시스템(15)에 접근한 후, 해당 파일에 대해 쓰기 작업을 수행한다.
해당 파일에 대해 서브 파일 시스템(15)으로의 접근 경로 정보가 존재하지 않는 경우, 파일 시스템 관리부(30)는 먼저 루트 파일 시스템(11)에 접근한다. 이후, 파일 시스템 관리부(30)는 루트 파일 시스템(11)에 저장된 해당 파일을 복사하여, 서브 파일 시스템(15)에 저장한다. 이때, 경로 설정부(50)는 서브 파일 시스템(15)에 복사된 해당 파일의 접근 경로 정보를 루트 파일 시스템(11)에 저장한다. 따라서, 기존에 읽기 작업만 가능하던 부트 데이터의 일부 파일을 쓰기 가능한 서브 파일 시스템(15)에 복사함으로써, 해당 파일에 대해 쓰기 작업을 수행하는 것이 가능하게 된다.
여기서, 파일 시스템 관리부(30)는 해당 파일과 유사한 속성을 갖는 파일이 저장된 서브 파일 시스템(15)을 선택하여 해당 파일을 저장할 수 있으며, 임의 선택된 서브 파일 시스템(15)에 해당 파일을 저장할 수도 있다. 또한, 파일 시스템 관리부(30)는 해당 파일을 저장할 새로운 서브 파일 시스템(15)을 구성할 수도 있다. 물론, 서브 파일 시스템(15)을 선택하거나 구성하는 동작은 설정에 따라 달라질 수 있다.
이로써, 파일 시스템 관리부(30)는 해당 파일이 복사된 서브 파일 시스템(15)에 접근한 후, 해당 파일에 대해 요청된 쓰기 작업을 수행한다. 이후, 파일 시스템 관리부(30)는 해당 파일에 대한 접근 요청이 입력되면, 루트 파일 시스템(11)에 저장된 접근 경로 정보에 기초하여 대응되는 서브 파일 시스템(15)에 접근하도록 한다.
따라서, 본 발명에서는 쓰기 작업이 요청된 특정의 파일에 대해서만 서브 파일 시스템(15)을 통해 관리하고, 그 외의 모든 파일에 대해서는 루트 파일 시스템(11)에서 관리하므로, 시스템이 부팅되는 동안 마운트 과정을 단순화시키게 된다. 이로써, 시스템의 부팅 시간 또한 대폭 단축시킬 수 있다.
도 2는 본 발명의 일실시예에 따른 파일 시스템 구조를 도시한 예시도이다. 도 2를 참조하면, 본 발명에 따른 파일 시스템 구조는 앞서 설명한 바와 같이, 크게 루트 파일 시스템(11)과, 서브 파일 시스템(15)으로 구분된다. 도 2에서는, 총 N 개의 서브 파일 시스템(15)이 구비된 것을 도시하였다. 여기서, 본 발명의 루트 파일 시스템(11)은 CRAMFS, 서브 파일 시스템(15)은 JFFS2로 설계된 것을 예로 한다.
루트 파일 시스템(11)에는 부트 데이터에 해당되는 모든 파일이 저장된다. 한편, 서브 파일 시스템(15)에는 부트 데이터에 해당되는 파일 중 소정의 쓰기 요청된 파일이 저장된다. 또한, 루트 파일 시스템(11)에는 서브 파일 시스템(15)에 저장된 파일에 대응하는 접근 경로 정보가 저장된다. 따라서, 루트 파일 시스템(11)은 저장된 파일 경로를 통해 각 서브 파일 시스템(15a, 15b, 15c)으로 연결된다.
도 3은 도 2의 파일 시스템에 저장된 파일 구조를 도시한 예시도이다.
특히, 도 3은 부트 데이터의 모든 파일이 루트 파일 시스템에 저장된 구조를 나타낸 것이다.
도 3에 도시된 바와 같이, 루트 파일 시스템(11)에는 총 2개의 디렉토리와, 5개의 파일이 저장된 것으로 가정한다.
이때, 디렉토리 D1, D2와, 파일 F1, F2는 루트 파일 시스템(11)의 루트 디렉토리에 저장되어 있다. 한편, 파일 F3은 디렉토리 D1에 저장되어 있고, 파일 F4, F5는 디렉토리 D2에 저장되어 있다.
도 4는 루트 파일 시스템 상의 파일에 대한 읽기 작업 요청이 있는 경우의 처리 동작을 도시한 예시도이다. 도 4의 실시예는 도 3에 도시된 루트 파일 시스템의 파일 구조를 기본으로 한다.
만일, 루트 파일 시스템(11) 상의 파일 F1에 대한 읽기 작업 요청이 입력되면, 파일 시스템 관리부(30)는 먼저 탐색부(40)로 해당 파일에 대한 탐색 명령을 출력한다. 이때, 탐색부(40)는 루트 파일 시스템(11)에 접근하여, 요청된 파일에 대한 속성, 위치, 접근 경로 등의 정보를 탐색한다.
파일 시스템 관리부(30)는 탐색부(40)로부터의 탐색 정보에 기초하여, 루트 파일 시스템(11)에 저장된 해당 파일에 접근을 시도한다. 이때, 파일 시스템 관리부(30)는 루트 파일 시스템(11) 내에서 해당 파일에 대한 읽기 작업을 수행하도록 한다. 물론, 접근 경로가 설정된 파일에 대한 읽기 작업 요청이 있는 경우에는, 접근 경로가 설정된 서브 파일 시스템에 접근하여 해당 파일에 대한 읽기 작업을 수행하도록 한다.
한편, 도 5는 루트 파일 시스템 상의 파일에 대한 쓰기 작업 요청이 있는 경우의 처리 동작을 도시한 예시도이다.
도 5의 실시예는 도 3에 도시된 루트 파일 시스템의 파일 구조를 기본으로 한다. 만일, 루트 파일 시스템(11) 상의 파일 F4에 대한 쓰기 작업 요청이 입력되면, 파일 시스템 관리부(30)는 먼저 탐색부(40)로 해당 파일에 대한 탐색 명령을 출력한다.
이때, 탐색부(40)는 파일 시스템 관리부(30)의 탐색 명령에 따라 루트 파일 시스템(11)에 접근하여, 요청된 파일에 대한 속성, 위치 등의 정보를 탐색한다. 여기서, 쓰기 작업이 요청된 파일 F4는 쓰기 가능 파일인 것으로 한다. 만일, 파일 F4가 읽기 전용 파일인 경우, 파일 시스템 관리부(30)는 해당 파일에 대한 쓰기 작 업을 수행할 수 없음을 알리는 메시지를 출력하고, 작업을 종료한다.
파일 시스템 관리부(30)는 탐색부(40)로부터의 탐색 정보에 기초하여, 루트 파일 시스템(11)에 저장된 해당 파일에 접근을 시도한다. 이때, 루트 파일 시스템(11)은 읽기 전용 특성을 갖는 파일 시스템이므로, 루트 파일 시스템(11) 내에서는 해당 파일에 대한 쓰기 작업을 수행할 수 없다. 따라서, 파일 시스템 관리부(30)는 해당 파일을 복사하여, 어느 하나의 서브 파일 시스템(15)에 저장한다. 이때의 서브 파일 시스템(15)은 읽기/쓰기 가능 특성을 갖는 파일 시스템이므로, 해당 서브 파일 시스템(15) 내에서는 요청된 파일에 대한 쓰기 작업을 수행하는 것이 가능하다.
루트 파일 시스템(11) 내의 파일이 서브 파일 시스템(15)에 복사되면, 경로 설정부(50)는 해당 서브 파일로 연결되는 접근 경로 정보를 해당 파일에 대응되도록 작성한 후, 루트 파일 시스템(11)에 저장한다.
따라서, 파일 시스템 관리부(30)는 루트 파일 시스템(11)에 접근한 후, 루트 파일 시스템(11)에 저장된 접근 경로 정보에 따라 해당 서브 파일 시스템(15)에 저장된 파일에 접근한다. 이때, 파일 시스템 관리부(30)는 해당 서브 파일 시스템(15) 내에서 해당 파일에 대한 쓰기 작업을 수행하도록 한다. 물론, 파일 시스템 관리부(30)는 파일 F4에 대한 쓰기 작업을 수행한 후, 서브 파일 시스템(15)에 저장된 해당 파일을 갱신하도록 한다.
이후, 파일 F4에 대한 읽기 또는 쓰기 작업 요청이 입력되면, 탐색부(40)는 먼저 루트 파일 시스템(11) 상에서 해당 파일에 대응하는 접근 경로 정보가 존재하 는지를 탐색한다. 따라서, 파일 시스템 관리부(30)는 해당 파일에 대응하는 접근 경로 정보에 기초하여 해당 서브 파일 시스템(15)으로 접근을 시도하게 된다.
물론, 루트 파일 시스템(11)에 접근 경로 정보가 존재하지 않는 파일인 경우, 파일 시스템 관리부(30)는 앞서 도 4 및 도 5에서 설명한 바와 같이, 루트 파일 시스템(11) 상에서 해당 파일에 대한 읽기 작업을 수행하거나, 혹은 해당 파일을 서브 파일 시스템(15)에 복사한 후, 해당 서브 파일 시스템(15) 상에서 해당 파일에 대한 쓰기 작업을 수행하도록 한다.
도 6은 본 발명의 일실시예에 따른 접근 접근 경로 정보를 도시한 예시도이다.
도 6에 도시된 바와 같이, 접근 경로 정보는 해당 파일명이 저장되면, 해당 파일에 대응하는 접근 경로 정보가 저장된다. 도 6에 도시된 접근 경로 정보는, 도 5에서 쓰기 작업 요청된 파일 F4에 대응하는 접근 경로 정보를 나타낸 것이다.
즉, 파일 F4의 접근 경로 정보는 파일명 'F4'와 그에 대응하는 경로가 [cramfs]->[D2]->[F4]->[jffs2]->(F4)와 같이 저장된다. 이때, 접근 경로 정보는 루트 파일 시스템(11) 상의 파일 저장 경로와, 마운트된 서브 파일 시스템(15)의 접근 경로 정보가 저장된다.
상기와 같이 구성되는 본 발명에 따른 임베디드 파일 시스템의 마운팅 장치에 대한 동작 흐름을 살펴보면 다음과 같다.
도 7은 본 발명의 실시예에 따른 임베디드 파일 시스템의 마운팅 방법에 대 한 동작 흐름을 도시한 순서도이다.
도 7에 도시된 바와 같이, 루트 파일 시스템(11)으로의 접근 요청이 입력되면(S100), 탐색부(40)는 파일 시스템 관리부(30)로부터의 탐색 명령에 따라 루트 파일 시스템(11)에 접근한다(S110). 이후, 탐색부(40)는 루프 파일 시스템 상에서 요청된 파일 정보를 탐색한다(S120). 이때, 파일 정보는 쓰기 가능 여부를 확인하기 위한 파일 속성 정보, 및 서브 파일 시스템(15)에 복사된 파일에 대한 접근 경로 정보 중 하나 이상을 포함한다.
먼저, 파일 시스템 관리부(30)는 탐색부(40)로부터 제공된 탐색 정보에 기초하여, 해당 파일에 대한 접근 경로 정보가 존재하는지를 확인한다(S130).
만일, 접근 요청된 파일에 대한 접근 경로 정보가 존재하는 경우, 파일 시스템 관리부(30)는 해당 파일의 접근 경로 정보에 따라 마운트된 서브 파일 시스템(15)에 접근한다(S135). 이후, 파일 시스템 관리부(30)는 해당 서브 파일 시스템(15) 상에서 해당 파일에 대해 요청된 작업, 예를 들어, 읽기 작업 또는 쓰기 작업을 수행한다(S180).
반면, 'S130' 과정에서 접근 요청된 파일에 대한 접근 경로 정보가 존재하지 않는 경우, 파일 시스템 관리부(30)는 해당 파일에 대해 요청된 작업을 확인한다(S140). 여기서, 접근 경로 정보가 존재하지 않는 파일은 루트 파일 시스템(11)에 저장된 파일이다. 루트 파일 시스템(11)은 읽기 전용 특성을 갖는 파일 시스템이므로, 루트 파일 시스템(11) 상에서는 해당 파일에 대한 읽기 작업만 가능하다.
만일, 해당 파일에 대한 읽기 작업 요청이 있는 경우, 파일 시스템 관리 부(30)는 루트 파일 시스템(11) 상에서 해당 파일에 대한 읽기 작업을 수행한다(S145).
반면, 해당 파일에 대한 쓰기 작업 요청이 있는 경우, 파일 시스템 관리부(30)는 쓰기 작업 요청된 파일의 속성 정보를 분석하여 해당 파일이 읽기 전용 파일인지 혹은 쓰기 가능한 파일인지를 확인한다. 이때, 해당 파일이 읽기 전용 파일인 경우, 파일 시스템 관리부(30)는 해당 파일에 쓰기 작업을 수행할 수 없음을 출력부(60)를 통해 외부로 출력하도록 한다.
한편, 해당 파일이 쓰기 가능한 파일인 경우, 파일 시스템 관리부(30)는 루트 파일 시스템(11)에 저장된 해당 파일을 복사하여(S150), 서브 파일 시스템(15)에 저장한다(S160). 이후, 파일 시스템 관리부(30)는 해당 파일이 복사된 서브 파일 시스템(15) 상에서 해당 파일에 대한 쓰기 작업을 수행한다(S180). 이때, 경로 설정부(50)는 서브 파일 시스템(15)에 복사된 해당 파일의 접근 경로를 설정하고, 설정된 접근 경로 정보를 루트 파일 시스템(11)에 등록한다(S170).
여기서, 'S170' 과정은 도 7에서 'S180' 과정 이전에 수행하는 것으로 도시되었으나, 실시 형태에 따라 'S180' 과정 이후에 수행할 수도 있다.
이후, 루트 파일 시스템(11)에 접근 경로 정보가 등록된 파일은, 읽기 또는 쓰기 작업 요청이 있는 경우 'S130' 및 'S135' 과정을 거쳐 등록된 접근 경로 정보에 따라 대응하는 서브 파일 시스템(15)에 접근하여 요청된 작업을 수행하게 된다.
상기와 같은 구성에 의해 본 발명은, 기존에 읽기 작업만 가능하던 부트 데이터의 일부 파일을 쓰기 가능한 서브 파일 시스템에 복사함으로써, 해당 파일에 대해 쓰기 작업을 수행하는 것이 가능하게 된다. 또한, 접근 경로 정보가 등록된 파일에 대해서만 마운팅 작업을 수행하게 되므로, 부팅 시 마운팅 작업을 최소화하여 부팅 시간 또한 단축시키게 된다.
이상에서와 같이 본 발명에 따른 임베디드 파일 시스템의 마운팅 장치 및 그 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
도 1 은 본 발명의 실시예에 따른 임베디드 파일 시스템의 마운팅 장치의 구성을 도시한 블록도이다.
도 2 는 본 발명의 일실시예에 따른 파일 시스템 구조를 도시한 예시도이다.
도 3 은 도 2의 파일 시스템에 저장된 파일 구조를 도시한 예시도이다.
도 4 및 도 5 는 루트 파일 시스템 상의 파일에 대한 처리 동작을 도시한 예시도이다.
도 6 은 본 발명의 일실시예에 따른 접근 경로 정보를 도시한 예시도이다.
도 7 은 본 발명의 실시예에 따른 임베디드 파일 시스템의 마운팅 방법에 대한 동작 흐름을 도시한 순서도이다.

Claims (9)

  1. 임베디드 파일 시스템의 마운팅 장치로서,
    읽기 전용의 루트 파일 시스템 및 쓰기 가능한 복수의 서브 파일 시스템을 구비한 저장부;
    상기 루트 파일 시스템에 저장된 파일 및 파일 정보를 탐색하는 탐색부;
    상기 루트 파일 시스템에 저장된 파일 중 쓰기 작업이 요청된 파일의 속성을 분석하여 상기 서브 파일 시스템에 복사하고, 상기 서브 파일 시스템 상에서 해당 파일에 대한 쓰기 작업을 수행하는 파일 시스템 관리부; 및
    상기 서브 파일 시스템으로 복사된 파일에 대한 접근 경로를 상기 루트 파일 시스템에 설정하는 경로 설정부;를 포함하는, 임베디드 파일 시스템의 마운팅 장치.
  2. 청구항 1에 있어서,
    상기 파일 정보는,
    쓰기 가능 여부를 확인하기 위한 파일 속성 정보, 및 상기 서브 파일 시스템에 복사된 파일에 대한 접근 경로 정보 중 하나 이상을 포함하는 것을 특징으로 하는, 임베디드 파일 시스템의 마운팅 장치.
  3. 청구항 1에 있어서,
    상기 파일 시스템 관리부는,
    상기 루트 파일 시스템에 저장된 파일 중 쓰기 작업이 허용된 파일에 대해서만 상기 서브 파일 시스템에 복사하는 것을 특징으로 하는, 임베디드 파일 시스템의 마운팅 장치.
  4. 청구항 1에 있어서,
    상기 파일 시스템 관리부는,
    상기 접근 경로 설정된 파일에 대한 읽기 또는 쓰기 작업 요청이 있는 경우, 해당 파일에 대해 설정된 접근 경로 정보에 따라 대응하는 서브 파일 시스템에 접근하여, 해당 파일에 대해 요청된 작업을 수행하는 것을 특징으로 하는, 임베디드 파일 시스템의 마운팅 장치.
  5. 청구항 1에 있어서,
    상기 루트 파일 시스템에 저장된 파일은,
    부트 데이터(boot data) 관련 파일인 것을 특징으로 하는, 임베디드 파일 시스템의 마운팅 장치.
  6. 임베디드 파일 시스템의 마운팅 방법으로서,
    읽기 전용의 루트 파일 시스템에 저장된 파일 중 어느 하나의 파일에 대한 쓰기 작업 요청이 입력되는 단계;
    상기 쓰기 작업 요청된 파일의 속성 정보를 분석하여 쓰기 가능 여부를 확인하는 단계;
    상기 확인하는 단계의 확인 결과에 따라 해당 파일을 쓰기 가능한 서브 파일 시스템에 복사하고, 해당 서브 파일 시스템 상에서 요청된 파일에 대한 쓰기 작업을 수행하는 단계; 및
    상기 서브 파일 시스템으로 복사된 파일에 대한 접근 경로를 설정하고, 해당 파일에 대한 접근 경로 정보를 상기 루트 파일 시스템에 등록하는 단계;를 포함하는, 임베디드 파일 시스템의 마운팅 방법.
  7. 청구항 6에 있어서,
    상기 루트 파일 시스템에 저장된 파일 중 어느 하나의 파일에 대한 읽기 또는 쓰기 작업 요청 시, 해당 파일에 대한 접근 경로 정보가 존재하는지를 확인하는 단계;를 더 포함하는 것을 특징으로 하는, 임베디드 파일 시스템의 마운팅 방법.
  8. 청구항 7에 있어서,
    상기 읽기 또는 쓰기 작업 요청된 파일에 대한 접근 경로 정보가 존재하는 경우, 상기 접근 경로 정보에 따라 대응하는 서브 파일 시스템에 접근하여, 해당 파일에 대해 요청된 작업을 수행하는 단계;를 더 포함하는 것을 특징으로 하는, 임베디드 파일 시스템의 마운팅 방법.
  9. 청구항 6에 있어서,
    상기 루트 파일 시스템에 저장된 파일은,
    부트 데이터(boot data) 관련 파일인 것을 특징으로 하는, 임베디드 파일 시스템의 마운팅 방법.
KR1020090038902A 2008-12-08 2009-05-04 임베디드 파일 시스템의 마운팅 장치 및 그 방법 KR101058059B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080124126 2008-12-08
KR20080124126 2008-12-08

Publications (2)

Publication Number Publication Date
KR20100066306A KR20100066306A (ko) 2010-06-17
KR101058059B1 true KR101058059B1 (ko) 2011-08-19

Family

ID=42365420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090038902A KR101058059B1 (ko) 2008-12-08 2009-05-04 임베디드 파일 시스템의 마운팅 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101058059B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084368A1 (en) 2001-09-13 2003-05-01 International Business Machines Corporation Method and system for root filesystem replication
US20070050675A1 (en) 2005-08-29 2007-03-01 Moxa Technologies Co., Ltd. [method for restoring a booted system]
KR100862237B1 (ko) 2007-03-02 2008-10-09 한국과학기술원 낸드 플래시 메모리 기반 파일 시스템 및 이를 이용한파일 검색 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084368A1 (en) 2001-09-13 2003-05-01 International Business Machines Corporation Method and system for root filesystem replication
US20070050675A1 (en) 2005-08-29 2007-03-01 Moxa Technologies Co., Ltd. [method for restoring a booted system]
KR100862237B1 (ko) 2007-03-02 2008-10-09 한국과학기술원 낸드 플래시 메모리 기반 파일 시스템 및 이를 이용한파일 검색 방법

Also Published As

Publication number Publication date
KR20100066306A (ko) 2010-06-17

Similar Documents

Publication Publication Date Title
US9251152B1 (en) Efficient method for relocating shared memory
US7395394B2 (en) Computer operating system with selective restriction of memory write operations
JP4799936B2 (ja) 条件別スナップショット取得方法及びシステム
JP4809040B2 (ja) ストレージ装置及びスナップショットのリストア方法
US8024496B2 (en) Enhanced memory migration descriptor format and method
US8086810B2 (en) Rapid defragmentation of storage volumes
WO2000063760A2 (en) A device driver for accessing computer files
KR20210058118A (ko) CaseDB: 엣지컴퓨팅을 위한 저비용 Put-Intensive 키-벨류 저장장치
US20060156030A1 (en) Data processing system and method
JP2005276158A (ja) ストレージシステム、計算機システムまたは記憶領域の属性設定方法
US8589454B2 (en) Computer data file merging based on file metadata
US7676644B2 (en) Data processing system, storage apparatus and management console
JPWO2007099636A1 (ja) ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置
WO2006130768A2 (en) Transactional file system with client partitioning
EP2669806A1 (en) Storage system
CN113853778B (zh) 一种文件系统的克隆方法及装置
US8909875B1 (en) Methods and apparatus for storing a new version of an object on a content addressable storage system
US10430287B2 (en) Computer
KR101058059B1 (ko) 임베디드 파일 시스템의 마운팅 장치 및 그 방법
US11593308B2 (en) Managing data hidden by userspace filesystem
US20090271579A1 (en) Storage subsystem and storage system
US20190179803A1 (en) Apparatus and method for file sharing between applications
US20160048582A1 (en) Dynamic alternate keys for use in file systems utilizing a keyed index
JP2009157441A (ja) 情報処理装置、ファイル再配置方法およびプログラム
KR102405890B1 (ko) 데이터 초기 복제 방법 및 이를 수행하기 위한 컴퓨팅 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160726

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170727

Year of fee payment: 7