시스템콜 구현, 쉘 프로그래밍 : vfork() 구현 - Adding Process (65page)
- 최초 등록일
- 2009.03.27
- 최종 저작일
- 2008.10
- 65페이지/ 한컴오피스
- 가격 3,000원
소개글
OS를 공부하는 사람이라면 fork()함수에 대해 잘 알겁니다.
이번 project는 이와 비슷하지만 조금의 차이점을 가진 vfork()함수를 직접 만드는 것이죠.
첨부파일에는 완성본 레폿트와 리눅스에서 바로 압축한 tar.gz형식의 C코드전부가 있습니다.
어떤 폴더에 어떻게 붙여넣어야 하는지 상세히 나와있으므로 참고하시면 될듯합니다.
기초지식에 대한 것까지
레포트의 양은 65페이가 넘습니다.
감사합니다.
목차
Ⅰ. 과제개요
Ⅱ. 설계
Ⅲ. 구현
Ⅳ. 테스트 프로그램의 구성 및 테스트의 주안점
Ⅴ. 테스트 및 결과
Ⅵ. 소스코드
본문내용
Ⅰ. 과제개요
1. 목표
User Mode에서 실행 가능한 프로세스와 시스템 콜을 구현하고 이를 실험해보도록 한다.
2. 보고서 제출 양식
보고서는 다음과 같은 양식으로 작성
1. 과제 개요
2. 설계
3. 구현
4. 테스트 프로그램의 구성 및 테스트의 주안점 : 테스트 프로그램 설명 및 실행 방법 및 변경/추가된 부분의 동작을 확실히 보여줄 수 있도록 상세하게 구성
5. 테스트 및 결과 : 테스트 프로그램의 수행 결과와 수행 결과를 통해 변경/추가된 부분이 정확하게 동작함을 상세하게 설명
3. 구현 내용
과제 1. 쉘 프로그램 수행
1) 쉘 프로그램과 같은 일반 유저 프로그램을 수행하기 위해서는 아래와 같은 파일의 수정이 필요하다.
(매뉴얼 참조)
src/geekos/user.c : Spawn()
src/geekos/user.c : Switch_To_User_Context()
src/geekos/elf.c : Parse_ELF_Executable()
src/geekos/userseg.c : Destroy_User_Context()
src/geekos/userseg.c : Load_User_Program()
src/geekos/userseg.c : Copy_From_User()
src/geekos/userseg.c : Copy_To_User()
src/geekos/userseg.c : Switch_To_Address_Space()
src/geekos/kthread.c : Setup_User_Thread()
src/geekos/kthread.c : Start_User_Thread()
2) 쉘 프로그램이 동작하는지 확인한다.
과제 2. 시스템콜 구현
1) 기존에 정의된 시스템콜의 구현 내용.
src/geekos/syscall.c : Sys_Exit()
src/geekos/syscall.c : Sys_PrintString()
src/geekos/syscall.c : Sys_GetKey()
src/geekos/syscall.c : Sys_SetAttr()
src/geekos/syscall.c : Sys_GetCursor()
src/geekos/syscall.c : Sys_PutCursor()
참고 자료
없음