Alternating Sequence of CPU And I/O Bursts 6.2

Size: px
Start display at page:

Download "Alternating Sequence of CPU And I/O Bursts 6.2"

Transcription

1 CPU 스케줄링 (CPU Scheduling) ~ 프로세스스케줄링» 장기 job scheduling» 단기 CPU scheduling» 중기 swapping 기본개념 (Basic Concepts) CPU-I/O 버스트주기 (burst cycle)» cycle : CPU 실행 (CPU burst) <--> I/O 대기 (I/O burst)» CPU burst 유형 I/O bound program : 많은짧은 CPU burst 가짐 CPU bound program : 적은아주긴 CPU burst 가짐 CPU 스케줄러» 단기스케줄러 (short-term scheduler) : ready queue에서선택 FIFO(First-In First-Out) 큐 우선순위큐 트리 연결리스트 6.1

2 Alternating Sequence of CPU And I/O Bursts 6.2

3 Histogram of CPU-burst Times 6.3

4 CPU 스케줄링 (CPU Scheduling) ~ 선점 / 비선점스케줄링 (Preemptive/Non-Preemptive Scheduling)» 선점 (preemptive) 스케줄링 특수하드웨어 (timer) 필요 공유데이터에대한프로세스동기화필요 Windows95~, MacxOS8(Power PC)~» 비선점 (non preemptive) 또는협조적 (cooperative) 스케줄링 MS-Windows, 특수하드웨어 (timer) 없음 종료또는 I/O까지계속 CPU점유 ~Windows 3.x, ~MacOS8 이전버전 Kernel 의선점처리» case 1( 초기 Unix) : system call 완료또는 I/O 완료할때까지기다렸다가문맥교환 è 실시간컴퓨팅이나멀티프로세싱에나쁨» case 2( 대부분의 Unix) : interrupt 중다른 interrupt enable( 우선순위에따라 ) 선점처리 è critical section( 공유데이터수정하는코드부분 ) 에있는동안 interrupt disable 해야함 CPU scheduling decision time 1. running -> waiting : non preemptive 2. running -> ready (interrupt) : preemptive 3. waiting -> ready (I/O 완료 ) : preemptive 4. halt : non preemptive 6.4

5 CPU 스케줄링 (CPU Scheduling) 분배기 (Dispatcher)» 문맥교환» 사용자모드로전환» 프로그램의적절한위치로점프하여프로그램재시작 (dispatch latency 가짧아야함 ) 스케줄링기준 (Scheduling Criteria) 이용률 (CPU utilization) : 40% ~ 90% 처리율 (throughput) : 처리된프로세스개수 / 시간단위 반환시간 (turnaround time) : system in -> system out 걸린시간 대기시간 (waiting time) : ready queue 에서기다린시간 응답시간 (response time) : 대화형시스템에서첫응답까지의시간 6.5

6 스케줄링알고리즘 (Scheduling Algorithm) 척도 : 평균대기시간 (average waiting time) 단일프로세서알고리즘 1. 선입선처리 (First-Come, First-Served) 스케줄링 2. 최소작업우선 (Shortest-Job-First) 스케줄링 3. 우선순위 (Priority) 스케줄링 4. 순환할당 (Round-Robin) 스케줄링 5. 다단계큐 (Multilevel Queue) 스케줄링 6. 다단계귀환큐 (Multilevel Feedback Queue) 스케줄링 다중프로세서스케줄링 (Multiple-Processor Scheduling) 실시간스케줄링» EDF (Earliest Deadline First)» Rate Monotonic» Rate Monotonic vs. EDF 실례» Java Thread Scheduling» Solaris 2 Scheduling» Thread Scheduling» Linux Scheduling 6.6

7 스케줄링알고리즘 (Scheduling Algorithm) 1. 선입선처리 (First-Come, First-Served) 스케줄링» 들어온순서대로» FIFO queue : First-in<- tail, First-out<- head» p 예 (Gantt chart), p191 예» 호위효과 (convoy effect) : 큰 job하나가끝나기를모두기다림 (CPU-bound process가끝나기를 I/O bounded process들이기다림 )» non-preemptive임 (time-sharing에서는곤란 ) 6.7

8 First-Come, First-Served (FCFS) Scheduling Example: Process Burst Time P 1 24 P 2 3 P 3 3 Suppose that the processes arrive in the order: P 1, P 2, P 3 The Gantt Chart for the schedule is: P 1 P 2 P Waiting time for P 1 = 0; P 2 = 24; P 3 = 27 Average waiting time: ( )/3 =

9 FCFS Scheduling (Cont.) Suppose that the processes arrive in the order P 2, P 3, P 1. The Gantt chart for the schedule is: P 2 P 3 P Waiting time for P 1 = 6; P 2 = 0 ; P 3 = 3 Average waiting time: ( )/3 = 3 Much better than previous case. Convoy effect short process behind long process 6.9

