KR940005775B1 - 디스크 파일 개방 방법 - Google Patents

디스크 파일 개방 방법 Download PDF

Info

Publication number
KR940005775B1
KR940005775B1 KR1019880002095A KR880002095A KR940005775B1 KR 940005775 B1 KR940005775 B1 KR 940005775B1 KR 1019880002095 A KR1019880002095 A KR 1019880002095A KR 880002095 A KR880002095 A KR 880002095A KR 940005775 B1 KR940005775 B1 KR 940005775B1
Authority
KR
South Korea
Prior art keywords
file
entry
cache
directory
disk
Prior art date
Application number
KR1019880002095A
Other languages
English (en)
Other versions
KR880011665A (ko
Inventor
월터 크리스토퍼 2세 케니드
알란 페이겐바움 배리
김진
카알턴 러브 더글라스
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 KR880011665A publication Critical patent/KR880011665A/ko
Application granted granted Critical
Publication of KR940005775B1 publication Critical patent/KR940005775B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Abstract

내용 없음.

Description

디스크 파일 개방 방법
제1도는 본 발명에 관한 방법이 실행되는 환경 또는 종래 기술과 본 발명의 관계를 일반적으로 도시한 개략도.
제2도는 사용자 요구에 따라 행하는 본 발명의 일반적인 단계의 흐름도.
제3도는 메인 절차로부터 여러 상세한 절차를 선택하기 위한 흐름도.
제4도는 조사 절차의 흐름도.
제5도는 삽입 절차의 흐름도.
제6도는 삭제 요구 절차의 흐름도.
제7도는 삭제 절차의 흐름도.
제8도는 갱신 절차의 흐름도.
제9도는 DOS가 본 발명의 어떤 절차를 어떻게 호출할 수 있는가의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
10 : 데이터 처리 시스템 12 : 프로세서
14 : 버스 16 : 메인 메모리
18 : 디스크 제어기 20 : 디스크 드라이브
22 : 디스크 24 : DOS 절차
26 : 시스템 버퍼 30 : FASTOPEN 캐시
32 : 파일 할당 테이블(FAT) 34 : 루트 디렉토리
38 : 서브 디렉토리 40 : 파일
본 발명은 데이타 처리 분야에 관한 것으로, 특히 경로명에 의해 식별된 디스크 파일을 신속하게 개방하는 방법에 관한 것이다.
본 발명은 IBM 퍼스널 컴퓨터와 같은 하드웨어가 디스크 오퍼레이팅 시스템(DOS)에 따라 작동되고, 트리(tree) 구조인 디렉토리(directory)와 경로명을 이용하여 고정된 디스크상에 파일이 기억된 형태의 공지되어 상업적으로 이용가능한 시스템보다 개선되어 설계되었다. 정보는 실린더와 섹터의 소정 패턴에 따라 디스크에 기억되는데, 각 섹터는 소정수의 바이트를 포함한다. 원하는 섹터를 액세스하기 위해, 우선 원하는 섹터가 도달할 때까지 디스크를 회전시켜서 헤드를 통과시켜, 원하는 섹터를 포함하는 실린더로 한 헤드를 이동시킨 다음, 그 섹터를 판독하여, 그 내용을 버퍼에 배치시켜야 한다. 디스크상의 데이타를 액세스하는데 필요한 전체 시간을 고려하면, 헤드의 물리적 이동 기간에 주요한 지연이 발생한다. 응용에 있어서, 대량의 물리적 입/출력 동작이 필요한 경우, 헤드 이동의 정도를 가능한 크게 감소시키는 것이 바람직하다.
파일은 섹터의 클러스터(cluster) 혹은 한 클러스터내의 디스크에 기억되는데, 각각의 클러스터는 소정수의 섹터를 포함한다. 각각의 클러스터는 유일하게 다른 시작(starting) 어드레스를 갖는다. 디스크상의 파일 위치는 디스크에 기억된 파일 할당 테이블(FAT)에 의해 추적된다. FAT 각각의 위치는, 다른 클러스터와 관련되고, 파일에 관련된 다른 클러스터가 없는 것을 나타내는 엔트리 혹은, 파일의 다음 클러스터를 가리키는 엔티를 포함한다. 작은 파일은 단일 클러스터에 포함된다. 긴 파일은 상호 연쇄된 클러스터에 포함된다.
파일은 트리 구조인 디렉토리를 이용하여서 배치된다. 각각의 디스크는 루트 디렉토리, 다수의 서브 디렉토리 및 다수의 파일을 포함한다. 소정의 파일은 루트 디렉토리와 몇몇의 서브-디렉토리를 통과하는 경로의 끝에 있을 수 있다. 각각의 디렉토리는 추가 디렉토리와 파일의 엔트리를 포함한다. 특정 파일은 드라이브, 경로 및 파일면을 지정하므로써 식별될 것이다. 예를 들면, C : /DIR1/DIR2/FILE1은 디렉토리 DIR1의 서브 디렉토리로서 그 내부에 리스트된 디렉토리 DIR2에 리스트 되어 있는 파일명 FILE1을 식별하고, DIR1은 드라이브(C)의 루트 디렉토리의 서브-디렉토리이며, 그 내부에 리스트되어 잇다.
파일이 개방되었을 때, 드라이브를 액세스하고, 경로에 지정된 전체 디렉토리를 통하여 검색하여 파일명의 엔트리를 포함하는 디렉토리를 위치 설정하는 것이 필요하다. 상기 최후의 디렉토리에서, 전체 엔트리와 파일명은 원하는 곳에 위치 설정될 때까지 검색한다. 만일, 파일이 이전에 개방되지 않았다면, 엔트리가 존재하지 않기 때문에 파일이 사용되기 이전에 엔트리가 작성되었어야할 것이다. 만일, 파일이 이전에 개방되었다면, 파일명이 리스트된 디렉토리내의 엔트리는 파일이 시작되는 클러스터에 대응하는 FAT의 인덱스가 되는 엔트리를 포함한다. 상기 개방 절차 동안에, 루트 디렉토리와 각 서브 디렉토리를 액세스하고, 파일명의 긴 리스트를 통해 검색하기 위해서는 물리적 입/출력 동작을 행해야한다. 어떤 응용에 있어서, 동일한 파일은 소정의 프로그램의 실행 과정동안에 여러번 개방되는데, 상기 각각의 개방으로 인하여 큰 양의 입/출력 동작을 수반하고, 비교적 큰 시간을 소비한다. 본 발명은 파일을 신속히 개방하고, 개방 과정과 관련된 물리적 입/출력 동작량을 감소시키는 방법을 제공하므로써, 종래 기술의 개방 방법을 개선하도록 설계된다.
본 발명의 목적은 상기 파일이 처음에 적어도 한번 개방된 이후에 파일을 신속히 개방하기 위한 방법을 제공함에 있다.
본 발명의 다른 목적은 상기 절차와 관련되어 물리적 입/출력량을 감소시키는 방식으로 고성능 퍼스널 컴퓨팅 시스템내의 파일을 신속히 개방하기 위한 방법을 제공함에 있다.
본 발명의 또다른 목적은 디렉토리내에 파일명 엔트리를 위치 설정하기 위하여 일단 파일이 이전에 개방되면 다른 방법으로 요구되는 디스크 드라이브의 디렉토리와 다양한 파일명을 통해 검색의 필요성을 제거하므로써 파일을 개방하는데 필요한 시간을 감소함에 있다.
본 발명의 다른 목적은 자주 개방 및 폐쇄가 되는 최근에 액세스 및 네스트(nest)된 파일을 신속히 재개방하기 위한 방법을 제공함에 있다.
간략하게, 상기 목적을 달성하기 위한 방법은 메인 메모리내의 캐시에서 파일 사용의 기록(history)을 작성하고 유지하는 것이다. 디렉토리 또는 파일이 액세스될 때마다, 그 활동 기록이 검사되고, 개방에 필요한 정보가 캐시내에 있다면, 물리적 입/출력 동작을 포함할 수 있는 어떤 디렉토리의 또는 파일명을 트리 형태로 검색할 필요없이 직접 사용된다. 및 메인 메모리내의 캐시를 보유하므로써, 상기 정보는 메인 메모리의 고속으로 액세스되어 디스크의 물리적 입/출력 동작에 관련된 저속으로 액세스되지 않는다.
본 발명의 다른 목적과 잇점은 첨부된 도면을 참조로 얻을 수 있는 다음 설명으로부터 명백해질 것이다.
도면을 참조하면, 첫째로 제 1 도에서, IBM 퍼스널 컴퓨터(AT)와 같은 데이타 처리 시스템(10)은 버스(14)를 통하여 메인 메모리(16)와 디스크 제어기(18)에 접속된 프로세서(12)를 포함한다. 그 제어기(18)는 정보 비트가 기록되는 종래 기억 매체를 갖고 있는 디스크(22)를 포함하는 디스크 드라이브(20)에 차례로 접속된다. 시스템(10)의 작동중에, DOS 절차(24)는 메인 메모리(16)내에 로드되어, 디스크(22)의 정보에 대한 액세스를 제어하기 위해 사용된다. DOS는 종래 방식으로 정보를 디스크(22)와 메인 메모리(16) 사이에 전송시키는 시스템 버퍼(26)에 결합된다.
또한, FASTOPEN 캐시(30)의 동작과 관련된 FASTOPEN(28)이라 칭하는 일련의 절차가 메인 메모리(16)내에 로드 및 상주하는데, 그 절차의 상세한 설명은 이후에 기술한다. 시스템 내에 다수의 드라이브가 있는 경우, 각각의 드라이브에 대해 1개씩 다수의 캐시(30)가 있다. 상기 디스크(22)는 파일 할당 테이블(FAT)(32)와 루트 디렉토리(34)를 포함하도록 포맷된다. 또한, 제 1 도에 도시된 것은 전형적인 파일 구조인데, FILE1으로 표시된 파일(40)은 DIR2로 표시된 서브 디렉토리(38)내에 배치되고, DIR2는 DIR1으로 표시된 서브 디렉토리(36)의 서브 디렉토리이며, DIR1은 루트 디렉토리(34)의 서브 디렉토리이다. FASTOPEN 절차(28)없이 도입되었다면, 시스템은 종래의 공지된 방식으로 동작한다. FASTOPEN(28)은, 이하 기술될 다양한 변화를 초기 설정하여 종결하든가, 또는 필요에 따라 이용가능하도록 메인 메모리(16)내에 상주시키므로서 도입된다.
이전에 표시된 바와같이, 시스템내에 각 디스크 드라이브에 대해 하나의 캐시(30)가 있다. 각각의 캐시는 드라이브 캐시 헤더와 같이 공지된 정보 블록을 표함한다. 상기 헤더는 표(1)에 설명한 의미인 다양한 필드를 포함한다.
[표 (1)]
드라이브 캐시 헤더
Figure kpo00001
표(2)에 리스트된 정보의 필드를 포함하는 각각의 파일 엔트리와 다수의 디렉토리는 각각의 캐시(30)내에 위치한다. 상기 엔트리는 체인 데이타 구조를 형성하는데, 이후에 더 상세하게 기술한다. 캐시(30)의 사이즈는 시스템의 생략값(default value)를 통해서 선택될 수 있는 소정의 엔트리의 수, 또는 사용자에 의해 선택할 수 있는 엔트리 수에 의해 결정된다. 통상, 사용자에 의해 선택된 수는 드라이브의 경로 엔트리의 가장 깊은 네스팅(nesting)보다 더 커야 한다.
[표 (2)]
엔트리
Figure kpo00002
이해를 돕기 위해, 캐시(30)가 엔트리로 채워져 새로운 엔트리의 추가가 필요할 때, 새로운 엔트리가 캐시의 바로전에 사용된(LRU)(least recently used) 엔트리로 치환할 수 있는 방식으로 엔트리는 체인 상태로 유지된다. 따라서, 필드(1 및 2)는 LRU, MRU(가장 최근에 사용된)(most recenly used) 개념에 따라 엔트리를 체인하기 위해 사용된다. 엔트리는 개방되었던 각 파일과 상기 파일에 대한 경로에 포함된 각 서브-디렉토리에 대해 부가된다. 동일한 서브 디렉토리내의 두 파일 또는 디렉토리 또는 그 조합은 동일 레벨에 있게 되어 "시블링"(sibling)이라 불린다. 다른 서브 디렉토리 또는 파일의 서브 디렉토리에 있는 어떤 엔트리는 "차일드"(child)로 불린다. 검색 목적을 위해, 캐시내 엔트리는 포인터 필드(3 내지 5)을 통해 트리 구조를 배열된다. 필드(6)는 디스크 매체에 포함된 통상의 디렉토리 엔트리에 관련된 상기 정보를 포함하지만, 그 정보는 명칭 엔트리의 필드(6)로 삽입되어 메인 메모리내에 상주하게 된다. 그래서, 상기 정보는, 캐시(30)내 대응하는 엔트리에 대해 파일의 개방을 필요로 할 때, 신속하게 액세스된다. 파일에 대한 상기 정보는 파일명 및 확장, 속성, 최후의 기록시간, 최후의 기록날짜, 파일내의 제 1 클러스터 및 파일의 사이즈이다.
제 2 도는 참조하면, 사용자 혹은 응용 프로그램이 파일의 개방을 요구할 때, 공지된 DOS 호출(-파일을 개방하기 위한 인터럽트 21Hex-)(50)이 사용된다. 상기 호출은 DOS(24)로 전송되고, FASTOPEN은 이전에 지적한 것처럼, 상기 인터럽트를 차단하도록 도입된다. 진행의 최초 결정은 FASTOPEN가 도입되었는지, 혹은 도입안되었는지를 결정하는데, 이것은 단계(52)에서 행해진다. 만일, 도입되지 않았다면, 절차는 디스크를 액세스하는 종래 기술의 단계(54)에 따라 진행하여, 통상의 방식으로 각각의 서브-디렉토리와 파일을 위치 설정하고, 그 이후에, 단계(56)에서 사용자 혹은 응용 프로그램으로 복귀한다. 만일, FASTOPEN이 도입되었다면, 이후에 보다 상세히 기술될 그 요구를 단계(58)에서 조사한다. 처리 동안에 발생되는 에러가 있다면, 단계(60)에서 단계(54)로 분기되어 종래 기술 처리에 따라 처리가 행해진다. 에러가 없다면, 단계(62)에서 경로가 부분적으로 발견되었든지, 혹은 전체적으로 발견되었는지를 결정한다. 만일, 부분적으로 발견되지 않았다면, 예를 들어, 전체 경로 및 파일명이 발견되었다면, 단계(54)에 의해 제공된 것과 동일한 정보가 단계(56)에 의해 사용자로 다시 복귀된다. 만일, 정보가 부분적으로만 발견되었다면, 발견된 어떤 정보의 지점으로부터 시작하여 단계(64)에서 디스크를 액세스하여 경로와 파일명의 나머지 부분을 위치 설정한다. 각 부분이 단계(66)에서 삽입되고, 단계(68)에서는 경로의 끝인가 혹은 파일명에 도달될 때까지 처리를 단계(64)로부터 반복하여, 경로의 끝 혹은 파일명에 도달할 때에 적절한 정보가 사용자로 복귀된다.
제 3 도는 참조하면, 절차의 중심부는 "메인"절차로 칭하는데, 그 메인 절차는 네개의 서브 절차중 이용되는 서브-절차를 결정하는데 이용된다. 상기 서브 절차는 "조사", "삽입", "삭제", "갱신"으로 공지된다. 상기 상이한 절차는, 예를 들어, 프로세서 레지스터중의 하나에 대응하는 상이한 숫자를 삽입하여 호출할 수 있다. 단계(70)에서 조사 작동을 결정하면, 단계(72, 74 및 76)에서도 각각 유사하게 삽입, 삭제 또는 갱신작동을 결정한다. 상기 작동중에 어떠한 작동도 호출되지 않는다면, 에러 신호가 복귀된다. 상기 여러 서브 절차는 그들 분리된 도면을 참조로 기술한다.
제 4 도를 참조하면, 조사 절차에 따라서, 우선 단계(78)에서는 요구된 드라이브와 관련된 캐시(30)를 위치 설정한다. 다음 단계(80)에서는 사전-LRU 스택으로부터 LRU 체인을 설정한다. 상기 스택은 LRU 체인을 보유하는 동안에 트리구조인 서브 디렉토리를 유지하기 위해 사용된 논리적인 스택이다. 그 다음에, 단계(82)에서는 현재 노드가 포인터이고, 드라이브 헤더를 가리키도록 초기 설정한 후 현재 노드 엔드리를 가르키도록 설정되는 루프를 시작한다. 현재-시블링은 제로(0)로 설정되고, 디렉토리 혹은, 파일명을 조사한다. ASCII 값 제로에 일치시켜 경로의 끝, 혹은 파일명을 결정하는데, 단계(84)에서 그 경로의 끝 혹은, 파일명인가를 결정한다. 처음에 검색을 시작할 때의 통상의 예로, 그 경로의 끝, 혹은 파일명이 결정되지 않았다면, 단계(86)에서, 현재 엔트리로부터 차일드 엔트리를 지시하는 포인터를 이용하여 현재 노드로부터 차일드 엔트리를 발견한다. 단계(88)에서는 어떤 다른 차일드 엔트리가 있는지 결정한다. 엔트리가 순차내의 최종 엔트리인가를 결정한다. 사실상, 이것은 차일드 필드내의 마이너스 1로 나타낸다.
그후, 원하는 이름을 차일드 파일명과 비교한다. 단계(90)에서 비교 결과가 OK이면, 단계(92)에서 사전-LRU 스택을 작성하고, 그 스택에 현재 노드 어드레스를 저장한 후, 분기하여 다시 단계(82)로 복귀한다. 파일명이 발견될 때까지 계속되는데, 파일명이 발견되면, 단계(84)로부터 단계(94)까지 진행하게 되어, 발견된 레코드 또는 정보가 DOS로 복귀된다. 단계(90)에서 부정 결정(O.K. 아님)이 되었다면, 단계(98)에서는 시블링 필드에 대한 포인터를 조사하고, 단계(96,90 및 98)를 통해역으로 진행시키는 단계(100)에서는 초기화 루프에 의해 더 이상 시블링 존재하지 않을 때까지 계속되는데, 시블링이 더 이상 존재하지 않을 경우에 단계(100)에서의 초기화 루프가 DOS로 복귀하는 단계(94)로 진행된다. DOS로 복귀될 때, FASTOPEN은 DOS에 의해 제공된 경로/파일명중에서 발견된 디렉토리 또는 파일명을 지시하는 포인터를 설정할 것이다. 다음에, DOS는 그 포인터를 조사하여, 전체 경로가 발견되었는지, 혹은 일부분의 경로만이 발견되었는지, 혹은 어떤 경로도 발견되지 않았는지를 결정한다. 보다 많은 시블링이 있을때, 단계(96)에서는 현재 노드 포인터를 현재 시블링으로 설정한다.
제 5 도를 참조하면, 삽입 절차의 목적은 현재 노드와 시블링 정보를 기초로하여 둔 캐시내의 엔트리로서 디렉토리 또는 파일 정보를 삽입하기 위함이다. 단계(102)에서는 입력으로부터 이름 레코드 엔트리를 작성하고, 단계(104)에서는 다음에 이용가능한 엔트리를 얻는다. 캐시나 충만할 때까지, 새로운 엔트리가 충만되어 있지 않은 기억 위치나 엔트리에 쉽게 입력된다. 캐시가 충만되면, LRU 리스트에 따라 바로전에 사용된 엔트리가 바로 다음 사용가능한 엔트리로 되어, 새로운 엔트리로 변환된다. 단계(106)에서는 사전-LRU 스택을 비울때까지 클리어한다. 만일, 현재의 시블링 포인터가 제로로된다면, 단계(110)에서는 새로운 엔트리가 현재의 노드하에 차일드로서 도입되며, 단계(112)에서는 상기 노드를 사전 LRU 스택내에 기록한다. 만일, 단계(108)에서 현재의 시블링 포인터가 제로로 되지 않는다면, 단계(114)에서는 현재 노드의 시블링으로서 새로운 엔트리를 도입한다.
제 6 도와 제 7 도를 참조하면, 응용 혹은 사용자가 특정 파일의 삭제를 요구하면, 한 절차는 일반적인 방식으로 디스크 파일을 삭제할 뿐만 아니라 캐시내에 대응하는 엔트리도 삭제한다. 즉, 단계(116)에서 사용자 요구에 응답하여, 처리는 DOS(24)를 통과하여, 단계(118)에서 FASTOPEN이 도입되었는지를 결정한다. 만일, 도입되지 않았다면, 현재(112)에서 디스크를 액세스하여 파일을 삭제하고, 그 이후 단계(124)에서는 사용자로 복귀한다. 만일, FASTOPEN이 도입되었다면, 단계(120)에서 삭제를 요구한다. 상기 요구에 응답하여, 단계(126)에서는 캐시를 조사하여, 대응하는 엔트리가 발견되는지를 결정한다. 만일 엔트리가 단계(128)에서 발견되지 않는다면, 간단한 절차로부터 얻는다. 엔트리가 단계(128)에서 발견되었다면, 단계(130)에서 트리 구조인 LRU 체인으로부터 제거되고, 상기 특정 엔트리는 단계(132)에 의해 LRU 체인의 상단에 배치되어, 한 새로운 엔트리에 의해 이용가능하게 된다. 우선, 파일 엔트리가 삭제되고, 다음에, 차일드 포인터 혹은 시블링 포인터를 포함하지 않는 소정의 디렉토리가 삭제된다.
제8도 및 제 9 도를 참조하면, FASTOPEN 절차로 구성되는 어떤 기능이 도시되어 있는데, 그 기능은 DOS가 제겅하는 기능을 보조하는 어떤 기능을 실행하는 DOS에 의해 직접 호출할 수 있다. DOS 요구는 파일을 폐쇄하고, 파일에 제로 바이트를 기록하며, 노드를 작성하는 기능에 보조적인 것이고, 단계(142, 144 및 146)의 각각에서는 상기 기능이 요구되었는지를 결정하여, 갱신 단계(134 내지 140)로 분기된다. 단계(136 내지 140)에서 결과가 공정일 때 디렉토리 엔트리를 각각 갱신하고, 파일에 관련된 클러스터 번호를 갱싱하며, 엔트리를 삭제한다.
이상의 설명에서는 사전-LRU 스택에 관하여 설명하였고, 다음은 LRU 스택에 관하여 설명하는데, 그들 모두는 엔트리내의 LRU 및 MRU 포인터를 이용한다. 처리가 한 경로를 통해 통과할 때, 루트 디렉토리로부터 어떤 서브-디렉토리를 통해 파일명에 도달하고, 여러 노드가 액세스되는 순서에 따라 사전-LRU 스택이 작성된다. 그러므로, C : DIR/DIR2/FILE1에 의해 액세스 또는 지정되는 파일의 한 예에 있어서, 엔트리의 순서는 루트 디렉토리, DIR1, DIR2 및 FILE1으로 된다. 이러한 순서는 루트 디렉토리기 바로 전에 사용된 엔트리이고, 상기 LRU 엔트리가 변환을 위해 삭제되어야 한다면, 나머지 엔트리에 대한 액세스가 차단되는 문제가 발생한다. 이러한 문제는, 경로가 셋-업되면, 파일명이 바로 전에 사용된 엔트리로 되도록 즉, 최초에 변환된 것이 새로운 디렉토리로 되지 않고 파일명으로 되도록한 LRU 스택이 작성되도록, 사전-LRU 스택을 사용하고 엔트리를 재순서화하여 문제를 피할 수 있다.
본 발명의 분야에 통상의 기술을 가진 사람이라면, 청구범위에 기재된 바와같은 기술 사상에 의거하여 각종의 응용이 가능할 것이다.

Claims (6)

  1. 디렉토리 및 파일들이 트리 구조로 기억된 디스크를 포함하는 디스크 드라이브를 가지며, 각각의 디렉토리는 한 디렉토리 명에 의해 식별되고, 각각의 파일은 한 경로와 한 파일명에 의해 식별되며, 상기 경로는 디렉토리의 체인을 포함하는데, 그 체인은 파일이 상기 디스크상의 어느곳에 기억되는지를 가르키는 정보 및 상기 파일명을 포함하는 엔트리를 갖는 하나의 디렉토리를 포함하는 데이터 처리 시스템 작동 방법에 있어서, 가) 내부에 정보를 기억시키기 위한 캐시를 제공하는 단계로, 상기 캐시내의 상기 정보는 상기 디스크상에 기억된 정보가 액세스될 수 있는 속도보다 빠른 속도로 액세스될 수 있도록 캐시를 제공하는 단계, 나) 소정의 파일을 개방하기 위해 제 1 요구에 응답하여, 상기 디스크에 기억된 디렉토리의 체인을 통해 상기 소정의 파일이 상기 디스크상의 어느 위치에 있는지를 가르키는 상기 정보와 상기 소정의 파일의 파일명을 판독하기 위해 검색하는 단계, 다) 상기 소정의 파일에 대한 경로내의 상기 각각의 디렉토리에 대한 하나의 엔트리와, 상기 소정의 파일이 상기 디스크상의 어느곳에 기억되는지를 가르키는 상기 정보와 상기 소정의 파일의 상기 파일명을 포함하는 하나의 엔트리를 포함하는 다수의 체인된 엔트리를 상기 캐시에 기억시키는 단계, 라) 상기 소정의 파일을 개방하기 위해 제 2 요구에 응답하여, 상기 다수의 체인된 엔트리를 통해 상기 소정의 파일이 상기 디스크상의 어느곳에 기억되는지를 가르키는 상기 정보와 상기 소정의 파일의 상기 파일명을 위치 설정하기 위해 검색하는 단계와, 마) 단계(라)에 위치 설정된 상기 정보를 사용하여 상기 소정의 파일을 개방하는 단계를 포함하는 데이타 처리 시스템 작동 방법.
  2. 제 1 항에 있어서, 각각의 드라이브가 내부에 디스크를 갖는 다수의 디스크 드라이브를 상기 시스템에 제공하는 단계, 상기 디스크 드라이브의 각각에 대해 하나의 캐시가 존재하는 다수의 캐시를 제공하는 단계로, 각각의 캐시는 상기 디스크 드라이브중 상이한 드라이브를 식별하는 드라이브 헤더를 포함하도록 다수의 캐시를 제공하는 단계를 포함하고, 상기 단계(라)는 상기 다수의 체인된 엔트리를 포함하는 캐시를 위치 설정하기 위해 상기 드라이브 헤더중 최소한 하나의 드라이브 헤더를 제 1 액세스하는 단계를 포함하는 데이타 처리 시스템 작동 방법.
  3. 제 1 항에 있어서, 상기 단계(가)에서, 소정 수의 엔트리를 포함하기 위한 한 사이즈의 캐시를 제공하고, 바) 다수의 상이한 파일을 개방하기 위해 다수의 요구에 응답하여, 상기 상이한 파일과 관련된 엔트리와 함께 상기 캐시를 채우는 단계, 사) 파일 사용의 기록을 상기 캐시에 기억시키는 단계로, 그 기록이 바로전에 사용된 파일을 나타내도록 기억시키는 단계와, 아) 상기 단계 이후에, 부가 파일을 개방하기 위한 요구에 응답하여, 바로 전에 사용된 파일과 관련된 엔트리를 삭제하고 상기 부가 파일과 관련된 엔트리를 부가하는 단계를 포함하는 데이타 처리 시스템 작동 방법.
  4. 제 3 항에 있어서, 상기 단계(바)는 가장 최근에 사용된 파일로부터 바로 전에 사용된 파일까지 순서화된 엔트리의 체인을 작성하기 위해 상기 엔트리내에 포인터를 기억하는 단계를 포함하는 데이타 처리 시스템 작동 방법.
  5. 제 1 항에 있어서, 상기 언급한 소정 파일의 경로에 약간의 디렉토리와 동일한 어떤 디렉토리를 포함하는 경로에 의해 식별된 제 2 소정 파일을 개방하기 위한 제 3 요구에 응답하여, 공통 디렉토리에 상응하는 상기 캐시내의 상기 엔트리를 통해 검색한 후, 상기 제 2 소정 파일에 대한 완전 경로를 형성할 필요가 있을때 상기 디스크로부터 다른 정보를 판독하는 단계를 포함하는 데이타 처리 시스템 작동 방법.
  6. 제 5 항에 있어서, 상기 다른 정보로부터 새로운 엔트리를 작성하고, 상기 제 2 소정 파일에 대한 엔트리의 완전 경로를 내부에 형성하기 위해 상기 캐시에 상기 새로운 엔트리를 부가하는 단계를 포함하는 데이타 처리 시스템 작동 방법.
