Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과

Size: px
Start display at page:

Download "Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과"

Transcription

1 Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과

2 목차 Why Parallel? Parallel Computers Parallel Processing Parallel Programming MPI의기본개념 MPI 표준 MPI 프로그램및실행 Related Topics & Questions

3 Why Parallel? (1) Why parallel computing? 전통적인 compute-intensive applications 기상예보, 전산유체역학, 화학, 천문학, 다양한공학문제 새로운 data-intensive applications video servers, data mining 미래의 high performance applications VR, 협업환경, CAD Save time and/or money. Solve large problems. Provide concurrency. Use of non-local resources Limits to serial computing

4 Why Parallel? (2) Atmosphere, Earth, Environment Physics - applied, nuclear, particle, condensed matter, high pressure, fusion, photonics Bioscience, Biotechnology, Genetics Chemistry, Molecular Sciences Geology, Seismology Mechanical Engineering - from prosthetics to spacecraft Electrical Engineering, Circuit Design, Microelectronics Computer Science, Mathematics

5 Why Parallel? (3) Databases, data mining Oil exploration Web search engines, web based business services Medical imaging and diagnosis Pharmaceutical design Management of national and multi-national corporations Financial and economic modeling Advanced graphics and virtual reality, particularly in the entertainment industry Networked video and multi-media technologies Collaborative work environments

6 Why Parallel? (4) Computer 의물리적한계 ( 계속 ) 현재 CPU 의 clock speed 는대략 3GHz - 발열문제 - 반도체소자의문제 1 Tera Hz(1 x 10^12 Hz) 의 computer 는가능한가? 광속 c = 3 x 10^8 m/sec = 3 x 10^11 mm/sec CPU 와 memory 사이의거리를 r 이라고하면 r < c / 10^12 = 0.3 mm!! 1 Tera byte(=10^6 x 10^6 bytes) 의 memory 가지려면 1 byte 는 3A x 3A 이내에저장되어야!! Computer 의성능높아질수록가격은기하급수적으로상승하나의고가시스템보다여러개의저가시스템을사용하여병렬처리하는것이대안

7 Why Parallel? (5) Computer 의물리적한계 2004 년까지 SW 개선없이도 HW 발전에따라수혜 CPU clock 의증가 : 2000 년대초반까지기하급수적으로증가 CPU 실행시간최적화 : CPU 명령어의순차실행최적화 (pipeline, 분기예측, out-of-order execution 등 ) Cache 크기증가 The free lunch is over: A fundamental turn toward concurrency in SW (Hurb Sutter, 2005) 전력소모및발열문제 : clock 속도의제곱 ( 세제곱?) Clock 속도증가 짧은도선 CPU 의신뢰도하락 2004 년부터 CPU 제조사들은 clock 속도경쟁포기 CPU : single core multi-core GPU : many-core

8 Parallel Computers (1) Parallel computer 정의 * 다수의 CPU 가다수의프로그램혹은분할된프로그램을동시에처리하는컴퓨터 * 다수의 CPU 를결합하여단일 CPU 성능의한계를극복하기위한컴퓨터구조 다양한분류방법이있으나, 메모리공유에따른분류는 * SMP(Symmetric Multi Processing) * MPP(Massively Parallel Processing) * NUMA(Non-Uniform Memory Access) ** Cluster computer (workstation, PC, ) MPI 는이모든구조에서작동

9 Parallel Computers (2) Cluster computer 정의개인 PC 나소형 server 등을 network 장비를사용하여다수연결하여구성한일종의병렬처리용 supercomputer 특징 * 저렴한가격 : 상용 supercomputer 의 1/10 * 확장성 * 유연성 2002 년 6 월 Top500 에따른 HPC 시장의 architecture 구성비

10 Parallel Computers (3) 2011 년 11 월 Top500 에따른 HPC 시장의구성비

11 Parallel Computers (3) 2011 년 11 월 Top500 에따른 HPC 시장의구성비

12 Parallel Computers (4) 2011 년 11 월 Top500 에따른 HPC 시장의구성비

13 Parallel Computers (5) PC Cluster 소형 PC 나 PC 서버를수십대에서수천대까지병렬네트워크로연결해슈퍼컴퓨터에상응하는고성능컴퓨팅 (HPC) 을구현하는기술 최초 NASA CESDIS Beowulf : 16-node Intel DX4 processors

