2008. 9. 30. 02:03
     

 주말 동안 쉬엄 쉬엄 파일 시스템을 설계했습니다. FAT 파일 시스템처럼 클러스터의 링크 형태로 말이지요. ^^ 최대한 간단하게 구현하려고 디렉토리 구조는 더욱 더 단순화시켰습니다. 그리고 코딩에 들어갔는데, 구현 초기에는 쉽게 쉽게 끝나는가 싶더니... 결국 또 복잡해지더군요.

 일단 멀티 태스크나 멀티 코어 환경에서 동기화 문제는 고려하지 않고, 단순히 파일 및 디렉토리 관련 API 만 만드는데, 꼬박 이틀이 걸렸습니다. 사실 API는 간단하게 만들고, 응용 프로그램이 잘 알아서 쓰도록하면 정말 간단한 구조를 유지할 수 있는데... 욕심이 생기다보니 이것 저것 많이 만들었습니다. 끄응.... ㅡ_ㅡa...

 덕분에 쓰기는 편해졌습니다만... 설명할게 많아져서 고민입니다. 현재 opendir, readdir, rewinddir, closedir, openfile, readfile, writefile, closefile, rewindfile, createfile, deletefile, createdirectory, deletedirectory까지 만들어져 있는데, 소스가 장난이 아니네요. 클러스터를 걸치는 녀석들 읽는거 처리하랴, Path 관련 처리하랴... 어휴... ㅠㅠ 하는 김에 rewindfile은 좀 더 고민해서 lseek로 만들어야겠습니다. 원래 lseek는 고려하지 않았지만... 만들다 보니 lseek 빼고는 다 만들었군요. ㅡ_ㅡa...

 만들긴 했는데... 과연 이 API가 얼마나 사용될지.... 삽질한건 아닌가 걱정이됩니다. ㅠㅠ
 억... 또 벌써 시간이 이렇게 됬군요.

 다들 좋은 밤 되시길.... ^^)-b

 ps) 아흑... 파일 동기화 문제는 또 어떻게 해결하지... ㅠㅠ



Android App

Posted by 호기심 많은 kkamagui(까마귀, 한승훈)

댓글을 달아 주세요

  1. 김미종 2014.07.03 22:20  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 저는 임베디드 시스템을 공부하는 학생입니다.
    이전에 fat32 파일 시스템을 분석 해본적 있습니다. 분석해서 파일을 가져와서 노래 도 디코더 통해서 틀어보고 그림파일도 lcd에띄워보았습니다. fat 32 파일 시스템이라는게 단순히 데이터를 잘역어주는 역확을 해주는 파일 시스템이더군요
    그런데 궁금한게 과연 이러한 파일 시스템은 어떻게 만드는지 궁금합니다. 글을 보니까 펫 파일 시스템을 따라해서 새로운 자신만의 파일 시스템을 만든듯 싶으신데요 아무리 논문을 찻아봐도 글을 찻아봐도 도저히 파일시스템 만들기 하면 ramdisk 라던가 busy box 와같은 리눅스 파일시스템 만드는 법만 나오는궅요 혹시 파일 시스템 구조와 api 를 만드신거라면 어떻게 만드셧는지 혹은 참고 하신 자료나 논문은 있는지 궁금합니다.
    메일로 답장을 주시면 더욱 감사하겠습니다.
    제메일은 : mijong3000@gmail.com 입니다. 감사합니다.