10 스케줄링알고리즘 (Scheduling Algorithm) 2. 최소작업우선 (Shortest-Job-First) 스케줄링» Shortest Next CPU Burst Scheduling» 다음 CPU burst 시간이가장짧은프로세스에게» 두가지스케줄링기법 non-preemptive SJF : p170 예, p191 예 preemptive SJF = Shortest Remaining Time First Scheduling : p172 예» 최적 (Optimal)» 단점 : 기아상태 (starvation)» long-term scheduling에좋음 ( 프로세스시간의사용자예측치이용 )» short-term scheduling 에는나쁨 : 차기 CPU burst 시간파악이어려워서» 차기 CPU 버스트시간예측모델» HRN(Highest-Response-ratio Next) 스케줄링 1971 Brinch Hansen SJF의단점보완 dynamic priority = (time waiting + service time) / (service time) 오래기다린프로세스는 time waiting이증가하므로 priority 커지고 short process일수록 priority 커짐 non-preemptive 였음 6.10

11 Example of Non-Preemptive SJF Process Arrival Time Burst Time P P P P SJF (non-preemptive) P 1 P 3 P 2 P Average waiting time = ( )/4 =

12 Example of Preemptive SJF Process Arrival Time Burst Time P P P P SJF (preemptive) P 1 P 2 P 3 P 2 P 4 P Average waiting time = ( )/4 =

13 Determining Length of Next CPU Burst CPU 버스트시간정확히알수는없지만예측가능 이전 CPU 버스트시간들의지수적평균 (exponential averaging) 으로예측 1. t n = actual lenght of n th CPU burst 2. t n+ + 1 = predicted value for the next CPU burst (Greek T : 3. a, 0 a 1 4. Define : t = a t + ( 1-a ) t. n+ 1 n n tau) 6.13

14 Examples of Exponential Averaging a =0» t n+1 = t n» 최근의실제 CPU 버스트시간은고려않음 a =1» t n+1 = t n» 마지막실제 CPU 버스트시간만고려 식을확장하면 : t n+1 = a t n + (1 - a) t n = a t n + (1 - a) (a t n-1 + (1 - a) t n-1 ) = a t n + (1 - a) a t n-1 + (1 - a) 2 t n-1 = a t n + (1 - a) a t n-1 + (1 - a) 2 (a t n-2 + (1 - a) t n-2 ) = a t n + (1 - a) a t n-1 + (1 - a) 2 a t n-2 + (1 - a) 3 t n-3 = a t n + (1 - a) a t n-1 + (1 - a) 2 a t n-2 + (1 - a) 3 a t n-3 +(1 - a ) j a t n-j + +(1 - a ) n+1 t 0 a 와 (1 - a) 이 1 보다작으므로, 후속되는각항목은이전항목보다가중값 (weight) 이더적어짐 6.14

15 Prediction of the Length of the Next CPU Burst 6.15

16 스케줄링알고리즘 (Scheduling Algorithm) ~ 3. 우선순위 (Priority) 스케줄링» 높은우선순위의프로세스에게» ready queue = priority queue -> heap구조가좋음» FCFS : equal-priority» SJF : p =1/T (T = 차기 CPU 버스트시간예측값 )» p173 예해보세요» priority요인 (OS내부) 시간제한 (time limits) 메모리요구량 오픈화일수 (average I/O burst)/(average CPU burst) 비율등» priority요인 (OS외부) 프로세스중요도 컴퓨터사용료형태와금액 작업부서 정치적요인등» preemptive 일수도 non-preemptive 일수도» 문제점 = 무한정지 (blocking) 또는기아상태 (starvation) CPU를영원히기다림 : 결국실행되거나 system crash 때사라지거나» ( 예 ) IBM 7094 at MIT 1973, 1967 job 해결 -> aging : wait 시간길어지면 priority 높여줌 6.16

17 스케줄링알고리즘 (Scheduling Algorithm) ~ 4. 순환할당 (Round-Robin) 스케줄링» FCFS + preemption (time slice 마다 )» ready queue = 원형 FIFO queue» preemptive 임» time sharing에서time quantum의크기가중요 1 time quantum > context switching time 80% CPU burst < 1 time quantum» p175, p191 예 6.17

18 Example: RR with Time Quantum = 20 Process Burst Time P 1 53 P 2 17 P 3 68 P 4 24 The Gantt chart is: P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P Typically, higher average turnaround than SJF, but better response. 6.18

19 How a Smaller Time Quantum Increases Context Switches 6.19

20 Turnaround Time Varies With The Time Quantum 6.20

21 스케줄링알고리즘 (Scheduling Algorithm) ~ 5. 다단계큐 (Multilevel Queue) 스케줄링» 각프로세스는우선순위가다른여러개의큐중하나에영원히할당 : p151 그림 5.6» 각 queue는자신의고유한 scheduling algorithm 가짐 foreground (interactive) queue : RR알고리즘 background (batch) queue : FCFS알고리즘» queue들사이의 scheduling : 고정우선순위선점스케줄링 (fixed priority preemptive scheduling)» 큐사이의 CPU time slice 할당예 80% for RR 20% for FCFS» 스케줄링부담적으나융통성이적음 6.21

