일부 파일을 fs의 시작 부분으로 이동하여 액세스 시간을 줄이고 싶습니다.
작업 1: fs 시작 부분에서 특정 블록 범위를 지웁니다(기존 파일을 다른 곳의 여유 공간으로 이동).
작업 2: 문제의 파일을 해당 블록 범위로 이동합니다(약간 커질 수 있어야 함).
어떻게 해야 합니까?
답변1
이것이 중요할 것이라는 생각은 어디서 얻었나요?
대부분의 하드 드라이브가 내부 트랙보다 외부 트랙에서 읽기 속도가 더 높다는 사실을 생각하고 계십니까? 탐색 시간과 기타 오버헤드를 계산하는 데 차이가 있는지 잘 모르겠습니다. 그렇더라도 물리적 디스크와 파일 시스템 사이에는 여러 추상화 계층이 있으므로 물리적 디스크의 특정 부분에 물건을 안정적으로 넣을 수 있을지 확신할 수 없습니다.
따라서 먼저 자신이 하고 있는 일이 실제로 실현 가능한지, 그리고 실제로 변화를 가져올 수 있는지 알아내야 합니다. 그렇지 않을까봐...
답변2
최신 파일 시스템은 관리자가 이러한 세부 사항을 관리할 수 있도록 해줍니다. 일부 파일을 격리하려면 파티셔닝을 사용하세요.
답변3
1단계: 파일 시스템을 마운트 해제합니다. 파일 시스템은 일반적으로 한 번에 하나의 드라이버가 액세스하도록 설계되었으며 Ext4도 예외는 아닙니다.
2단계: inode가 아닌 할당된 블록을 변경합니다. 사용 가능한 블록 목록을 메모리에 캐시합니다.
3단계: 블록 내용을 복사하고 inode의 범위를 업데이트합니다.
답변4
질문에 직접적으로 답할 수는 없지만 디스크 시작 부분에 작은 파티션을 사용하여 이러한 파일을 저장하는 것이 더 간단할 수 있습니다.