숭실대학교 운영체제 OS FUSE

저작시기 2015.09 |등록일 2016.01.13 파일확장자압축파일 (zip) | 17페이지 | 가격 9,000원
다운로드
장바구니관심자료
상세신규 배너

목차

1. 소개
2. 관련연구 (FUSE 라이브러리/ proc 파일 시스템 조사)
3. 문제 해결 방법
4. 실행 결과
5. 추가 및 개선할 부분과 결론
6. 참고자료 / 문헌
7. 소스코드

본문내용

리눅스 사용자 공간 파일 시스템인 FUSE를 이용하여 현재 실행 중인 프로세스 정보를 디렉터리 목록으로 보여주는 파일 시스템을 구현한다. C언어와 기본 C 라이브러리인 glibc, FUSE 라이브러리만 사용하고 소스파일 pfs.c 에 모든 기능을 구현한다.

FUSE는 Filesystem in USEr space의 약자이며 리눅스 커널 2.6.15부터 기본적으로 탑재되어 있다. FUSE는 어플리케이션 레벨에서 작업이 이루어질 수 있도록 안정성 등 더 나은 장점을 제공하며, 리눅스 이외의 운영체제에서도 FUSE가 사용 가능하기 때문에 한 번 작성된 사용자 파일 시스템을 여러 운영체제에서 작동시킬 수 있다. 그러나 계층이 추가됨으로 인해 속도저하가 발생할 수 있다.
FUSE에서 사용할 수 있는 라이브러리 함수는 다음과 같다.
Int (*getattr)(const char *, struct stat *,struct fuse_file_info *)

<중 략>

3.1 proc를 사용하여 현재 실행중인 프로세스의 정보를 얻는다.
현재 실행중인 프로세스의 정보를 데이터로 관리하기 위해 2가지의 명령어를 사용하였다. 첫 번째는 stat /proc/id이며, 두 번째로는 cat /proc/id/status의 명령어이다. stat /proc/id는 프로세스가 만들어진 시간과 수정된 시간 등 TIME에 관련된 정보들을 관리할 수 있으며, cat /proc/id/status의 명령어는 프로세스의 TIME이 아닌 pid, ppid, name등 과 같은 매우 상세한 정보를 얻을 수 있다.
3.2 데이터를 효율적으로 관리하기 위해 임시로 파일에 저장을 하고 불러와 파싱한다. 그리고 파일을 제거한다.
3.1에서 명령어를 사용하여 얻은 프로세스 관련 데이터는 정제되지 않아 사용하기에 난해하다. 그렇기에 파일에 임시로 저장을 하고 ‘행’단위로 불러와 규칙성에 따라 데이터를 파싱하였다. 파싱한 데이터를 구조체에 정리함으로써 의미있는 데이터로 사용할 수 있다.

참고 자료

http://en.wikipedia.org/wiki/Filesystem_in_Userspace
http://fuse.sourceforge.net/doxygen/structfuse__operations.html
http://donkey612.blog.me/70082978709

압축파일 내 파일목록

운영체제_OS_FUSE/파일/~WRL0005.tmp
운영체제_OS_FUSE/파일/hello.c
운영체제_OS_FUSE/파일/Makefile
운영체제_OS_FUSE/파일/pfs.c
운영체제_OS_FUSE/파일/보고서.docx
  • 구매평가(0)
  • 구매문의(0)
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      4. 지식포인트 보유 시 지식포인트가 차감되며
         미보유 시 아이디당 1일 3회만 제공됩니다.

      찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

      더보기
      상세하단 배너
      우수 콘텐츠 서비스 품질인증 획득
      최근 본 자료더보기
      상세우측 배너
      숭실대학교 운영체제 OS FUSE
      페이지
      만족도 조사

      페이지 사용에 불편하신 점이 있으십니까?

      의견 보내기