22 Multilevel Queue Scheduling 6.22

23 스케줄링알고리즘 (Scheduling Algorithm) 6. 다단계귀환큐 (Multilevel Feedback Queue) 스케줄링» 프로세스가여러큐사이를이동 : 그림 6.7» 짧은프로세스 (I/O bound, interactive processes) 가우선» 긴프로세스는자꾸낮은큐로이동» aging( 오래기다리면우선순위높여기아상태예방 )» preemptive 임 ( 큐사이 )» the most sophisticated, the most complex» 가장일반적 -> 해당시스템에맞게설정해야 (configure) 큐의개수 각큐의스케줄링알고리즘 높은우선순위로올려주는시기 낮은우선순위로내려주는시기 어느큐에들어갈것인가 6.23

24 Multilevel Feedback Queues 6.24

25 Example of Multilevel Feedback Queue Three queues:» Q 0 time quantum 8 milliseconds» Q 1 time quantum 16 milliseconds» Q 2 FCFS Scheduling» FCFS queue Q 0 에새로들어온작업이 8 milliseconds 동안 CPU를받고도작업이끝나지않으면선점되어 queue Q 1 으로이동» Q 1 의작업은 FCFS 로 16 additional milliseconds 을받고그래도끝나지않으면선점되어 queue Q 2 로이동 6.25

26 초기 Unix 의프로세스스케줄링예 CPU=decay(CPU)=CPU/2 우선순위 = ( 최근의 CPU 사용량 )/2 + ( 기본수준사용자우선순위 60) Unix 시스템의최고우선순위는 0 ( 우선순위값이작을수록우선순위높음 ) 0 시간프로세스 A 프로세스 B 프로세스 C 우선순위 CPU계수우선순위 CPU계수우선순위 CPU계수

27 다중프로세서스케줄링 (Multiple-Processor Scheduling) 동종다중프로세서 (homogeneous multiprocessor)» 프로세서는큐에있는어떤프로세스 (any processes) 든실행» 부하공유 (load sharing) 별도준비큐 (separate ready queue): unfair 공동준비큐 (common ready queue): fair» 공동준비큐동종다중프로세서시스템 (common ready queue on homogeneous multiprocessor) 의스케줄링 대칭적스케줄링 (symmetric scheduling)» 각프로세서가스스로스케줄링 (self-scheduling)» 공유자료구조접근에대한세심한처리필요» 대부분의현대 OS가지원 : Windows XP, Windows 2000, Solaris, Linux, Max OS X 비대칭적스케줄링 (asymmetric scheduling): master/slave» 한프로세서 (master) 가다른프로세서 (slaves) 스케줄링» master만 kernel system data structure에접근가능 공유자료구조접근동기화필요없어처리가간단» Asymmetric Multiprocessing master server : all system activity client processors: user code only» 처리기친근성 (processor affinity): 한프로세서에서작업하면 cash hit-ratio 높아져효율적 연성친근성 (soft affinity): 친근노력하나프로세스이주 (process migration) 발생가능 경성친근성 (hard affinity): 절대친근보장 ( 예, Linux에서시스템호출로요청 )» 부하균형 (load balancing): 별도준비큐경우일부담의균등분배 push migration: 과부하프로세서가자신의프로세스를노는프로세서로이주시킴 pull migration: 노는프로세서가바쁜프로세서에서대기중인프로세스를끌어옴 이종다중프로세서 (heterogeneous multiprocessor)» 컴파일된프로세스들의기계어가실행하고자하는프로세서의기계어와동일한경우만실행가능» 14장참조 6.27

28 실시간스케줄링 (Real-Time Scheduling) hard real-time system» 보조기억장치나가상기억장치사용시스템에서는불가능» 특수 H/W 상에서수행되는특수 S/W 로구성됨 soft real-time system» 중요프로세스가우선 (general-purpose computer system 에서도가능 )» multimedia, high-speed interactive graphics 등 (soft real-time computing 이필요 ) soft real-time OS 기능의요구사항 1. 우선순위스케줄링을해야함 (must have priority scheduling) 실시간프로세스는최상위우선순위를유지해야함 2. 디스패치의지연시간이최소여야함 (the dispatch latency must be small) 대부분의 OS: context switching 하려면실행중인 system call 이완료되거나 I/O 를위해 block 되기를기다려야함 -> 해결 1 system call 을 preemptible 하게» 긴 system call 안에 preemption points( 더높은우선순위의프로세스가있나 check, 있으면 interrupt) 2 kernel 전체를 preemptible 하게» Kernel data 보호를위한 synchronization 필요» ( 예 ) Solaris 2: 우선순위역전 (priority inversion) 즉 kernel data 수정중일때는 control 을넘겨주지않음 (cf.) Mach: threads are nonpreemptible, threads are synchronous 6.28

