개인공부 (206) 썸네일형 리스트형 Spinlock Spinlock 쉽게 말하면 정수형 변수이다. 초기화, P() , V() 연산으로만 접근 가능 위 연산들은 atomic한 연산들이다. P(S){ while(S 크리티컬섹션 HW 솔루션 TestAndSet TAS instruction Test 와 Set을 한번에 수행하는 기계어 위에 TestAndSet이 한번에 수행이 된다. boolean 의 주소값을 받고 temp에 저장한다음 불러온 target의 값을 true로 만들고 temp를 반환한다. 타겟값을 반환하면서 현재값을 true로 바꾸어준다. 이 연산이 있으면 ME 문제가 한방에 해결된다. 크리티컬 섹션 해결 알고리즘 Dekker's Algorithm Tow process Me 을 보장하는 최초의 알고리즘 turn 과 flag를 둘다 사용하여처리 소스코드 간편화 먼저 깃발을 들고 양보를 한다(니턴이다) 그때 상대가 깃발을 들고 있고 상대턴이면 기다리고 아니면 크리티컬 섹션을 실행하는 알고리즘 N-Process Mutual Exclusion Dijkstra's Algorithm SW solution 들의 문제점 - 속도가 느림 - 구현이 복잡한 프로세스 동기화 방법 Process Synchronizeation (동기화) 다중 프로그래밍 시스템 - 여러 개의 프로세스들이 존재 - 프로세스들은 서로 독립적으로 동작 - 공유 자원 또는 데이터가 있을 때 , 문제 발생 가능 동기화(Synchronization) - 프로세스 들이 서로 동작을 맞추는 것 - 프로세스 들이 서로 정보를 공유 하는 것 비동기적 - 프로세스들이 서로에 대해 모름 병행적 - 여러 개의 프로세스들이 동시에 시스템에 존재 병행 수행중인 비동기적 프로세스들이 공유 자원에 동시 접근 할 때 문제가 발생 할 수 있음 용어정리 Shared data (공유데이터) = > 크리티컬 데이터 - 여러 프로세스들이 공유하는 데이터 Critical section (임계 영역) - 공유 데이터를 접근하는 코드 영역(cod.. SPN / SRTN / HRRN Shortest-Process-Next SPN - Non-preemptive scheduling - 스케줄링 기준(Criteria) - 실행시간 (bust time 기준) - Bust time 가장 작은 프로세서를 먼저처리 SJF(Shortest Job First) 장점 - 평균 대기시간 WT 최소화 - 시스템 내 프로세스 수 최소화 - 많은 프로세스들에게 빠른 응답 시간 제공 단점 - Starvation (무한대기) 현상 발생 , 기아현상 발생 SRTN ( Shorest Remaining Time Next) SPN의 변형 Preemptive scheduling - 잔여 실행 시간이 더 적은 프로세스가 ready 상태가 되면 선점됨 장점 - SPN의 장점 극대화 단점 - 프로세스 생성시, 총 실행 시간 .. FCFS/RR Waiting time : 프로세스가 도착하고 실제로 실행이 시작될때 까지 기다리는시간 Turnarounde : 프로세시가 도착하고 실제로 끝나는 시간 Normalized TT (NTT) : (Turnaround time / Burst time) First-Come-First-Service FCFS 선착순 알고리즘 Non-preemptive scheduling 도착시간 기준으로 처리한다. 자원을 효율적으로 사용 가능 Batch system 에 적합, interactive system에 부적합 단점 - convoy effect - 하나의 수행시간이 긴 프로세스에 의해 다른 프로세스들이 긴 대기시간을 갖게 되는 현상 - 긴 평균 응답시간(respone time) RR (Round-Robin) - Preemp.. 프로세스 스케줄링 스케줄링의 목적 - 시스템의 성능 향상 대표적 시스템 성능 지표 - 응답시간 - 작업 처리량 - 자원 활용도 대기시간 응답시간 반환시간 스케줄링의 단계 발생하는 빈도 및 할당 자원에 따른 구분 I/O -bounded 와 coumpute- bounded 프로세스들을 잘 섞어서 선택해야한다. 보통 시분할 시스템을 사용한다. 스케줄링 정책(Poicy) 선점 vs 비선점 Non-preemptive scheduling - 할당 받을 자원을 스스로 반납할 때까지 사용 쉽게 말하면 한번 할당받으면 다쓸때까지 자원을 안놓아주는 거임 ex) system call, I/O 장점 - Context switch overhead 가 적음 안주니깐 콘텍스 스위치가 적지 단점 - 잦은 우선순위 역전, 평균 응답 시간 증가 평균응답.. 스레드 관리 하나의 프로세스에서 여러 스레드를 관리한다 이때 PC 등을 사용해서 어떤 스레드를 실행할지 사용한다. 스레드 - Light Weight Process 라고도 한다 LWP - 프로세서 활용의 기본 단위 구성요소 Thread ID Register set(PC,SP 등) Stack 스레드의 장점 사용자 응답성 자원 공유 -> 콘택트 스위칭 발생하지 않음 경제성 멀티 프로세서 활용 사용자 수준 스레드 (User Thread) 커널 수준 스레드(Kernel Threads) 오버헤드가 크다. 음.. 스레드라는 놈들은 하나의 프로세스(프로그램)에서 여러 존재한다. 이때 프로세스의 코드, 힙, 데이터 영역을 공유한다 (이것으로 서로 통신하기도한다) 각각의 스래드는 Stack영역에 할당되서 일을 하고 종료시 사라지기도 .. 이전 1 ··· 21 22 23 24 25 26 다음