JFFS2 파일 시스템을 실제로 조각 모음하는 방법

JFFS2 파일 시스템을 실제로 조각 모음하는 방법

여러 StackExchange 포럼을 포함하여 인터넷 전체에서 JFFS2 파일 시스템 조각 모음을 위한 실행 가능한 방법을 검색했지만 답변을 찾을 수 없습니다.

문제의 시스템에는 256MB NAND 플래시 부품이 있습니다. 세 개의 파티션으로 나누어진 MTD 장치로 액세스됩니다. 세 번째 파티션은 루트 파일 시스템이 JFFS2 파일 시스템으로 저장되는 곳입니다. 문제는 최악의 시간에 실행하기로 결정하는 JFFS2 가비지 수집기의 일반적인 문제로 인해 루트 파일 시스템에 대한 쓰기가 비결정적 성능을 갖는다는 것입니다. 이런 일이 발생하면 가비지 수집기(및 pdflush)가 실행되는 동안 제품이 알 수 없는 시간 동안 정지됩니다.

파일 시스템을 변경하는 것은 선택 사항이 아닙니다. 솔루션은 업무 외 시간에 실행할 수 있어야 하며, 실행 후 쓰기 성능을 더욱 예측 가능하게 해야 합니다. 지금 저는 가비지 수집기를 강제로 실행한 다음 해제된 모든 노드를 갑자기 더 쉽게 사용할 수 있게 되어 쓰기 성능이 향상되기를 바라면서 파일을 삭제하는 프로그램을 작업 중입니다.

생각?

답변1

자체 가비지 수집 알고리즘을 구현하고 마운트 시간에 실행해 보세요. 쓰기 공간이 부족하면 별도로 가비지 수집 스레드를 다시 시작하세요.

파일을 조각으로 작성하여 파일의 절반이 포함된 블록이나 페이지를 지울 때 어딘가에 계속 쓰고 나중에 사용할 수 있도록 페이지를 가져올 수 있도록 하면 훨씬 쉬울 것입니다.

까다로운 부분은 파일 시스템 전체에 걸쳐 여러 조각이 있는 파일을 여는 방법입니다.

관련 정보