1
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: 운운 운운 운 운운운운운 운운운 운운 운운운 운운운운 운운

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

  • Upload
    sani

  • View
    122

  • Download
    24

Embed Size (px)

DESCRIPTION

과제 3: 리눅스 커널 프로그래밍 ( 5 월 31 일까지 ). 중간 시험 문제 정답 풀이 교재 ( 리눅스 매니아를 위한 커널 프로그래밍 , 조유근 , 최종무 , 홍지만 저 , ㈜ 교학사 , 2002) 의 1,2,3,4 장 내용 숙독 교재 ( 리눅스 매니아를 위한 커널 프로그래밍 , 조유근 , 최종무 , 홍지만 저 , ㈜ 교학사 , 2002) 의 p70~74 구조체를 이용한 인자 전달 ( 실습 2) 체험 - PowerPoint PPT Presentation

Citation preview

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: 편집 결과 및 프로그램의 소스와 실행 결과를 출력하여 제출