KR100545654B1 - 시스템 시동 후 디스크에 존재하는 파일의 무결점을감지하는 방법 - Google Patents

시스템 시동 후 디스크에 존재하는 파일의 무결점을감지하는 방법 Download PDF

Info

Publication number
KR100545654B1
KR100545654B1 KR1020030092413A KR20030092413A KR100545654B1 KR 100545654 B1 KR100545654 B1 KR 100545654B1 KR 1020030092413 A KR1020030092413 A KR 1020030092413A KR 20030092413 A KR20030092413 A KR 20030092413A KR 100545654 B1 KR100545654 B1 KR 100545654B1
Authority
KR
South Korea
Prior art keywords
cluster
file
disk
fat
buffer
Prior art date
Application number
KR1020030092413A
Other languages
English (en)
Other versions
KR20050060713A (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 엘지전자 주식회사
Priority to KR1020030092413A priority Critical patent/KR100545654B1/ko
Publication of KR20050060713A publication Critical patent/KR20050060713A/ko
Application granted granted Critical
Publication of KR100545654B1 publication Critical patent/KR100545654B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity

Abstract

본 발명은 시스템 위에서 이전에 동작하던 응용 프로그램들이 생성한 파일들의 무결점 여부를 시스템 시동 후에 파일의 제어 정보를 이용하여 판단하기 위한 방법에 관한 것으로, 본 발명에 따른 방법의 제1실시예는, 디스크의 FAT 영역을 메모리의 FAT 변경 버퍼(modification buffer) 로 읽고, 디스크의 디렉토리 엔트리 영역을 메모리로 읽어 들이는 1 단계; 상기 FAT 변경 버퍼(modification buffer) 로부터 FAT 영역의 첫 번째 클러스터부터 마지막 클러스터까지 검색하여 각 클러스터의 일련번호가 디렉토리 번호와 일치하는지 확인하고, 클러스터의 총 개수를 구하는 2 단계; 디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 개수와 같은지 확인하는 3 단계; 상기 3단계에서 같지 않는 경우 해당 파일의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련번호 등을 사용자에게 알리는 4 단계를 포함하는 것을 특징으로 한다.
무결점, 파일, 메타 테이터, 클러스터, FAT, 디렉토리 엔트리, 파티션

Description

시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법{A method for detecting defectless of file in disk after booting}
도 1은 일반적인 파일 시스템에서 디스크 파티션의 구성 정보를 도시한다.
도 2는 사용자가 파일을 생성 및 저장할 때 메모리 상에 존재하는 FAT 변경 테이블(modification table) 영역이 어떻게 갱신되며, 갱신된 내용이 FAT 변경 버퍼(modification buffer) 에 어떻게 적용되는지를 도시한다.
도 3은 변경된 FAT 변경 버퍼(modification buffer) 가 디스크의 FAT 영역에 어떻게 반영되는지를 도시한다.
도 4는 사용자가 파일에 접근하여 작업을 수행할 경우에 필요한 구조체를 도시한다.
도 5는 도 4의 구조체에서 디렉토리 아래에 파일이 생성된 경우를 도시한다.
도 6은 메모리에 존재하는 파일의 조작을 위한 상기 구조체의 리스트에서 디렉토리 엔트리가 실제의 디스크에 어떻게 반영되는지를 도시한다.
도 7은 파일이 생성되었을 때의 파일의 디렉토리 엔트리와 FAT 변경 버퍼(modification buffer) 영역과의 관계를 나타낸다.
도 8은 본 발명에 따라 시스템의 시동 후에 디스크에 존재하는 파일들의 무결점을 판단하기 위한 방법을 설명한다.
도 9는 본 발명에 따른 무결점 판단 방법의 제2실시예를 도시한다.
도 10은 각각의 데이터 파일에 할당된 FAT 변경 체크 버퍼(modification check buffer) 를 초기화하는 과정을 모든 파일에 적용한 후에, FAT 변경 체크 버퍼(modification check buffer) 에 클러스터가 남아 있는지 확인하는 과정을 도시한다.
도 11은 본 발명의 제1실시예에 따른 파일들의 무결점 판단 과정을 도시하는 흐름도이다.
본 발명은 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법에 관한 것으로, 보다 상세하게는, 시스템 위에서 이전에 동작하던 응용 프로그램들이 생성한 파일들의 무결점 여부를 시스템 시동 후에 파일의 제어 정보를 이용하여 판단하기 위한 방법에 관한 것이다.
사용자가 컴퓨터 시스템 등의 응용 프로그램을 실행하여 생성 및 편집한 데이터는 일반적으로 파일의 형태로 디스크 등에 저장된다. 여기서, 사용자의 요구에 의해 디스크에 저장되는 데이터 파일이 실질적으로 저장되는 디스크 상의 부분을 클러스터라고 한다. 통상, 디스크는 파티션과 클러스터로 나뉘는데, 파티션이란 디스크의 저장 영역을 사용자의 사용 용도에 따라 다수의 분할 영역으로 분할한 각 분할 영역을 말하며, 클러스터란 디스크 위에 데이터 파일을 실질적으로 저장하는 논리적 섹터로서 데이터를 읽거나 쓰는 기본 단위이다.
한편, 사용자의 요구에 의해 파일이 생성되고 쓰기 모드로 동작하는 경우 디스크의 클러스터에 실제 데이터 내용이 저장이 되는데, 이때, 파일의 크기가 하나의 클러스터 크기 보다 큰 경우에는 여러 개의 클러스터에 걸쳐 저장될 수 있다. 이렇게, 하나의 파일이 여러 개의 클러스터에 나뉘어 저장될 경우, 반드시 연속하는 클러스터들에 저장되어야 하는 것은 아니며 디스크의 이곳 저곳에 있는 여러 클러스터들에 불연속적으로 분산되어 저장되는 것이 가능하다. 이는 FAT(File Allocatin Table)라는 파일 배치표에 의해서 하드 디스크의 클러스터들이 관리되어, 하나의 파일을 저장하고 있는 클러스터들의 주소를 알 수 있기 때문이다. 이러한 관리를 위해, 상기 FAT 이외에도, 각각의 데이터 파일마다 파일의 이름, 크기, 생성 시간, 수정 시간, 첫 번째 클러스터 번호, 일련(serial) 번호 정보 등이 저장된 디렉토리 엔트리라는 구조체가 존재하게 된다. 상기와 같이, 하나의 디스크 파티션에서 파일의 제어 정보를 위해 디스크 상의 특수 영역에 저장되는 별도의 데이터를 메타 데이터(Meta Data)라 한다. 즉, 일반적으로 메타 데이터라 함은 FAT와 디렉토리 엔트리를 의미한다.
사용자가 여러 클러스터에 분산 저장되어 있는 데이터 파일을 불러들여 읽거나 편집하는 등의 작업을 하기 위해서는, 먼저 상기 메터 데이터를 참조하여 파일의 제일 첫 번째 클러스터에 저장된 데이터를 읽으며, 계속해서 메터 데이터가 지시하는 두 번째, 세 번째 클러스터에 저장되어 있는 내용에 접근하여 읽어 들인다. 그러나, 이러한 작업은 시스템의 OS에 의해 전적으로 관리되기 때문에, 사용자나 응용 프로그램은 시스템 내부에서 이루어지는 이러한 작업에 대해 직접 인식하지는 못한다.
그런데, 정전 등으로 인해 컴퓨터 시스템이 갑작스럽게 꺼진다거나, 기타 여러 가지의 이유로 컴퓨터 시스템이 비정상적으로 종료하게 되는 경우, 디스크의 메타 데이터 영역 또는 클러스터 영역이 훼손되는 경우가 종종 발생한다. 즉, 클러스터의 변경 내용이 메타 데이터에 반영되지 않거나, 클러스터에 변경 사항이 없음에도 메터 데이터가 삭제 또는 변경되는 등의 일이 있을 수가 있다. 그러나, 종래에는 파일의 메타 데이터를 이용하여 파일의 무결점 여부를 판단하는 부분의 부재로, 사용자가 유효(valid)하지 않은 파일에 접근하여 작업을 수행하더라도 이를 이리 경고하거나 방지하지 못하였다. 따라서, 사용자는 유효(valid)하지 않은 파일에 접근하여 작업을 수행함으로써 심각할 경우에는 시스템에 큰 문제를 일으킬 수도 있었다.
본 발명은 상기와 같은 종래의 문제점을 해소하기 위한 것이다. 즉, 시스템 시동시에 파일의 메타 데이터를 이용하여 파일의 무결점 여부를 판단하고, 문제가 있을 경우 이를 사용자에게 미리 경고함으로써 사용자가 유효하지 않은 파일에 접근하여 문제를 일으키는 것을 사전에 방지하기 위한 것이다.
따라서, 본 발명의 목적은, 시스템 위에서 이전에 동작하던 응용 프로그램들이 생성한 파일들의 무결점 여부를 시스템 시동 후에 파일의 제어 정보를 이용하여 판단하기 위한 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법의 제1실시예는, 디스크의 FAT 영역을 메모리의 FAT 변경 버퍼(modification buffer) 로 읽고, 디스크의 디렉토리 엔트리 영역을 메모리로 읽어 들이는 1 단계; 상기 FAT 변경 버퍼(modification buffer) 로부터 FAT 영역의 첫 번째 클러스터부터 마지막 클러스터까지 검색하여 각 클러스터의 일련번호가 디렉토리 번호와 일치하는지 확인하고, 클러스터의 총 개수를 구하는 2 단계; 디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 개수와 같은지 확인하는 3 단계; 상기 3단계에서 같지 않는 경우 해당 파일의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련번호 등을 사용자에게 알리는 4 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법의 제2실시예는, 디스크의 FAT 영역을 메모리의 FAT 변경 버퍼(modification buffer) 로 읽고, 디스크의 디렉토리 엔트리 영역을 메모리로 읽어 들이는 6 단계; FAT 변경 버퍼(modification buffer) 의 내용을 상기 FAT 변경 버퍼(modification buffer) 와 같은 크기를 가지는 FAT 변경 체크 버퍼(modification check buffer) 로 복사하는 7 단계; FAT 변경 체크 버퍼(modification check buffer) 로부터 FAT 영역의 첫 번째 클러스터부터 마지막 클러스터까지 검색하여 각 클러스터의 일련번호가 디렉토리 번호와 일치하는지 확인하고 검색된 클러스터를 초기화하는 8 단계; 상기 검색된 클러스터의 개수 를 구하는 9 단계; 디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 개수와 같은지 확인하는 10 단계; 상기 10단계에서 상기 나눈 값이 클러스터의 개수와 같지 않거나 정상적으로 초기화되지 않은 클러스터가 있는 경우, 해당 파일의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련번호 등을 사용자에게 알리는 11 단계를 포함하는 것을 특징으로 한다.
삭제
이제 첨부한 도면을 참조로 하여 본 발명의 일실시예에 따른 본 발명의 구성 및 동작에 대해 상세히 설명하도록 한다.
앞서 설명하였듯이, 시스템 동작 중에 생성되는 파일은 디스크의 데이터 영역에 있는 다수의 클러스터에 할당되어 저장되며, 또한 이들을 관리하기 위하여 해당 파일에 대한 제어 정보(크기 및 생성 시간, 수정 시간 등)가 필요하다. 따라서, 메모리 뿐만 아니라 디스크에도 이러한 제어 정보들을 저장하기 위한 영역이 존재한다. 본 발명은, 시스템의 오동작 등으로 인한 시스템의 재시동 이후, 또는 사용자의 요구에 의해 시스템이 시동된 이후에, 디스크에 존재하는 메타 데이터를 이용하여 디스크에 저장된 파일의 크기 및 FAT를 확인함으로써 파일의 무결점 여부를 판단하는 것이다.
상기와 같은 본 발명의 이해를 위하여, 먼저 본 발명과 관련된 일반적인 파일 시스템의 구성을 살펴보면 다음과 같다. 디스크의 저장영역은 사용자의 사용 용도에 따라 다수의 분할 영역으로 분할할 수 있는데, 이러한 각 분할영역을 파티션이라고 한다. 그리고, 각 파티션은 해당 파일의 제어 정보를 저장하기 위한 메타 데이터 영역과 사용자에 의해 생성된 데이터 파일을 저장하기 위한 노말(normal) 데이터 영역으로 나뉜다. 또한, 상기 메타 데이터는 파티션 정보가 담긴 영역(volume descriptor 영역)과, 데이터 파일이 노말(normal) 데이터 영역의 몇 번 째 클러스터에 할당되어 저장되어 있는지에 관한 정보가 담긴 영역(file allocation table 영역)과, 파일의 제어 정보(크기 및 생성 시간, 수정 시간)가 담긴 영역(디렉토리 엔트리 영역)으로 나뉜다. 도 1은 디스크 파티션이 어떻게 구성되는지를 보여 준다.
한편, 도 2는 사용자가 파일을 생성 및 저장할 때 메모리 상에 존재하는 FAT 변경 테이블(modification table) 영역이 어떻게 갱신되며, 갱신된 내용이 FAT 변경 버퍼(modification buffer) 에 어떻게 적용되는지를 도시한 그림이다. 여기서, FAT 변경 테이블(modification table) 은 디스크의 FAT를 갱신하기 위하여 메모리에 존재하는 변경 테이블로서, 도 1에 도시된 노말(normal) 데이터 영역의 총 크기를 클러스터 개수로 표현한 값을 64로 align한 값만큼의 인덱스를 가진다. 즉, 인덱스 하나가 64개의 클러스터를 의미한다. 또한, FAT 변경 버퍼(modification buffer) 는 메모리에 존재하는 디스크의 FAT를 갱신하기 위한 버퍼로서, 디스크 FAT 영역에 적용될 내용이 저장되며, 디스크 노말(normal) 데이터 영역의 총 클러스터 개수 * Clust_t 구조체 크기 만큼을 크기로 갖는다. 도 2에 도시된 바와 같이, 파일을 저장하고자 하는 경우, 클러스터가 할당이 되면 해당 클러스터가 변경되었음을 FAT 변경 테이블(modification table) 에 'TRUE'로 표시하고 FAT 변경 버퍼(modification buffer) 에 해당 클러스터의 변경 내용을 적용한다. 상기 Clust_t 구조체는, 도 1에 도시된 바와 같이, 파일이 할당된 다음 클러스터를 지시하는 필드와 일련 번호 필드를 가진다.
도 3은 메모리에 변경된 FAT 변경 버퍼(modification buffer) 가 디스크의 FAT 영역에 어떻게 반영되는지를 도시한다. 도 3에 도시된 바와 같이, FAT 변경 테이블(modification table) 에서 인덱스 하나는 64개의 클러스터를 대표하고, 이에 해당되는 FAT 변경 버퍼(modification buffer) 의 내용이 디스크의 FAT 영역에 반영이 된다.
도 4는 사용자가 파일에 접근하여 작업을 수행할 경우에 필요한 구조체를 도시한 그림이다. 상기 구조체는 파일을 생성할 경우에 할당 되며, 반대로 파일을 삭제할 경우에는 해당 구조체가 메모리로부터 삭제된다. 파일 뿐만 아니라 디렉토리를 생성할 경우에도 동일한 구조체가 할당되는데, 파일은 실제 사용자가 이용할 수 있는 데이터의 실체를 의미하므로 디렉토리 자체도 또 하나의 파일로서 간주하기 때문이다. 상기 구조체에서 디렉토리 엔트리 필드만이 디스크의 디렉토리 엔트리 영역에 반영된다.
만약 디렉토리 아래에 파일이 생성된 경우라면 파일 조작을 위한 구조체는 도 5와 같게 된다. 디렉토리를 의미하는 파일의 조작을 위한 구조체는 하위 파일들의 엔트리 체인(entry chain) 시작 포인터를 이용하여 자신의 아래에 생성된 파일에 접근할 수 있으며, 디렉토리 아래에 생성된 파일들은 자신의 파일 조작을 위한 구조체에서 상위 디렉토리 포인터를 자신이 존재하는 디렉토리를 가리키도록 한다.
도 6은 메모리에 존재하는 파일의 조작을 위한 상기 구조체의 리스트에서 어둡게 칠한 디렉토리 엔트리가 실제의 디스크에 어떻게 반영되는지를 도시하는 그림이다. 이를 살펴보면 같은 디렉토리 아래에 존재하는 파일들의 디렉토리 엔트리가 디스크의 디렉토리 엔트리 영역에 반영됨을 알 수 있다.
도 7은 파일이 생성되었을 때의 파일의 디렉토리 엔트리와 FAT 변경 버퍼(modification buffer) 영역과의 관계를 나타낸 그림이다. 파일의 디렉토리 엔트리에서 구한 첫 번째 클러스터를 이용하여 FAT 변경 버퍼(modification buffer) 에서의 시작포인터를 찾은 후, 동일한 일련 번호를 가지는 엔트리들을 얻는다. 즉, 하나의 파일이 여러 개의 클러스터에 걸쳐 존재하는 경우, 각 Clust_t 구조체의 일련 번호는 모두 동일한 값을 같게 된다.
도 8은 본 발명에 따라 시스템의 시동 후에 디스크에 존재하는 파일들의 무결점을 판단하기 위한 방법의 제1실시예를 설명하기 위한 그림이다. 도시된 바와 같이, 먼저, 디스크의 FAT 영역을 메모리의 FAT 변경 버퍼(modification buffer) 로 읽는다(ST10). 그런 후, 디스크의 디렉토리 엔트리 영역을 메모리로 읽는다(ST20). 하나의 파일은 하나의 디렉토리 엔트리로 표현되며, 메모리로 읽은 상기 디렉토리 엔트리에서 파일의 첫 번째 클러스터를 찾는다(ST30). 그런 후, 단계(ST30)에서 구한 첫 번째 클러스터를 이용하여, 상기 단계(ST10)에서 읽은 FAT 변경 버퍼(modification buffer) 로부터 FAT 영역의 첫 번째 Clust_t 구조체를 검색한다. 상기 Clust_t 구조체에는 다음의 클러스터를 지시하는 필드가 있으므로, 이를 통해 다음의 클러스터를 구한다. 그리고, 다음의 클러스터에 있는 일련 번호가 디렉토리의 일련 번호와 같은지 확인한다(ST40).
만약, 같지 않다면 그 파일은 유효하지 않은 것으로 판단한다. 그런 후에는, 상기 단계(ST40)에서 구한 다음의 클러스터를 이용하여 다시 FAT 변경 버퍼(modification buffer) 로부터 FAT 영역의 Clust_t 구조체들을 검색하고, 그 다음의 클러스터를 구한다. 그리고, 그 다음의 클러스터에 있는 일련 번호가 디렉토리의 일련 번호와 같은지 확인한다. 마찬가지로, 일련 번호가 서로 같지 않다면 그 파일은 유효하기 않은 것으로 판단한다. 이런 식으로 마지막 클러스터가 나올 때까지 계속하고, 클러스터 개수를 구한다. 클러스터의 개수를 구하였으면, 디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 개수와 같은지 비교한다(ST50). 정상적인 경우라면 이 값들은 서로 같다. 만약 같지 않다면 해당 파일의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련 번호를 디스플레이에 출력하여, 사용자가 해당 파일이 유효하지 않음을 인식할 수 있도록 한다(ST60). 도 11은 지금까지 설명한 본 발명의 제1실시예에 따른 파일들의 무결점 판단 과정을 간단히 정리한 흐름도를 도시한다.
도 9는 상기와 같은 본 발명의 제2실시예를 도시한다. 먼저, 제1실시예와 마찬가지로, 디스크의 FAT 영역을 메모리의 FAT 변경 버퍼(modification buffer) 로 읽은 후, 디스크의 디렉토리 엔트리 영역을 메모리로 읽는다. 그런 다음, FAT 변경 버퍼(modification buffer) 의 내용을 상기 FAT 변경 버퍼(modification buffer) 와 같은 크기를 가지는 FAT 변경 체크 버퍼(modification check buffer) 로 복사한다. 제1실시예에서는 FAT 변경 버퍼(modification buffer) 에 할당된 FAT 영역의 Clust_t 구조체를 검색하면서 클러스터의 개수를 구하고, 디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 개수와 일치하는지 확인하였으나, 제2실시예에서는 FAT 변경 체크 버퍼(modification check buffer) 에 복사된 FAT 영역의 Clust_t 구조체를 검색하여 동일한 작업을 수행한다.
제2실시예에서는 이렇게 Clust_t 구조체를 하나씩 차례로 검색하면서 검색이 완료된 Clust_t 구조체를 초기화한다. 즉, 검색이 완료된 Clust_t 구조체에 대해서는, 다음 클러스트 필드를 엠티(EMPTY) 로 세팅하고 일련 번호 필드를 널(NULL) 로 세팅한다. 제2실시예에서는, 이렇게 검색을 정상적으로 완료하고 초기화한 클러스터의 개수를 최종적으로 구한다. 그런 후, FAT 변경 체크 버퍼(modification check buffer) 가 정상적으로 초기화되었는지 확인한다. 도 10은 각각의 데이터 파일에 할당된 FAT 변경 체크 버퍼(modification check buffer) 를 초기화하는 과정을 모든 파일에 적용한 후에, FAT 변경 체크 버퍼(modification check buffer) 에 클러스터가 남아 있는지 확인하는 과정을 도시한 그림이다. 만약, 데이터 파일이 처음부터 할당되지 않았었다면, Clust_t 구조체의 다음 클러스터 필드에 널(NULL) 값이 오며, 검색 과정에서 정상적으로 초기화된 경우라면 Clust_t 구조체의 다음 클러스터 필드에 엠티(EMPTY) 값이 온다. 그러나, 만약 파일에 할당된 Clust_t 구조체 리스트가 정상적이지 않았다면 Clust_t 구조체의 다음 클러스터 필드 값이 정상적으로 초기화되지 않고 원래의 값이 그대로 남아 있게 된다.
제2실시예에서는, FAT 변경 체크 버퍼(modification check buffer) 에 할당된 FAT 영역의 Clust_t 구조체를 검색하면서 클러스터의 개수를 구하고, 디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 개수와 일치하는지 확인하는 과정과 상기 FAT 변경 체크 버퍼(modification check buffer) 에 할당된 FAT 영역의 Clust_t 구조체를 초기화하는 과정이 모두 정상적인 경우에 파일이 유효한 것으로 판단한다. 따라서, 디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 개수와 같은지 비교하고, 만약 같지 않다면 해당 파일의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련 번호를 디스플레이에 출력하여, 사용자가 해당 파일이 유효하지 않음을 인식할 수 있도록 한다. 또한, 파일에 할당된 Clust_t 구조체 리스트가 정상적이지 않아 Clust_t 구조체의 다음 클러스터 필드 값이 정상적으로 초기화되지 않고 원래의 값이 그대로 남다면, 해당 Clust_t 구조체가 의미하는 디스크의 노말(normal) 데이터 영역은 사용할 수 없게 된다.
지금까지 본 발명의 구성 및 동작에 대해 상세하게 설명하였다. 여기서, 본 발명은 상술한 예시적인 실시예에만 한정되지 않는다는 점을 유의하여야 한다. 당업자라면 본 발명의 기술적 사상의 범위 내에서 본 발명에 대한 다양한 변형을 가할 수 있을 것이다.
지금까지 본 발명에 따른 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법에 대해 상세히 설명하였다. 상술한 바와 같이, 본 발명에 따르면, 시스템 시동 시 디스크에 존재하는 파일들의 메타 데이터를 이용하여 파일의 무결점 여부를 판단하고 메타 데이터 간에 일치되지 않는 파일이 존재하는 경우 이를 사용자에게 보고하여 사용자가 파일의 사용 여부를 진단할 수 있도록 할 수 있다.

Claims (10)

  1. (정정)
    디스크의 FAT 영역을 메모리의 FAT 변경 버퍼(modification buffer) 로 읽고, 디스크의 디렉토리 엔트리 영역을 메모리로 읽어 들이는 1 단계;
    상기 FAT 변경 버퍼(modification buffer)로부터 FAT 영역의 첫 번째 클러스터부터 마지막 클러스터까지 검색하여 각 클러스터의 일련번호가 디렉토리 번호와 일치하는지 확인하고, 클러스터의 총 개수를 구하는 2 단계;
    디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 개수와 같은지 확인하는 3 단계;
    상기 3단계에서 같지 않는 경우 해당 파일의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련번호 등을 사용자에게 알리는 4 단계를 포함하는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  2. (정정)
    제 1 항에 있어서,
    상기 첫 번째 클러스터는 메모리로 읽어 들인 상기 디렉토리 엔트리로부터 찾는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  3. 제 1 항에 있어서,
    각 클러스터의 일련번호가 디렉토리 번호와 일치하지 않는 경우, 해당 파일 의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련번호 등을 사용자에게 알리는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 방법은 시스템의 시동 후에 자동으로 수행되는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  5. (정정)
    디스크의 FAT 영역을 메모리의 FAT 변경 버퍼(modification buffer) 로 읽고, 디스크의 디렉토리 엔트리 영역을 메모리로 읽어 들이는 6 단계;
    FAT 변경 버퍼(modification buffer) 의 내용을 상기 FAT 변경 버퍼(modification buffer) 와 같은 크기를 가지는 FAT 변경 체크 버퍼(modification check buffer) 로 복사하는 7 단계;
    FAT 변경 체크 버퍼(modification check buffer) 로부터 FAT 영역의 첫 번째 클러스터부터 마지막 클러스터까지 검색하여 각 클러스터의 일련번호가 디렉토리 번호와 일치하는지 확인하고 검색된 클러스터를 초기화하는 8 단계;
    상기 검색된 클러스터의 총 개수를 구하는 9 단계;
    디렉토리 엔트리 내에 기록된 파일의 크기를 클러스터 하나의 크기로 나눈 값이 상기 클러스터의 총 개수 와 같은지 확인하는 10 단계;
    상기 10단계에서 상기 나눈 값이 클러스터의 개수와 같지 않거나 정상적으로 초기화되지 않은 클러스터가 있는 경우, 해당 파일의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련번호 등을 사용자에게 알리는 11 단계를 포함하는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  6. 제 5 항에 있어서,
    상기 첫 번째 클러스터는 메모리로 읽어 들인 상기 디렉토리 엔트리로부터 찾는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  7. 제 5 항에 있어서,
    각 클러스터의 일련번호가 디렉토리 번호와 일치하지 않는 경우, 해당 파일의 이름, 현재 클러스터 번호, 다음 클러스터 번호, 일련번호 등을 사용자에게 알리는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  8. (정정)
    제 5 항에 있어서,
    상기 검색된 클러스터를 초기화하는 단계는, 다음 클러스터 필드와 일련번호 필드로 이루어진 Clust_t 구조체 의 다음 클러스트 필드를 엠티(EMPTY) 로 세팅하고 일련 번호 필드를 널(NULL) 로 세팅함으로써 이루어지는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  9. (정정)
    제 5 항에 있어서,
    상기 정상적으로 초기화되지 않은 클러스터는 다음 클러스터 필드와 일련번호 필드로 이루어진 Clust_t 구조체 의 각 필드 값이 원래의 값 그대로 남아 있는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
  10. 제 5 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 방법은 시스템의 시동 후에 자동으로 수행되는 것을 특징으로 하는 시스템 시동 후 디스크에 존재하는 파일의 무결점을 감지하는 방법.
KR1020030092413A 2003-12-17 2003-12-17 시스템 시동 후 디스크에 존재하는 파일의 무결점을감지하는 방법 KR100545654B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030092413A KR100545654B1 (ko) 2003-12-17 2003-12-17 시스템 시동 후 디스크에 존재하는 파일의 무결점을감지하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030092413A KR100545654B1 (ko) 2003-12-17 2003-12-17 시스템 시동 후 디스크에 존재하는 파일의 무결점을감지하는 방법

Publications (2)

Publication Number Publication Date
KR20050060713A KR20050060713A (ko) 2005-06-22
KR100545654B1 true KR100545654B1 (ko) 2006-01-24

Family

ID=37253393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030092413A KR100545654B1 (ko) 2003-12-17 2003-12-17 시스템 시동 후 디스크에 존재하는 파일의 무결점을감지하는 방법

Country Status (1)

Country Link
KR (1) KR100545654B1 (ko)

Also Published As

Publication number Publication date
KR20050060713A (ko) 2005-06-22

Similar Documents

Publication Publication Date Title
US6205450B1 (en) Computer system capable of restarting system using disk image of arbitrary snapshot
US7263589B2 (en) Apparatus and method for controlling booting operation of computer system
US6792518B2 (en) Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies
US5086502A (en) Method of operating a data processing system
US6205558B1 (en) Recovery of file systems after modification failure
US6957362B2 (en) Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US6615365B1 (en) Storing a computer disk image within an imaged partition
US7363540B2 (en) Transaction-safe FAT file system improvements
KR100622801B1 (ko) 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
US5367671A (en) System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables
JP4388078B2 (ja) ファイルシステムと互換性を維持するシンボリックリンクを生成する方法、前記シンボリックリンクを用いてファイル/ディレクトリにアクセスする方法および装置
US7519806B2 (en) Virtual partition for recording and restoring computer data files
US6934822B2 (en) Organization of multiple snapshot copies in a data storage system
US5778389A (en) Method and system for synchronizing computer file directories
US8122178B2 (en) Filesystem having a filename cache
KR100233178B1 (ko) 대용량 저장장치 구성 레코드들을 갱신하기 위한 방법 및 시스템
US20020194423A1 (en) Information processing apparatus and method therefor, and recording medium
JP2868543B2 (ja) 計算機装置
US20050163014A1 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
WO2000055735A1 (en) Manipulation of computer volume segments
US20120198287A1 (en) File system error detection and recovery framework
US6192376B1 (en) Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery
US20060149899A1 (en) Method and apparatus for ongoing block storage device management
US20090112951A1 (en) Apparatus and method of managing files and memory device
KR100637932B1 (ko) 파일 시스템의 언마운트 방법

Legal Events

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

Payment date: 20121217

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140110

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141211

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee