가상디스크에서 파일의 레코드 관리기
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
해당 자료는 7페이지 까지만 미리보기를 제공합니다.
7페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

가상디스크에서 파일의 레코드 관리기에 대한 보고서 자료입니다.

목차

Ⅰ. 레코드관리기 알고리즘 개요
1. 블록상의 slot을 위한 클래스 정의
2. 레코더 생성 시 버퍼로 활용할 클래스 정의

Ⅱ. 레코드관리기에 사용되는 함수의 설명
1. 레코드를 생성하는 함수 - void createRecord(char *name);
2. 레코드 저장을 위한 slot 설정 - void allocSlot(int key, int len, int address);
3. 레코드를 블록에 저장 - void allocSpace(RecordBlock *buf, char *name);
4. 레코드를 저장 할 블록의 주소를 탐색 - int SearchBlk(int *addr, int key, int n);
5. 블록에 레코드를 저장 - void SaveRecord(RecordBlock *buf, int address);
6. 블록을 분할하여 저장 - void splitBlock(RecordBlock *buf, int address, char *name)7. 블록상의 첫 레코드를 반환 - RecordBlock* getFirstRd(int address);
8. 레코드를 저장할 다음 블록할당 - int getNextBlk(int address, char *name);
9. 데이터를 뒤로 미는 함수 - void pushData(int address, int len, int start, int finish, int rloc);
10. 데이터를 앞으로 미는 함수 - void pullData(int address, int len, int start, int finish, DataBlock *temp);
11. 레코드 삭제 - void deleteRecord(int key, FileDirectory *filename);
12. 레코드 수정 및 생성 - void writeRecord(FileDirectory *filename);
13. 레코드 읽기 - void readRecord(int key, FileDirectory *filename);
14. 레코드 탐색 - int searchRecord(int key, FileDirectory *filename);

Ⅲ. 데모 프로그램 결과화면
1. 디스크 생성 및 파일 생성
2. 레코드의 탐색 및 읽기/쓰기
3. 레코드의 생성 및 삭제

본문내용

Ⅰ. 레코드관리기 알고리즘 개요
1. 블록상의 slot을 위한 클래스 정의
각 블록에는 레코드의 시작 주소 및 키 값을 저장하고 있는 slot이 후미에서부터 동적으로 생성된다. 이를 위하여 클래스 상에는 레코드의 시작 주소를 저장할 Raddr 및 키 값을 저장 할 Rkey 배열을 선언하고, 해당 레코드에 대하여 slot상에 상기 두 배열의 인덱스를 저장하여 관리한다. 이에대한 클래스 정의는 아래와 같다.
class DataBlock{
friend vDisk;
protected:
char DataSaveSpace[MaxBlk];
private:
int freespace; // 자유공간을 표시하는 변수
int Raddr[20]; // 레코드의 시작 인덱스를 저장할 배열
int Rkey[20]; // 레코드의 키 값을 저장할 배열
};
2. 레코더 생성 시 버퍼로 활용할 클래스 정의
각 레코드는 char형의 키 값 저장을 위한 배열 및 레코드의 길이를 저장 할 int형 변수, 데이터를 저장할 공간이 필요하다. 레코드에는 그 길이를 데이터블록의 첫 4byte에 저장한다. 이를 위한 클래스 선언은 아래와 같다.
class RecordBlock:public DataBlock{
friend vDisk;
private:
char KeyNum[4]; // 레코드의 키 값을 저장할 배열
int len; // 레코드의 길이를 저장 할 변수
};
위 레코드를 위한 클래스는 디스크 블록을 위한 클래스를 상속하는 것으로서, DataSavaSpace를 사용 할 수 있다. 이 배열에는 해당 레코드의 데이터 값들이 저장된다.
  • 가격1,600
  • 페이지수20페이지
  • 등록일2007.04.12
  • 저작시기2006.10
  • 파일형식압축파일(zip)
  • 자료번호#403935
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니