검색어 입력폼

[운영체제(OS) Shell(셸) 구현]운영체제(OS) Shell 구현

저작시기 2010.01 |등록일 2006.08.21 파일확장자기타파일 (c) | 가격 2,000원

소개글

운영체제(OS) Shell 구현
1. CD 명령어 구현
2. 히스토리(history) 관련
3. 리다이렉션 관련
4. 파이트관련

컴파일 실행환경

리눅스(유분투)

본문내용

(2) cd 명령어 구현
int chdir(const char *path);
char * getcwd(char *buf, sizt_t size);
위의 함수를 이용하여서 모든 cd 명령어의 옵션을 구현하였습니다.


(3) 히스토리 관련
History 라는 2차원 배열을 전역 변수로 선언하여 사용자가 입력모든 명령어를
배열에다가 넣어두고.. 번호가 들어오면은 들어온 번호의 배열을 실행시켰고
문자가 들어오면은 strstr() 함수를 이용하여서 가장 최근의 명령어를 찾아
서 실행 시켰습니다.

(4) && 와 || 구현
&& 와 || 를 먼저 파싱을 한 후에 && 와 || 의 개수만큼 반복을 한다.
그런데 && 는 1번째 명령어가 참을 경우에만 뒤의 명령어를 실행하고 || 의 경
우에는 1번째 명령어가 참이 아닐 경우에도 실행을 한다.

(6) 파이프 관련
Pipe() 함수를 호출하면 파이프를 생성하고 file_descriptor 배열에 파이프 디
스크립터를 두개 받아온다.
이중 file_descriptor[0]에는 파이프의 입력 디스크립터를 ,file_descriptor[1]
에는 파이프의 출력 디스크럽터를 전달받는다.
즉 file_ descriptor[1]에 메시지를 출력하며은 filedescriptor[0]을 통해 입력
받을수 있다.

소스포함.

참고 자료

[1] KIPA 한국소프트웨어진흥원 Linux System & Network Programming Page 211,143,117.126
[2] unix systems programming 인포북 Page 248
[3] http://www.winapi.co.kr
다운로드 맨위로