29 실시간스케줄링 (Real-Time Scheduling) 우선순위역전 (priority inversion)» kernel data 수정중인우선순위가낮은프로세스가선점하려는우선순위프로세스에우선하여수행됨 우선순위상속프로토콜 (priority inheritance protocol)» kernel data 수정중인낮은우선순위의프로세스가선점하려는프로세스의높은우선순위를상속받음, 끝나면원래의값으로 갈등단계 (conflict phase) 의내용 : 그림 커널에서실행중인프로세스를선점 2. 자원회수 ( 우선순위낮은프로세스는우선순위높은프로세스가요구하는자원을놓아줌 ) ( 예 ) Solaris 2 dispatch latency nonpreemptible = 100 ms dispatch latency preemptible = 2 ms 6.29

30 Dispatch Latency 6.30

31 Rate Monotonic vs. EDF 6.31

32 Java Thread Scheduling JVM 은스케줄링할때» Preemptive, Priority-Based Scheduling Algorithm 이용» 우선순위같으면 FIFO Queue 이용 (RR algorithm) Time slicing» time-sliced: a thread runs until time quantum exit the Runnable state preempted» not time-sliced: a thread runs until exit the Runnable state preempted yield() method 로공평한수행 (time slicing 효과 )» cooperative multitasking 6.32

