운영체제 첫번째 숙제

  1. 시스템 콜을 이용하여 기본적인 쉘 프로그램 작성하기

    가. 목적
    기본적인 기능을 수행하는 쉘 프로그램 구현

    나. 사용 시스템 콜
    fork, exec or execve, pipe, wait 등

    다. 구현 기능
    a. 기본적인 명령어 수행 기능
    realtime> ./my_shell
    my_shell>> ls
    a.out test1.c test2.c test3.c

    b. 백그라운드 기능 구현
    my_shell>> a.out&
    my_shell>> ps -aux
    =========== Output ==============


    a.out
    =================================

    c. 리다이렉션 기능
    my_shell>> ls -alF > dir.txt
    my_shell>> ls /bin >> dir.txt
    my_shell>> cat dir.txt
    =========== Output ===============
    ls -alF 결과
    +
    ls /bin 결과
    ==================================

    d. 파이프 기능
    my_shell>> ls | grep test
    =========== Output ===============
    test1.c test2.c test3.c
    ==================================

    e. 파일 이름 자동완성 기능
    (Tab키를 누르면 현재 까지 입력된 파일명을 기반으로 현재 디렉토리 내에서
    일치하는 파일이 있으면 자동으로 입력해준다.
    복수 개의 파일이 있으면 같은 부분까지만 자동으로 입력해주고
    복수개의 해당 파일을 표시해 주기만 한다.

– 현재 디렉토리의 파일에만 적용)
my_shell>> ls
a.out test1.c test2.c test3.c
my_shell>> a -> 이 상태에서 Tab 키를 누르면 아래의 형태로 자동 입력됨 – 물론 명령어 입력은
되지 않은 상태
my_shell>> a.out
my_shell>> t -> 이상태에서 Tab 키를 누르면 아래의 형태로 같은 부분까지 자동 입력되고, 복수개의 파일이 표시됨
my_shell>> test
test1.c test2.c test3.c

f. 명령 저장 기능
이전에 사용한 명령어 행을 방향키 위 아래 버튼을 사용하여 직접 입력하지 않고도
편하게 사용할 수 있도록 한다.
my_shell>> ls -alF
.
.
my_shell>> ps -aux
.
.
my_shell>>  -> 이 상태에서 방향키 위 버튼을 누르면 아래의 형태로 나타남
my_shell>> ps -aux -> 한 번더 방향키 위 버튼을 누르면 아래의 형태로 나타남
my_shell>> ls -alF -> 여기에서 방향키 아래 버튼을 누르면 아래의 형태로 나타남
my_shell>> ps -aux
(명령 저장 갯수는 80개 까지로 한다.)

라. 참조 문서
Advanced Programming in the UNIXEnvironment -Stevens-
UNIX SYSTEM Programming – 홍릉 출판사 –
및.. 기타 관련서적

마. 기간
가반 24일(금)까지
나반 23일(목)까지
다반 24일(금)까지

=== 주의사항 ==
– 처음에 공지 했던 Coding Style을 만족할것
– 전체적인 프로그램 구조에 관한 설명이 있어야함

“운영체제 첫번째 숙제”에 대한 2개의 생각

댓글 남기기