• 캠퍼스북
  • 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

운영체제(os) Geek os project1

*세*
최초 등록일
2011.03.04
최종 저작일
2010.04
11페이지/파일확장자 압축파일
가격 2,500원 할인쿠폰받기
다운로드
장바구니

소개글

1. 목표
ELF 포맷의 실행 파일을 해석하고 이에 대한 파싱 기능(Parse_ELF_Executable())을 구현한다.

2. 구현 내용
Parse_ELF_Executable() 함수 구현

(과제1) 위의 "elf.c" 소스 코드는 Parse_ELF_Excutable();함수를 간략하게 구현한 것으로 이를 참고하여 "src/user/a.c"코드가 정상적으로 수행되도록 elf.c의 Parse_ELF_Excutable()함수 수정
 
(과제2) “a.c"와 유사한 응용 프로그램을 작성하고, objdump를 수행하여 덤프된 메모리 내용을 캡쳐하고 메모리 맵을 도시화한후 설명(elf 분석)

목차

- 문 제
- 소스코드
- 스크린샷

본문내용

. "src/geekos/elf.c" 소스 코드 일부
 
int Parse_ELF_Executable(char *exeFileData, ulong_t exeFileLength,
struct Exe_Format *exeFormat)
{
elfHeader *EH;
EH = (elfHeader *)exeFileData;
if(EH->version != 1)
{
return -1;
}
 
programHeader* PH;
PH = (programHeader *)(exeFileData + EH->phoff);
programHeader* PH2;
PH2 = (programHeader *)(exeFileData + EH->phoff + EH->phentsize);
 
exeFormat->numSegments = EXE_MAX_SEGMENTS;
exeFormat->entryAddr = EH->entry;
 
exeFormat->segmentList[0].offsetInFile = PH->offset;
exeFormat->segmentList[0].lengthInFile = PH->fileSize;
exeFormat->segmentList[0].startAddress = PH->vaddr;
exeFormat->segmentList[0].sizeInMemory = PH->memSize;
exeFormat->segmentList[0].protFlags = PH->flags;
 

참고 자료

없음

압축파일 내 파일목록

Project1.hwp
project1/build/.bochsrc
project1/build/.bochsrc~
project1/build/bochs.out
project1/build/common/.ignore
project1/build/common/fmtout.o
project1/build/common/memmove.o
project1/build/common/string.o
project1/build/depend.mak
project1/build/diskc.img
project1/build/fd.img
project1/build/geekos/.ignore
project1/build/geekos/bget.o
project1/build/geekos/bitset.o
project1/build/geekos/blockdev.o
project1/build/geekos/crc32.o
project1/build/geekos/dma.o
project1/build/geekos/elf.o
project1/build/geekos/fd_boot.bin
project1/build/geekos/floppy.o
project1/build/geekos/gdt.o
project1/build/geekos/ide.o
project1/build/geekos/idt.o
project1/build/geekos/int.o
project1/build/geekos/io.o
project1/build/geekos/irq.o
project1/build/geekos/kernel.bin
project1/build/geekos/kernel.exe
project1/build/geekos/kernel.syms
project1/build/geekos/keyboard.o
project1/build/geekos/kthread.o
project1/build/geekos/lowlevel.o
project1/build/geekos/lprog.o
project1/build/geekos/lspawn.o
project1/build/geekos/main.o
project1/build/geekos/malloc.o
project1/build/geekos/mem.o
project1/build/geekos/pfat.o
project1/build/geekos/screen.o
project1/build/geekos/segment.o
project1/build/geekos/setup.bin
project1/build/geekos/synch.o
project1/build/geekos/timer.o
project1/build/geekos/trap.o
project1/build/geekos/tss.o
project1/build/geekos/vfs.o
project1/build/libc/.ignore
project1/build/libc/conio.o
project1/build/libc/errno.c
project1/build/libc/errno.o
project1/build/libc/libc.a
project1/build/Makefile
project1/build/Makefile~
project1/build/tools/.ignore
project1/build/tools/builtFat.exe
project1/build/user/.ignore
project1/build/user/a.exe
project1/build/user/a.o
project1/COPYING
project1/include/geekos/argblock.h
project1/include/geekos/bget.h
project1/include/geekos/bitset.h
project1/include/geekos/blockdev.h
project1/include/geekos/bootinfo.h
project1/include/geekos/crc32.h
project1/include/geekos/defs.h
project1/include/geekos/dma.h
project1/include/geekos/elf.h
project1/include/geekos/errno.h
project1/include/geekos/fileio.h
project1/include/geekos/floppy.h
project1/include/geekos/fmtout.h
project1/include/geekos/gdt.h
project1/include/geekos/ide.h
project1/include/geekos/idt.h
project1/include/geekos/int.h
project1/include/geekos/io.h
project1/include/geekos/irq.h
project1/include/geekos/kassert.h
project1/include/geekos/keyboard.h
project1/include/geekos/kthread.h
project1/include/geekos/ktypes.h
project1/include/geekos/list.h
project1/include/geekos/malloc.h
project1/include/geekos/mem.h
project1/include/geekos/pfat.h
project1/include/geekos/range.h
project1/include/geekos/screen.h
project1/include/geekos/segment.h
project1/include/geekos/string.h
project1/include/geekos/symbol.h
project1/include/geekos/synch.h
project1/include/geekos/timer.h
project1/include/geekos/trap.h
project1/include/geekos/tss.h
project1/include/geekos/vfs.h
project1/include/libc/fmtout.h
project1/include/libc/string.h
project1/LICENSE-klibc
project1/scripts/eipToFunction
project1/scripts/findaddr
project1/scripts/generrs
project1/scripts/kerninfo
project1/scripts/mkcdisk
project1/scripts/mkuprog
project1/scripts/numsecs
project1/scripts/pad
project1/scripts/pcat
project1/scripts/pw
project1/scripts/scan
project1/scripts/zerofile
project1/src/common/fmtout.c
project1/src/common/memmove.c
project1/src/common/string.c
project1/src/geekos/bget.c
project1/src/geekos/bitset.c
project1/src/geekos/blockdev.c
project1/src/geekos/bootsect.asm
project1/src/geekos/crc32.c
project1/src/geekos/defs.asm
project1/src/geekos/depend.mak
project1/src/geekos/destroyThread
project1/src/geekos/dma.c
project1/src/geekos/elf.c
project1/src/geekos/elf.c~
project1/src/geekos/fd_boot.asm
project1/src/geekos/floppy.c
project1/src/geekos/gdt.c
project1/src/geekos/ide.c
project1/src/geekos/idt.c
project1/src/geekos/int.c
project1/src/geekos/io.c
project1/src/geekos/irq.c
project1/src/geekos/keyboard.c
project1/src/geekos/kthread.c
project1/src/geekos/lowlevel.asm
project1/src/geekos/lprog.c
project1/src/geekos/lprog.c~
project1/src/geekos/lspawn.asm
project1/src/geekos/main.c
project1/src/geekos/malloc.c
project1/src/geekos/mem.c
project1/src/geekos/pfat.c
project1/src/geekos/README.txt
project1/src/geekos/screen.c
project1/src/geekos/segment.c
project1/src/geekos/setup.asm
project1/src/geekos/symbol.asm
project1/src/geekos/synch.c
project1/src/geekos/timer.c
project1/src/geekos/trap.c
project1/src/geekos/tss.c
project1/src/geekos/user.c
project1/src/geekos/user.c~
project1/src/geekos/util.asm
project1/src/geekos/vfs.c
project1/src/libc/compat.c
project1/src/libc/conio.c
project1/src/libc/conio.c~
project1/src/libc/entry.c
project1/src/tools/buildFat.c
project1/src/tools/Makefile
project1/src/user/a.c
project1/src/user/a.c~
project1/src/user/test.c

자료후기(3)

*세*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
운영체제(os) Geek os project1
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업