33 Time-Slicing JVM 스레드가 Time-Slicing 을지원하는지하지않는지에대해명시하지않음 ( 시스템마다다름 )» time-slicing 지원않는시스템에서는 the yield() Method 로 time-sharing while (true) { // perform CPU-intensive task... Thread.yield(); } This Yields Control to Another Thread of Equal Priority. 6.33

34 Java Thread Scheduling Thread priority» 최상위우선순위 thread가 Runnable thread로선택됨» Thread 생성시 defalut priority( 부모와같음 ) -> setpriority() 로수정 Thread.MIN_PRIORITY : 1 Thread.MAX_PRIORITY : 10 Thread.NORM_PRIORITY: 5 (default priority) setpriority(thread.norm_priority + 2); Java-Based Round-Robin Scheduler: thread with priority 6 ( 그림 6.11 참조 )» scheduler ss queue 에 addthread(): priority 2» 실행위해선택되면 : priority 4» 스케줄러는 1 time quantum 동안잠들고 CPU는 priority 4인 thread로» 1 time quantum 후잠에서깨어난스케줄러가 priority 4인 thread를선점 (preempt)» CircularList class에 queue가비었는지알아내는 isempty() 추가하고큐가비었을때는잠들었다가다시 queue 조사하게하여 busy-wait 방지 JVM이다음실행할 thread를스케줄하는시점 :» 현재수행중이던 thread가 Runnable State를빠져나갈때» 높은우선순위의 thread가 Runnable State로들어왔을때 * Note the JVM Does Not Specify Whether Threads are Time-Sliced or Not. 6.34

35 Round-Robin Scheduler public class Scheduler extends Thread { public Scheduler() { timeslice = DEFAULT_TIME_SLICE; queue = new CircilarList(); } public Scheduler(int quantum) { timeslice = quantum; queue = new CircilarList(); } public void addthread(thread t) { t.setpriority(2); queue.additem(t); } private void scheculersleep() { try { thread.sleep(timeslice); } catch (InterruotedException e) { }; } public void run() { Thread current; this.setpriority(6); while (true) { //get the next thread current = (Thread)queue.getNext(); if ((current!= null) && (current.isalive())) { current.setpriority(4); schedulersleep(); current.setpriority(2); } } } private CircularList queue; private int timeslice; private static final int DEFAULT_TIME_SLICE = 1000; } 6.35

36 TestThread class TestThread extends Thread { private String name; } public TestThread(String id) { name = id; this.setpriority(thread.norm_priority); } public void run() { /* * The thread does something **/ while (true) { for (int i = 0; i < ; i++) ; System.out.println("I am thread " + name); } } 6.36

37 TestScheduler public class TestScheduler { public static void main(string args[]) { Thread.currentThread().setPriority(Thread.MAX_PRIORITY); Scheduler CPUScheduler = new Scheduler(); CPUScheduler.start(); TestThread t1 = new TestThread("Thread 1"); t1.start(); CPUScheduler.addThread(t1); TestThread t2 = new TestThread("Thread 2"); t2.start(); CPUScheduler.addThread(t2); TestThread t3 = new TestThread("Thread 3"); t3.start(); CPUScheduler.addThread(t3); } } 6.37

38 Thread Scheduling 2 thread levels» User level: process local scheduling threads library 가사용가능한 LWP 에 thread 를할당 ( 실제로 CPU 차지했다는뜻아님 )» Kernel level: system global scheduling kernel 이다음실행할 kernel thread 를결정 (CPU 차지 ) pthread scheduling» process-contention scope(pcs): pthread library 가사용가능한 LWP 에 user-level thread 할당 (CPU 차지위한투쟁이한프로세스내에서일어남 ) PTHREAD_SCOPE_PROCESS many-to-many mapping» system-contention scope(scs): kernel 이 CPU 차지할 kernel thread 결정 PTHREAD_SCOPE_SYSTEM one-to-one mapping pthread IPC» pthread_attr_setscope(pthread_attr-t *attr, int scope)» pthread_attr_getscope(pthread_attr-t *attr, int *scope) 스레드매핑모델별적용» many-to-many 또는 many-to-one: PCS & SCS» one-to-one: SCS 만사용 6.38

39 Pthread Scheduling API #include <pthread.h> #include <stdio.h> #define NUM_THREADS 5 void *runner(void *param); int main(int argc, char* argv[]) { int i, scope; pthread_t tid[num_threads]; pthread_attr_t attr; /* get the default attributes */ pthread_attr_init(&attr); /* first inquire on the current scope */ if(pthread_attr_getscope(&attr, &scope)!= 0) fprintf(stderr, "Unable to get scheduling scope\n"); else { if(scope == PTHREAD_SCOPE_PROCESS) printf("pthread_scope_process\n"); else if(scope == PTHREAD_SCOPE_SYSTEM) printf("pthread_scope_system\n"); else fprintf(stderr, "Illegal scope value.\n"); } /* set the scheduling algorithm to PCS or SCS */ pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM);s /* create the threads */ for(i = 0; i < NUM_THREADS; i++) pthread_create(&tid[i], &attr, runner, NULL); } /* now join on each thread */ for(i = 0; i < NUM_THREADS; i++) pthread_join(tid[i], NULL); } /* Each thread will begin control in this function */ void *runner(void *param) { /* do some work... */ printf("i am the thread %d\n", *(int*)param); pthread_exit(0); 6.39

40 Solaris 2 Scheduling Solaris 2 Scheduling» priority-based process scheduling» 4 classes ( 그림 6.9 참조 ) real time: 최상위우선순위 system: 우선순위결정된후불변 interactive: multi-level feedback queue scheduling» windowing application에높은우선순위 time sharing: default class, multi-level feedback queue scheduling» the higher the priority, the smaller the time slice interactive processes» the lower the priority, the larger the time slice CPU-bound processes» Scheduler가 class-specific priorities를 global priorities로변환» 우선순위같을때는 round-robin» 수행중인 thread가멈추는경우 blocks time slice 완료 더높은우선순위의 thread가선점 (preempt) 6.40

41 Solaris 2 Scheduling 6.41

42 Solaris Dispatch Table for Interactive & Time-sharing threads 우선순위낮음 우선순위높음 Solaris & Windows XP: 높은우선순위프로세스에짧은 time quantum 할당 6.42

43 priority class Windows XP Priorities relative priority base priority=normal 32-level priority scheme» 0: memory management» 1~15: variable class» 16~31: real-time class 각우선순위마다하나의큐가짐 (a queue for each scheduling priority) idle thread: ready thread 없을때 dispatcher 가실행 보통 NORMAL_PRIORITY_CLASS, base priority=normal 1 time quantum 받은후우선순위낮아짐 good response times to interactive threads» priority boost( 인상 ): keybord I/O boost > disk I/O boost good performance for interactive processes» foreground process (currently selected): 3 배 time quantum 부여» background process (not selected) 6.43

44 Linux Scheduling (Linux kernel 2.5) kernel version 2.5 이후» SMP 지원향상 : processor affinity, load balancing» 공평몫스케줄링 (fair-share scheduling) 지원» interactive task 지원 Linux scheduler: preemptive, priority-based algorithm 2 priority ranges: 낮은값이높은우선순위» real-time: 0~99» nice: 100~140 긴 sleep time (interactive): nice value -5 짧은 sleep time (CPU-bound): nice value +5 높은우선순위프로세스에긴 time-quantum 할당 (Solaris, Windows XP 등대부분 OS와다름 ) 각프로세서는자신의 runqueue (active array, expired array) 유지» active: time quantum 남은프로세스» expired: time quantum 소진한프로세스 한번 time quantum 받은프로세스는 expired queue 로이동 active array 의모든프로세서의 time quantum 소진후두 array 교환 Two algorithms: time-sharing and real-time Time-sharing» Prioritized credit-based process with most credits is scheduled next» Credit subtracted when timer interrupt occurs» When credit = 0, another process chosen» When all processes have credit = 0, recrediting occurs Based on factors including priority and history Real-time» Soft real-time» static priority» Posix.1b compliant two classes FCFS and RR Highest priority process always runs first 6.44

45 The Relationship Between Priorities and Time-slice length 6.45

46 List of Tasks Indexed According to Priorities 6.46

47 알고리즘평가 (Algorithm Evaluation) 결정성모형화 (Deterministic Modeling)» 작업부하 (workload) 에따른성능비교 : p 예제참고 반환시간 대기시간등» CPU 버스트시간등많은정확한정보요구 큐잉모형 (Queueing Models)» CPU-I/O 버스트뿐아니라프로세스도착시간의분포도평가에고려해야» 도착율과서비스율알면이용율, 평균큐길이, 평균대기시간알수있음» Little의공식 : ( 평균큐길이 ) = ( 도착율 ) x ( 평균대기시간 )» 모든경우에적용가능하나근사치일뿐 모의실험 (Simulations)» 소프트웨어자료구조로 clock variable, system state variables 등표현하고통계» 사건분포는수학적 ( 균일, 지수, 포아송 ), 또는경험적으로정의» 사건생성순서정보제공위해 trace tapes 이용» 정확하나비용이많이듬 구현 (Implementation)» 가장정확하나비용많고사용자적응이문제» 가장융통성있는스케줄링알고리즘 (flexible scheduling algorithm) è tunable scheduling 시스템관리자가응용영역에따라스케줄러변수들을변경할수있음 몇몇 Unix 버전에서세밀한 tuning 가능 Yield() 나 setpriority() API 이용하여응용의동작예측가능하게함 6.47

48 Evaluation of CPU Schedulers by Simulation 6.48

Microsoft PowerPoint os5.ppt [호환 모드]

Microsoft PowerPoint os5.ppt [호환 모드] CPU스케줄링 (CPU Scheduling) 프로세스스케줄링» 장기 job scheduling» 단기 CPU scheduling» 중기 swapping 기본개념 (Basic Concepts) CPU-I/O 버스트주기 (burst cycle)» cycle : CPU 실행 (CPU burst) I/O 대기 (I/O burst)» CPU burst 유형

More information

Module 6: CPU Scheduling

Module 6:  CPU Scheduling Chapter 5: CPU Scheduling Operating System Concepts 8 th Edition, Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009 Chapter 5: Process Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms

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 - 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

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

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

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

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770> 2.4 스케줄링 (1) 스케줄링의개요스케줄링은프로세스가생성되어실행될때필요한시스템의여러자원을해당프로세스에할당하는작업을의미 1) 작업스케줄링 (Job Scheduling) 1 어떤프로세스가시스템의자원을차지할수있는지를결정하여준비상태큐로보내는작업을의미 2 작업스케줄러 (Job Scheduler) 에의해수행 2) 프로세서스케줄링 (Processor Scheduling)

More information

<4D F736F F F696E74202D20BBE7BABB202D204F DC7C1B7CEBCBCBDBA20BDBAC4C9C1D9B8B528BAF1BCB1C1A12CBCB1C1A1292E707074>

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

More information

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

운영체제

운영체제 2017 운영체제 CHAPTER 02 프로세스와스레드관리 SEOKRAE KIM 내용 I. 프로세스와스레드관리... 1 1. 개요... 1 1) 중앙처리장치 (CPU)... 1 2) 중앙처리장치스케줄링... 1 2. 프로세스관리... 1 1) 프로세스의정의... 1 3. 프로세스구성요소... 2 4. 프로세스의상태... 2 1) 실행상태 (running)...

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

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

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

