[UNIX]스몰쉘(smallsh)의 구현
- 최초 등록일
- 2006.12.09
- 최종 저작일
- 2006.11
- 8페이지/ 압축파일
- 가격 1,000원
소개글
smallsh 프로그램 파일 + 보고서로 구성.
smallsh라는 간단한 명령 처리기(command processor)를 구축한다. 쉘은 사용자가 로그인 했을 때 우연히 호출되는 평범한 프로그램에 불과하다는 것을 보여준다. smallsh가 해야 할 일은 간단하다. 이 프로그램은 명령들을 조합하여, 그것들을 백그라운드(background) 혹은 포그라운드(foreground)로 수행시킨다. 또한 몇 개의 명령들이 세미콜론(;)으로 연결된 줄들도 처리할 수 있어야 한다.
목차
없음
본문내용
smallsh라는 간단한 명령 처리기(command processor)를 구축한다. 쉘은 사용자가 로그인 했을 때 우연히 호출되는 평범한 프로그램에 불과하다는 것을 보여준다. smallsh가 해야 할 일은 간단하다. 이 프로그램은 명령들을 조합하여, 그것들을 백그라운드(background) 혹은 포그라운드(foreground)로 수행시킨다. 또한 몇 개의 명령들이 세미콜론(;)으로 연결된 줄들도 처리할 수 있어야 한다.
기본적인 논리는 다음과 같이 간단하다.
while(EOF가 타입되지 않음)
{
사용자로부터 명령줄을 받아들인다.
명령인수를 조립하여 수행한다.
자식을 기다린다(wait).
}
명령줄을 받아들이는 함수에 userin이라는 이름을 부여한다. userin은 프롬프트(prompt)를 인쇄하고, 키보드에서 한줄의 입력이 들어오기를 기다린다. 받은 입력은 무엇이건 프로그램 버퍼에 저장한다. userin을 다음과 같이 구현하였다.
/* 예를 위한 include 파일 */
#include "smallsh.h"
/* 프로그램 버퍼 및 작업용 포인터들 */
static char inpbuf[MAXBUF], tokbuf[2*MAXBUF], *ptr=inpbuf, *tok=tokbuf;
/* 프롬프트를 프린트하고 한 줄을 읽는다. */
int userin (char *p)
{
int c, count;
/* 뒤의 루틴들을 위한 초기화 */
ptr = inpbuf;
tok = tokbuf;
참고 자료
없음
압축파일 내 파일목록
smallsh (termproject).hwp
small/ex.jpg
small/procline.c
small/runcommand.c
small/smallsh.c
small/smallsh.h
small/userin.c