14 Parallel Processing (1) 병렬처리 (parallel processing) 란? 복수의처리장치를사용하여, 모든처리장치가하나의프로그램상의서로다른태스크를동시에처리함으로써처리의부하를분담하여처리속도를향상시키는방법 여러개의프로그램을동시에병렬처리하는다중처리 ( multiprocessing) 와는다름

15 Parallel Processing (2) 병렬처리의장단점 장점 : 고속연산가능 단점 - 추가적인 overhead 소요 - 프로그래밍이어려움 - 모든문제에효율적으로적용되는것이아님 병렬처리의예 일상생활 / 회사에서의예 벽에페인트칠하기 병렬처리쉬움 고도의수학문제풀기 병렬처리어려움 / 불가능 / 무의미

16 Parallel Programming (1) 병렬처리문제 : 1 부터 n 까지의합을구하라. p : 전체 worker 의수각 worker 는 p 와자신이몇번째 worker 인지 ( 자신의 rank ) 알아야. Algorithm 1. master worker 가 n 을입력받는다. 2. master worker 가고르게작업을나누고각자담당할작업범위를 slave worker 들에게알린다. 3. 각자주어진범위의부분합을독립적으로계산한다. 4. slave worker 는각기 master worker 에게자신이계산한부분합을보고한다. 5. master worker 는자신을포함한모든 worker 의부분합을취합하여답을낸다. 2 대신 master worker 는 n 값을 slave worker 들에게 broadcast 하고모든 worker 는각자자신의 rank 에따라자신의작업범위를파악한다.

17 Parallel Programming (2) 병렬프로그래밍에서고려되어야할사항 고른작업분배가중요 : 모두가동시에작업이끝나야 I/O 문제 : 입출력은하나의 worker 가담당해야 모든 worker 의작업및진도를어떻게 control? 동기화 (synchronization) 의문제 어떻게 worker 간에정보 ( 즉 data) 를주고받을것인가? shared memory vs. distributed memory program 을어떻게작성할것인가? - SPMD(single program multiple data) 모든 worker 가같은프로그램사용 - MPMD(multiple program multiple data) worker 가각기다른프로그램사용 ( 보통은역할에따라소수개의프로그램작성 ) 어떻게각 worker 에게 program 을제공할것인가?

18 Parallel Programming (3) Shared memory vs. distributed memory Shared memory system - 모든 CPU 는메모리를공유 한 CPU 가다른 CPU 에 data 를전달하려면단순히공유메모리에 write 다른 CPU 가 read programming 이쉽다. - memory contention CPU 개수에한계 Distributed memory system - 모든 CPU 는각자독립된메모리사용 한 CPU 가다른 CPU 에 data 를전달하려면명시적인통신필요 programming 어렵다. - memory contention 없으므로시스템확장용이

19 Parallel Programming (4) SPMD vs. MPMD [1/2] SPMD(single program multiple data) worker 모두가같은프로그램사용, 단, 각 worker 의 rank 에따라역할을분류 Algorithm master worker의 rank=0을가정 1. If my rank==0, n을입력받고, slave worker들의작업범위를결정하고, 각자에게통보한다. else master worker로부터작업범위를통보받는다.( 그때까지대기 ) 2. 각자독립적으로자신이맡은범위의수를더해부분합을구한다. 3. If my rank==0, 모든 slave worker로부터부분합을전달받아총합을계산한다. else 각자 master worker에게자신의부분합을보고한다. 4. If my rank==0, 총합을출력한다.

20 Parallel Programming (5) SPMD vs. MPMD [2/2] MPMD(multiple program multiple data) 역할에따라 2 개이상의프로그램사용, Algorithm (master worker) 1. n을입력받고, 각 slave worker의작업범위를결정하고, 각자에게통보한다. 2. 자신이맡은범위의수를더해부분합을구한다. 3. 모든다른 worker로부터부분합을전달받아총합을계산한다. 4. 총합을출력한다. Algorithm (slave worker) 1. master worker로부터자신의작업범위를통보받는다. 2. 각자독립적으로자신이맡은범위의수를더해부분합을구한다. 3. 각자 master worker에게자신의부분합을보고한다.

21 MPI 의기본개념 (1) Message Passing 지역적으로독립된메모리를가지는 process 들이 data 를공유하기위해 message(data) 를송수신하여통신하는방식 병렬화를위한작업할당, data 분배, 통신의운용등모든것을프로그래머가담당 : 어렵지만효율높다. 다양한 hardware platform 에서구현가능 분산메모리다중 processor system 공유메모리다중 processor system 단일 processor system MPI 란무엇인가? Message Passing Interface de facto standard Message passing 병렬프로그래밍을위해표준화된데이터통신라이브러리 (Message Passing Library) 의표준을정의한것 목적 : 이식성 (portability), 효율성 (efficiency), 기능성 (functionality) * hardware vendor 가자신의 hardware 에최적화된 library 제공가능

22 MPI 의기본개념 (2) MPI 의역사 1980 년대 1990 년대초까지, 다양한분산메모리병렬컴퓨팅 SW 등장. MPI Forum : 표준마련의필요성에서정부, 학계, 산업체등, 1992 시작 MPI-1 표준마련 (MPI Forum) : 1994 년 MPI-2 발표 : 1997 년 현재 MPI-2.2 : 2009 년 MPI 표준에맞추어개발한 MPI Library MPICH, CHIMP, LAM/MPI, OpenMPI,, 기타각 hardware vendor 들의 MPI OpenMPI site

23 MPI 의기본개념 (3) Process 와 processor MPI 는 process 기준으로작업할당 Processor : process = 1:1 or 1:many Communicator 서로간에통신이허용되는모든 process 들의집합 Process rank 동일한 communicator 내의 process 들을식별하기위한식별자 만일 p 개의 process 가연산에참여한다면 rank 는 0, 1,, p-1

24 MPI 의기본개념 (4) Message [ = data + envelope ] 어느 process 가보내는가 어디에있는 data 를보내는가 어떤 data 를보내는가 Data 를얼마나보내는가 어느 process 가수신할것인가 어디에저장할것인가 얼마나받을준비를해야하는가 Tag ( 꼬리표 ) Message 의 matching 과구분에이용 순서대로메시지도착을처리할수있음 message buffer 사용 wild card 사용가능 ex. 누군가 message 를보내오면

25 MPI 의기본개념 (5) 점대점통신 (point to point communication) 두개의 process 사이의통신 하나의송신 process 에하나의수신 process 가대응 집합통신 (collective communication) 동시에여러개의 process 가통신에참여 일대다, 다대일, 다대다대응가능 여러번의점대점통신사용을하나의집합통신으로대체 프로그래밍이쉽고간단하다. 오류의가능성이적다. 최적화되어일반적으로빠르다.

26 MPI 표준 (1) MPI(Message Passing Interface) In the definition by Gropp et al 96, MPI "is a message passing applicati on programmer interface, together with protocol and semantic specifica tions for how its features must behave in any implementation", "MPI incl udes point-to-point message passing and collective (global) operation s, all scoped to a user-specified group of processes. MPI is a language-independent communications protocol used to progr am parallel computers. MPI-1 은 127 개의함수로구성 대부분의 MPI implementation 은 Fortran, C, C++ 에서호출가능한 library function 으로구성 보통의 Fortran, C, C++ 프로그램에서다른 process 로통신이필요시적절한함수만호출하면됨 그외 Python, Ocaml, Java 에서도사용하도록노력중

27 MPI 표준 (2) MPI 프로그램의구조 Include MPI header file - MPI 함수의 prototype 선언 - macro, MPI 관련인수, data type 정의 변수선언 - MPI 함수의 prototype 선언 MPI 환경의초기화 - MPI_Init() - MPI_Comm_rank() - MPI_Comm_size() MPI 통신함수호출하며연산수행 MPI 환경해제 - MPI_Finalize()

28 MPI 표준 (3) MPI 함수에대하여 MPI 함수의이름과형태 MPI_Xxxxxx(parameter, ); MPI_ 로시작그다음첫글자 X 는대문자 MPI 함수의호출과 return 값 호출예 err = MPI_Init(&argc, &argv); if (err == MPI_SUCCESS) { : } 혹은 MPI_Init(&argc, &argv); Return 값첫예의경우, err 로 return. 호출이성공적이면 MPI_SUCCESS 값가짐

