datalab

12
DATALAB SYSTEM PROGRAMING

Upload: trista

Post on 05-Jan-2016

81 views

Category:

Documents


3 download

DESCRIPTION

DATALAB. SYSTEM PROGRAMING. 과제 설명. 목적 Bit Level 표현과 조작에 숙달 평가 총 17 개의 문제 각각의 문제는 난이도별 점수 총점 50 점 기한 2011 년 9 월 23 일 ( 금 ) 23 시 59 분 까지. 실습환경 - 리눅스. 1. 개인 pc 에 리눅스 환경을 만듭니다 . dual OS virtual box + fedora(ubuntu 등 ) 설치 2. SSLAB 의 리눅스 서버에 접속합니다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DATALAB

DATALAB

SYSTEM PROGRAMING

Page 2: DATALAB

과제 설명• 목적

– Bit Level 표현과 조작에 숙달

• 평가– 총 17 개의 문제– 각각의 문제는 난이도별 점수– 총점 50 점

• 기한– 2011 년 9 월 23 일 ( 금 ) 23 시 59 분 까지

Page 3: DATALAB

실습환경 - 리눅스• 1. 개인 pc 에 리눅스 환경을 만듭니다 .

– dual OS – virtual box + fedora(ubuntu 등 ) 설치

• 2. SSLAB 의 리눅스 서버에 접속합니다 .– putty ( xterm, xshell 등 ) 등의 ssh 접속프로그램으로 – 로그인 하여 사용합니다 . – ID , 패스워드는 모두 학번– 자신의 PC 에서 파일을 올리거나 내려받을 때는 – sftp 프로그램을 이용합니다 .– 수업 게시판 참고 .

Page 4: DATALAB

DATALAB• 파일 구성

1) bits.c : 과제 수정 파일2) dlc : bits.c 파일의 문맥 에러 검사3) btest : bits.c 수정 내용 검사

• 과제 수행 내용– bits.c 파일에 있는 함수들을 각각의 조건 ( 주석 ) 에 맞추어

작성

Page 5: DATALAB

과제 수행 방법 1• 게시판에서 datalab-handout.tar 파일 다운• 압축을 해제한다

“tar –xvf datalab-handout.tar” 명령으로 가능

Page 6: DATALAB

과제 수행 방법 2• bits.c 파일만 수정

– team_struct 구조체의 “” 부분에 학번과 이름을 삽입

Page 7: DATALAB

과제 수행 방법 3• 컴파일

1) ./dlc bits.c2) make btest

• 실행– ./btest

• TIP : ./btest | grep score 로 입력하면 현재 점수만 확인 가능하다 .

Page 8: DATALAB

과제 항목

함수이름 과제내용 Use Ops Max ops

Rating

bitNor ~(X|Y) 구현 ~& 8 1

bitAnd X&Y 구현 ~| 8 1

minusOne -1 한 값을 리턴 ! ~ & ^ | + << >> 2 1

isEqual X 와 Y 가 같으면 1 리턴 !~&^|+<<>> 5 2

bitMask High low 사이가 1 인 값 ! ~ & ^ | + << >> 16 3

conditional same as x ? y : z ! ~ & ^ | + << >> 16 3

isLessOrEqual if x <= y then return 1, else return 0

! ~ & ^ | + << >> 24 3

isNegative X < 0 이면 1 리턴 ! ~ & ^ | + << >> 6 3

isPositive X > 0 이면 1 리턴 !~&^|+<<>> 8 3

multFiveEights

입력값에 5/8 을 곱합 ( 반올림 0) !~&^|+<<>> 12 3

Page 9: DATALAB

과제 항목

함수이름 과제내용 Use Ops Max ops

Rating

reverseBytes X 의 바이트를 거꾸로 바꿈 ! ~ & ^ | + << >> 25 3

isPower2 X 가 2 의 제곱승이면 1 리턴

! ~ & ^ | + << >> 60 4

isNonZero X 가 0 이 아니면 1 리턴 ! ~ & ^ | + << >> 20 4

bitParity X 가 홀수개의 0 을 가지고 있으면 1 리턴 ! ~ & ^ | + << >> 20 4

satAdd 2 개의 수를 더함양수 오버플로 발생 – 양수 최대값음수 오버플로 발생 – 음수 최대값

! ~ & ^ | + << >> 30 4

sm2tc Convert from sign-magnitude to two's complement

! ~ & ^ | + << >> 15 4

tc2sm Convert from two's complement to sign-magnitude

! ~ & ^ | + << >> 15 4

Page 10: DATALAB

주의점• stdio.h 를 포함시키면 에러가 남

– printf 문 등의 standard 함수 사용을 금지

• 설명된 파일 이외의 파일은 수정 금지

• 제출 파일– “make handin TEAM= 학번” 명령을 수행– 학번은 bits.c 에 입력한 학번과 같아야 함– 명령 수행 후 생성 된 “ 학번 - 버전 -bits.c” 파일을 제출

Page 11: DATALAB

주의점• 수정된 파일을 제출 하려 한다면

– “make handin TEAM= 학번 VERSION=2” 명령 수행– 매회 제출시마다 VERSION 의 숫자를 증가시켜 제출– 평가는 마지막 버전만 이루어짐

• 제출 방법– E-Mail 제출 : [email protected], [email protected]– 제목은 반드시 [2011_ 시스템프로그래밍 #1] 으로 시작– 제목에 학번과 이름을 표기

• [2011_ 시스템프로그래밍 #1]XXXXXXXXX_ 홍길동– 위에 주어진 제출 방법을 따르지 않는 과제는 채점되지 않으며 ,

미 제출 처리된다 .

Page 12: DATALAB

Q&A1) 질의응답은 수업게시판을 이용2) 과제 기한 연장은 없음