슬라이드 1

Size: px
Start display at page:

Download "슬라이드 1"

Transcription

1 터미널입출력 Chapter #8

2 강의목차 리눅스장치파일 리눅스장치파일제어 단말기장치속성정보얻기 단말기장치속성정보설정 비정규입력처리 예제프로그램 Unix System Programming 2

3 리눅스장치파일 (1) 리눅스장치파일 (Linux Device File) 리눅스시스템에서는저장장치에저장된파일이나디렉토리그리고모든입출력장치를동일하게파일로취급 리눅스장치파일 입출력장치를접근하기위해제공하는특수파일 모든입출력장치에대해일관성있고유일한소프트웨어인터페이스를제공함으로써장치접근프로그램작성을용이하게함 /dev 시스템디렉토리에모든장치파일을제공되며정규파일과같은방식으로접근가능 장치파일명은 장치표시명 (3문자)+serial number 로구성 예 : hda1, hda2, dsp, eth0 등 Unix System Programming 3

4 리눅스장치파일 (2) 리눅스장치파일 (Linux Device File) 종류 문자형장치파일 문자단위의데이터입출력을지원하는장치파일 터미널장치파일, 프린터장치파일, 사운드장치파일등 파일타입문자 : c 블록형장치파일 블록단위의데이터입출력을지원하는장치파일 하드디스크장치파일, 비디오장치파일등 파일타입문자 : b 네트워크장치파일 네트워크통신프로토콜을지원하는특수한형태의장치파일 소켓파일등 파일타입문자 : s Unix System Programming 4

5 리눅스장치파일 (3) 리눅스장치파일의입출력인터페이스 장치파일에대한입출력인터페이스는정규파일과거의동일 물리적인장치의설정이나고유기능을접근하기위한인터페이스를제외하고는모두가동일하다 접근인터페이스 open() 장치파일열기 close() 장치파일닫기 read() 장치파일로부터데이터읽기 write() 장치파일로데이터쓰기 lseek() 일반적으로지원하지않음 ioctl() 물리적인장치의설정이나고유기능에대한접근 Unix System Programming 5

6 리눅스장치파일 (4) 리눅스장치파일의입출력인터페이스 입출력컨트롤러 Unix System Programming 6

7 단말기장치 단말기장치파일 (1) 컴퓨터와사용자사이에인터페이스를제공하는하드웨어장치 키보드, CRT 터미널등으로구성 컴퓨터와의물리적인연결 시리얼라인을이용한직접적인연결 모뎀과전화선을이용한원격접속 컴퓨터와의통신방식 보통컴퓨터와 ASCII 코드를사용하여통신 비동기프로토콜을사용하여문자단위전송지원 전이중 (full-duplex) 통신이가능 터미널화면에문자가출력되는동안에키보드입력이가능 일반적으로단말기장치는 dumb device 로다룬다 Unix System Programming 7

8 단말기장치파일 (2) 단말기장치파일 /dev/ttyxx 형태로제공 현재사용중인단말기를위한장치파일 : /dev/tty 단말기장치드라이버 일반적인입출력인터페이스제공 입출력문자매핑 (character mapping) 과입력버퍼링 (buffering) 을수행 프로그램이입력된문자를읽어가지않은상태에서도새로운입력을받아들일수있도록지원 서로다른상황에서각기다르게입출력포트를구성 (configure) 할수있도록지원 stty a 명령을통해현재단말기장치에대한구성을살펴볼수있다 Unix System Programming 8

9 단말기입출력방식 단말기입출력방식 단말기장치드라이버에서제공하는입출력방식정규형입력모드 (Canonical Input Mode) 비정규형입력모드 (Non-canonical Input Mode) echoing Unix System Programming 9

10 단말기장치입출력인터페이스 단말기장치입출력인터페이스 open() 단말기장치열기 close() 단말기장치닫기 read() 단말기장치에서데이터읽기 write() 단말기장치로데이터쓰기 lseek() 지원하지않음 Unix System Programming 10

11 ioctl() 시스템호출 단말기장치제어 (1) 장치입출력제어시스템호출 장치파일에대해장치와관련된하드웨어옵션과드라이버와관련된소프트웨어옵션을설정하기위해제공되는인터페이스 장치고유의명령어에대한일반적이고총괄적인진입점을제공 ioctl() 시스템호출안에서장치고유의다양한여러종류의기능을제공 ioctl() 시스템호출의제공되는기능은장치마다다르기때문에정확한장치파일을접근하여야한다 Unix System Programming 11

12 단말기장치제어 (2) 장치파일제어 ioctl() #include <unistd.h> #include <termio.h> int ioctl(int fd, int request, struct termio *tbuf) /* int fd : 장치파일디스크립터 */ /* int request : 장치제어명령 */ /* struct termio *tbuf : 장치제어정보를저장하는구조체 */ /* 정상종료되면음이아닌값을반환하고, 에러인경우에는 -1 를반환한다. errno 에에러를나타내는값을설정한다 */ 입출력장치를제어한다 두번째인자 request 에따라세번째인자에참조하는장치의속성정보를가져오거나새로운속성정보를시스템에설정한다 Unix System Programming 12

