Module 6: CPU Scheduling

Size: px
Start display at page:

Download "Module 6: CPU Scheduling"

Transcription

1 Chapter 5: CPU Scheduling Operating System Concepts 8 th Edition, Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

2 Chapter 5: Process Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation 2/50

3 Objectives 멀티프로그래밍 OS 의기본이되는 process scheduling 의개념 각종 process-scheduling algorithm 이상적인알고리즘은? process-scheduling algorithm 을선전하기위한평가방법 3/50

4 Basic Concepts 프로세스스케줄링 장기 job scheduling, 단기 CPU scheduling, 중기 swapping CPU-I/O 버스트주기 (burst cycle)» cycle : CPU 실행 (CPU burst) I/O 대기 (I/O burst)» CPU burst 유형 CPU 스케줄러 I/O bound program : 많은짧은 CPU burst 가짐 CPU bound program : 적은아주긴 CPU burst 가짐» 단기스케줄러 (short-term scheduler) : ready queue 에서선택 FIFO(First-In First-Out) 큐 우선순위큐, 트리, 연결리스트 Burst CPU Burst : Time it takes for the CPU to execute an operation I/O Burst : Time it takes for the CPU to wait for I/O task Goal of processor scheduling : Maximum CPU utilization obtained with multiprogramming 4/50

5 CPU burst vs. IO burst (a) A CPU-bound process (b) An I/O-bound process 5/50 5

6 Alternating Sequence of CPU And I/O Bursts 6/50

7 Histogram of CPU-burst Times 7/50

8 CPU 스케줄링 (CPU Scheduling) CPU scheduling란대기중인프로세스들ㄷ중에서하나를선택하고 CPU를할당하는절차 선점 / 비선점스케줄링 (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 8/50

9 CPU 스케줄링 (CPU Scheduling) 분배기 (Dispatcher) : 단기스케줄러가선택한프로세스에서 CPU 의제어을넘기고다음의작업을담당한다. 문맥교환 사용자모드로전환 프로그램의적절한위치로점프하여프로그램재시작 dispatch latency( 분배기가한프로세스를종료시키고다음프로세스를실행시킬때까지의시간 ) 가짧아야함 Scheduling Criteria 이용률 (CPU utilization) : 40% ~ 90% 처리율 (throughput) : 처리된프로세스개수 / 시갂단위 반환시갂 (turnaround time) : 프로세스가 system in system out 걸린시갂 대기시갂 (waiting time) : ready queue 에서기다린시갂 응답시갂 (response time) : 대화형시스템에서첫응답까지의시갂 9/50

10 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) 스케줄링 스레드스케줄링 (Thread scheduling) 다중프로세서스케줄링 (Multiple-Processor Scheduling) 실시간스케줄링 EDF (Earliest Deadline First) Rate Monotonic Rate Monotonic vs. EDF 실례 : Solaris 2 Scheduling, Windows XP Scheduling, Linux Scheduling 10/50

11 Scheduling Algorithm 1. 선입선처리 (First-Come, First-Served) 스케줄링 들어온순서대로처리, e.g. supermarket, bank tellers, McDonalds, etc FIFO queue : First-in tail, First-out head 호위효과 (convoy effect) : 큰 job 하나가끝나기를모두기다림 (CPUbound process 가끝나기를 I/O bounded process 들이기다림 ) non-preemptive 임 (time-sharing 에서는곤란 ) Jobs are treated equally: no starvation 11/50

12 예 )First-Come, First-Served (FCFS) Scheduling 예 1 FCFS: Process Burst Time P 1 24 P 2 3 P 3 3 프로세스들이 P 1, P 2, P 3 순으로도착한다면스케줄을위한트차트 (Gantt Chart): P 1 P 2 P 대기시간 (Waiting time) for P 1 = 0; P 2 = 24; P 3 = 27 평균대기시간 (Average waiting time): ( )/3 = 17 12/50

