2014-10-25 1 views
-2

랜덤 및 순차 하드 디스크 섹터간에 데이터 쓰기/읽기를 수행 할 수있는 C++를 사용하여 프로그램을 작성해야합니다.C++ 랜덤 HDD 섹터에 데이터 쓰기

그러나 사실은 sector이라는 용어와 파일과의 관계가 혼란 스럽습니다.

이다 내가 알고 싶은 경우 단순히 I :

1. Create a string contains word "Hello, world" and then; 
2. Save the string into "myfile.txt", 

데이터가 순차적 또는 무작위 분야로 작성 하는가? 그것이 순차적이라면 (어떻게 든), 그러면 어떻게 임의의 하드 디스크 섹터에 문자열을 쓰고 다시 읽을 수 있습니까? 또한 그 반대도 마찬가지입니다.

+1

그 파일은 단일 섹터에 (잘하면) 적합 할만큼 작을 것입니다 ...하지만 이것은 OS 및 드라이버에 의존적이지 않습니까? 마찬가지로 RAID 0 설정 2를 사용하면 연속적으로 기록 된 섹터가 다른 디스크에 저장 될 수 있습니다. – usr2564301

+1

이렇게하면 디스크가 손상됩니다. 기계를 사용할 수 없게 만들 것입니다. 그러지 마. –

+0

할 수 없습니다. 파일 위치와 섹터 사이에는 아무런 관련이 없습니다. 알려진 분야에 글을 쓰려면 컴퓨터에 대한 특별한 권한이 있어야하며 OS 고유의 API를 사용해야합니다. 이 과정에서 디스크의 데이터가 파괴됩니다. –

답변

3

파일 시스템 때문에 현재 당신이하려는 일은 거의 불가능합니다. 파일을 원한다면 파일 시스템이 필요합니다. 그런 다음 파일 시스템은 가장 적합한 것으로 생각하는 섹터에 원하는 형식으로 데이터를 배치합니다. btrfs 및 zfs와 같은 고급 파일 시스템은 압축, 체크섬 및 여러 하드 디스크에 데이터 배치를 수행합니다. 따라서 파일 시스템이 데이터 형식을 이해하지 못하기 때문에 더 이상 데이터를 파괴 할 수 없기 때문에 더 이상 읽을 수 없기 때문에 섹터에만 쓸 수는 없습니다. 또한 파일이 MFT/btrfs 메타 데이터/테이블에 등록되어야하기 때문에 데이터가 있다는 것을 알지도 못합니다.

TL : DR 시도하지 마십시오. 시스템이 엉망이되어 작동하지 않습니다.

+0

OP의 작업이 파일 시스템을 구현하는 것이라면 이것은 의미가 없지만, –