13 단말기장치제어 (3) 장치제어명령어 (request) 명령어 (cmd) 기능반환값 TCGETA TCSETA 단말기장치속성정보를가져와세번째인자 tbuf 에저장하여반환한다 단말기장치의속성정보를새롭게설정한다 TCSETAW TCSETAF 단말기장치의속성정보를새롭게설정하기전에출력이끝나기까지기다린다 단말기장치의속성정보를새롭게설정하기전에출력이끝나기까지기다린다름입력버퍼를비우고속성을설정한다 TCFLUSH 입출력버퍼를비운다 (tbuf=0: 입력버퍼, tbuf=1: 출력버퍼, tbuf=2: 입출력버퍼 ) TCXONC TCBRK 단말기장치에대한데이터전송흐름제어를수행한다 Break 전송을설정한다 참고 : 상기의제어명령어은단말기장치에대한제어명령어국한되며, 입출력장치별로독자적인제어명령어를갖는다 Unix System Programming 13

14 단말기장치제어 (4) 단말기장치속성구조체 termio 단말기장치속성을읽어오거나새롭게설정할때사용하는구조체 #define NCC 8 struct termio { unsigned short int c_iflag; /* 입력모드플래그 */ unsigned short int c_oflag; /* 출력모드플래그 */ unsigned short int c_cflag; /* 제어모드플래그 */ unsigned short int c_lflag; /* 로컬모드플래그 */ unsigned char c_line; /* 행제어 */ unsigned char c_cc[ncc]; /* 제어문자 */ Unix System Programming 14

15 단말기장치제어 (5) 단말기장치속성구조체 termio (cont d) c_cc[ncc] 단말기장치제어문자을지정 배열인덱스 제어문자이름 제어문자값 (Default) 제어문자값 (Normal) 설명 0 INTR DEL(^?) CTRL-C(^C) SIGINT 시그널을생성하여전송 1 QUIT CTRL-\(^\) CTRL-\(^\) SIGQUIT 시그널을생성하여전송 2 ERASE # DEL(^?) 입력된한문자를삭제. LF, EOL, EOF 문자는삭제할수없다 3 CTRL-U(^U) 입력된줄전체를삭제 4 EOF CTRL-D(^D) CTRL-D(^D) End of File VMIN 비정규입력모드에서최소입력문자수를지정 5 EOL NUL NUL End of Line VTIME 6 Reserved 7 SWITCH SUB SUB 비정규입력모드에서최소입력대기시간을지정 현재수행중인작업을중지하고쉘로돌아간다 (suspend) Unix System Programming 15

16 단말기장치제어 (6) 단말기장치속성구조체 termio (cont d) 그외의단말장치제어문자 제어문자설정값설명 STOP CTRL-S(^S) 화면출력을중단 START CTRL-Q(^Q) 화면출력을재개 New Line(NL) LF(0x0A) 줄넘김 참고 : (Ctrl key + Alphabetic key) 입력코드 ctrl+a (^A) : 0x01, ctrl+b (^B) : 0x01,, ctrl+z(^z):0x1a ctrl+\(^\) : 0x1c Unix System Programming 16

17 단말기장치제어 (7) 단말기장치속성구조체 termio (cont d) 입력모드플래그 c_iflag - 입력문자를처리하는모드를지정 플래그의미 IGNBRK BRKINT PARMRK ISTRIP INLCR IGNCR ICRNL IUCLC IXON 브레이크상태를무시한다브레이크할때에인터럽트시그널을보낸다패리티에러의도장을표시한다 8비트문자를 7비트로스트립한다 LF 문자를 CR 문자로변환한다 CR 문자를무시한다 CR 문자를 LF 문자로변환한다대문자를소문자로변환한다흐름제어를수행한다 Unix System Programming 17

18 단말기장치제어 (8) 단말기장치속성구조체 termio (cont d) 출력모드플래그 c_oflag 출력문자처리및출력동작방식을지정 주요출력모드플래그 : 플래그의미 OPOST OLCUC OCRNL ONLCR ONOCR ONLRET OFILL OFDEL 출력문자를후처리한다소문자를대문자로변환한다 CR 문자를 LF 문자로변환한다 LF 문자를 CR+LF 문자로변환한다 0번째열에서 CR 문자를출력하지않는다 LF 문자가 CR 문자기능을수행하도록지정지연기간동안시간지연대신에 FILL 문자를전송한다 FILL 문자로 DEL 문자를지정한다 Unix System Programming 18

19 단말기장치제어 (9) 단말기장치속성구조체 termio (cont d) 제어모드플래그 c_cflag 전송제어에관련한모드를설정 주요제어모드플래그 : 플래그의미 CBAUD CSIZE CSTOPB PARENB PARODD 데이터전송속도 (bps: bits per second) 를지정한다 B0, B50,, B9600 데이터길이를지정한다 CS5, CS6, CS7, CS8 정지비트를 2 비트로지정. 지정하지않으면 1 비트를가짐 패리티비트를유효하게한다 홀수피리티비트를지정한다. 지정하지않으면짝수패리티비트가된다 Unix System Programming 19

20 단말기장치제어 (10) 단말기장치속성구조체 termio (cont d) 로컬모드플래그 c_lflag Unix 내부처리에대한동작모드를지정 주요로컬모드플래그 : 플래그의미 ISIG ICANON ECHO ECHOE ECHOK ECHONL NOFLSH 시그널처리가가능하게한다정규입력처리를지정한다에코를지정한다 ERASE( 삭제 ) 문자를 BS-SP-BS로하여에코한다 KILL 문자를 LF 문자로하여에코한다 LF 문자를에코한다 INTR 또는 QUIT 다음의 flush 기능을불가능하게지정한다 Unix System Programming 20

21 단말기장치속성정보읽기 단말기장치의속성정보읽기 교재 pp. 247 예제프로그램 : gettermat.c 시스템명령어 stty # stty -a Unix System Programming 21

