1

메모리 덩어리 (정적 배열)로 파일 작업을 모방 할 수있는 C 코드 조각이 있습니다 (fopen/fclose 등). 그래서,이 모방 FileSystem 함께 컴파일 된 코드는 모든 필요에 FileSystem 같이 이러한 API를 사용할 수 있습니다.리눅스 - 사용자 공간 파일 시스템 마운트하기 (하나 :-)) FileSystem으로

그러나 어떻게 든 가능하면 이러한 API를 리눅스 시스템에 등록/따라서 모든 클라이언트가 일반 FileSystem 호출을 사용하여이 FS를 사용할 수 있습니다 (My_FileSystem과 정적으로 링크 할 필요 없음).

해결책을 찾고있는 중에 my_FileSystem을 드라이버로 만드는 아이디어를 발견했습니다 !!! => 내 코드를 장치 드라이버 (드라이버의 메모리 덩어리)로 컴파일하고이 File_system @을 "/mnt/MyFs"라고 마운트하고 USB 드라이버처럼 FileSystem 호출을 전환 할 수 있습니까? (이 작업을 수행 할 수 있다면, 어떻게 완료했는지 나에게 설명해 주시겠습니까?

나는 이것을 새로운 시스템 호출로 추가하고 커널을 다시 컴파일하기를 원하지 않는다. (그리고 이것을 어렵게 사용하려는 ppl의 삶을 만들고있다.)

이것은 주로 Linux를 실행하는 임베디드 시스템을 대상으로합니다 ... 그러나 다른 제안도 환영합니다. :)

마이크로 커널 : FUSE (사용자 공간에서 파일 시스템)에서

+0

여기서 가장 도움이되는 것은 2.4.xx 또는 2.6.xx와 같이 사용하고있는 커널 버전입니다. 제안 사항을 좁히는 데 도움이됩니다. '임베디드'는 특히 Linux를 다룰 때 많은 것을 의미 할 수 있습니다. –

답변

6

봐, 특히 예에 감사합니다. 그것의 아주 쉬운 ...

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 퓨즈는 정말로 재미있어합니다. 하지만 리눅스를 사용하는 임베디드 장치를 주로보고 있으므로 FUSE를 사용할 수 있는지 잘 모르겠습니다. 어쨌든 시도해볼 것입니다 :) Linux를 주로 사용하는 임베디드 시스템을 주안점으로 언급하지 않아서 불편을 끼쳐 드려 죄송합니다. 임베디드 시스템의 특정 상황에 대해 다른 것을 추가하고 싶습니까? – Microkernel

+0

요즘 "임베디드"는 다양한 하드웨어를 구현하며 심지어 "Linux를 실행하는 임베디드 시스템"도 엄청난 스펙트럼을 포괄합니다. FUSE는 많은 임베디드 시스템 (스마트 폰과 같은 하이 엔드 ARM 시스템)에서는 괜찮지 만 다른 것들 (MMU가 부족한 베어 메탈 UC 시스템)에서는 전혀 용인 할 수 없습니다. 아마도 제약 조건을 좀 더 확장 할 수 있습니다. –

+0

@Microkernel : FUSE가 메인 라인에 부딪혔을 때 나는 기억이 잘 나지 않지만, 2.4 일 동안은 아니 었습니다. 많은 '임베디드'시스템은 여전히 ​​2.4 커널을 사용합니다. 여기서 우리가 정말로 알아야 할 것은 사용하고있는 Linux 커널의 버전입니다. –

1

tmpfs and ramfs을보십시오. 이것들은 이미 Linux와 함께 제공되며 여러분이하려고하는 것 이상을 수행합니다. 필자는 임베디드 시스템에 너무 비싸지 않을 것이라고 생각합니다.

0

나는 PlasticFS으로 생각 하겠지만 모든 것이 시스템 C 라이브러리 (즉, 정적으로 링크 된 바이너리)를 사용하지 않는 경우에만 안정적으로 작동합니다.

관련 문제