목차
1. 프로젝트 목표
2. 프로젝트 수행 과정 혹은 일정
3. 프로젝트 수행에 필요한 기술을 나열하고 설명
4. 프로그래밍에 사용하는 UNIX SYSTEM CALL INTERFACE 들
5. 프로그램의 전반적인 아이디어
6. 프로그램 구조 및 세부 설명
7. 프로젝트 평가(위 5 참고)의 자체 시험 내용
8. 앞으로 추가 혹은 개선할 사항
9. 참고한 자료
2. 프로젝트 수행 과정 혹은 일정
3. 프로젝트 수행에 필요한 기술을 나열하고 설명
4. 프로그래밍에 사용하는 UNIX SYSTEM CALL INTERFACE 들
5. 프로그램의 전반적인 아이디어
6. 프로그램 구조 및 세부 설명
7. 프로젝트 평가(위 5 참고)의 자체 시험 내용
8. 앞으로 추가 혹은 개선할 사항
9. 참고한 자료
본문내용
1. 프로젝트 목표
수업 시간에 배운 다양한 UNIX system call을 사용하여 소형 쉘 프로그램을 개발한다. (참고: 수업 시간에 다룬 file 입출력, file 특성, process 생성 / 삭제 등과 같은 다양한 system call들을 모두 의무적으로 사용하여 프로그램하여야 함.)
2. 프로젝트 수행 과정 혹은 일정
프로젝트수행은 총 2주(11. 10 ~ 11. 25)에 걸쳐 이루어졌다.
학기 중 수업 시간에 배운 내용과 지금까지 한 실습들을 기본 바탕으로 프로젝트가 이루어졌으며, 그 외에 인터넷 WEB 상의 자료들을 참고하였다.
3. 프로젝트 수행에 필요한 기술을 나열하고 설명
표준입력으로 받은 명령줄을 문자열 비교를 이용하여 명령어 수행에 필요한 함수를 호출 하고 각 명령어 수행에 필요한 함수 내에서는 표준입력으로 받은 명령줄의 명령어 부분과 argument 부분 그리고 path 부분으로 각각 나누어 명령에 필요한 문자열만을 이용. 이후 execvp() 함수를 이용하여 손쉽게 원하는 명령을 수행한다. 단 directory 간의 이동의 경우 execvp() 함수를 이용해 구현이 어렵기 때문에 directory간 이동을 위한 함수는 따로 나누어 작성을 한다.
≪ … 중 략 … ≫
6. 프로그램 구조 및 세부 설명
/////////////// 헤더파일 //////////////////////
#include
#include
#include
#include
#include
#include
#include
#include
char *cmdTokenList[20];
char cmdString[512];
void Runcmd(char *cmdString);
void Runcd(char *cmdString);
int parse_cmd(char *cmdString, const char *delim, char** retcmd);
int i;
수업 시간에 배운 다양한 UNIX system call을 사용하여 소형 쉘 프로그램을 개발한다. (참고: 수업 시간에 다룬 file 입출력, file 특성, process 생성 / 삭제 등과 같은 다양한 system call들을 모두 의무적으로 사용하여 프로그램하여야 함.)
2. 프로젝트 수행 과정 혹은 일정
프로젝트수행은 총 2주(11. 10 ~ 11. 25)에 걸쳐 이루어졌다.
학기 중 수업 시간에 배운 내용과 지금까지 한 실습들을 기본 바탕으로 프로젝트가 이루어졌으며, 그 외에 인터넷 WEB 상의 자료들을 참고하였다.
3. 프로젝트 수행에 필요한 기술을 나열하고 설명
표준입력으로 받은 명령줄을 문자열 비교를 이용하여 명령어 수행에 필요한 함수를 호출 하고 각 명령어 수행에 필요한 함수 내에서는 표준입력으로 받은 명령줄의 명령어 부분과 argument 부분 그리고 path 부분으로 각각 나누어 명령에 필요한 문자열만을 이용. 이후 execvp() 함수를 이용하여 손쉽게 원하는 명령을 수행한다. 단 directory 간의 이동의 경우 execvp() 함수를 이용해 구현이 어렵기 때문에 directory간 이동을 위한 함수는 따로 나누어 작성을 한다.
≪ … 중 략 … ≫
6. 프로그램 구조 및 세부 설명
/////////////// 헤더파일 //////////////////////
#include
#include
#include
#include
#include
#include
#include
#include
char *cmdTokenList[20];
char cmdString[512];
void Runcmd(char *cmdString);
void Runcd(char *cmdString);
int parse_cmd(char *cmdString, const char *delim, char** retcmd);
int i;
소개글