검색어 입력폼

운영체제(os) Geek os project2

저작시기 2010.04 |등록일 2011.03.04 | 최종수정일 2014.08.08 파일확장자압축파일 (zip) | 가격 2,500원

소개글

소스코드 올렸고 주석전부 달려있습니다

컴파일 실행환경

없음

본문내용

쉘 프로그램 수행(50점)
일반 유저 프로그램(쉘 프로그램 포함)을 수행하기 위해 아래 파일의 수정이 필요
src/geekos/user.c
src/geekos/elf.c->기존 Project1에서 구현한 내용을 이용
src/geekos/userseg.c
src/geekos/kthread.c
위 파일의 TODO 함수를 구현할 것.
위 파일을 수정한 후 쉘 프로그램이 동작하는지 확인
main.c에서 shell.exe를 spawn


시스템 콜 구현(50점)
src/geekos/syscall.c
Sys_Exit()
Sys_PrintString()
Sys_GetKey()
Sys_SetAttr()
Sys_GetCursor()
Sys_PutCursor()
Sys_Spawn()
Sys_Wait()
Sys_GetPID()
위 시스템 콜들을 구현

추가구현(Bonus)
vfork()시스템 콜을 추가한 후 간단한 예제 프로그램을 만들어 수행 결과를 보인다.
리눅스 커널 fork.c파일안의 copy_process()함수를 참고

압축파일내 파일목록

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