KR1019880002095A 1987-03-30 1988-02-29 디스크 파일 개방 방법 KR940005775B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/032,210 US5008820A (en) 1987-03-30 1987-03-30 Method of rapidly opening disk files identified by path names
US032,210 1987-03-30

Publications (2)

Publication Number Publication Date
KR880011665A KR880011665A (ko) 1988-10-29
KR940005775B1 true KR940005775B1 (ko) 1994-06-23

Family

ID=21863700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880002095A KR940005775B1 (ko) 1987-03-30 1988-02-29 디스크 파일 개방 방법

Country Status (19)

Country Link
US (1) US5008820A (ko)
EP (1) EP0284664B1 (ko)
JP (1) JPS63244243A (ko)
KR (1) KR940005775B1 (ko)
CN (1) CN1020014C (ko)
AT (1) ATE78943T1 (ko)
BE (1) BE1001068A4 (ko)
BR (1) BR8801438A (ko)
CA (1) CA1303747C (ko)
DE (2) DE3780807T2 (ko)
ES (1) ES2033786T3 (ko)
FR (1) FR2613505A1 (ko)
GB (1) GB2204161B (ko)
GR (1) GR3005888T3 (ko)
HK (1) HK33892A (ko)
IT (1) IT8819948A0 (ko)
MY (1) MY103353A (ko)
PH (1) PH27427A (ko)
SG (1) SG5292G (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649205A (en) * 1989-07-07 1997-07-15 Martins; Augusto Baronio File retrieval system
US5276874A (en) * 1989-08-11 1994-01-04 Digital Equipment Corporation Method for creating a directory tree in main memory using an index file in secondary memory
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
US5150473A (en) * 1990-01-16 1992-09-22 Dantz Development Corporation Data storage format for addressable or sequential memory media
JPH03296841A (ja) * 1990-04-16 1991-12-27 Nec Corp キャッシュ制御方式
JP2746734B2 (ja) * 1990-06-08 1998-05-06 富士通株式会社 ストリームファイルに対してのアクセス処理方式
CA2045788A1 (en) * 1990-06-29 1991-12-30 Kadangode K. Ramakrishnan Cache arrangement for file system in digital data processing system
US5241672A (en) * 1991-04-01 1993-08-31 Xerox Corporation System using the storage level of file updates in nonvolatile memory to trigger saving of RAM to disk and using the file updates to reboot after crash
JPH06175914A (ja) * 1992-09-21 1994-06-24 Eastman Kodak Co メモリ管理装置
US5422762A (en) * 1992-09-30 1995-06-06 Hewlett-Packard Company Method and apparatus for optimizing disk performance by locating a file directory on a middle track and distributing the file allocation tables close to clusters referenced in the tables
US5701463A (en) * 1994-09-09 1997-12-23 Cheyenne Advanced Technology Limited Method of replacing the identity of a file with another as part of a file open request in a computer system
US5590320A (en) * 1994-09-14 1996-12-31 Smart Storage, Inc. Computer file directory system
ATE347709T1 (de) * 1994-09-14 2006-12-15 Intel Corp Editiersystem mit vorabzwischenspeicherung welches abfolgelisten verwendet
US5644736A (en) * 1995-05-25 1997-07-01 International Business Machines Corporation System and method for selecting components of a hierarchical file structure
US5765192A (en) * 1996-05-01 1998-06-09 Sun Microsystems, Inc. Method and computer program product to reuse directory search handles
US5819298A (en) * 1996-06-24 1998-10-06 Sun Microsystems, Inc. File allocation tables with holes
US5924116A (en) * 1997-04-02 1999-07-13 International Business Machines Corporation Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
US6094706A (en) * 1998-03-02 2000-07-25 International Business Machines Corporation Caching in a data processing system using the pigeon hole principle
US6151595A (en) * 1998-04-17 2000-11-21 Xerox Corporation Methods for interactive visualization of spreading activation using time tubes and disk trees
US6654761B2 (en) 1998-07-29 2003-11-25 Inxight Software, Inc. Controlling which part of data defining a node-link structure is in memory
US6216199B1 (en) * 1999-08-04 2001-04-10 Lsi Logic Corporation Hardware mechanism for managing cache structures in a data storage system
KR20020007288A (ko) * 1999-11-10 2002-01-26 요트.게.아. 롤페즈 기록매체, 기록매체를 재생하는 장치, 기록매체를재생하는 방법, 기록매체를 기록하는 장치 및 기록매체를기록하는 방법
DE19960114A1 (de) * 1999-12-08 2001-06-13 Heidenhain Gmbh Dr Johannes Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems
US6643754B1 (en) * 2000-02-15 2003-11-04 International Business Machines Corporation System and method for dynamically allocating computer memory
US6529897B1 (en) 2000-03-31 2003-03-04 International Business Machines Corporation Method and system for testing filter rules using caching and a tree structure
US6928466B1 (en) 2000-09-28 2005-08-09 Emc Corporation Method and system for identifying memory component identifiers associated with data
TWI230858B (en) * 2000-12-12 2005-04-11 Matsushita Electric Ind Co Ltd File management method, content recording/playback apparatus and content recording program
DE10162046A1 (de) 2001-12-17 2003-06-26 Thomson Brandt Gmbh Wiedergabegerät mit einem Zwischenspeicher zum Verringern der mittleren Zugriffszeit auf einen Informationsträger
EP1400970A1 (en) * 2002-09-10 2004-03-24 Siemens Aktiengesellschaft A method and apparatus for operating an automotive storage facility
US7287046B2 (en) * 2002-09-30 2007-10-23 Emc Corporation Method and system of compacting sparse directories in a file system
JP4543363B2 (ja) * 2002-12-18 2010-09-15 ネッツエスアイ東洋株式会社 コンピュータのセキュリティシステム
KR100962763B1 (ko) * 2003-01-20 2010-06-10 엘지전자 주식회사 데이터 방송 파일 시스템 처리 방법
US7873685B2 (en) * 2004-05-13 2011-01-18 Pixar System and method for flexible path handling
CA2573849A1 (en) * 2004-07-12 2006-01-19 Samsung Electronics Co., Ltd. Method and apparatus for searching rights objects stored in portable storage device using object location data
JP4659537B2 (ja) * 2005-07-05 2011-03-30 株式会社日立製作所 ファイル提供方法、ストレージ装置及びファイル提供プログラム
KR101130090B1 (ko) * 2010-04-05 2012-03-28 주식회사 안철수연구소 단말 장치 및 상기 단말 장치의 파일 배포처 확인 방법
CN102279734A (zh) * 2010-06-12 2011-12-14 环旭电子股份有限公司 自动映像数据的嵌入式系统及其方法
AT510716B1 (de) * 2011-04-08 2012-06-15 Albrecht Dipl Ing Kadlec Reiner allokations-cache für echtzeitsysteme
CN111054082B (zh) * 2019-11-29 2023-10-13 珠海金山数字网络科技有限公司 Unity资源数据集编码的方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
GB1504112A (en) * 1976-03-17 1978-03-15 Ibm Interactive enquiry systems
US4277826A (en) * 1978-10-23 1981-07-07 Collins Robert W Synchronizing mechanism for page replacement control
US4215402A (en) * 1978-10-23 1980-07-29 International Business Machines Corporation Hash index table hash generator apparatus
US4598357A (en) * 1980-11-14 1986-07-01 Sperry Corporation Cache/disk subsystem with file number for recovery of cached data
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
US4533995A (en) * 1981-08-03 1985-08-06 International Business Machines Corporation Method and system for handling sequential data in a hierarchical store
US4530055A (en) * 1982-03-03 1985-07-16 Sperry Corporation Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory
JPS6058492B2 (ja) * 1982-06-26 1985-12-20 富士通株式会社 デ−タベ−ス検索方式
JP2539347B2 (ja) * 1982-09-13 1996-10-02 株式会社日立製作所 フアイル管理方法
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
DE3381124D1 (de) * 1983-02-03 1990-02-22 Ibm Dateiorganisation mit schluesselzugriff.
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
JPS59163659A (ja) * 1983-03-07 1984-09-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション ワ−ド・プロセシング・システムにおけるデ−タ・セツトのアクセス方式
US4571700A (en) * 1983-06-16 1986-02-18 International Business Machines Corporation Page indexing system for accessing sequentially stored data representing a multi-page document
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
JPS60254325A (ja) * 1984-05-31 1985-12-16 Fujitsu Ltd デ−タ検索キ−制御方式
JPS61175838A (ja) * 1985-01-31 1986-08-07 Ricoh Co Ltd デ−タ処理方式
JPS61228538A (ja) * 1985-04-01 1986-10-11 Nec Corp フアイル管理方式
JPS61271547A (ja) * 1985-05-27 1986-12-01 Mitsubishi Electric Corp デイスクフアイルアクセス方式
US4835686A (en) * 1985-05-29 1989-05-30 Kabushiki Kaisha Toshiba Cache system adopting an LRU system, and magnetic disk controller incorporating it
US4779189A (en) * 1985-06-28 1988-10-18 International Business Machines Corporation Peripheral subsystem initialization method and apparatus
US4761737A (en) * 1986-01-16 1988-08-02 International Business Machines Corporation Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
US4827462A (en) * 1987-03-26 1989-05-02 International Business Machines Corporation Modular data storage directories for large-capacity data storage units

Also Published As

Publication number Publication date
BR8801438A (pt) 1988-11-01
GR3005888T3 (ko) 1993-06-07
DE3743890A1 (de) 1988-10-27
CN88100793A (zh) 1988-10-19
IT8819948A0 (it) 1988-03-25
EP0284664A2 (en) 1988-10-05
MY103353A (en) 1993-06-30
BE1001068A4 (fr) 1989-06-27
ES2033786T3 (es) 1993-04-01
GB2204161B (en) 1991-09-18
CN1020014C (zh) 1993-03-03
PH27427A (en) 1993-06-21
EP0284664B1 (en) 1992-07-29
HK33892A (en) 1992-05-15
GB2204161A (en) 1988-11-02
KR880011665A (ko) 1988-10-29
DE3743890C2 (ko) 1989-03-23
SG5292G (en) 1992-03-20
ATE78943T1 (de) 1992-08-15
GB8728924D0 (en) 1988-01-27
DE3780807D1 (de) 1992-09-03
US5008820A (en) 1991-04-16
CA1303747C (en) 1992-06-16
JPS63244243A (ja) 1988-10-11
DE3780807T2 (de) 1993-03-11
JPH0519175B2 (ko) 1993-03-16
FR2613505A1 (fr) 1988-10-07
EP0284664A3 (en) 1989-03-15

Similar Documents

Publication Publication Date Title
KR940005775B1 (ko) 디스크 파일 개방 방법
US5408654A (en) Method to reorganize an index file without sorting by changing the physical order of pages to match the logical order determined from the index structure
US8315995B1 (en) Hybrid storage system
US6023744A (en) Method and mechanism for freeing disk space in a file system
US6598129B2 (en) Storage device and method for data sharing
US7882071B2 (en) Systems and methods for a snapshot of data
US7953704B2 (en) Systems and methods for a snapshot of data
US7680836B2 (en) Systems and methods for a snapshot of data
EP0375188B1 (en) File system
US5537592A (en) System and method for reading and writing disks formatted for an operating system foreign to the host computer
US20100161556A1 (en) Systems and methods for a snapshot of data
EP1265152B1 (en) Virtual file system for dynamically-generated web pages
US7240172B2 (en) Snapshot by deferred propagation
JPS58155464A (ja) 順次デ−タ・ストリ−ムの検出方法
US20020103784A1 (en) Fast data retrieval based upon contiguous consolidation of records according to frequency of access
US20030037019A1 (en) Data storage and retrieval apparatus and method of the same
US5584015A (en) Buffer memory management method, recording medium, and computer system incorporating same
JPS59220853A (ja) デイスクキヤツシユシステム
JP2539347B2 (ja) フアイル管理方法
JP2003281816A (ja) 高速コピー方法およびシステム
Chun Access and organization of secondary memory devices
JPH05165723A (ja) ディスクキャッシュ方式

Legal Events

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

Payment date: 20010503

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee