Microsoft PowerPoint - o6.pptx

Size: px
Start display at page:

Download "Microsoft PowerPoint - o6.pptx"

Transcription

1 목표 6 장. 프로세스동기화 임계구역 (Critical Region) 문제소개 이문제에대한해결책은공유데이터의일관성유지에사용가능 임계구역문제의하드웨어및소프트웨어해결책제시 전통적인프로세스동기화문제소개 프로세스동기화문제해결에사용되는도구조사 배경 생산자 - 소비자문제 공유데이터사용 협력프로세스 (Cooperating process) 다른프로세스의실행을영향을주거나받는프로세스 서로비동기적으로수행하면서데이터를공유할수있음 공유방법 :(1) 직접공유 - 논리주소공간 ( 메모리 ) 공유 (2) 간접공유 파일또는메시지를경유 공유데이터에대한병행 / 병렬접근은데이터일관성을보장하지못할수있음 (data inconsistency) 병행 / 병렬실행환경 CPU 스케줄링 : 한프로세스가일부만실행한상태에서다른프로세스로스케줄될수있음 인터럽트 : 프로그램의어떠한지점에서도인터럽트가가능 병렬실행 : 여러개의프로세스가동시에실행됨 데이터일관성유지 협력프로세스들이바른순서로실행 (orderly execution) 하는것을보장하는메커니즘이필요 3 유한버퍼를사용한생산자 - 소비자문제 Producer while (TRUE) { while (count == BUFFER_SIZE) ; // do nothing during full // add an item to the buffer count = count + 1; buffer[in] = item; in = (in + 1) % BUFFER_SIZE; buffer out in shared variable : count Consumer while (TRUE) { while (count == 0) ; // do nothing during empty // remove an item from the buffer count = count 1; item = buffer[out]; out = (out + 1) % BUFFER_SIZE; buffer out in 4

2 경쟁조건 (race condition) 경쟁조건에서의가능한결과 경쟁조건 예 여러개의프로세스가공유자료를접근하여조작하고 그실행결과가자료접근순서에영향을받는상황 non-deterministic 결과 machine language Process A count = count + 1 r1 = count r1 = r1 + 1 count = r1 Process B count = count 1 r2 = count r2 = r2 1 count = r2 machine language 3 가지결과가가능함 sequential order (count=5) r1 = count r1 = r1+1 count = r1 > r2 = count > r2 = r2 1 > count = r2 (r1=5) (r1=6) (count=6) (r2=6) (r2=5) (count=5) correct interleaved order (count=4) r1 = count r1 = r1+1 > r2 = count > r2 = r2 1 count = r1 > count = r2 (r1=5) (r1=6) (r2=5) (r2=4) (count=6) (count=4) incorrect interleaved order (count=6) r1 = count r1 = r1+1 > r2 = count > r2 = r2 1 > count = r2 count = r1 (r1=5) (r1=6) (r2=5) (r2=4) (count=4) (count=6) incorrect 5 6 병행접근 (Concurrent Access) 병렬 (Parallel) 접근 단일프로세서시스템에서 다중프로세서시스템에서 shared data shared data 선점 (preemptive) 스케줄링을사용할때에, 경쟁조건이발생할수있음 스케줄링알고리즘에관계없이, 경쟁조건이발생할수있음 7 8

3 6.2 임계구역 (Critical-Section) 문제 임계구역문제의해결책 임계구역 (Critical section: ) 프로세스 ( 쓰레드 ) 가공유자원을변경할수있는코드부분 공유자원 공유변수, 테이블, 파일등 critical section 임계구역문제 P1 shared resource critical section 프로세스들이임계구역에서경쟁조건이발생하지않도록서로협력하기위해사용할수있는프로토콜 ( 대화규약 ) 을설계하는것 프로세스동기화 (synchronization) 와조정 (coordination) P2 프로세스의일반구조 while (true) {... remainder section entry section critical section exit section remainder section ; 3가지필요조건 1. 상호배제 (Mutual Exclusion) 2. 진행 (Progress) 3. 한정대기 (Bounded Waiting) 가정 프로세스들의상대속도를가정하지않음. 프로세스들은 0 이아닌속도로실행됨 // request permission to enter 9 10 상호배제 (Mutual Exclusion) 진행 (Progress) 프로세스가자신의 에서실행중이라면다른프로세스들은자신의 에서실행될수없음 enter exit 에서실행되는프로세스가없고, 자신의 로진입하려는프로세스가있다면 나머지구역 (remainder section) 에서실행하지않는프로세스들만이 에진입하는프로세스결정에참여하고 이선택이무한히 (indefinitely) 지연될수없음 progress P1 selection P2 req enter exit 동시에두개이상의프로세스가임계구역 () 에서실행될수없음 P1 P2 P3 req req req 밖에서수행중인프로세스는다른프로세스를 block 할수없음 11 12

4 한정대기 (Bounded Waiting) 커널에서의경쟁조건과선점 / 비선점커널 프로세스가 진입을요청한후에요청이허용될때까지다른프로세스가 진입이허용되는횟수에제한이있어야함 T1 T2 T3 T4 Tn req bounded 커널에서의경쟁조건 커널에서여러개의커널모드프로세스 ( 루틴 ) 이활성화될수있으며커널자료구조를공유할수있음 경쟁조건발생가능 커널은경쟁조건이발생하지않도록설계해야함. 임계구역을다루기위한운영체제커널의두가지방식 선점형커널 커널모드에서프로세스가선점되는것을허용 경쟁조건이발생하지않도록설계해야함 SMP 시스템에서는특히어려움 비선점형커널 커널모드에서프로세스가선점되는것을허용하지않음 경쟁조건이발생하지않도록다음상황까지프로세스를계속실행 (1) 커널모드종료 (2) 봉쇄 (block) (3) 자발적양보 (yield) 어떤프로세스도 진입을영원히기다리지않아야함 Peterson 의해결안 Peterson 알고리즘 Peterson 알고리즘 임계구역문제에대한고전적인소프트웨어기반해결방안 두프로세스에대해서만적용가능 (P 0, P 1 ) 동기화변수 프로세스들의동작을동기화하는데사용하는공유변수 Peterson 알고리즘에서의동기화변수 int turn; (initially turn=0) boolean flag[2]; (initially, flag[0]=flag[1]=false) if (turn==i) then P i can enter its critical section (Pi 차례 ) if (flag[i] == true) then P i y to enter its critical section (Pi 준비 ) if flag[0] is true and flag[1] is false P 0 s turn ( 하나만 진입요청 ) if both flag[0] and flag[1] are true P turn s turn ( 둘다 진입요청 ) 15 Process P i 의구조 ( 다른프로세스 : P j, j = 1 i ) do { flag[i]:= true; entry turn = j; while (flag[j] and turn == j) ; critical section exit flag [i] = false; remainder section while (1); 세필요조건을충족 if (flag[j]==false or turn==i) then enter 상호배제준수 둘다진입불가 (turn 에의해서하나만진입가능 ) 진행 상대장의 flag 가 false 이면바로 진입, 두 flag 모두 true 이면 turn 이 0 또는 1 의값을가지므로둘중하나는 로진입 한정대기 상대방의수행이끝나면 flag 가 false 가되므로 진입. 상대방 flag 가다시 true 가되어도, turn 을넘겨주므로 진입 16

5 임계구역을구현하는소프트웨어알고리즘 2 프로세스알고리즘 Peterson 알고리즘 Dekker 알고리즘 (Exercise 6.2) n- 프로세스알고리즘 훨씬복잡 Eisenberg and McGuire 알고리즘 (Exercise 6.3) Dekker 알고리즘의확장 Bakery 알고리즘 Lamport 알고리즘방식은실제로널리사용되지않음 매우복잡함 정확성 ( 올바르게동작함 ) 에대한증명이복잡함 6.4 동기화하드웨어 (Synchronization Hardware) lock을사용하는임계구역문제해결책 while (true) { acquire lock... critical section release lock... remainder section 임계구역을 lock으로보호하여, 경쟁조건을방지함 Lock 의구현 소프트웨어알고리즘 복잡하고비효율적 하드웨어지원 인터럽트금지 (disable) Atomic 명령어 인터럽트금지 (Interrupt Disable) 인터럽트금지 (disable) 임계구역실행동안인터럽트를방지하여선점을허용하지않음 현재수행중인코드가선점되지않고계속수행됨 단일프로세서시스템에서는임계구역문제해결가능 cli ; interrupt disable (80x86)... critical section sti ; interrupt enable 멀티프로세서시스템에서는적용불가능 한 CPU 의인터럽트를금지시켜도, 다른 CPU 는여전히임계구역에진입할수있음. 모든 CPU 의임계구역진입을방지하기위해서, 모든 CPU 의인터럽트를금지시키는것은시간이소요되므로비효율적임. 시스템클록 ( 시계 ) 에대한영향 시스템클록이인터럽트에의해서갱신되는시스템에서, 인터럽트금지는시간에영향을줄수있음 원자적명령어 (Atomic Instruction) Atomic 명령어 = Indivisible Instruction 연속되는여러개동작 (-modify-write 동작 ) 을원자적으로 ( 인터럽트되지않고 / 분리되지않고 ) 수행하는기계어명령어 Atomic 명령어의예 Test and Set (TAS) instruction: word 내용을검사 (test) 하고변경 (set) 하는동작을원자적으로수행 (ex) 80386: bit test and set test set BTS [100], 2 ; CF M[100] 2, M[100] : test and set test set TAS $5000 ; N M[5000] 7, M[5000] 7 1 Swap instruction: 두 word의내용의교환 (swap) 을원자적으로수행 (ex) 80386: exchange XCHG AX, [BX] ; AX M[BX] 19 20

6 Lock 변수사용하기 Atomic 명령어사용 Lock 변수의사용 두상태 : 0 (unlock, open, 사용중이아님 ), 1 (lock, close, 사용중 ) atomic 명령어를사용하여 lock 변수를조작함 TAS 또는 SWAP 명령어를사용한 lock 변수의조작 Test and Set (TAS) instruction Flag TAS lock 1 CPU test set memory lock r1 SWAP instruction 1 F mov r1, 1 // set 값설정 swap r1, lock CPU F 1 lock Test-and-Set 을사용한상호배제 공유데이터 lock = 0; // global shared data unlock Process P i entry section while ( TestAndSet(&lock) ) ; critical section exit section lock = 0; remainder section 필요조건충족여부 이알고리즘은상호배제및진행조건을만족시킴 한정대기조건은만족시키지못함 busy ing loop TestAndSet() 연산은 TAS 또는 Swap 명령어로구현가능함 Test&Set 를사용한한정대기를만족하는상호배제 공유자료구조 boolean ing[n]; // initialized to false(0) boolean lock; // initialized to false(0) Process Pi entry section ing[i] = TRUE; key = TRUE; while (ing[i] && key) key = TestAndSet(&lock); ing[i] = FALSE;... critical section exit section j = (i + 1) % n; while ( (j!= i) &&! ing[j] ) j = (j + 1) % n; if (j == i) lock = FALSE; else ing[j] = FALSE;... remainder section unlock 상태이면 key=0 이됨 cyclic ordering : Pi 다음프로세스부터대기여부검사 (ing[j]=true) 임계구역진입을기다리는프로세스는최대 n-1 회내에진입가능 6.5 뮤텍스락 (Mutex Locks) 임계구역문제에대한하드웨어기반해결안 응용프로그래머에게는복잡하며일반적으로직접사용할수없음 해결방법 운영체제에서응용프로그래머에게이를위한소프트웨어도구를제공 Mutex Lock Mutex Lock ( 상호배제락 ) Mutual Exclusion의줄임말 acquire(&lock) 두함수제공 acquire() lock 획득 release() lock 반환 release(&lock) 스핀락 (Spinlock) : busy-ing mutex lock 루프를반복실행하면서 lock 획득을기다림 CPU cycle 이낭비됨 단일프로세서시스템에서특히문제임 멀티프로세서시스템에서짧은시간내에 lock 획득이예상되면 spinlock 이유용함 - context switching 이없음 23 24

7 Busy-ing 이없는 Mutex Lock Busy-ing 이없는 Test and Set 을사용한상호배제 lock 을획득하지못하면프로세스는 lock 을기다리는대기상태로전환하고 CPU 를내어놓음 알고리즘 lock = 0; entry section = acquire( ) exit section = release( ) Process P i while ( TestAndSet(&lock) ) block(); critical section lock = 0; non-critical section nobusy ing 다른프로세스가 release() 를호출하여 unlock 이될때에 wakeup() 이호출되어 상태에있는 block 된프로세스를깨움 세마포 (Semaphores) 세마포 (Semaphore) Mutex Lock 보다더정교하고강력한프로세스동기화도구 세마포 S 특별한표준동기화연산을통해서만접근할수있는정수변수. 세마포값은대개사용가능한특정자원의수를나타냄 Semaphore 연산 초기화연산 semaphore S 값초기화 두개의원자적 (atomic) 연산 (by Dijkstra) P operation (Proberen = test) (S), acquire(s) V operation (Verhogen = increment) signal(s), release(s) P(S) while (S 0) ; // busy- // now S > 0 S = S - 1; V(S) S = S + 1; 사전뜻 : 수기신호 다른표기 세마포 S 값 ( 검사및 ) 변경은원자적으로실행되어야함 26 Semaphore 용도 용도 상호배제 (Mutual exclusion) 이진세마포 (binary semaphore) 유한개수의자원접근, 한정된 concurrency counting semaphore 프로세스동기화 : signaling Binary semaphore 상호배제구현 (mutex lock과유사 ) semaphore 값 : 0 or 1 (1로초기화 ) (S) signal(s) 임계구역접근제어에사용 Semaphore S = 1; // initialize Process 1 critical section Process 2 critical section S=1 : unlock S=0 : lock acquire(s) release(s) 카운팅세마포 (Counting Semaphore) acquire(s) release(s) Counting semaphore 한정된 concurrency, 유한개수자원접근 semaphore 값 : 가용자원개수를의미 ( 최대가용자원개수로초기화 ) 유한개수의자원의접근제어에사용 Semaphore S = n; // initialize Process 1 critical section Process 2 critical section 최대 n 프로세스가병행하여수행될수있음 Process N critical section 27 28

8 일반적인동기화 동기화 (synchronization) ( 예 ) 프로세스 P 1 의 A 부분실행후에프로세스 P 2 의 B 부분이실행되어야함 Code: Semaphore S = 0; // intialize Semaphore 를 0 으로초기화 Semaphore 구현 바쁜대기 (Busy ing) Semaphore spinlock 과유사하게구현 바쁜대기없는 (No Busy ing) Semaphore 프로세스의 block-wakeup 방법이용 signal(s) S=0 S=1 Process P 1 Process P (S) S=0 A P(S) until P 1 executes V(S) V(S) B S=0... semaphore 를획득할수없을때 semaphore 대기큐에자기프로세스를추가하고자신을 block 시킴 semaphore 를사용가능하게되면, semaphore 대기큐에서한프로세스를꺼내어 y queue 로이동하여, 대기중인하나의프로세스를 wakeup 시킴 코드 다음 slide No busy-ing 세마포구현 Sempahore S 다음두 item 으로자료구조가구성됨 value 세마포값 list 이세마포를대기하는프로세스리스트 ( 세마포대기큐 ) Semaphore 연산 P(S) { S.value - -; if (S.value < 0) { add this process to S.list block() V(S) { S.value++; if (S.value <= 0) { remove a process Q from S.list wakeup(q); - 세마포값을먼저감소 음수가능 - 음수의크기는세마포를대기하는프로세스들의개수임 ( 세마포검사와감소의순서가 busy-ing 방법과반대 ) - 두프로세스가같은세마포에대해 P 또는 S 연산이중첩되어실행되지않도록해야함. (atomic 실행 ) 31 교착상태 (Deadlock) 와기아 (Starvation) Semaphore 를사용한코드는교착상태와기아가발생할수있음 교착상태 (Deadlock) 둘째 P 연산들이교착상태가됨 두개이상의프로세스들이그들중한프로세스에의해서만발생될수있는사건을무한정기다리고있어서, 진행이되지않는상황 (ex) 두 binary semaphore S, Q: S=1, Q=1로초기화됨 P 0 P 1 P(Q); V(Q) P(Q); V(Q); 기아 (Starvation) 무한봉쇄 (indefinite blocking) 일부프로세스가무한정대기할수있는상황 ( 예 ) 세마포대기리스트가 LIFO 순서로되어있으면리스트앞쪽에있는프로세스는제거되지못할수있음 ( 세마포가빈번히사용되는경우 ) get S P 0 P 1 Q get 32

9 6.7 고전적인동기화문제 Bounded-Buffer Problem 세마포사용 유한버퍼문제 (Bounded-Buffer Problem) Producer Readers 와 Writers 문제 write exclusive write write bounded buffer exclusive /write shared data Consumer simultaneous 식사하는철학자문제 (Dining-Philosophers Problem) P P P several processes R R R several shared resources 두프로세스가하나의자료공유 여러프로세스가하나의자료공유 - 일부는읽기만수행 - 일부는갱신수행 여러프로세스가여러자료공유 33 int n; Semaphore full = 0; Semaphore empty = n; Semaphore mutex = 1; Producer do {. produce an item P(empty); P(mutex); ++count; buffer[in]=item; in=(in+1)%bufsize; V(mutex); V(full); // n: buffer size // empty, full: counting semaphore for synchronization // mutex: semaphore for buffer accesses Consumer do { P(full); P(mutex); --count; item = buffer[out]; out=(out+1)%bufsize; V(mutex); V(empty); consume the item 34 Readers-Writers Problem 세마포사용 Semaphore mutex = 1 Semaphore rw_mutex=1; int _count = 0 // mutex: for updating _count // rw_mutex: for updating shared database (common to er/writer) Writer P(rw_mutex); acquirewritelock writing is performed V(rw_mutex); releasewritelock Reader P(mutex); acquirereadlock _count++; if (_count==1) // first er P(rw_mutex); V(mutex); ing is performed P(mutex); releasereadlock _count --; if (_count==0) // last er V(rw_mutex); V(mutex); 일부시스템에서는 -writer lock(rwlock) 과이를위한연산을제공한다. rwlock을획득하고반환할때에용도 (er용, writer용 ) 를지정해야한다. 35 Dining-Philosophers Problem 식사하는철학자문제 philosopher chopsticks 5 명의철학자가 thinking 과 eating 을반복하며시간을보냄 양쪽젓가락을내려놓는다. 양쪽젓가락을집는다 여러프로세스들에게여러자원을할당할필요가있는병행제어 (concurrency control) 문제를단순하게나타낸예임. 철학자 프로세스 (process), 젓가락 자원 (resource) 36

10주차.key

10주차.key 10, Process synchronization (concurrently) ( ) => critical section ( ) / =>, A, B / Race condition int counter; Process A { counter++; } Process B { counter ;.. } counter++ register1 = counter register1

More information

Microsoft PowerPoint - StallingsOS6e-Chap05.pptx

Microsoft PowerPoint - StallingsOS6e-Chap05.pptx 5 장병행성 : 상호배제와동기화 5 장의강의목표 병행성 (concurrency) 의원리와주요용어를이해한다. 경쟁상태 (race condition) 의문제점에대해이해한다. 상호배제 (mutual exclusion), 교착상태 (deadlock), 기아상태 (starvation) 의 3 가지제어문제를이해한다. 상호배제를보장하기위한하드웨어적접근방법을이해한다. 세마포어를이용한상호배제기법을이해한다.

More information

Synchronization

Synchronization Synchronization Command Execution 명령어수행과운영체제 UNIX: 프로그램이실행한프로세스가종료될때까지대기 Windows: 실행된모든프로세스는각자수행 Enter Loop Enter Loop Yes Another Command? No fork()code Exit Loop Yes Another Command? No Exit Loop CreateProcess()code

More information

Microsoft PowerPoint - o6.pptx

Microsoft PowerPoint - o6.pptx Dining-Philosophers Problem 세마포사용 6.8 모니터 (Monitors) Semaphore chopstick[5] = {1,1,1,1,1 ; // initially all values are 1 Philosopher i while (true) { P(chopStick[i]); // get left chopstick P(chopStick[(i+1)

More information

Microsoft PowerPoint - o6.pptx

Microsoft PowerPoint - o6.pptx Dining-Philosophers Problem 세마포사용 Semaphore chopstick[5] = {1,1,1,1,1} ; // initially all values are 1 Philosopher i while (true) { P(chopStick[i]); // get left chopstick P(chopStick[(i+1) % 5]); // get

More information

입학사정관제도

입학사정관제도 운영체제 강의노트 교재 : 운영체제 ( 개정판 ) 출판사 : 한빛미디어 (2010 년 11 월발행 ) 저자 : 구현회 소프트웨어학과원성현교수 1 4 장 병행프로세스와 상호배제 소프트웨어학과원성현교수 2 1. 병행프로세스 병행프로세스의과제 병행성 동시에 2 개이상의프로세스가실행되는성질 다중프로세싱시스템, 분산처리시스템에서주로발생 다중프로세싱시스템은프로세서의효율성을증대시킴

More information

Abstract View of System Components

Abstract View of System Components 운영체제실습 - Synchronization - Real-Time Computing and Communications Lab. Hanyang University jtlim@rtcc.hanyang.ac.kr dhchoi@rtcc.hanyang.ac.kr beespjh@gmail.com Introduction 조교소개 이름 : 임정택 Tel : 010-4780

More information

Module 7: Process Synchronization

Module 7:  Process Synchronization Chapter 6: Process Synchronization ( 프로세스동기화 ), Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2010 Module 6: Synchronization( 동기화 ) Background( 배경 ) The Critical-Section Problem( 임계구역문제 ) Peterson

More information

Module 7: Process Synchronization

Module 7:  Process Synchronization Chapter 6: Process Synchronization ( 프로세스동기화 ), Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2010 Module 6: Synchronization( 동기화 ) Background( 배경 ) The Critical-Section Problem( 임계구역문제 ) Peterson

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

쓰레드 (Thread) 양희재교수 / 경성대학교컴퓨터공학과

쓰레드 (Thread) 양희재교수 / 경성대학교컴퓨터공학과 쓰레드 (Thread) 양희재교수 (hjyang@ks.ac.kr) / 경성대학교컴퓨터공학과 Thread? 쓰레드 (Thread) 프로그램내부의흐름, 맥 class Test { public static void main(string[] args) { int n = 0; int m = 6; System.out.println(n+m); while (n < m) n++;

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

Microsoft PowerPoint - StallingsOS6e-Chap06.ppt [호환 모드]

Microsoft PowerPoint - StallingsOS6e-Chap06.ppt [호환 모드] 6 장병행성 : 교착상태와기아 6 장의강의목표 교착상태 (deadlock) 의원리를이해한다. 교착상태에자원할당그래프가어떻게이용되는지이해한다. 교착상태가발생하기위한필요. 충분조건을이해한다. 교착상태예방기법들을이해한다. 교착상태회피기법들을이해한다. 교착상태의발견과복구기법들을이해한다. 식사하는철학자문제를이해하고해결방법을이해한다. UNIX, LINUX, Solaris,

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

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

<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

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

Microsoft PowerPoint - polling.pptx

Microsoft PowerPoint - polling.pptx 지현석 (binish@home.cnu.ac.kr) http://binish.or.kr Index 이슈화된키보드해킹 최근키보드해킹이슈의배경지식 Interrupt VS polling What is polling? Polling pseudo code Polling 을이용한키로거분석 방어기법연구 이슈화된키보드해킹 키보드해킹은연일상한가! 주식, 펀드투자의시기?! 최근키보드해킹이슈의배경지식

More information

<4D F736F F F696E74202D20322DBDC7BDC3B0A320BFEEBFB5C3BCC1A6>

<4D F736F F F696E74202D20322DBDC7BDC3B0A320BFEEBFB5C3BCC1A6> 컴퓨터시스템구성 2. 실시간운영체제 1 2 운영체제의주요기능 프로세스관리 (Process management) 메모리관리 (Memory management) 인터럽트핸들링 (Interrupt handling) 예외처리 (Exception handling) 프로세스동기화 (Process synchronization) 프로세스스케쥴링 (Process scheduling)

More information

슬라이드 1

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

More information

Microsoft PowerPoint - ch10_회복과 병행 제어.pptx

Microsoft PowerPoint - ch10_회복과 병행 제어.pptx 13-01 트랜잭션 장애와회복 병행제어 병행수행과병행제어 병행수행 (concurrency) 여러사용자가데이터베이스를동시공유할수있도록여러개의트랜잭션을동시에수행하는것을의미 여러트랜잭션들이차례로번갈아수행되는인터리빙 (interleaving) 방식으로진행됨 병행제어 (concurrency control) 또는동시성제어 병행수행시같은데이터에접근하여연산을실행해도문제가발생하지않고정확한수행결과를얻을수있도록트랜잭션의수행을제어하는것을의미

More information

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

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

사용자수준의스레드 : 사용자의라이브러리에의해운영, 속도는빠르나, 구현이복잡하다. 커널수준의스레드 : 운영체제커널에의해운영, 속도는느리나, 구현이단순하다. 스케줄링 (Scheduling) 1) 스케줄링의정의 프로세스가생성되어실행될때필요한시스템의여러자원을해당프로세스에게할당

사용자수준의스레드 : 사용자의라이브러리에의해운영, 속도는빠르나, 구현이복잡하다. 커널수준의스레드 : 운영체제커널에의해운영, 속도는느리나, 구현이단순하다. 스케줄링 (Scheduling) 1) 스케줄링의정의 프로세스가생성되어실행될때필요한시스템의여러자원을해당프로세스에게할당 프로세스 (Process) 1) 프로세스의개념 프로세서에의해처리되어지는사용자프로그램및시스템프로그램을의미한다. 현재실행중인프로그램이며 Job(=Task) 이라고도한다. PCB를가지는프로그램으로비동기적인행위를일으키는주체이며실제주기억장치에저장된프로그램이다. 운영체제가관리하는실행단위이며프로시저 ( 프로그램내의하위프로그램 ) 가활동중인것을의미한다. 2) 프로세스의상태전이과정

More information

CompareAndSet(CAS) 함수는 address 주소의값이 oldvalue 인지비교해서같으면 newvalue 로 바꾼다. 소프트웨어 lock 을사용하는것이아니고, 하드웨어에서제공하는기능이므로더빠르고 간편하다. X86 에서는 _InterlockedCompareEx

CompareAndSet(CAS) 함수는 address 주소의값이 oldvalue 인지비교해서같으면 newvalue 로 바꾼다. 소프트웨어 lock 을사용하는것이아니고, 하드웨어에서제공하는기능이므로더빠르고 간편하다. X86 에서는 _InterlockedCompareEx NON-BLOCKING ALGORITHM Homepage: https://sites.google.com/site/doc4code/ Email: goldpotion@outlook.com 2011/10/23 멀티쓰레드환경에서알아두면유용한자료구조에대해소개해본다. HARDWARE PRIMITIVE 효율적인구현을위해, Hardware 에서제공하는기능을이용해야한다. 자주쓰는기능에대해

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

<4D F736F F F696E74202D C465F4B6F F6E662DB8AEB4AABDBABFA1BCADC0C7BDC7BDC3B0A3C1F6BFF8>

<4D F736F F F696E74202D C465F4B6F F6E662DB8AEB4AABDBABFA1BCADC0C7BDC7BDC3B0A3C1F6BFF8> Korea Tech Conference 2005 년 5 월 14 일, 서울 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 1 리눅스에서의실시간지원 정영준 / 임용관 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 2 1. 개요 2. 스케줄러 목차 I. 고정스케줄링시간지원

More information

03_queue

03_queue Queue Data Structures and Algorithms 목차 큐의이해와 ADT 정의 큐의배열기반구현 큐의연결리스트기반구현 큐의활용 덱 (Deque) 의이해와구현 Data Structures and Algorithms 2 큐의이해와 ADT 정의 Data Structures and Algorithms 3 큐 (Stack) 의이해와 ADT 정의 큐는 LIFO(Last-in,

More information

Operating System Lab 2

Operating System Lab 2 2019 Operating System Lab 2 LAB 2 SYNCHRONIZATION CHOI GUNHEE, CHOI JONG MOO [ Lab 2 Synchronization ] 운영체제수업을통해 Race Condition 의위험성및 Synchronization 의필요성에대해숙지하였다. 이를바탕으로본과제에서는 pthread 기반 mutex 를활용해 Race

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

Chapter 4. LISTS

Chapter 4. LISTS 6. 동치관계 (Equivalence Relations) 동치관계 reflexive, symmetric, transitive 성질을만족 "equal to"(=) 관계는동치관계임. x = x x = y 이면 y = x x = y 이고 y = z 이면 x = z 동치관계를이용하여집합 S 를 동치클래스 로분할 동일한클래스내의원소 x, y 에대해서는 x y 관계성립

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

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

<4D F736F F F696E74202D20BBE7BABB202D204F DC7C1B7CEBCBCBDBA20BDBAC4C9C1D9B8B528BAF1BCB1C1A12CBCB1C1A1292E707074>

<4D F736F F F696E74202D20BBE7BABB202D204F DC7C1B7CEBCBCBDBA20BDBAC4C9C1D9B8B528BAF1BCB1C1A12CBCB1C1A1292E707074> . 프로세스스케줄링 (= CPU 스케줄링 ) [ 출제빈도 상 ] - 정의 : 컴퓨터시스템의성능을높이기위해그사용순서를결정하기위한정책 - 목적 ( 성능평가 ) : 처리율증가, CPU 이용률증가, 우선순위제도, 오버헤드 ( 부하 ) 최소화, 응답시간 / 반환시간 / 최소화, 균형있는자원의사용, 무한연기회피. 프로세스스케줄링기법 ) 비선점스케줄링 (Non Preemptive)

More information

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. 오늘할것 5 6 HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. Review: 5-2 7 7 17 5 4 3 4 OR 0 2 1 2 ~20 ~40 ~60 ~80 ~100 M 언어 e ::= const constant

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

7 프로시저가활동중인것 8 실행중인프로시저의제어궤적 9 CPU가할당되는실체 운영체제가관리하는최소단위작업 (2) 프로세스상태전이도 (3) 주요프로세스상태 1 준비 (Read) 상태 : 실행하기위해준비하고있는상태 2 실행 (Run) 상태 :

7 프로시저가활동중인것 8 실행중인프로시저의제어궤적 9 CPU가할당되는실체 운영체제가관리하는최소단위작업 (2) 프로세스상태전이도 (3) 주요프로세스상태 1 준비 (Read) 상태 : 실행하기위해준비하고있는상태 2 실행 (Run) 상태 : 3 신뢰도 (Reliability) 작업의결과를얼마나정확하고믿을수있는가의요인 4 이용가능도 (Availability) 시스템의전체운영시간중에서실제가동하여사용중인시간의비율 ( 오류없이작동된시간의비율 ) (2) 다중프로그래밍에서의시간 (Time) 대기시간 기다림 A 작업 B 작업 A 작업 B 작업 A 작업 요청시간응답시간실행시간 반환시간 1 응답시간 (Response

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

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

Microsoft PowerPoint - hw8.ppt [호환 모드] 8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

Microsoft Word - ExecutionStack

Microsoft Word - ExecutionStack Lecture 15: LM code from high level language /* Simple Program */ external int get_int(); external void put_int(); int sum; clear_sum() { sum=0; int step=2; main() { register int i; static int count; clear_sum();

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

Chap 6: Graphs

Chap 6: Graphs 그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]

More information

Microsoft PowerPoint - o4.pptx

Microsoft PowerPoint - o4.pptx 목표 쓰레드 (thread) 개념소개 Thread API Multithreaded 프로그래밍관련이슈 4 장. 쓰레드 2 4.1 개요 쓰레드 쓰레드 (Thread ) CPU 이용의기본실행단위 단일쓰레드 (Single threaded) Processes 전통적인프로세스 한개의실행단위로구성 다중쓰레드 (Multithreaded) Process 여러개의실행쓰레드를갖는프로세스

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 공개 SW 솔루션설치 & 활용가이드 시스템 SW > 가상화 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리 - 3-1.

More information

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770>

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770> 국 가 공 인 자 격 검 정 2010년 9월 11일 시행 무 단 전 재 금 함 대 한 상 공 회 의 소 수험번호 제한 80분 형별 다음 문제를 읽고 알맞은 것을 골라 답안카드의 답란 (①, ②, ③, ④)에 표기하시오. 성 명 7. 다음 중 기억장치의 단편화에 대한 설명으로 옳은 1. 다음 중 운영체제에 대한 설명으로 옳지 않은 8. 다음 중 상주모니터 기법의

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

ESP1ºÎ-04

ESP1ºÎ-04 Chapter 04 4.1..,..,.,.,.,. RTOS(Real-Time Operating System)., RTOS.. VxWorks(www.windriver.com), psos(www.windriver.com), VRTX(www.mento. com), QNX(www.qnx.com), OSE(www.ose.com), Nucleus(www.atinudclus.

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

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

Observational Determinism for Concurrent Program Security

Observational Determinism for  Concurrent Program Security 웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구

More information

chap01_time_complexity.key

chap01_time_complexity.key 1 : (resource),,, 2 (time complexity),,, (worst-case analysis) (average-case analysis) 3 (Asymptotic) n growth rate Θ-, Ο- ( ) 4 : n data, n/2. int sample( int data[], int n ) { int k = n/2 ; return data[k]

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

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

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

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

2002년 2학기 자료구조

2002년 2학기 자료구조 자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

슬라이드 1

슬라이드 1 CHAP 6: 큐 yicho@gachon.ac.kr 1 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 2 큐 ADT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

More information

Microsoft PowerPoint - Introduction.pptx

Microsoft PowerPoint - Introduction.pptx Introduction to Embedded Linux 임베디드시스템 정의 어떤특정한기능을위해 Microprocessor/Microcontroller 가내장된시스템 특징 제한된하드웨어자원 ( 최소한의필요한자원 ) Processor, RAM, Flash memory, interfaces 경량의 OS 및 Real-Time OS 사용 WinCE, Vxworks,

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

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

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

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

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

< 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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

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

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

슬라이드 1

슬라이드 1 CHP 6: 큐 C 로쉽게풀어쓴자료구조 생능출판사 2005 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 큐 DT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

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

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

리눅스 프로세스 관리

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

More information

untitled

untitled 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

gisa_pil_070304_pdf.hwp

gisa_pil_070304_pdf.hwp 국가기술자격검정 필기시험문제 2007년 기사 제1회 필기시험 수험번호 성명 자격종목 및 등급(선택분야) 정보처리기사 종목코드 1320 시험시간 2시간 30분 문제지형별 A 답안카드 작성시 시험문제지 형별누락, 마킹착오로 인한 불이익은 전적으로 수험자의 귀책사유임을 알려드립니다. 제 1 과목 : 데이터베이스 1. 트랜잭션의 특성 중 다음 설명에 해당하는 것은?

More information

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 SNU 4190.210 프로그래밍 원리 (Principles of Programming) Part III Prof. Kwangkeun Yi 차례 1 값중심 vs 물건중심프로그래밍 (applicative vs imperative programming) 2 프로그램의이해 : 환경과메모리 (environment & memory) 다음 1 값중심 vs 물건중심프로그래밍

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 A 반 T2 - 김우빈 (201011321) 임국현 (201011358) 박대규 (201011329) Robot Vacuum Cleaner 1 Motor Sensor RVC Control Cleaner Robot Vaccum Cleaner 2 / Event Format/ Type Front Sensor RVC 앞의장애물의유무를감지한다. True / False,

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - es-arduino-lecture-03 임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습

More information

슬라이드 1

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

More information

Microsoft PowerPoint - o5.pptx

Microsoft PowerPoint - o5.pptx 목표 5 장. CPU 스케줄링 multiprogramming 운영체제의기반인 CPU 스케줄링소개 다양한 CPU 스케줄링알고리즘 CPU 스케줄링알고리즘선택을위한평가기준 스케줄링알고리즘사례 1 2 5.1 기본개념 CPU-burst 시간의분포도 multiprogramming 의목적 CPU 이용률최대화 exponential ( e - x ) or hyperexponential

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

CPX-E-SYS_BES_C_ _ k1

CPX-E-SYS_BES_C_ _ k1 CPX-E 8727 27-7 [875294] CPX-E-SYS-KO CODESYS, PI PROFIBUS PROFINET (). :, 2 Festo CPX-E-SYS-KO 27-7 ... 5.... 5.2... 5.3... 5.4... 5.5... 5 2... 6 2.... 6 2..... 6 2..2 CPX-E... 7 2..3 CPX-E... 9 2..4...

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT KEY EVENT & STATE 구현 2007. 1. 25 PLATFORM TEAM 정용학 차례 Key Event HS TASK UI TASK LONG KEY STATE 구현 소스코드및실행화면 질의응답및토의 2 KEY EVENT - HS TASK hs_task keypad_scan_keypad hs_init keypad_pass_key_code keypad_init

More information

9

9 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

PowerPoint 프레젠테이션

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

More information

Microsoft PowerPoint - o5.pptx

Microsoft PowerPoint - o5.pptx 5 장. CPU 스케줄링 1 목표 multiprogramming 운영체제의기반인 CPU 스케줄링소개 다양한 CPU 스케줄링알고리즘 CPU 스케줄링알고리즘선택을위한평가기준 스케줄링알고리즘사례 2 5.1 기본개념 multiprogramming 의목적 CPU 이용률최대화 CPU-I/O Burst Cycle 프로세스실행은 CPU 실행과 I/O 대기의사이클로구성됨 CPU

More information

슬라이드 1

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

PL10

PL10 assert(p!=null); *p = 10; assert(0

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 23 장스레드 이번장에서학습할내용 스레드의개요 스레드의생성과실행 스레드상태 스레드의스케줄링 스레드간의조정 스레드는동시에여러개의프로그램을실행하는효과를냅니다. 멀티태스킹 멀티태스킹 (muli-tasking) 는여러개의애플리케이션을동시에실행하여서컴퓨터시스템의성능을높이기위한기법 스레드란? 다중스레딩 (multi-threading) 은하나의프로그램이동시에여러가지작업을할수있도록하는것

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

Microsoft PowerPoint - 08-chap06-Queue.ppt

Microsoft PowerPoint - 08-chap06-Queue.ppt / 큐 (QUEUE) Chapter 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 큐 Ticket ox Dongwon Jeong djeong@kunsan.ac.kr Department of Kunsan National University 전단 () 후단 () 학습목표 큐 DT 큐의개념및추상데이터타입에대한이해

More information

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte 스마트폰을 위한 A/V 신호처리기술 편집위원 : 김홍국 (광주과학기술원) 스마트폰에서의 영상처리를 위한 GPU 활용 박인규, 최호열 인하대학교 요 약 본 기고에서는 최근 스마트폰에서 요구되는 다양한 멀티미 디어 어플리케이션을 embedded GPU(Graphics Processing Unit)를 이용하여 고속 병렬처리하기 위한 GPGPU (General- Purpose

More information