Microsoft PowerPoint os5.ppt

Microsoft PowerPoint os5.ppt 5 장스레드 (Threads) 프로세스 = 자원 + PC 스레드 : 새 PC (a thread of control) 로같은 address space 를실행하는 fork 와유사 스레드 (Threads) 개요 ~ 경량프로세스 (LWP; lightweight process) = 스레드» CPU 를이용하는기본단위» thread ID, PC, 레지스터세트, 스택영역을가짐»

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

Microsoft PowerPoint os5.ppt [호환 모드]

Microsoft PowerPoint os5.ppt [호환 모드] 5 장스레드 (Threads) 프로세스 = 자원 + PC 스레드 : 새 PC (a thread of control) 로같은 address space 를실행하는 fork 와유사 스레드 (Threads) 개요 경량프로세스 (LWP; lightweight process) = 스레드» CPU 를이용하는기본단위» thread ID, PC, 레지스터세트, 스택영역을가짐»

More information

학습목표 ü 01_ 소개 ü 02_ 스케줄링수준 ü 03_ 선점형 / 비선점형스케줄링 ü 04_ 우선순위 ü 05_ 스케줄링목적 ü 06_ 스케줄링기준 ü 07_ 스케줄링알고리즘 ü 08_ 데드라인스케줄링 ü 09_ 실시간스케줄링 ü 10_ 자바스레드스케줄링 2/23

