Transcript
Page 1: 과제  3:  리눅스 커널 프로그래밍  ( 5 월  31 일까지 )

2000 운영체제 인천대학교 컴퓨터공학과 성미영 pr2.1

과제 3: 리눅스 커널 프로그래밍 (5 월 31일까지 )

1. 중간 시험 문제 정답 풀이

2. 교재 ( 리눅스 매니아를 위한 커널 프로그래밍 , 조유근 , 최종무 , 홍지만 저 , ㈜교학사 , 2002) 의 1,2,3,4 장 내용 숙독

3. 교재 ( 리눅스 매니아를 위한 커널 프로그래밍 , 조유근 , 최종무 , 홍지만 저 , ㈜교학사 , 2002) 의 p70~74 구조체를 이용한 인자 전달 ( 실습 2) 체험

4. 교재 ( 리눅스 매니아를 위한 커널 프로그래밍 , 조유근 , 최종무 , 홍지만 저 , ㈜교학사 , 2002) 의 p75 연습문제 1 과 2 풀이 ( 통합 소스 ) 제출

1. Shell 구현 소스 파일 ( 예 , myshell.c) 간단한 shell 을 구현해 보자 .shell 은 사용자가 키보드 등의 입력 장치를 통해 입력한

특정 명령어나 프로그램을 수행할 수 있게 해주는 기본적인 인터페이스 역할을 하는 프로그램이다 . Shell 은 shell 자체적으로 제공하는 내부 명령어나 별도로 컴파일 되어 디스크에 존재하는 다른 프로그램들을 수행할 수 있게 해준다 . 이를 위해서는 사용자 입력을 분석하는 부분이 필요하며 내부 명령어를 위한 코드와 프로그램을 수행시키기 위한 코드가 필요하고 일단 외부 프로그램이 실행될 경우 shell 은 외부 프로그램이 종료되기를 기다려야 한다 . 또한 shell 은 여러 프로그램 간에 입출력을 공유하게 해주는 pipe 기능을 제공하여야 한다 .

2. 시스템 호출 구현 소스 파일 ( 예 , getstat.c) 텍스트에서 소개한 getstat 시스템 호출을 확장하여 현재 시스템에서 수행중인

태스크들의 정보를 출력하는 내부 명령어를 1. 에서 작성한 shell 에 추가해 보자 . 이 명령어의 인자로서 pid 나 pgrp 또는 state 인자를 넘기면 해당하는 태스크들만의 정보를 출력하고 인자가 없을 경우는 모든 태스크의 정보를 출력하도록 한다 .

제출 방법 : Electronic version 과 Printout version 모두 제출» Electronic version: 지정 호스트 211.119.245.68 의

디렉토리 (~mysung/2004os/class?/ 자기학번 ) 에 소스파일과 실행파일 복사» Printout version: 편집 결과 및 프로그램의 소스와 실행 결과를 출력하여 제출

Recommended