13 FCFS Scheduling (Cont) 예 2) 프로세스도착순서가 P 2, P 3, P 1 이면 스케줄을위한간트차트 (Gantt chart) 는 : 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 13/50

14 Scheduling Algorithm 2. 최소작업우선 (Shortest-Job-First) 스케줄링 Shortest Next CPU Burst Scheduling 다음 CPU burst 시간이가장짧은프로세스를먼저실행시킨다. 두가지스케줄링기법 non-preemptive SJF preemptive SJF = Shortest Remaining Time First Scheduling 최적 (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 였음 14/50

15 비선점형 SJF(Example of Non-Preemptive SJF) 예 NP-SJF Process Arrival Time Burst Time P P P P SJF (non-preemptive) Average waiting time = ( )/4 = 4 P1 0=0-0 P2:8-2.0=6 P3:7-4.0=3 P4:12-5.0=7 0: P1(7) =>P1(7) p1(7) ~ 7:P2(4),P3(1),P4(4) => P3(1) p3(1) ~ 8: P2(4),P4(4) =>P2(4) p2(4) ~ 12:P4(4)=>P4(4) p4(4) ~ /50

16 선점형 SJF(Example of Preemptive SJF) 예 P SJF Process Arrival Time Burst Time P P P P SJF (preemptive) (= SRTF) Average waiting time = ( )/4 = 3 P1: =9 P2: =1 P3=4-4.0=0 P4:7-5=2 0 : P1(7) =P1(7) P1(7) ~ 2.0 p2(4) : P1(5), p2(4) => p2(4) P2(4) ~ 4.0 p3(1) : p1(5), p2(2), p3(1) => p3(1) P3(1) ~ 5.0 p4(4) : p1(5),p2(2), p4(4) =>P2(2) P2(2) ~ 7.0 : p1(5),p4(4) =>P4(4) p4(4) ~ 11.0 : P1(5) =>P1(5) p1(5) ~ 16.0 : 16/50

17 ( 예 ) SJF 스케줄링 연습문제 non-preemptive / preemptive SJF Process Burst Time P 1 24 P 2 3 P 3 2 프로세스들이 P 1, P 2, P 3 순으로도착한다면스케줄을위한간트차트 (Gantt Chart)? 0 대기시간 (Waiting time) for P 1 = ; P 2 = ; P 3 = 평균대기시간 (Average waiting time): ( + + )/3 = 17/50

18 Determining Length of Next CPU Burst 다음의 CPU burst 시간을예측 이전 CPU 버스트시간들의지수적편균 (exponential averaging) 으로예측가능 th 1. t n actual length of n CPU burst 2. n 1 predicted value for the next CPU burst 3., Define : n 1 tn n 1. 18/50

19 Prediction of the Length of the Next CPU Burst 10, 0.5, t 0 t t 1 t *6 0.5* *4 0.5* *6 0.5*6 6 19/

20 Scheduling Algorithm 3. 우선순위 (priority) 스케줄링 높은우선순위의프로세스를먼저 ready queue : priority queue FCFS : equal priority(non-priority) SJF : priority : Preemptive,nonpreemptive proirity 에영향을미치는 OS 내부요인 시간제한 (time limit), 메모리요구량, 오픈화일수,(average I/O burst)/(average CPU burst) 비율등 proirity 에영향을미치는 OS 외부요인 프로세스의중요도, 컴퓨터사용료형태와금액, 작업부서, 정치적요인등 무한정지 (blocking) 또는기아상태 (starvation) Aging : 재기시간이길어지면우선순위를높여준다. P184 예제 20/50

21 Priority Scheduling Abstractly modeled as multiple priority queues Put ready job on Queue associated with its priority 21/50

22 Scheduling Algorithm 4. 순환할당 (Round Robin,RR) 스케줄링 FCFS +preemptive scheduling circular ready queue (FIFO) time quantum : 프로세스가 cpu 를사용하느시간보통 milliseconds. Performance quantum -> : FIFO quantum -> 0 : processor sharing If small, then context switches are frequent incurring high overhead (CPU utilization drops) If large, then response time drops A rule of thumb: 80% of the CPU bursts should be shorter than the time quantum 22/50

23 Example of RR with Time Quantum = 4 Process Burst Time P 1 24 P 2 3 P 3 3 The Gantt chart is: 평균대기시간 (average waiting time): (?+?+?) / 3 =? 평균반환시간 (average turnaround) : ( ) / 3 = 15.6 일반적으로 SJF보다평균반환시간 (average turnaround) 은길지만 응답시간 (response time) 은짧다. queue : p1(24),p2(3),p3(3) 0 : p1(24) : p2(3),p3(3) timer 4:p2(3) : p3(3),p1(20) release 7 : p3(3) : p1(20), release 10:p1(20) : timer 14:p1(16): timer 18:p1(12): timer 22:p1(8): timer 26:p1(4): timer 30: * lease :non-preempted, timer : preempted P 1 P 2 P 3 P 1 P 1 P 1 P 1 P 1 23/50

24 ( 예 ) RR with Time Quantum = 20 예 ) RR 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 평균대기시간 (average waiting time) = (? +? +? +? )/4 =? 평균반환시간 ( average turnaround) = (? +? +? +? )/4 =? 24/50

