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

소개글

가상 디스크의 블록 및 파일관리 프로그램에 대한 보고서 자료입니다.

목차

없음

본문내용

Ⅰ. 가상디스크 알고리즘 개요
1. 배경이론
디스크상에 데이터가 입력되는 경우 FAT상에서 데이터 블록의 주소를 관리하며, 사용되지 않은 주소를 탐색 후 디스크에 데이터를 기록한다. 이러한 과정을 C++을 이용하여 가상 디스크를 구현한다.
2. 알고리즘 개요
(1) 가상 디스크를 C++로 구현하기 위해서는 FAT를 표현할 변수 및 이를 관리해줄 자료구조가 필요하다. 여기서 FAT는 배열을 이용하여 생성하고, 이에 저장되어 있는 데이터 블록의 주소들은 원형큐를 이용하여 관리한다. FAT는 데이터 블록의 첫 번째 주소는 사용하지 않으므로 인덱스 0에는 -1을 저장하여 주고 나머지 인덱스에 대한 초기값은 0으로 설정하여 준다. 큐에는 아직 사용되지 않은 주소, 즉 FAT 배열 상에서 value가 0인 인덱스들을 순차적으로 저장하여 준다. 큐에 대한 class 선언 및 각 멤버 함수들은 아래와 같다.
class Queue{ // FAT의 남은 주소를 관리할 큐.
public:
Queue();
~Queue();
int Addq(const int item);
int Deleteq();
int CheckFreeFAT(int size);
int count; // 디스크의 공간이 남아있는지를 확인할 count
private:
int front, rear;
int queue[MaxSize];
};

Queue::Queue(){
front = rear = count = 0;
}

Queue::~Queue(){}

int Queue::Addq(const int item)
{ // 큐에는 FAT상의 남은 주소를 저장하는 동시에 count를 증가시켜 디스크가 Full인지 확인한다.
int temp = (rear + 1) % MaxSize;
if(front == temp) return 0;
else queue[rear=temp] = item;
count++;
return 1;
}
  • 가격1,600
  • 페이지수20페이지
  • 등록일2007.04.12
  • 저작시기2006.10
  • 파일형식압축파일(zip)
  • 자료번호#403937
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니