레포트샵

fileicon[파일처리] 가상 디스크의 블록 및 파일관리 프로그램

이전

  • icon

다음

  • 최대 100페이지까지 확대보기 서비스를 제공합니다.

> 레포트 > 공학계열 > 자료상세보기 (자료번호:163126)

구매가격
1,500원 할인쿠폰1,350원
등록/수정
2007.04.23 / 2007.04.24
파일형식
fileiconzip(압축파일) [무료뷰어다운]
페이지수
15페이지
자료평가
평가한 분이 없습니다.
등록자
lhil008
  • 다운로드
  • 장바구니 담기

닫기

이전큰이미지 다음큰이미지
  • 트위터
  • 페이스북
신규가입 200원 적립! + 10% 할인쿠폰 3장지급! banner구매자료를 평가하면 현금처럼 3%지급!

소개글

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

하고 싶은 말

가상디스크를 생성하여 파일의 생성,삭제,오픈,수정,탐색 및 디렉토리 관리를 할 수 있는
프로그램입니다. 파일의 레코드는 임의로 체워집니다.
가상디스크는 실제파일로 생성되며, 크기는 512kb로 제한합니다.
가상디스크내 파일은 512b의 블록에 저장되며, FAT를 이용하여 저장된 위치를 알 수 있습니다.
파일을 읽어오는 경우 파일버퍼를 사용하였습니다.

본문내용


Ⅰ. 가상디스크 알고리즘 개요
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;
}

태그 가상디스크, 파일처리, FAT, 파일관리기, 블록관리기

자료평가

아직 평가한 내용이 없습니다.

오늘 본 자료

  • 오늘 본 자료가 없습니다.
  • img

    저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하 며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객 센터에 신고해 주시기 바랍니다.