리눅스에 관한 프로그래밍에 대해서 전문가들의 도움 바랍니다.
글쓴이: yunbs0 / 작성시간: 목, 2003/09/25 - 12:28오전
저는 한경대학교 컴퓨터공학과 3학년에 재학중인 학생입니다.
다름이 아니오라 이번에 졸업 프로젝트를 하려고 합니다.
그래서 안건이 두가지가 있는데, 한가지가 윈도우 탐색기(x윈도가 아닌 ms사의 윈도우 시리즈)에서 리눅스의 파일 시스템을 볼수 있는 프로그램을 만들려고 합니다.
이 프로그램이 있지 않을까 의심이 가서 알아봤더니 ext2 파일 시스템을 보는 것은 2개가 있더군요. 근데, 그 중 하나는 홈 사이트의 다운로드 링크까지 가봤으나 정작 다운로드는 안되더군요. 그리고 하나는 total command를 깔고 플러그 인을 설치하면 된다고 하더군요.
그래서 저희는 ext2, ext3 둘다를 윈도우 탐색기에서 볼 수 있는 프로그램을 만들려고 합니다.
근데, 이것이 너무나도 막연하다고 해서 다른 팀원 4명중 2명이 반대를 하고 있습니다. 끝까지 설득해서, 만약에 다음주 수요일까지 ext2,3 파일 시스템 소스와 어느정도의 소스를 가지고 오면 이걸 채택하겠답니다.
그럼 본론을 말씀드리겠습니다.
1. 이 프로그램이 비주얼 베이직으로 될까요? 안된다면 어떤 언어를 써야 될까요?
2. ext2, ext3 파일 시스템을 만드는 소스를 얻을 순 없을까요?
여러분의 도움을 바랍니다. 부탁드립니다.
그리고 저는 리눅스 생초보입니다. 인스톨 시킨 정도 밖에 안됩니다.
Forums:
간단한 참고;;
제가 윈도우 상에서 프로그램을 짤 일이 없어서 윈도우쪽 프로그래밍에 대해서는 잘 모릅니다..
이점을 먼저 밝혀두고요..
본론으로 들어가서..;;
ext2 와 ext3 는 일단 구조가 같습니다.
그리고, 완전히 공개되어 있죠...잘 찾아보신다면 ext2 에 대해서는
완벽한 Documentation 자료까지 구하실수 있습니다.
mkfs.ext2 의 소스 역시나 공개되어 있긴 하지만,
제가 보기에 이 소스는 그리 큰 도움은 되지 못할 것입니다.
차라리 위에서 언급한 Documentation 이 더 도움이 될 것입니다.
왜냐하면, mkfs.ext2 는 ext2 fs 의 Superblock 와 Group Descriptor 를
생성하는 역할을 하는데, 이것들은 Documentation 이 더 자세합니다.
게다가, 정작 탐색기 같은 역할을 위해서 필요한 Inode table 같은 자료의
접근방법에 대해서는 이 소스로는 알기 힘들죠..
그리고, 이런 류의 프로그래밍에서는 상당한 low-level 적 접근이 필요합니다.
가능하면 파티션에 대한 Raw Access 통해서 프로그래밍 하기를 귄합니다.
그렇기에, VB 로는 힘들다고 생각합니다.
Documentation 을 구하기 힘들다면,
임시로 "리눅스 커널의 이해" 라는 책에 나와있는 ext2 에 대한 부분을 보셔도
많은 도움이 될 것입니다.
컴퓨터 공학과라면 아마도 이 책을 보는 사람들이 있을테니,
사는 것보다는 이 책을 가진 사람에게 빌리거나, 해당 부분만을 복사하여
보는 것을 권합니다. 실제로 몇 페이지 되질 않습니다 -.-;;
http://sourceforge.net/projects/ext2fsd
http://sourceforge.net/projects/ext2fsd
에 windows 용 ext2 드라이버를 개발하고 있군요.
(write도 지원 한답니다.)
Document 도 함께 있으니 참고 하시면 되겠구요.
http://e2fsprogs.sourceforge.net/ext2.html 도 참고 하시면 되겠네요.
그런데 개발 언어가 C, C++로 되어 있네요.
VB 로 될지는 소스를 확인 해 보셔야 겠네요.
ext3 드라이버는 저도 잘 모르겠군요.
제가 만들어 보진 않았지만,
그다지 어려울것 같지는 않네요.
탐색기를 만든다면 파일 시스템 소스까지는 필요 없을겁니다.
실제적인 파일 I/O는 파일시스템 드라이버가 처리 해 줄테니까요.
(가상 파일 시스템이라고 하죠.)
굳이 필요하시다면
리눅스에 있는 mkfs.ext2 소스를 구해다가 분석하시면 될테구요.
리눅스 CD 중에 보면 소스CD 가 있습니다.
도움이 되셨길..
그럼.
저 역시 윈도우쪽 프로그래밍 경험이 없어서 윈도우에서 HDD에 대한 IO
저 역시 윈도우쪽 프로그래밍 경험이 없어서 윈도우에서 HDD에 대한 IO는 어떻게 해야 하는지 잘 모르겠습니다만.. 그게 문제가 아니라면 졸업프로젝트로는 충분히 쉬운 프로젝트라 생각되네요..
ext2, 3에 대해서는 소스나 문서 모두 충분하고, 구조 역시 그다지 어렵지 않습니다. 관련 소스는 linux kernel과 mkfs.ext2를 참고하시면 될 듯 합니다.
내용 수정
부족한 지식으로 잘못된 답변을 올렸었네요. 죄송합니다.
삭제가 안되어서 내용을 비우는 방법으로 수정합니다.
감사합니다, 좋은하루 되세요~
ext2,3만 잘 분석하신다면..
windows 2k, xp에서 hdd를 LBA단위로 access하는 것은 별도의 driver를 작성하지 않고도 간단히 해결됩니다. (98은 좀 다름) Partition table을 분석하고, ext2 파일 시스템을 분석한다면, driver에 대한 지식이 없어도, application수준에서 ext2 explorer를 만들 수 있습니다.
Re: ext2,3만 잘 분석하신다면..
저도 bluebayou 님 말씀에 올인~~~~, 2k, xp 나 win98 계열에서
충분히 하드 디스크 I/O를 통해서 가상 파일 시스템 수준이 아닌
어플 수준에서 해결할 수 있습니다. 쩝, 고운 하루되시길.. .^^
=========================
CharSyam ^^ --- 고운 하루
=========================
...
탐색기류의 어플리케이션은 explore2fs, 드라이버류는 ext2fsd나 ext2ifs 를 찾아보세요. 소스도 모두 공개되어 있습니다. 저도 매일같이 사용하는 유용한 놈중 하나지요.
원하시는 프로젝트와 똑같은 내용을 구현한 소스들입니다. moral hazard 는 없기를 바랍니다. 그럴지는 없겠지만요. :D
하지만 졸업프로젝트로 하기에는 내용이 좀 버겁지 않나요?
댓글 달기