학습목표 ü 01_ 소개 ü 02_ 스케줄링수준 ü 03_ 선점형 / 비선점형스케줄링 ü 04_ 우선순위 ü 05_ 스케줄링목적 ü 06_ 스케줄링기준 ü 07_ 스케줄링알고리즘 ü 08_ 데드라인스케줄링 ü 09_ 실시간스케줄링 ü 10_ 자바스레드스케줄링 2/23 Ch08_ 프로세서스케줄링 운영체제론 학습목표 ü 01_ 소개 ü 02_ 스케줄링수준 ü 03_ 선점형 / 비선점형스케줄링 ü 04_ 우선순위 ü 05_ 스케줄링목적 ü 06_ 스케줄링기준 ü 07_ 스케줄링알고리즘 ü 08_ 데드라인스케줄링 ü 09_ 실시간스케줄링 ü 10_ 자바스레드스케줄링 2/23 01_ 소개 o 프로세서스케줄링정책 주어진시간에시스템이실행할프로세스를선택하는작업

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

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

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

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

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

강의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

, ( ) 1) *.. I. (batch). (production planning). (downstream stage) (stockout).... (endangered). (utilization). *

, ( ) 1) *.. I. (batch). (production planning). (downstream stage) (stockout).... (endangered). (utilization). * , 40 12 (2006 6) 1) *.. I. (batch). (production planning). (downstream stage) (stockout).... (endangered). (utilization). * 40, 40 12 (EPQ; economic production quantity). (setup cost) (setup time) Bradley

More information

05(533-537) CPLV12-04.hwp

05(533-537) CPLV12-04.hwp 모바일 OS 환경의 사용자 반응성 향상 기법 533 모바일 OS 환경의 사용자 반응성 향상 기법 (Enhancing Interactivity in Mobile Operating Systems) 배선욱 김정한 (Sunwook Bae) 엄영익 (Young Ik Eom) (Junghan Kim) 요 약 사용자 반응성은 컴퓨팅 시스템에서 가장 중요 한 요소 중에 하나이고,

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 PowerPoint os4.ppt [호환 모드]

Microsoft PowerPoint os4.ppt [호환 모드] 4 장스레드 (Threads) 프로세스 = 자원 + PC 스레드 : 새 PC (a thread of control) 로같은 address space 를실행하는 fork 와유사 스레드 (Threads) 개요 경량프로세스 (LWP; lightweight process) = 스레드» CPU 를이용하는기본단위» thread ID, PC, 레지스터세트, 스택영역을가짐»

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

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

Microsoft PowerPoint - StallingsOS6e-Chap09.ppt [호환 모드] 9 장단일처리기스케줄링 9 장의강의목표 처리기스케줄링의유형을이해한다. 단일처리기시스템에서여러단기 - 스케줄링방식들의동작원리를이해한다. 단일처리기시스템에서여러단기 - 스케줄링방식들의장단점을이해한다. 제 9 장단일처리기스케줄링 2 목차 9.1 처리기스케줄링의유형 9.2 스케줄링알고리즘들 9.3 전통적인유닉스시스템에서의스케줄링 제 9 장단일처리기스케줄링 3 9.1

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

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

슬라이드 1

슬라이드 1 프로세스 (Process) (1) Chapter #5 Process 정의 Process 구조 Process Context Process Scheduling 강의목차 Unix System Programming 2 Program( 프로그램 ) Process 정의 (1) 기계어명령어와데이터를모아놓은실행파일 C 언어등프로그램언어로작성된소스파일을컴파일링하여생성 COFF(Common

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

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

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