29 MPI 표준 (4) int MPI_Init(&argc, &argv); MPI 환경초기화 MPI 루틴중가장먼저오직한번반드시호출되어야함 MPI_COMM_WORLD 라는 communicator 가정의됨 호출예 MPI_Init(&argc, &argv); int MPI_Comm_rank(MPI_COMM comm, int *rank); 같은 communicator comm 에속한 process 의 rank 를할당 - p 개의 process 를사용할경우, 0 부터 p-1 의값을할당 호출예 MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

30 MPI 표준 (5) int MPI_Comm_size(MPI_COMM comm, int *size); Communicator comm 에포함된 process 들의총개수가져오기 호출예 MPI_Comm_size(MPI_COMM_WORLD, &p); int MPI_Finalize( ); 모든 MPI 자료구조정리 모든 process 들이마지막으로한번호출되어야함 Process 를종료시키는것은아님 호출예 MPI_Finalize();

31 MPI 표준 (6) MPI 메시지 = data + 봉투 (envelope) Data Buffer : 수신 ( 송신 ) data의변수이름 개수 : 수신 ( 송신 ) data의개수 Data type : 수신 ( 송신 ) data의 data 유형 봉투 수신자 ( 송신자 ) : 수신 ( 송신 ) process의 rank Tag( 꼬리표 ) : 송신 ( 수신 ) data를나타내는고유한정수 Communicator : 송신, 수신 process들이포함된 process group MPI data type 기본 type과유도 type(derived type) 유도 type은마음대로만들수있다. 송신과수신 data type은반드시일치해야한다.

32 MPI 표준 (7) MPI 기본 data type

33 MPI 표준 (8) 점대점통신 (point to point communication) [1/3] 반드시두개의 process 만참여 communicator 내에서만이루어짐 송신 / 수신 process 의확인을위해 communicator 와 rank 사용 통신의완료 메시지전송에이용된메모리위치에안전하게접근할수있음을의미 Blocking 통신과 non-blocking 통신 Blocking : 통신이완료된후루틴으로부터 return 됨 Non-blocking : 통신이시작되면완료와관계없이 return, 이후완료여부검사 통신완료에요구되는조건에따라통신모드분류

34 MPI 표준 (9) 점대점통신 (point to point communication) [2/3] 통신모드

35 MPI 표준 (10) 점대점통신 (point to point communication) [3/3] int MPI_Send(void *message, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) Datatype 형태의자료 message 를 count 개수만큼 dest rank 의 process 에게전송 반환값 : error code ex. MPI_Send(message, strlen(message)+1, MPI_CHAR, dest, tag, MPI_COMM_WORLD); int MPI_Recv(void *message, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) Source process 로부터 tag 태그를사용해서보내온메시지를받음 Source : process rank 혹은 MPI_ANY_SOURCE 사용 Tag : 전송자가사용한 tag 혹은 MPI_ANY_TAG 사용가능 ex. MPI_Recv(message, 100, MPI_CHAR, source, tag, MPI_COMM_WORLD, &status); 이외많은점대점통신함수가있음

36 MPI 표준 (11) 집합통신 (Collective communication) [1/3] 한그룹의 process가참여 점대점통신기반 점대점통신을이용한구현보다편리하고성능면에서유리 집합통신루틴 Communicator 내의모든 process 호출 동기화가보장되지않음 Non-blocking 루틴없음 Tag 없음

37 MPI 표준 (12) 집합통신 (Collective communication) [2/3]

38 MPI 표준 (13) 집합통신 (Collective communication) [3/3] int MPI_Bcast(void *message, int count, MPI_Datatype datatype, int root, MPI_Comm comm) 전송자와수신자는모두같은명령을사용 root 라는 rank 를가진 process 가송신하며다른모든 process 는수신 Ex. MPI_Bcast(&uplimit,1,MPI_LONG,0,MPI_COMM_WORLD); Int MPI_Reduce(void *operand, void *result, int count, MPI_Datatype datatype, MPI_Op operator, int root, MPI_COMM comm) Operand 에주어진자료에대해 operator 로지정된연산을수행한결과를 result 로반환함 Operator 는 MPI_MAX, MPI_MIN, MPI_SUM, MPI_PROD 등많은종류의연산이가능 Ex. MPI_Reduce(&sum,&gsum,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD); 이외여러집합통신함수가있음

