[운영체제(OS) Shell(셸) 구현]운영체제(OS) Shell 구현 (소스포함)
본 자료는 8페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
해당 자료는 8페이지 까지만 미리보기를 제공합니다.
8페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[운영체제(OS) Shell(셸) 구현]운영체제(OS) Shell 구현 (소스포함)에 대한 보고서 자료입니다.

목차

1. 문제 제기

(1) 환경 변수 관련
(2) CD 명령어 구현
(3) 히스토리 관련
(4) 명령어관련
i) && 와 || 관련
ii) ; 와 ( ) 구현
(5) 리다이렉션 관련
(6) 파이프 관련

2. 관련 연구
3. 문제 해결 방법
4. 실행결과
5. 추가 및 개선할 부분과 결론

본문내용

2. 관련 연구
(2) cd
int chdir(const char *path)
char * getcwd(char *buf, size_t size);
해더파일 : unistd.h
Chdir() 함수에는 변경하고자 하는 경로 명을 인수로 전달한다.
Getcwd() 함수는 현재의 경로 위치를 첫번째 인수 buf에 넘겨준다.

(3) history
int isdigiit(int c);
Int isalpha(int c);
해더파일 : chtype.h

(6) pipe
int pipe(int file_descriptor[2]);
해더파일 : unistd.h
Pipe()함수를 호출하면 파이프를 생성하고 file_descriptor배열에 파이프 디스크립터를
두개 받아온다.


3. 문제 해결 방법

(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]을 통해 입력
받을수 있다.

키워드

운영체제,   Shell,   셸구현,   OS
  • 가격3,000
  • 페이지수23페이지
  • 등록일2011.08.22
  • 저작시기2009.1
  • 파일형식워드(doc)
  • 자료번호#696821
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니