22 단말기장치속성정보설정 (1) 단말기장치의속성정보설정 일반적인속성설정과정 설정되어있는속성정보를읽어온다얻은속성정보를보존한다원하는속성정보를변경한다바꾼속성정보를설정한다원하는작업을수행한다보존해둔속성정보를복원한다 단말기장치의속성정보변경 원하는플래그값을 set 또는 reset 예 : c_lflag = ECHO // echo 모드설정 c_lflag &= ~ECHO // echo 모드해제 Unix System Programming 22

23 단말기장치속성정보설정 (2) 예제프로그램 #1 단말기의시그널및 echo 설정을사용하여화면잠금기능을수행하는프로그램 #include <stdio.h> #include <signal.h> #include <termio.h> #include <unistd.h> #define 256 int main(void) { struct termio tty; unsigned short savflags; char key[bufsiz], *getkey(); int i; for(i=0; i < NSIG; i++) signal(sighup, SIG_IGN); signal(sighup, SIG_DFL); Unix System Programming 23

24 단말기장치속성정보설정 (3) 예제프로그램 #1 (cont d) ioctl(fileno(stdin), TCGETA, &tty); savflags = tty.c_lflag; tty.c_lflag &= ~(ISIG ECHO); ioctl(fileno(stdin), TCSETAF, &tty); strcpy(key, getkey()); for(;;) if(strcmp(key, getkey()) == 0) { tty.c_lflag = savflags; ioctl(fileno(stdin), TCSETA, &tty); break; exit(0); char *getkey() { static char line[bufsiz]; fputs("enter password: ", stderr); line[0] = '\337'; /* impossible char */ fgets(line, BUFSIZ, stdin); fputs("\n",stderr); return(line); Unix System Programming 24

25 단말기장치의입력모드 비정규입력 (1) 단말기장치드라이버에서제공하는입력모드 정규입력 (Canonical Input) 라인단위입력을지원 NL(new-line) 문자가입력될때까지입력된문자를원시버퍼에저장하였다가일련의전처리과정을거친후, 정규버퍼에넘겨입력을요구한프로그램에전달하는입력방식 C 라이브러리등에서제공하는일반적인입력방식 비정규입력 (Non-Canonical Input) NL과같은특수문자를기다리지않고한문자가입력되는즉시정규버퍼에넘겨입력을요구한프로그램에전달하는입력방식 입력된데이터를전처리하지않음 전화면편집기 (vi 등 ), 메뉴구동프로그램, 타자연습프로그램등과같이입력문자의즉각적인처리를요구하는프로그램에적합 Unix System Programming 25

26 비정규입력모드설정 비정규입력 (2) ioctl() 시스템호출을통해장치드라이버모드를변경 로컬모드플래그설정 ICANON 플래그을 0 으로설정 추가적인 ISIG 플래그를 0 으로설정하여 signal 관련문자검사를생략할수있음 제어문자설정 read() 시스템호출을정밀하게제어 VMIN(c_cc[4]), VTIME(c_cc[5]) 문자설정 VMIN read() 시스템호출반환하기전까지의최소입력문자수 VTIME read() 시스템호출을반환하기위한대기시간 (0.1 초단위설정 ) VMIN 과 VTIME 설정 다음표참조 Unix System Programming 26

27 비정규입력모드설정 VMIN 과 VTIME 설정 비정규입력 (3) 지정값의미 VMIN = 0 VTIME = 0 VMIN > 0 VTIME = 0 VMIN = 0 VTIME > 0 VMIN > 0 VTIME > 0 Read() 호출이즉시반환된다. 만약미리입력버퍼에데이터가있으면이를반환한다 타이머는아무런동작하지않는다. Read() 호출은 VMIN 에서지정된문자수만큼입력될때까지대기하다가반환된다 입력문자수지정은아무런동작하지않는다. Read() 호출은 VTIME 에서지정된시간만큼대기하다가반환된다 Read() 호출은두가지조건중에하나라도만족하면반환된다 Unix System Programming 27

28 비정규입력 (4) 비정규입력모드설정 예 #include <termio.h> struct termio tdes; int ttyfd; ioctl(ttyfd, TCGETA, &tdes); /* 현재의플래그상태값을얻는다 */ tdes.c_lflag &= ~ICANON; /* 정규모드를 off 한다 */ tdes.c_cc[4] = 64; /* 최소입력문자수 (64) 를지정 */ Tdes.c_cc[5] = 2; /* 입력대기시간 200ms 지정 */ Unix System Programming 28

29 타이핑연습프로그램 비정규입력 (5) 단말기의비정규입력모드를이용하여타이핑연습을수행하는프로그램 #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <termio.h> int main(int argc, char *argv[]) { char ch, *text = "The quick brown fox jumped over the lazy dog\'s back"; int fd, i, errors=0, len; struct termio tty, savtty; if(isatty(fileno(stdout)) == 0) { fprintf(stderr,"stdout not terminal\n"); exit(1); Unix System Programming 29