39 MPI 프로그램및실행 (1) 간단한 MPI 프로그램의예 [1/2] hello, world program (Pacheco) /* "Hello World" Type MPI Test Program */ #include <stdio.h> #include mpi.h int main(int argc, char **argv) { int my_rank; /* rank of process */ int p; /* number of processes */ int source; /* rank of sender */ int dest; /* rank of receiver */ int tag=50; /* tag for messages */ char message[100]; /* storage for the message */ MPI_Status status; /* return status for receive */ MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); MPI_Comm_size(MPI_COMM_WORLD, &p);

40 MPI 프로그램및실행 (2) 간단한 MPI 프로그램의예 [2/2] hello, world program (Pacheco, 계속 ) if (my_rank!= 0) { sprintf(message, Greetings from process %d!, my_rank); dest = 0; MPI_Send(message, strlen(message)+1, MPI_CHAR, dest, tag, MPI_COMM_WORLD); } else { /* my_rank == 0 */ for (source = 1; source < p; source++) { MPI_Recv(message, 100, MPI_CHAR, source, tag, MPI_COMM_WORLD, &status); printf( %s\n, message); } } MPI_Finalize(); } /* main */

41 MPI 프로그램및실행 (3) 프로그램의실행 [1/2] LAM/MPI 에서의 comile & run LAM 환경조성및 process 지정 $ lamboot v lamhosts 병렬 program compile $ hcc o helloworld helloworld.c 병렬로 run 하기 $ mpirun np 4 helloworld LAM 환경해제 $ wipe v lamhosts lamhosts file 이름은임의로줄수있음 - 병렬연산하는데사용되는 host의이름 (IP도 OK) 을나열 - 멀리떨어진 host와도병렬연산가능 ex. psmp 혹은 psmp psmp psmp toshiba

42 MPI 프로그램및실행 (4) 프로그램의실행 [2/2] MPI]$ cat lamhosts psmp psmp psmp psmp MPI]$ lamboot -v lamhosts LAM 7.1.1/MPI 2 C++/ROMIO - Indiana University n-1<24783> ssi:boot:base:linear: booting n0 (psmp) n-1<24783> ssi:boot:base:linear: finished [pspark@psmp MPI]$ hcc -o helloworld helloworld.c [pspark@psmp MPI]$ mpirun -np 4 helloworld Greetings from process 1! Greetings from process 2! Greetings from process 3! [pspark@psmp MPI]$ wipe -v lamhosts LAM 7.1.1/MPI 2 C++/ROMIO - Indiana University n-1<24800> ssi:boot:base:linear: booting n0 (psmp) n-1<24800> ssi:boot:base:linear: finished [pspark@psmp MPI]$

43 MPI 프로그램및실행 (5) 1 부터 n 까지더하는프로그램 serial program #include <stdio.h> int main(int argc, char* argv[]) { long int i,last; double sum; printf("this program computes the sum from 1 to a given number.\n"); printf("enter a big number : "); scanf("%ld",&last); sum=0.; for (i=1; i<=last; i++) { sum=sum+i; } printf("\nsum from 1 to %ld is %f\n",last,sum); } parallel program

44 Related Topics & Questions Related Topics GPU computing GPGPU( 위키백과 ) 한글 영문 CUDA 미루웨어 한국 CUDA 사용자그룹 (KCUG) OpenCL OpenMP Questions?

Microsoft PowerPoint - 병렬표준.pptx

Microsoft PowerPoint - 병렬표준.pptx Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과 목차 Why Parallel? Parallel Processing Parallel Programming MPI의기본개념 MPI 표준 MPI 프로그램및실행 Related Topics & Questions Why Parallel? (1) Why parallel computing?

More information

Parallel Programming 박필성 IT 대학컴퓨터학과

Parallel Programming 박필성 IT 대학컴퓨터학과 Parallel Programming 박필성 IT 대학컴퓨터학과 목차 Why Parallel? Parallel Computers Parallel Processing Parallel Programming Models Parallel Programming OpenMP Standard MPI Standard Related Topics & Questions Why

More information

