myShell
본 자료는 6페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
해당 자료는 6페이지 까지만 미리보기를 제공합니다.
6페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

myShell에 대한 보고서 자료입니다.

본문내용

명령에 대한 정보를 담을 수 있는 구조체를 정의하고, 사용자로부터 커맨드라인 한 줄을 입
력 받는다.
입력받은 커맨드라인을 분석하여 비교한뒤 다음과 같은 순서로 프로그램을 진행한다.
쉘은 응용프로그램을 실행시키는 기능 외에도 직접 구현되어있는 명령이 있어야 한다. 예를
들어 입력받은 명령이 디렉토리를 변경하는 `CD`와 같은 명령일 경우 파일을 검색하지 않고,
쉘 내부에서 이 작업을 수행한다.
쉘 내부에서 진행하는 명령이 아니라면 PATH변수를 검색하여 해당명령에 대한 실행가능한
파일이 있는 위치를 찾는다. 파일을 찾았다면 execvp()매소드를 이용하여 프로그램을 실행하
는데 이때 쉘은 실행되는 프로세스의 올바르지 못한 종료 등의 오류에서부터 쉘 자신의 프로
세스를 보호하기 위하여 프로세서를 실행하기 전에 fork()등으로 자식 프로세스를 만들고 이
자식 프로세스 내에서 프로그램을 실행한다.
쉘의 이런 기능 외에도 명령 뒤에 혹은 두개의 명령 사이에 사용되는 ‘&’,‘<’,‘>’,‘|’문자를
사용할 수도 있는데 실행프로세서를 기다리지 않는 명령인 ‘&’는 wait()매소드를 호출하지 않
는 방법을 통해 구현하고 프로세서의 입출력방향을 파일로 전환하는 기능인 ‘>’, ‘<’는
close()와 dup()매소드를 이용하여 구현한다. 그리고 두 프로세스를 동시에 실행하여 하나의
프로세스의 출력이 다른 프로세스의 입력이 되게 하는 ‘|’명령은 유닉스의 파이프(PIPE)를 이
용하여 구현하도록 한다.

키워드

  • 가격1,000
  • 페이지수18페이지
  • 등록일2011.12.09
  • 저작시기2015.12
  • 파일형식아크로뱃 뷰어(pdf)
  • 자료번호#719223
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니