30 비정규입력 (6) 타이핑연습프로그램 (cont d) fd = open("/dev/tty", O_RDONLY); /* /dev/tty : MACHINE DEPENDENT!! */ ioctl(fd, TCGETA, &tty); savtty = tty; tty.c_lflag &= ~(ISIG ICANON ECHO); tty.c_cc[vmin] = 1; /* MIN */ ioctl(fd, TCSETAW, &tty); setbuf(stdout, (char *) NULL); printf("type beneath th efollowing line\n\n%s\n", text); len = strlen(text); for(i=0; i<len; i++) { read(fd, &ch,1); if(ch == text[i]) putchar(ch); else { putchar('\07'); putchar('*'); errors++; ioctl(fd, TCSETAF, &savtty); printf("\n\nnumber of errors: %d\n",errors); exit(0); Unix System Programming 30

31 예제프로그램 #2 비정규입력 (7) 단말기의속성에서의 ICANON 및 ECHO 모드제거 교재 pp.254, ctohex_icanon.c Unix System Programming 31

32 원시 (RAW) 모드설정 단말기장치의원시 (Raw) 모드설정 원시모드 입력문자를버퍼링하지않는모드 주로파일송수신을위해동작모드 원시모드설정 c_iflag &= ~(IGNBRK BRKINT PARMAK ISTRIP INLCR IGNCR ICRNL IXON); c_oflag &= ~OPOST; c_cflag &= ~(CSIZE PARENB); c_cflag = CS8; c_lflag &= ~(ECHO ECHONL ICANON ISIG); Unix System Programming 32

33 예제 : 라인편집프로그램 (1) 라인편집 (Line Editor) 프로그램 1. 각각의문자들은입력된순간에화면에표시한다. 2. ERASE 문자가입력되면마지막입력된문자를화면의현재위치와버퍼에서삭제한다. 3. KILL 문자가입력되면현재라인의모든문자들을삭제한다. 4. Ctrl-W 문자가입력되면현재라인의마지막단어 (word) 를삭제한다. 5. Ctrl-D 문자가입력되면편집기프로그램종료한다. 6. 위에서언급된문자이외의출력불가능한문자가입력되면 Ctrl-G에대응되는경고음을울린다. 7. 한라인의길이는 80 문자로하고 80 문자가넘게입력되면단어는다음줄의첫번째컬럼에표시한다. Unix System Programming 33

34 예제 : 라인편집프로그램 (2) #include <ctype.h> #include <termio.h> #include <unistd.h> #define EOT '\04' /* cntl -D */ #define BEL '\07' /* cntl -G */ #define ETB '\027' /* cntl -W */ #define MAXLINE 512 #define LINESIZE 80 #define BACKSPACE write(1,"\b \b",3) int main(int argc, char *argv[]) { char line[maxline], ch; int pos, newpos, savpos, i; struct termio tty, savetty; if(!isatty(0)) { perror(argv[0]); exit(1); Unix System Programming 34

35 예제 : 라인편집프로그램 (3) if(ioctl(0,tcgeta,&tty) == -1) { perror(argv[0]); exit(2); /* turnoff canonical input and echoing */ savetty = tty; tty.c_cc[vmin] = 1; tty.c_cc[vtime] = 1; tty.c_lflag &= ~(ISIG ICANON ECHO); if(ioctl(0,tcsetaf,&tty) == -1) { perror(argv[0]); exit(3); pos =0; while(read(0, &ch, 1) > 0) { /* if EOF in first position stop */ if(ch == EOT) { if(pos == 0) break; Unix System Programming 35

36 예제 : 라인편집프로그램 (4) /* if ERASE character then erase previous character */ else if(ch == tty.c_cc[verase]) { if(pos > 0) { BACKSPACE; --pos; /* if cntl -W erase until beginning of last word */ else if(ch == ETB) { while(pos > 0 && isspace(line[pos-1])) { BACKSPACE; --pos; /* trailing blanks*/ while(pos > 0 &&!isspace(line[pos-1])) { BACKSPACE; --pos; /* last word */ /* if new - line start a new line */ else if(ch == '\n') { write(1,&ch, 1); pos = 0; Unix System Programming 36

37 예제 : 라인편집프로그램 (5) /* if not printable ring bell instead */ else if(!isprint(ch)) { write(1,bel,1); /* write charcter to screen and store it */ else { write(1, &ch, 1); line[pos++] = ch; /* wrap - around -- OPTIONAL */ if(pos >= LINESIZE &&!isspace(ch)) { savpos = pos; /* find begining of last word */ while(pos > 0 &&!isspace(line[pos -1])) --pos; Unix System Programming 37

38 예제 : 라인편집프로그램 (6) if(pos > 0) { newpos = 0; /* copy last word to begining of line */ for(i=pos; i< savpos; i++) { BACKSPACE; line[newpos++] = line[i]; pos = newpos; /* display word at begining of line */ write(1,"\n",1); for(i=0; i<pos; i++) write(1,&line[i], 1); else write(1,"\n",1); /* if */ /* while */ /* reset terminal setting */ ioctl(0, TCSETA, &savetty); Unix System Programming 38

<BDBAB8B6C6AE2D C5EBBDC52E >

<BDBAB8B6C6AE2D C5EBBDC52E > 시리얼제어 Linux Serial Port 2013년도과정 2013.09.11. 차례 통신방식 Linux Serial 통신 Serial Port 설정용구조체 Serial 통신프로그래밍기법 샘플프로그램작성 2 통신방식 Parallel 한번에 8bit 씩데이터를송수신 전송속도가빠르나케이블이굵음 주로프린터와의접속에이용 구현하기힘들고고가 거리에제한적임 Serial

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 12 장파이프 2 12.1 파이프 파이프원리 $ who sort 파이프 3 물을보내는수도파이프와비슷 한프로세스는쓰기용파일디스크립터를이용하여파이프에데이터를보내고 ( 쓰고 ) 다른프로세스는읽기용파일디스크립터를이용하여그파이프에서데이터를받는다 ( 읽는다 ). 한방향 (one way) 통신 파이프생성 파이프는두개의파일디스크립터를갖는다. 하나는쓰기용이고다른하나는읽기용이다.

More information

제12장 파일 입출력

제12장 파일 입출력 제 4 장파일입출력 리눅스시스템프로그래밍 청주대학교전자공학과 한철수 1 시스템호출 (system call) 파일 (file) 임의접근 (random access) 주요학습내용 2 4.1 절 커널의역할 (kernel) 커널 (kernel) 은운영체제의핵심부분으로서, 하드웨어를운영관리하는여러가지서비스를제공함 파일관리 (File management) 디스크 프로세스관리

More information

Microsoft Word doc

Microsoft Word doc 1. Serial 프로그램예제 1.1. 개요 타겟보드자체에메인콘솔용으로사용되는통신포트이외에두개의다른포트를지원하고있다. 일반적으로메인콘솔용으로사용되는포트는통신용으로부적합하다. 왜냐하면커널에서발생되는메세지가메인콘솔로출력되기때문에통신에방해를받을수있기때문이다. 이런이유로타겟보드에는통신시험이나응용통신에이용할수있도록 MCU 의통신포트에 MAX2421 레벨변환기를추가하였다.

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

chap7.key

chap7.key 1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 4 장파일 컴퓨터과학과박환수 1 2 4.1 시스템호출 컴퓨터시스템구조 유닉스커널 (kernel) 하드웨어를운영관리하여다음과같은서비스를제공 파일관리 (File management) 프로세스관리 (Process management) 메모리관리 (Memory management) 통신관리 (Communication management) 주변장치관리 (Device

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

/chroot/lib/ /chroot/etc/

/chroot/lib/ /chroot/etc/ 구축 환경 VirtualBox - Fedora 15 (kernel : 2.6.40.4-5.fc15.i686.PAE) 작동 원리 chroot유저 ssh 접속 -> 접속유저의 홈디렉토리 밑.ssh의 rc 파일 실행 -> daemonstart실행 -> daemon 작동 -> 접속 유저만의 Jail 디렉토리 생성 -> 접속 유저의.bashrc 의 chroot 명령어

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

1장. 유닉스 시스템 프로그래밍 개요

1장.  유닉스 시스템 프로그래밍 개요 Unix 프로그래밍및실습 7 장. 시그널 - 과제보충 응용과제 1 부모프로세스는반복해서메뉴를출력하고사용자로부터주문을받아자식프로세스에게주문내용을알린다. (SIGUSR1) ( 일단주문을받으면음식이완료되기전까지 SIGUSR1 을제외한다른시그널은모두무시 ) timer 자식프로세스는주문을받으면조리를시작한다. ( 일단조리를시작하면음식이완성되기전까지 SIGALARM 을제외한다른시그널은모두무시

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow

More information

Microsoft PowerPoint - C프로그래밍-chap15.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap15.ppt [호환 모드] Chapter 15 문자열 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 문자의집합체 문자열의정의 일련의문자 C 언어에서문자열앞뒤에인용부호 를이용 문자와문자열과의차이 문자열의저장 (1) 배열을이용하는방법 문자열상수 c c language 를저장하는문자열배열 항상문자열마지막에는 NULL문자를넣어야함 (2)

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

2주차: 입출력 제어 복습

2주차: 입출력 제어 복습 마이크로프로세서 응용및실습 ` 13-14 주차 : 직렬통신 (2) 한철수 전자공학과 2/35 직렬통신과병렬통신 직렬통신 한가닥의선으로송수신할데이터를차례대로전송하는방식 장점 : 통신선로가적기때문에경제적임 단점 : 전송속도가느림. 송수신약속이복잡해짐 병렬통신 여러가닥의선으로동시에여러개의데이터를전송하는방식 장점 : 전송속도가빠름 단점 : 직렬통신보다비쌈 3/35

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Sensor Device Jo, Heeseung Sensor 실습 HBE-SM5-S4210 에는근접 / 가속도 / 컴파스센서가장착 각센서들을사용하기위한디바이스드라이버와어플리케이션을작성 2 근접 (Proximity) 센서 HBE-SM5-S4210 Camera Module 근접센서디바이스 근접센서는사물이다른사물에접촉되기이전에가까이접근하였는지를검출할목적으로사용 일반적으로생활에서자동문이나엘리베이터,

More information

좀비프로세스 2

좀비프로세스 2 Signal & Inter-Process Communication Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 좀비프로세스 2 좀비프로세스 (zombie process) 좀비프로세스란프로세스종료후메모리상에서사라지지않는프로세스 좀비프로세스의생성이유. 자식프로세스는부모프로세스에게실행결과에대한값을반환해야한다.

More information

ABC 11장

ABC 11장 12 장고급응용 0 수행중인프로그램 프로세스 모든프로세스는유일한프로세스식별번호 (PID) 를가짐 유닉스에서는 ps 명령을사용하여프로세스목록을볼수있음 12-1 프로세스 $ ps -aux USER PID %CPU %MEM SZ RSS TT STAT START TIME COMMAND blufox 17725 34.0 1.6 146 105 i2 R 15:13 0:00

More information

10.

10. 10. 10.1 10.2 Library Routine: void perror (char* str) perror( ) str Error 0 10.3 10.3 int fd; /* */ fd = open (filename, ) /*, */ if (fd = = -1) { /* */ } fcnt1 (fd, ); /* */ read (fd, ); /* */ write

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

1장. 유닉스 시스템 프로그래밍 개요

1장.  유닉스 시스템 프로그래밍 개요 9 장. 파이프 Unix 프로그래밍및실습 1 강의내용 1 절개요 2 절이름없는파이프 3 절이름있는파이프 http://lily.mmu.ac.kr/lecture/13u2/ch09.pdf 책에나온내용반드시 man 으로확인할것! UNIX, LINUX 등시스템마다차이가있을수있음을반드시인식 2 기본실습 #1 [ 예제 9-1] ~ [ 예제 9-7] ( 각 10점 ) 과제개요

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

Microsoft PowerPoint - lab14.pptx

Microsoft PowerPoint - lab14.pptx Mobile & Embedded System Lab. Dept. of Computer Engineering Kyung Hee Univ. Keypad Device Control in Embedded Linux HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착되어있다. 2 Keypad Device Driver

More information

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 1 목포해양대해양컴퓨터공학과 UDP 소켓 네트워크프로그램설계 4 장 2 목포해양대해양컴퓨터공학과 목차 제 4장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송신및수신 4.4 UDP 소켓의연결 3 목포해양대해양컴퓨터공학과 UDP 소켓의특징 UDP 소켓의특성 신뢰할수없는데이터전송방식 목적지에정확하게전송된다는보장이없음.

More information

슬라이드 1

슬라이드 1 파일 (File) Chapter #4 파일관리구조 파일의종류 (1) 트리구조에기반한계층구조 시스템의모든파일이하나의트리구조로구성되어, 계층적으로접근, 관리된다 트리구조의중간노드 : 디렉토리 트리구조의단말노드 : 파일 2 Unix System Programming 파일의종류 (2) 3 Unix System Programming 파일종류 파일의종류 (3) 디렉토리

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 12 표준입출력과파일입출력... 1. 표준입출력함수 2. 파일입출력함수 1. 표준입출력함수 표준입출력함수 표준입력 (stdin, Standard Input) : 키보드입력 표준출력 (stdout, StandardOutput) : 모니터출력 1. 표준입출력함수 서식화된입출력함수 printf(), scanf() 서식의위치에올수있는것들 [ 기본 11-1]

More information

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode] TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()

More information

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예 Mitsubishi FX Series Computer Link 2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK... 1 1. 시스템구성... 3 2. 시스템설정... 4 3. 사용예... 6 3.1. 사용예 1... 6 3.2. 사용예 2... 9 4. 케이블연결도... 13 4.1.

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버

More information

Microsoft PowerPoint - ch09_파이프 [호환 모드]

Microsoft PowerPoint - ch09_파이프 [호환 모드] 학습목표 파이프를이용한 IPC 기법을이해한다. 이름없는파이프를이용해통신프로그램을작성할수있다. 이름있는파이프를이용해통신프로그램을작성할수있다. 파이프 IT CookBook, 유닉스시스템프로그래밍 2/20 목차 파이프의개념 이름없는파이프만들기 복잡한파이프생성 양방향파이프활용 이름있는파이프만들기 파이프의개념 파이프 두프로세스간에통신할수있도록해주는특수파일 그냥파이프라고하면일반적으로이름없는파이프를의미

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 파이프 IT CookBook, 유닉스시스템프로그래밍 학습목표 파이프를이용한 IPC 기법을이해한다. 이름없는파이프를이용해통신프로그램을작성할수있다. 이름있는파이프를이용해통신프로그램을작성할수있다. 2/20 목차 파이프의개념 이름없는파이프만들기 복잡한파이프생성 양방향파이프활용 이름있는파이프만들기 3/20 파이프의개념 파이프 두프로세스간에통신할수있도록해주는특수파일 그냥파이프라고하면일반적으로이름없는파이프를의미

More information

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint APUE(Intro).ppt 컴퓨터특강 () [Ch. 1 & Ch. 2] 2006 년봄학기 문양세강원대학교컴퓨터과학과 APUE 강의목적 UNIX 시스템프로그래밍 file, process, signal, network programming UNIX 시스템의체계적이해 시스템프로그래밍능력향상 Page 2 1 APUE 강의동기 UNIX 는인기있는운영체제 서버시스템 ( 웹서버, 데이터베이스서버

More information

리눅스 프로세스 관리

리눅스 프로세스 관리 프로세스 (Process) Process 프로그램이나명령어를실행하면메모리에적재되어실제로실행되고있는상태를의미 이러한프로세스들은프로세스가시작하면서할당받는프로세스식별번호인 PID(Process ID), 해당프로세스를실행한부모프로세스를나타내는 PPID(Parent Process ID), UID 와 GID 정보를통해해당프로세스가어느사용자에속해있는지, 프로세스가파일에대해갖는권한및프로세스가실행된터미널,

More information

Microsoft PowerPoint - chap4 [호환 모드]

Microsoft PowerPoint - chap4 [호환 모드] 제 5 장 C 표준라이브러리 숙대창병모 1 목표 C 표준라이브러리의깊이있는이해 시스템호출과 C 표준라이브러리관계 숙대창병모 2 C 입출력라이브러리함수 숙대창병모 3 시스템호출과라이브러리함수 System Calls well defined entry points directly into the kernel documented in section 2 of the

More information

歯9장.PDF

歯9장.PDF 9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'

More information

Microsoft PowerPoint - 09-Pipe

Microsoft PowerPoint - 09-Pipe 9. 파이프 상명대학교소프트웨어학부 파이프 시그널은이상한사건이나오류를처리하는데는이용하지만, 한프로세스로부터다른프로세스로대량의정보를전송하는데는부적합하다. 파이프 한프로세스를다른관련된프로세스에연결시켜주는단방향의통신채널 2 pipe() Usage #include int pipe(int filedes[2]); 3 < ex_1.c > #include

More information

13 주차문자열의표현과입출력

13 주차문자열의표현과입출력 13 주차문자열의표현과입출력 문자표현방법 문자열표현방법 문자열이란무엇인가? 문자열의입출력 문자처리라이브러리함수 표준입출력라이브러리함수 C 언어를이용하여문자열을처리하기위해서는문자형의배열이나포인터를사용하게된다. 문자열을처리하는동작으로는단순하게문자열의입력이나출력기능이외에도문자열의복사나치환, 문자열의길이를구하거나문자열을비교하는기능등많은기능을필요로한다. 그러나이러한기능들을모두구현하기란매우까다로우며,

More information

KEY 디바이스 드라이버

KEY 디바이스 드라이버 KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 #define _CRT_SECURE_NO_WARNINGS #include #include main() { char ch; printf(" 문자 1개를입력하시오 : "); scanf("%c", &ch); if (isalpha(ch))

More information

5.스택(강의자료).key

5.스택(강의자료).key CHP 5: https://www.youtube.com/watch?v=ns-r91557ds ? (stack): (LIFO:Last-In First-Out):. D C B C B C B C B (element) C (top) B (bottom) (DT) : n element : create() ::=. is_empty(s) ::=. is_full(s) ::=.

More information

Chap04(Signals and Sessions).PDF

Chap04(Signals and Sessions).PDF Signals and Session Management 2002 2 Hyun-Ju Park (Signal)? Introduction (1) mechanism events : asynchronous events - interrupt signal from users : synchronous events - exceptions (accessing an illegal

More information

고급 프로그래밍 설계

고급 프로그래밍 설계 UNIT 13 라즈베리파이블루투스 광운대학교로봇 SW 교육원 최상훈 Bluetooth Module 2 Bluetooth Slave UART Board UART 인터페이스용블루투스모듈 slave/device mode 라즈베리파이 GPIO 3 < 라즈베리파이 B+ 의 P1 헤더핀 GPIO 배치도 > wiringpi 라이브러리 4 라즈베리파이 GPIO 라이브러리

More information

untitled

untitled if( ) ; if( sales > 2000 ) bonus = 200; if( score >= 60 ) printf(".\n"); if( height >= 130 && age >= 10 ) printf(".\n"); if ( temperature < 0 ) printf(".\n"); // printf(" %.\n \n", temperature); // if(

More information

Microsoft Word - LKP-RTD 사용자 설명서

Microsoft Word - LKP-RTD 사용자 설명서 LKP-RTD 보드 사용자설명서 Version Information H/W Version : Version 1.0 소속 : ( 주 ) 엘케이일레븐연구소주소 : 성남시중원구상대원동 190-1 SKn테크노파크메가센터 1306호전화 : 031-776-4120 / FAX : 031-766-4119 목차 1. 개요... 5 2. 사양... 6 3. 블록도... 7 4.

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

The OSI Model

The OSI Model Advanced Socket Programming Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 다중처리기술 2 다중처리기술 Multitasking Multi-process Multi-thread Multiplexing Polling Selecting Interrupt

More information

윤성우의 열혈 TCP/IP 소켓 프로그래밊

윤성우의 열혈 TCP/IP 소켓 프로그래밊 윤성우저열혈강의 C 프로그래밍개정판 Chapter 21. 문자와문자열관련함수 Chapter 21-1. 스트림과데이터의이동 윤성우저열혈강의 C 프로그래밍개정판 무엇이입력이고무엇이출력인가 입력장치 출력장치 키보드 마우스 화상카메라 파일 모니터 프린터 입출력장치는매우포괄적이다. 데이터를컴퓨터내부로받아들이는것이입력이고외부로젂송하는것이출력이다. 데이터의이동수단이되는스트림

More information

Microsoft PowerPoint - chap11.ppt [호환 모드]

Microsoft PowerPoint - chap11.ppt [호환 모드] 2010-1 학기프로그래밍입문 (1) 11 장입출력과운영체제 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr k 0 특징 printf() - 임의의개수의인자출력 - 간단한변환명세나형식을사용한출력제어 A Book on C, 4ed. 11-1 printf() printf(control_string, other_argument) -

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

슬라이드 1

슬라이드 1 7.4 프로세스간통신 Interprocess Communication 기본적인프로세스간통신기법 데이터스트림과파이프 data stream and pipe 정보의송수신에사용되는일련의연속된데이터 a sequence of data used to send or receive information 예 : 프로세스와파일 ( 파일디스크립터을통하여 ) 을연결해주는데이터스트림

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 6 th Lecture 유명환 ( yoo@netplug.co.kr) 1 2 통신 관련이야기 시리얼통신 관련이야기 INDEX 3 ATmega128 시리얼통신회로도분석 4 ATmega128 시리얼통신컨트롤러 (USART) 분석 5 ATmega128 시리얼통신관련레지스터분석 6 ATmega128 시리얼통신실습 1 통신 관련이야기 동기

More information

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt 13 장소켓을이용한통신 (2) 소켓을이용한통신 (2) 함수 - recvfrom - sendto - uname - gethostname - gethostbyname - gethostbyaddr 1 1. 서론 소켓을사용하여비연결형모델로통신을하기위한함수와그외의함수 함수 의미 recvfrom 비연결형모델에서소켓을통해메시지를수신한다. sendto 비연결형모델에서소켓을통해메시지를송신한다.

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 24. 파일입출력 2013.11.27. 오병우 컴퓨터공학과 파일 (File) 입출력 표준입출력 vs. 파일입출력 HDD 프로그래머입장에서는동일한방법으로입출력 다만 file 을읽고쓰기전에 Open 해서스트림에대한파일포인터 (file pointer) 를얻어야한다. OS 가실제작업을대행하며, 프로그래머는적절한함수를적절한방법으로호출 Department

More information

교육지원 IT시스템 선진화

교육지원 IT시스템 선진화 Module 16: ioctl 을활용한 LED 제어디바이스드라이버 ESP30076 임베디드시스템프로그래밍 (Embedded System Programming) 조윤석 전산전자공학부 주차별목표 ioctl() 을활용법배우기 커널타이머와 ioctl 을활용하여 LED 제어용디바이스드라이브작성하기 2 IOCTL 을이용한드라이버제어 ioctl() 함수활용 어떤경우에는읽는용도로만쓰고,

More information

Microsoft Word doc

Microsoft Word doc 2. 디바이스드라이버 [ DIO ] 2.1. 개요 타겟보드의데이터버스를이용하여 LED 및스위치동작을제어하는방법을설명하겠다. 2.2. 회로도 2.3. 준비조건 ARM 용크로스컴파일러가설치되어있어야한다. 하드웨어적인점검을하여정상적인동작을한다고가정한다. NFS(Network File System) 를사용할경우에는 NFS가마운트되어있어야한다. 여기서는소스전문을포함하지않았다.

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

TEL: 042-863-8301~3 FAX: 042-863-8304 5 6 6 6 6 7 7 8 8 9 9 10 10 10 10 10 11 12 12 12 13 14 15 14 16 17 17 18 1 8 9 15 1 8 9 15 9. REMOTE 9.1 Remote Mode 1) CH Remote Flow Set 0 2) GMate2000A

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 시그널 2 11.1 시그널 시그널 시그널은예기치않은사건이발생할때이를알리는소프트웨어인터럽트이다. 시그널발생예 SIGFPE 부동소수점오류 SIGPWR 정전 SIGALRM 알람시계울림 SIGCHLD 자식프로세스종료 SIGINT 키보드로부터종료요청 (Ctrl-C) SIGSTP 키보드로부터정지요청 (Ctrl-Z) 3 주요시그널 시그널이름 의미 기본처리 SIGABRT

More information

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054>

<4D F736F F F696E74202D2034C5D8BDBAC6AEC6C4C0CFC0D4C3E2B7C2312E505054> 의료프로그래밍실습 의료공학과이기영 1 Chap. 11 파일입출력 2 1 이장의목표 텍스트파일의입출력방법을익힌다. (284 쪽그림참조 ) 3 C 언어의파일종류 텍스트파일 (text file) 사람들이읽을수있는문자들을저장하고있는파일 텍스트파일에서 한줄의끝 을나타내는표현은파일이읽어들여질때, C 내부의방식으로변환된다. 이진파일 (binary file) : 자료형그대로의바이트수로연속해서저장

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

슬라이드 1

슬라이드 1 / 임베디드시스템개요 / 임베디드운영체제 / 디바이스드라이버 01 Linux System Architecture Application Area Application System Call Interface BSD Socket Virtual File System INET(AF_INET) Kernel Area Buffer Cache Network Subsystem

More information

제9장 프로세스 제어

제9장 프로세스 제어 제 9 장프로세스제어 리눅스시스템프로그래밍 청주대학교전자공학과 한철수 제 9 장 목차 프로세스생성 프로그램실행 입출력재지정 프로세스그룹 시스템부팅 2 9.1 절 프로세스생성 fork() 시스템호출 새로운프로그램을실행하기위해서는먼저새로운프로세스를생성해야하는데, fork() 시스템호출이새로운프로세스를생성하는유일한방법임. 함수프로토타입 pid_t fork(void);

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

슬라이드 1

슬라이드 1 Task 통신및동기화 : 파이프 (Pipe) Chapter #11 파이프 (Unamed Pipe) 표준입출력과파이프 FIFO(Named Pipe) 강의목차 Unix System Programming 2 파이프 (Unnamed Pipe) 파이프 (Pipe) (1) 하나의프로세스를다른프로세스에연결시켜주는단방향의통신채널 입출력채널과동기화기능을제공하는특수한형태의파일

More information

휠세미나3 ver0.4

휠세미나3 ver0.4 andromeda@sparcs:/$ ls -al dev/sda* brw-rw---- 1 root disk 8, 0 2014-06-09 18:43 dev/sda brw-rw---- 1 root disk 8, 1 2014-06-09 18:43 dev/sda1 brw-rw---- 1 root disk 8, 2 2014-06-09 18:43 dev/sda2 andromeda@sparcs:/$

More information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 16 강. 파일입출력목차 파일입출력기초 파일입출력모드 텍스트파일과이진파일 이진파일입출력 임의접근 1 /18 16 강. 파일입출력파일입출력기초 파일입출력과정 파일스트림객체생성 파일열기 사용 : 기본적으로표준입출력객체 (cin, cout) 사용방법과동일 파일닫기 파일스트림클래스의종류

More information

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

Microsoft PowerPoint - 제11강 파일 처리

Microsoft PowerPoint - 제11강 파일 처리 제13장 파일 처리 파일열기 : File Open FILE *fp; fp=fopen( filename, r ); File handling mode: r, w, a, rb, wb, ab, r+, w+, a+ fclose(fp) 파일의종류 : Text File, Binary File Text file:.txt,.doc,.hwp Binary file:.exe,.jpg,.gif,.mov,.mpeg,.tif,.pgm,.ppm.

More information

11장 포인터

11장 포인터 쉽게풀어쓴 C 언어 Express 제 12 장문자와문자열 이번장에서학습할내용 문자표현방법 문자열표현방법 문자열이란무엇인가? 문자열의입출력 문자처리라이브러리함수 표준입출력라이브러리함수 인간은문자를사용하여정보를표현하므로문자열은프로그램에서중요한위치를차지하고있다. 이번장에서는 C 에서의문자열처리방법에대하여자세히살펴볼것이다. 문자의중요성 인간한테텍스트는대단히중요하다.

More information