fprintf(fp, "clf; clear; clc; \n"); fprintf(fp, "x = linspace(0, %d, %d)\n ", L, N); fprintf(fp, "U = [ "); for (i = 0; i <= (N - 1) ; i++) for (j = 0

fprintf(fp, clf; clear; clc; \n); fprintf(fp, x = linspace(0, %d, %d)\n , L, N); fprintf(fp, U = [ ); for (i = 0; i <= (N - 1) ; i++) for (j = 0 병렬계산을이용한열방정식풀기. 1. 처음 병렬계산을하기전에 C 언어를이용하여명시적유한차분법으로하나의열방정식을풀어본 다. 먼저 C 로열방정식을이해한다음초기조건만다르게하여클러스터로여러개의열방 정식을풀어보자. 2. C 를이용한명시적유한차분법으로열방적식풀기 열방정식을풀기위한자세한이론은앞서다룬 Finite-Difference method 을보기로하고 바로식 (1.10)

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

PowerPoint Presentation

PowerPoint Presentation MPI 를이용한병렬프로그래밍기초 : Point-to-Point Communication Hongsuk Yi KISTI Supercomputing Center 2009-11-09 1 MPI 란무엇인가? MPI Message Passing Interface 병렬프로그래밍을위해표준화된데이터통신라이브러리 MPI-1 표준마련 (MPI Forum) : 1994 년 Procs

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

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

-

- World Top 10 by 2030 CONTENTS CONTENTS 02 03 PRESIDENT S MESSAGE 04 05 VISION GOALS VISION GOALS STRATEGIES 06 07 HISTORY 2007 2008 2009 2010 2011 08 09 UNIST POWER 10 11 MPI USTC UNIST UCI UTD U-M GT

More information

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

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

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

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

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

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

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

Microsoft Word - cover.docx

Microsoft Word - cover.docx Parallel Programming using MPICH2 차 례 1. Parallel Programming 환경구축 - 1 2. Parallel Programming using MPICH2-13 3. 병렬처리예제프로그램 - 22 4. 참고자료 - 23 1. Parallel Programming 환경구축병렬프로그래밍을위하여널리사용되는 Message Programming

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

세종대 요람

세종대 요람 Sejong University 2016 2016 Sejong University 4 SEJONG UNIVERSITY www.sejong.ac.kr 5 8 SEJONG UNIVERSITY 2016 Sejong University 10 SEJONG UNIVERSITY www.sejong.ac.kr 11 12 SEJONG UNIVERSITY www.sejong.ac.kr

More information

Oracle9i Real Application Clusters

Oracle9i Real Application Clusters Senior Sales Consultant Oracle Corporation Oracle9i Real Application Clusters Agenda? ? (interconnect) (clusterware) Oracle9i Real Application Clusters computing is a breakthrough technology. The ability

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

1. 회사소개 및 연혁 - 회사소개 회사소개 회사연혁 대표이사: 한종열 관계사 설립일 : 03. 11. 05 자본금 : 11.5억원 인 원 : 18명 에스오넷 미도리야전기코리 아 미도리야전기(일본) 2008 2007 Cisco Premier Partner 취득 Cisco Physical Security ATP 취득(진행) 서울시 강남구 도심방범CCTV관제센터

More information

Microsoft PowerPoint - eSlim SV5-2510 [080116]

Microsoft PowerPoint - eSlim SV5-2510 [080116] Innovation for Total Solution Provider!! eslim SV5-2510 Opteron Server 2008. 03 ESLIM KOREA INC. 1. 제 품 개 요 eslim SV5-2510 Server Quad-Core and Dual-Core Opteron 2000 Series 6 internal HDD bays for SAS

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

<BCBCC1BEB4EB BFE4B6F72E706466>

<BCBCC1BEB4EB BFE4B6F72E706466> 세종대학교요람 Sejong University 2017 2017 Sejong University 4 SEJONG UNIVERSITY www.sejong.ac.kr 5 2017 Sejong University 8 SEJONG UNIVERSITY 10 SEJONG UNIVERSITY www.sejong.ac.kr 11 12 SEJONG UNIVERSITY www.sejong.ac.kr

More information

김기남_ATDC2016_160620_[키노트].key

김기남_ATDC2016_160620_[키노트].key metatron Enterprise Big Data SKT Metatron/Big Data Big Data Big Data... metatron Ready to Enterprise Big Data Big Data Big Data Big Data?? Data Raw. CRM SCM MES TCO Data & Store & Processing Computational

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

PRO1_04E [읽기 전용]

PRO1_04E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_04E1 Information and S7-300 2 S7-400 3 EPROM / 4 5 6 HW Config 7 8 9 CPU 10 CPU : 11 CPU : 12 CPU : 13 CPU : / 14 CPU : 15 CPU : / 16 HW 17 HW PG 18 SIMATIC

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

BMP 파일 처리

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

More information

Microsoft PowerPoint - eSlim SV5-2410 [20080402]

Microsoft PowerPoint - eSlim SV5-2410 [20080402] Innovation for Total Solution Provider!! eslim SV5-2410 Opteron Server 2008. 3 ESLIM KOREA INC. 1. 제 품 개 요 eslim SV5-2410 Server Quad-Core and Dual-Core Opteron 2000 Series Max. 4 Disk Bays for SAS and

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

0125_ 워크샵 발표자료_완성.key

0125_ 워크샵 발표자료_완성.key WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. WordPress is installed on a web server, which either is part of an Internet hosting service or is a network host

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

PowerPoint 프레젠테이션

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

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

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

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

C++-¿Ïº®Çؼ³10Àå

C++-¿Ïº®Çؼ³10Àå C C++. (preprocessor directives), C C++ C/C++... C++, C. C++ C. C C++. C,, C++, C++., C++.,.. #define #elif #else #error #if #itdef #ifndef #include #line #pragma #undef #.,.,. #include #include

More information

00-Intro

00-Intro SSE3054: Multicore Systems Spring 2017 Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.ed)

More information

슬라이드 1

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

More information

ecorp-프로젝트제안서작성실무(양식3)

ecorp-프로젝트제안서작성실무(양식3) (BSC: Balanced ScoreCard) ( ) (Value Chain) (Firm Infrastructure) (Support Activities) (Human Resource Management) (Technology Development) (Primary Activities) (Procurement) (Inbound (Outbound (Marketing

More information

untitled

untitled Embedded System Lab. II Embedded System Lab. II 2 RTOS Hard Real-Time vs Soft Real-Time RTOS Real-Time, Real-Time RTOS General purpose system OS H/W RTOS H/W task Hard Real-Time Real-Time System, Hard

More information

제1장 Unix란 무엇인가?

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

More information

J2EE & Web Services iSeminar

J2EE & Web Services iSeminar 9iAS :, 2002 8 21 OC4J Oracle J2EE (ECperf) JDeveloper : OLTP : Oracle : SMS (Short Message Service) Collaboration Suite Platform Email Developer Suite Portal Java BI XML Forms Reports Collaboration Suite

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

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

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

Chap06(Interprocess Communication).PDF

Chap06(Interprocess Communication).PDF Interprocess Communication 2002 2 Hyun-Ju Park Introduction (interprocess communication; IPC) IPC data transfer sharing data event notification resource sharing process control Interprocess Communication

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

Figure 5.01

Figure 5.01 Chapter 4: Threads Yoon-Joong Kim Hanbat National University, Computer Engineering Department Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues Operating

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Voice Portal using Oracle 9i AS Wireless

Voice Portal using Oracle 9i AS Wireless Voice Portal Platform using Oracle9iAS Wireless 20020829 Oracle Technology Day 1 Contents Introduction Voice Portal Voice Web Voice XML Voice Portal Platform using Oracle9iAS Wireless Voice Portal Video

More information

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx Chapter 2 Secondary Storage and System Software References: 1. M. J. Folk and B. Zoellick, File Structures, Addison-Wesley. 목차 Disks Storage as a Hierarchy Buffer Management Flash Memory 영남대학교데이터베이스연구실

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

04_오픈지엘API.key

04_오픈지엘API.key 4. API. API. API..,.. 1 ,, ISO/IEC JTC1/SC24, Working Group ISO " (Architecture) " (API, Application Program Interface) " (Metafile and Interface) " (Language Binding) " (Validation Testing and Registration)"

More information

, N-. N- DLNA(Digital Living Network Alliance).,. DLNA DLNA. DLNA,, UPnP, IPv4, HTTP DLNA. DLNA, DLNA [1]. DLNA DLNA DLNA., [2]. DLNA UPnP. DLNA DLNA.

, N-. N- DLNA(Digital Living Network Alliance).,. DLNA DLNA. DLNA,, UPnP, IPv4, HTTP DLNA. DLNA, DLNA [1]. DLNA DLNA DLNA., [2]. DLNA UPnP. DLNA DLNA. http://dx.doi.org/10.5909/jeb.2012.17.1.37 DLNA a), a), a) Effective Utilization of DLNA Functions in Home Media Devices Ki Cheol Kang a), Se Young Kim a), and Dae Jin Kim a) DLNA(Digital Living Network

More information

solution map_....

solution map_.... SOLUTION BROCHURE RELIABLE STORAGE SOLUTIONS ETERNUS FOR RELIABILITY AND AVAILABILITY PROTECT YOUR DATA AND SUPPORT BUSINESS FLEXIBILITY WITH FUJITSU STORAGE SOLUTIONS kr.fujitsu.com INDEX 1. Storage System

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐

More information

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode] Unix Process Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 유닉스기반다중서버구현방법 클라이언트들이동시에접속할수있는서버 서비스를동시에처리할수있는서버프로세스생성을통한멀티태스킹 (Multitasking) 서버의구현 select 함수에의한멀티플렉싱 (Multiplexing)

More information

<31325FB1E8B0E6BCBA2E687770>

<31325FB1E8B0E6BCBA2E687770> 88 / 한국전산유체공학회지 제15권, 제1호, pp.88-94, 2010. 3 관내 유동 해석을 위한 웹기반 자바 프로그램 개발 김 경 성, 1 박 종 천 *2 DEVELOPMENT OF WEB-BASED JAVA PROGRAM FOR NUMERICAL ANALYSIS OF PIPE FLOW K.S. Kim 1 and J.C. Park *2 In general,

More information

슬라이드 1

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

More information

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

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

학습목차 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

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

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

More information

퇴 YONSEI ALLWAYS Contents 6 10 42 44 46 12 48 50 20 22 24 26 28 30 32 34 36 38 40 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 4 YONSEI UNIVERSITY YONSEI All-Ways+ 5 88 90 92 94 96 98 100 102 104

More information

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

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 종합과제 과제내용 구조체를이용하여교과목이름과코드를파일로부터입력받아관리 구조체를이용하여학생들의이름, 학번과이수한교과목의코드와점수를파일로부터입력 학생개인별총점, 평균계산 교과목별이수학생수, 총점및평균을계산 결과를파일에저장하는프로그램을작성 2 Makefile OBJS = score_main.o score_input.o score_calc.o score_print.o

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

More information

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

윤성우의 열혈 TCP/IP 소켓 프로그래밍 C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct

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

Service-Oriented Architecture Copyright Tmax Soft 2005

Service-Oriented Architecture Copyright Tmax Soft 2005 Service-Oriented Architecture Copyright Tmax Soft 2005 Service-Oriented Architecture Copyright Tmax Soft 2005 Monolithic Architecture Reusable Services New Service Service Consumer Wrapped Service Composite

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using

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

Microsoft Word - KPMC-400,401 SW 사용 설명서

Microsoft Word - KPMC-400,401 SW 사용 설명서 LKP Ethernet Card SW 사용설명서 Version Information Tornado 2.0, 2.2 알 림 여기에실린내용은제품의성능향상과신뢰도의증대를위하여예고없이변경될수도있습니다. 여기에실린내용의일부라도엘케이일레븐의사전허락없이어떠한유형의매체에복사되거나저장될수없으며전기적, 기계적, 광학적, 화학적인어떤방법으로도전송될수없습니다. 엘케이일레븐경기도성남시중원구상대원동

More information

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 25(11),

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 25(11), THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2014 Nov.; 25(11), 11351141. http://dx.doi.org/10.5515/kjkiees.2014.25.11.1135 ISSN 1226-3133 (Print)ISSN 2288-226X (Online)

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

DW 개요.PDF

DW 개요.PDF Data Warehouse Hammersoftkorea BI Group / DW / 1960 1970 1980 1990 2000 Automating Informating Source : Kelly, The Data Warehousing : The Route to Mass Customization, 1996. -,, Data .,.., /. ...,.,,,.

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

<32382DC3BBB0A2C0E5BED6C0DA2E687770> 논문접수일 : 2014.12.20 심사일 : 2015.01.06 게재확정일 : 2015.01.27 청각 장애자들을 위한 보급형 휴대폰 액세서리 디자인 프로토타입 개발 Development Prototype of Low-end Mobile Phone Accessory Design for Hearing-impaired Person 주저자 : 윤수인 서경대학교 예술대학

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information