<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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation

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

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사) Java Program Performance Tuning ( ) n (Primes0) static List primes(int n) { List primes = new ArrayList(n); outer: for (int candidate = 2; n > 0; candidate++) { Iterator iter = primes.iterator(); while

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

thesis

thesis CORBA TMN Surveillance System DPNM Lab, GSIT, POSTECH Email: mnd@postech.ac.kr Contents Motivation & Goal Related Work CORBA TMN Surveillance System Implementation Conclusion & Future Work 2 Motivation

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

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

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

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

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

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

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

NoSQL

NoSQL MongoDB Daum Communications NoSQL Using Java Java VM, GC Low Scalability Using C Write speed Auto Sharding High Scalability Using Erlang Read/Update MapReduce R/U MR Cassandra Good Very Good MongoDB Good

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

쉽게 풀어쓴 C 프로그래밍

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

More information

K7VT2_QIG_v3

K7VT2_QIG_v3 1......... 2 3..\ 4 5 [R] : Enter Raid setup utility 6 Press[A]keytocreateRAID RAID Type: JBOD RAID 0 RAID 1: 2 7 " RAID 0 Auto Create Manual Create: 2 RAID 0 Block Size: 16K 32K

More information

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

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

More information

Manufacturing6

Manufacturing6 σ6 Six Sigma, it makes Better & Competitive - - 200138 : KOREA SiGMA MANAGEMENT C G Page 2 Function Method Measurement ( / Input Input : Man / Machine Man Machine Machine Man / Measurement Man Measurement

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

JMF3_심빈구.PDF

JMF3_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:

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

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1 : LabVIEW Control Design, Simulation, & System Identification LabVIEW Control Design Toolkit, Simulation Module, System Identification Toolkit 2 (RLC Spring-Mass-Damper) Control Design toolkit LabVIEW

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

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

Microsoft PowerPoint OS-Thread

Microsoft PowerPoint OS-Thread 4 장. 스레드 (Thread) 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 강의목표및내용 목표 다중스레드컴퓨터시스템의기초를이루는 CPU 이용의기본단위인스레드를소개 Pthreads API 및 Win32 와 Java 스레드라이브러리소개 내용 개요 다중코어프로그래밍 다중스레드모델 스레드라이브러리 암묵적스레드 스레드관련문제들 사례 순천향대학교컴퓨터공학과

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

61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&

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

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770> 327 Journal of The Korea Institute of Information Security & Cryptology ISSN 1598-3986(Print) VOL.24, NO.2, Apr. 2014 ISSN 2288-2715(Online) http://dx.doi.org/10.13089/jkiisc.2014.24.2.327 개인정보 DB 암호화

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

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

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

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

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

03.Agile.key

03.Agile.key CSE4006 Software Engineering Agile Development Scott Uk-Jin Lee Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2018 Background of Agile SW Development

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

18차시.ppt

18차시.ppt [ 정보처리기능사필기] 3 과목 - PC운영체제 1 / 13 정보처리기능사 ( 필기 ) 3 과목. PC 운영체제운영체제의개요 1. 운영체제 (OS; Operating System) 의정의 운영체제의정의 - 사용자가하드웨어장치를직접조작하지않아도원하는작업을수행할수있도록도와주는프로그램 - 한정된컴퓨터시스템자원을보다효율적으로관리, 운영함으로써사용자들에게편의를제공하는시스템프로그램

More information

Microsoft PowerPoint - StallingsOS6e-Chap04.pptx

Microsoft PowerPoint - StallingsOS6e-Chap04.pptx 제 4 장. 쓰레드, SMP, 그리고마이크로커널 4 장의강의목표 쓰레드 (thread) 의개념을이해하고, 프로세스와의차이점를구별한다. 쓰레드의장단점을이해한다. 사용자수준쓰레드와커널수준쓰레드의개념을이해한다. 대칭적다중처리 (SMP) 에대해서이해한다. 마이크로커널의개념과장단점을이해한다. Windows, Solaris, Linux 의쓰레드관리및 SMP 관리기법을이해한다.

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

BSC Discussion 1

BSC Discussion 1 Copyright 2006 by Human Consulting Group INC. All Rights Reserved. No Part of This Publication May Be Reproduced, Stored in a Retrieval System, or Transmitted in Any Form or by Any Means Electronic, Mechanical,

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

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

¹Ìµå¹Ì3Â÷Àμâ

¹Ìµå¹Ì3Â÷Àμâ MIDME LOGISTICS Trusted Solutions for 02 CEO MESSAGE MIDME LOGISTICS CO., LTD. 01 Ceo Message We, MIDME LOGISTICS CO., LTD. has established to create aduance logistics service. Try to give confidence to

More information

vm-웨어-앞부속

vm-웨어-앞부속 VMware vsphere 4 This document was created using the official VMware icon and diagram library. Copyright 2009 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

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

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

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

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

ARMBOOT 1

ARMBOOT 1 100% 2003222 : : : () PGPnet 1 (Sniffer) 1, 2,,, (Sniffer), (Sniffer),, (Expert) 3, (Dashboard), (Host Table), (Matrix), (ART, Application Response Time), (History), (Protocol Distribution), 1 (Select

More information

인켈(국문)pdf.pdf

인켈(국문)pdf.pdf M F - 2 5 0 Portable Digital Music Player FM PRESET STEREOMONO FM FM FM FM EQ PC Install Disc MP3/FM Program U S B P C Firmware Upgrade General Repeat Mode FM Band Sleep Time Power Off Time Resume Load

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

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

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

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

User's Guide Manual

User's Guide Manual 1. 롯데 통합구매 시스템 사용자 매뉴얼 (공급사용) 2006.01-1 - 문서 이력(Revision History) Date Version Description Author(s) 2006/01 V1.0 사용자 매뉴얼 - 공급사용 롯데CFD 주) 이 사용자 안내서의 내용과 롯데 통합구매 시스템은 저작권법과 컴퓨터 프로그램 보호법으로 보호 받고 있으며, 롯데CFD의

More information

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

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드] 전자회로 Ch3 iode Models and Circuits 김영석 충북대학교전자정보대학 2012.3.1 Email: kimys@cbu.ac.kr k Ch3-1 Ch3 iode Models and Circuits 3.1 Ideal iode 3.2 PN Junction as a iode 3.4 Large Signal and Small-Signal Operation

More information