25 Time Quantum and Context Switch Time 25/50

26 Turnaround Time Varies With The Time Quantum At Q2=5, turnaround time=?+?+?+?= /50

27 Scheduling Algorithm 5. 다단계큐 (Multilevel Queue) 스케줄링 각프로세스는우선순위가다른여러개의큐중하나에영원히할당 ( 그림 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 스케줄링부담적으나융통성이적음 27/50

28 Multilevel Queue Scheduling(Fig.5.6) 28/50

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

30 Scheduling Algorithm Three queues: Q0 time quantum 8 milliseconds Q1 time quantum 16 milliseconds Q2 FCFS Scheduling FCFS queue Q0 에새로들어온작업이 8 milliseconds 동안 CPU 를받고도작업이끝나지않으면선점되어 queue Q1 으로이동 Q1 의작업은 FCFS 로 16 additional milliseconds 을받고그래도끝나지않으면선점되어 queue Q2 로이동 30/50

31 2 스레드지원수준 User level: process local scheduling Thread 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 결정, CPU 차지위한투쟁이전체시스템에서일어남 (Linux, Mac OS 는시스템 - 경쟁 - 범위만지원 ) pthread IPC PTHREAD_SCOPE_SYSTEM one-to-one mapping 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 맊사용 (Linux, Windows XP, Solaris 9) 31/50

32 Pthread Scheduling API for POSIX #include <pthread.h> #include <stdio.h> #define NUM THREADS 5 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) printf(stderr, Unable to get scheduling scope\n ); else { if (scope == PTHREAD_SCOPE_PROCESS) pritnf( PTHREAD_SCOPE_PROCESS ); else if (scope == PTHREAD_SCOPE_SYSTEM) pritnf( PTHREAD_SCOPE_SYSTEM ); else printf(stderr, Illegal scope value.\n ); } } /* set the scheduling algorithm to PCS(PROCESS) or (SCS)SYSTEM */ pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); /* set the scheduling policy - FIFO, RT, or OTHER pthread_attr_setschedpolicy(&attr, SCHED OTHER); */ /* 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 a thread\n"); pthread exit(0); 32/50

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

34 다중프로세서스케줄링 (Multiple-Processor Scheduling) Symmetric multithreading(smt) Hyperthreading technology in Intel company OS offers logical processor to each thread 34/50

35 다중프로세서스케줄링 (Multiple-Processor Scheduling) SMP(Symmetric Multiprocessing) Architecture 35/50

36 다중프로세서스케줄링 (Multiple-Processor Scheduling) NUMA (Non-Uniform Memory Access and CPU Scheduling 같은보드에있는 CPU 의메모리접근시갂이더적은경우강한친화성 (affinity) 36/50

37 다중프로세서스케줄링 (Multiple-Processor Scheduling) 멀티코어프로세서 (Multicore Processors) 최근추세는하나의칩에다수의프로세서를위치시킴 빠르고파워소모적음 각코어가독자적으로다중스레드처리하는추세 멀티스레디드프로세서코어 (multithreaded processor cores) 메모리의데이터가사용가능할때까지상당한메모리지연 (memory stall) 시간이있음을발견, 하나의코어에 2 개이상의하드웨어스레드를할당하여메모리지연시간을최대한활용 Intel Itanium: dual-threaded dual-core system = 4 logical processors, urgency(0~7) hardware thread scheduling UltraSPARC T1 CPU: 8 cores * 4 hardware threads per core = 32 logical processors, simple RR hardware thread scheduling Memory stall (fig.5.10) Multithread multicore system(fig. 5.11) 37/50

38 다중프로세서스케줄링 (Multiple-Processor Scheduling) A Dual-Core Design 38/50

39 사례 운영체제사례 (Operating System Examples) Solaris scheduling,windows XP scheduling, Linux scheduling Solaris 2 scheduling 우선순위기반스레드스케줄링 (priority-based process scheduling) 6 classes (OSC version 8) (TS) 시분할 (time sharing): default class multi-level feedback queue scheduling 우선순위가높을수록, time slice(20ms) 작고, 우선순위가낮을수록 time slice(200ms) 큼 CPU-bound processes 우선순위낮아짐 sleep 에서복귀한스레드는높은우선순위 (IA) 대화형 (interactive) multi-level feedback queue scheduling windowing application 에높은우선순위 (RT) 실시간 (real time): 최상위우선순위 (SYS) 시스템 (system): 우선순위결정된후불변 (FSS) 공평공유 (fair share): CPU 공유량을기준으로스케줄 (FP) 고정우선순위 (fixed priority): 시분할스레드와같은우선순위이나고정 Scheduler 가 class-specific priorities 를 global priorities 로변환 우선순위같을때는 round-robin 수행중인 thread 가멈추는경우 blocks time slice 완료 더높은우선순위의 thread 가선점 (preempt) 39/50

40 Solaris 2 Scheduling 40/50

41 Solaris 2 Scheduling = 대화형과시분할스레드를위한 Solaris 디스패치테이블 (Solaris Dispatch Table for time-sharing and interactive threads) Low (ms) high Solaris & Windows XP: 높은우선순위프로세스에짧은 time quantum 할당 41/50

42 Windows XP Scheduling Windows XP Priorities priority class 불변 가변 가변가변가변 가변 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 받은후우선순위낮아짐 대화형스레드 (interactive threads ) 에좋은응답시갂 (response times) 제공» priority boost( 인상 ): keybord I/O boost > disk I/O boost» 스크린에서활성화된전위프로세스 (foreground process) 에게활성화되지않은후위프로세스 (background process) 보다 3 배많은 time quantum 부여 42/50

43 Windows Thread Scheduling Example(c#) Thread.Proity Property Example Namespace: System.Threading Assembly: mscorlib (in mscorlib.dll) System.Threading.ThreadPriority public enum ThreadPriority {Lowest,BelowNormal,Normal,AboveNoraml,Higest} Thread T = new Thread(new ThreadStart(p.method)); T.Priority = ThreaPriority.BelowNormal; T.Start(); 예제시나리오 쓰레드생성 T1 :Normal Priority, T2 : Below Normal Priority 두프로세스가동시에정수를세게하고 10 초후에정지시키고센수를점검하여 T1 의수가더큰지를점검한다. 즉 Thread Scheduling 에의하여우선순위가높은 Thread 가더많이 CPU 를사용을배정하여더셀수있었는지를검증 43/50

44 Windows Thread Scheduling Example(c#) static void Main() { PriorityTest p = new PriorityTest(); Thread T1=new ThreadStart(p.ThreadMethod); Thread T2=new ThreadStart(p.ThreadMethod); T1.Name= ThreaOne ; //T1 : Normal Prioty T2.Name= ThreadTwo; T2.Prioty = ThreaPrioty.BelowNormal; T1.Start(); T2.Start(); Thread.Sleep(10000); p.loopswitch.false; 실행결과 class P { bool loopswitch; public P() { loopswitch = true; } public bool LoopSwitch { set{ loopswitch = value; } } public void ThreadMethod() { long threadcount = 0; while(loopswitch) { threadcount++; } Console.WriteLine( "{0} with {1,11} priority has a count = {2,13}", Thread.CurrentThread.Name, Thread.CurrentThread.Priority.ToString(), threadcount.tostring("n0")); } } 44/50

45 Linux Scheduling (Linux kernel 2.5) Linux 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 tasks: 0~99 other tasks (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 교환 45/50

46 Linux Scheduling (Linux kernel 2.5) Priorities and Time-slice length Constant order O(1) scheduling time Two priority ranges: time-sharing and real-time Real-time range from 0 to 99 and nice value from 100 to /50

47 Linux Scheduling (Linux kernel 2.5) 우선순위에따라인덱스된태스크리스트 (List of Tasks Indexed According to Priorities) 47/50

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

49 알고리즘평가 (Algorithm Evaluation) Evaluation of CPU schedulers by Simulation 49/50

50 알고리즘평가 (Algorithm Evaluation) Deterministic modeling 예 (p205) Process : p1 p2 p3 p4 p5 Burst time(ms) : FCFS scheduling algorithm Averaging waiting time : ( )/5 = 28 ms SJF scheduling algorithm(p 205) Averaging waiting time : ( )/5=13 ms 50/50

51 알고리즘평가 (Algorithm Evaluation) Deterministic modeling 예 (p206) Process : p1 p2 p3 p4 p5 Burst time(ms) : RR at time quantum = 10ms Averaging waiting time : ( )/5 = 23 ms p1 : 0 p2 : =32 p3 : 20 p4 : 23 p5 : 30+10=40 51/50

52 End of Chapter 5 Operating System Concepts 8 th Edition, Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009

Alternating Sequence of CPU And I/O Bursts 6.2

Alternating Sequence of CPU And I/O Bursts 6.2 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

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

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

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

<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

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

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

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

운영체제

운영체제 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

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

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

학습목표 ü 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

제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 - o4.pptx

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

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

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

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

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

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

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

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

슬라이드 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

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

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

김기남_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

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

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

Integ

Integ HP Integrity HP Chipset Itanium 2(Processor 9100) HP Integrity HP, Itanium. HP Integrity Blade BL860c HP Integrity Blade BL870c HP Integrity rx2660 HP Integrity rx3600 HP Integrity rx6600 2 HP Integrity

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

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

, ( ) 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

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

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

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

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

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

슬라이드 1

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

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

SK IoT IoT SK IoT onem2m OIC IoT onem2m LG IoT SK IoT KAIST NCSoft Yo Studio tidev kr 5 SK IoT DMB SK IoT A M LG SDS 6 OS API 7 ios API API BaaS Backend as a Service IoT IoT ThingPlug SK IoT SK M2M M2M

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

vm-웨어-01장

vm-웨어-01장 Chapter 16 21 (Agenda). (Green),., 2010. IT IT. IT 2007 3.1% 2030 11.1%, IT 2007 1.1.% 2030 4.7%, 2020 4 IT. 1 IT, IT. (Virtualization),. 2009 /IT 2010 10 2. 6 2008. 1970 MIT IBM (Mainframe), x86 1. (http

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

슬라이드 1

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

More information

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (Use Case) Objectives 2 소개? (story) vs. 3 UC 와 UP 산출물과의관계 Sample UP Artifact Relationships Domain Model Business Modeling date... Sale 1 1..* Sales... LineItem... quantity Use-Case Model objects,

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

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

18차시.ppt

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

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

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

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

Microsoft PowerPoint OS-Thread

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

More information

Analyst Briefing

Analyst Briefing . Improve your Outlook on Email and File Management iseminar.. 1544(or 6677)-3355 800x600. iseminar Chat... Improve your Outlook on Email and File Management :, 2003 1 29.. Collaboration Suite - Key Messages

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

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

<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

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

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

Microsoft PowerPoint - StallingsOS6e-Chap04.pptx

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

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

15_3oracle

15_3oracle Principal Consultant Corporate Management Team ( Oracle HRMS ) Agenda 1. Oracle Overview 2. HR Transformation 3. Oracle HRMS Initiatives 4. Oracle HRMS Model 5. Oracle HRMS System 6. Business Benefit 7.

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

K&R2 Reference Manual 번역본

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

More information

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

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6 GNU/ 1, qkim@pecetrirekr GNU/ 1 1 2 2 3 4 31 MS-DOS 5 32 LOADLIN 5 33 DOS- LILO 6 34 DOS- 6 35 LILO 6 4 7 41 BIOS 7 42 8 43 8 44 8 45 9 46 9 47 2 9 5 X86 GNU/LINUX 10 1 GNU/, GNU/ 2, 3, 1 : V 11, 2001

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

C프로-3장c03逞풚

C프로-3장c03逞풚 C h a p t e r 03 C++ 3 1 9 4 3 break continue 2 110 if if else if else switch 1 if if if 3 1 1 if 2 2 3 if if 1 2 111 01 #include 02 using namespace std; 03 void main( ) 04 { 05 int x; 06 07

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

Buy one get one with discount promotional strategy

Buy one get one with discount promotional strategy Buy one get one with discount Promotional Strategy Kyong-Kuk Kim, Chi-Ghun Lee and Sunggyun Park ISysE Department, FEG 002079 Contents Introduction Literature Review Model Solution Further research 2 ISysE

More information

슬라이드 1

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

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

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

Chapter_06

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

More information

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

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

More information

Oracle Database 10g: Self-Managing Database DB TSC

Oracle Database 10g: Self-Managing Database DB TSC Oracle Database 10g: Self-Managing Database DB TSC Agenda Overview System Resource Application & SQL Storage Space Backup & Recovery ½ Cost ? 6% 12 % 6% 6% 55% : IOUG 2001 DBA Survey ? 6% & 12 % 6% 6%

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA 논문 10-35-03-03 한국통신학회논문지 '10-03 Vol. 35 No. 3 원활한 채널 변경을 지원하는 효율적인 IPTV 채널 관리 알고리즘 준회원 주 현 철*, 정회원 송 황 준* Effective IPTV Channel Control Algorithm Supporting Smooth Channel Zapping HyunChul Joo* Associate

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

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

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

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

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

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

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770> 한국지능시스템학회 논문지 2010, Vol. 20, No. 3, pp. 375-379 유전자 알고리즘을 이용한 강인한 Support vector machine 설계 Design of Robust Support Vector Machine Using Genetic Algorithm 이희성 홍성준 이병윤 김은태 * Heesung Lee, Sungjun Hong,

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

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

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

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

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

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

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

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

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

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

KEY 디바이스 드라이버

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

More information

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 In-memory 클러스터컴퓨팅프레임워크 Hadoop MapReduce 대비 Machine Learning 등반복작업에특화 2009년, UC Berkeley AMPLab에서 Mesos 어플리케이션으로시작 2010년 Spark 논문발표, 2012년 RDD 논문발표 2013년에 Apache 프로젝트로전환후, 2014년 Apache op-level Project

More information