03. 병행 프로세스(Parallel Process)

Slides:



Advertisements
Similar presentations
돈과 빈곤. 가난은 장애다 “ 이발소 건물 주인 아저씨는 휠체어를 타고 다녔어. 장애인이었지. 하지만 아버지 앞에서 는 늘 당당했어. 아버지하고 얘기를 나눌 때 면 아버지는 늘 무릎을 꿇으셨지. 눈을 맞춰 야 하니까. 위에서 내려다볼 수는 없잖아, 건 물 주인을. 그.
Advertisements

Copyright © 2015 Pearson Education, Inc. 6 장 : 프로그래밍 언어.
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
 사회  4 학년 1 학기  1. 우리 시ㆍ도 모습 > (1) 지도에 나타난 우리 시. 도의 모습 (2/17) 지도를 알아보자 (1)
독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
녹는점과 끓는점 화학과 이 언정 손 나영 《수업 계획서》
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
지하철 안내 앱 소개 제작자 : 손성준 P.S 이 사진은 내용과 관계없음을 명백히 알립니다.( 솔직히 전기동차라는 공통점이 있긴 하지만 ) 그리고 본인이 촬영하였음을 알립니다.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
아동이 살기 좋은 횡성군 만들기 추진위원회 2차 모임
& 국민연금법 국민건강보험법 사회복지법제 행정학부 김인철 사회복지학과 김건우
시대의 향기를 담은 고수필 고전문학원전강독 신태웅 김수연 이진솔.
제 4 장 프로세스 Section 1 프로세스의 개념 Section 2 프로세스 스케줄링
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
제1장 소프트웨어 프로젝트 개요 1.1 프로젝트개요 1.2 프로젝트 유형 1.3 프로젝트 관리의 중요성과 실패 원인
제 3장 프로그래밍 언어 설계 3.1 설계 기준의 역사적 변천 3.2 효율성 3.3 일반성, 직교성, 획일성
Chapter 3 – 프로그래밍 언어 설계 Outline 3.1 설계 기준의 역사적 변천 3.2 효율성
커뮤니케이션 스킬 UP -전화매너- ..
제 6장 프로세스 간 동기화 및 통신 6.1 개요 6.2 병행 처리의 문제점
고교평준화의 득과 실 김영주 이지영 최윤영.
제 11 장 복 리 후 생 6조 김 태 찬, 양 승 원, 유 상 림, 박 미 현
데이터 관리의 모든 것 데이터 최적화하기 데이터 정렬하기 자동 필터와 고급 필터
Chapter 13 – 병렬 프로그래밍과 병렬 처리
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
데이터 구조 - 소개 순천향대학교 컴퓨터공학과 하 상 호.
제 7 장 교착 상태 7.1 개요 개념 교착 상태란 프로세스들의 집합이 더 이상 진행을 못하고 영구적으로 블록되어 있는 상태 집합 내의 한 프로세스가 특정 사건의 발생을 기다리며 대기하고 있고, 이 사건이 집합 내의 다른 블록 된 프로세스에 의해 발생될 수 있을.
Ch.04 Greedy Method (탐욕적 방법)
제 6 장 프로세스 동기화 (Process Synchronization)
4장 병행 프로세스 병행성의 원리를 이해한다 병행 프로세스 수행과 관련된 상호 배 제 해결방안을 알아본다
Ch2-2. VHDL Basic VHDL lexical element VHDL description
Flip-Flop 설계.
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
03. 병행 프로세스 (Parallel Process)
오브젝트 하드웨어 기술 언어 IT CookBook, VHDL을 이용한 디지털 회로 입문.
제6장 프로세스 동기화(Process Synchronization)
4 병행 프로세스와 상호배제.
CHAPTER 6 그래프.
프로그래밍 보고서 작성법 순천향대학교 컴퓨터공학과 하 상 호.
5주차 실습 - solution.
제 6 장 프로세스 동기화 (Process Synchronization)
3장 운영체제 2C 김주성.
Operating System Concepts
2. 상호배제와 동기화 01 program versionone; // 첫 번째 버전
4장 - PHP의 표현식과 흐름 제어-.
DataScience Lab. 박사과정 김희찬 (화)
2. 교착상태 해결 기법 실행 과정 - t0 시간에 시스템은 안정상태이며, 순서는 안정 조건을 만족함. - 프로세스 P1은 사용 가능한 자원을 2개 할당 받아 실행한 후 반납 가능하므로 시스템의 여분 자원은 5 개임. - P0은 사용 가능한 자원.
[INA470] Java Programming Youn-Hee Han
자료구조: CHAP 7(2) 트리 순천향대학교 컴퓨터공학과 하 상 호.
U N I X 창원대학교 전자계산학과 김병찬.
병행 프로세서 과목 : 운영체제 학번 : 이름 : 조장호.
재활용의 실태와 재활용품 만들기의 계획 실과 6학년 8 . 환경을 살리는 나의 생활> 2) 재활용품 만들기(5~6/8)
데이터 구조 - 소개 순천향대학교 컴퓨터공학과 하 상 호.
아동안전관리 홍성훈 교수님 아동보육학과 박윤희
CHAPTER 05 프로세스 및 프로그램 설계.
제 10장 가족치료모델 발 표 : 여금란.
병행 프로세스 병행처리는 프로세스들이 서로 관계없이 독립적으 로 수행 가능하고 다른 프로세스들과 협력을 필요로 하면서 기능 수행 3.1 개요 parbegin/parend 제어문 : 순차적인 수행으로부터 여러 개의 동시 수행으로 갈라짐을 지시하는 명령어와 여러 개의 동시.
Chapter 3 – 프로그래밍 언어 설계 Outline 3.1 설계 기준의 역사적 변천 3.2 효율성
5장 교착 상태 교착상태의 원리를 이해한다. 교착상태의 해결을 위한 예방, 회피, 탐지 그리고 회복에 대하여 알아본다.
Report #4 (1) (due 4/4) 문제 #1 3개의 막대 A, B, C와 원판 n개를 전달받아 Hanoi 탑 문제를 해결하는데 필요한 원판의 이동 회수를 구하여 반환하는 hanoi_tower(n, A, B, C)를 작성하라. 여기서 원판 n은 막대 A에 쌓여 있고.
11장 다형성과 추상 클래스, 인터페이스 Section 1 객체의 형 변환 Section 2 연산자 Section 3 다형성
DataScience Lab. 박사과정 김희찬 (화)
운영체제 (Operating Systems)
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
보고서 #4 (1) (제출기한: 10/6) #1 다음 그래프 G에 대해서 답하시오. (2*5 = 10)
의사소통 이론의 이해 김연주 백정훈.
병행 프로세스(Parallel Process)
3장 병행 프로세스 2A 박훈.
Chapter 7: Deadlocks.
3장 – 병행 프로세스 A 김정문.
Report #3- 문제 1 Set(집합) 추상 데이터 타입을 정의하고, 다음과 같은 연산자들을 포함시켜라. 여기서 S, S1, S2는 집합을 나타내고, i는 집합 원소를 나타낸다. 연산 의미 create() Return {} insert(S, i) If i є S then.
Presentation transcript:

03. 병행 프로세스(Parallel Process) 컴퓨터 소프웨어 과 2A 200512013 송 상 훈

수행되는 것들이 하나로 모여서 “순차적 수행”으로 돌아가도록 지시 - 개요 – => 순차적인 수행으로 부터 여러 개의 동시 수행, 갈라짐을 지시하 는 명령어, 수행되는 것들이 하나로 모여서 “순차적 수행”으로 돌아가도록 지시 선형 그래프는 각 문장에 대응되는 노드들이 유향 비순환 그래프 (directed acyclic graph)를 이루는 것. 노드 Si에서 노드Sj로 가는 에지(edge)는 문장 Si가 수행된 다음에 문장 SJ가 수행의미. S1 S2 S3 S4 S6 S5 S7

선형 그래프는 각 문장에 대응되는 노드들이 유향 비순환 그래프 (directed acyclic graph)를 이루는 것 선형 그래프는 각 문장에 대응되는 노드들이 유향 비순환 그래프 (directed acyclic graph)를 이루는 것. 노드 Si에서 노드Sj로 가는 에지(edge)는 문장 Si가 수행된 다음에 문장 SJ가 수행의미. 그림3.2 순환 선형 그래프 ● S2와 S3은 S1이 끝난 후 수행된다. ● S4는 S2가 긑난후 수행된다. ● S5와 S6은 S4가 끝난 후 수행된다. ● S7은 S5, S6, S3가 긑난 후 수행된다. S1 S2 S3

그림 3.2은 “2개의 프로세스가 상호배제를 수행하는 것을 해결 할려는 첫 번째 예문, parbrgin/parend 때문에 pone과 ptwo가 동시에 수행된다. - 상호배제 (Mutual Exclusion) - => 공용변수를 액세스하고 있는 하나의 프로세스 이외에는 다른 모든 프로세스들이 공용변수를 액세스하지 못하도록 제어하는 기법. 따라, 상호배제는 ‘프로그래’ 들이 공용 데이터를 함께 액세스하려 할 때 필요하다. 어떤 프로세스가 공용 데이터를 액세스하고 있을 때, 프로세스는 임계영역(Critical Section) 내에 있다고 함.

- 임계영역 (Critical Section) = > 임계영역에 있다는 것은 ‘한 프로세스만이 공용 데이터를 = > 임계영역에 있다는 것은 ‘한 프로세스만이 공용 데이터를 배타적으로 액세스하고 나머지 프로세스들은 공용 데이터의 액세스를 필요로 하더라도 기다려야 함, 그러므로 임계영역내의 수행은 가능한 빨리 끝내야 하며, 임계영 역에 들어가서 프로세스가 보류(block)되는 일은 없어야 한다. 상호배제 탈출은 Pnumber라는 변수를 상대방 프로세스의 번호 로 치환시키게끔 구현. - 개요 – => 순차적인 하나로 모여서 “순차적 수행”으로 돌아가도록 지시 하는 명령어 가 있다.

-상호배제 프리미티브 1 var pnumber : integer; procedure pone; begin while true do while pnumber=2 do; CSone; pnumber :=2; end end; procedure ptwo; while pnumber=1 do; CStwo; pnumber :=1; end end; begin parbegin pone; ptwo; parend

- 상호배제 프리미티브 2 var p1,p2 : boolean; Procedure pone; begin while true do while p2 do p1:=true; CSone; p1:=false; end Procedure ptwo; begin while p1 do p2 := true; CStwo; p2 := false; end Begin P1:=false; P2:=false; parbegin pone; ptwo; parend

repeat P(mutex); 임계영역 V(mutex); 나머지영역 until false; 3.3.1 사용 3.3.2 구현 P(S) : S.value:=S.value-1; if(s.value<0) then begin add this process to S.L; block; end; V(S):S.value:=S.value+1; if(S.value <=0) remove a process P from S.L; wakeup(P);

- 상호배제 프리미티브 3 var p1,p2 : boolean; Procedure pone; begin while true do p1:=true; while p2 do CSone; p1:=false; end Procedure ptwo; begin p2:=true; while p1 do; CStwo; p2:=false; end p1:=false; parbegin pone; ptwo; parend

3.3 세마포어(Semaphore) - 프로세스에 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법 - 프로세스에 제어 신호를 전달하여 순서대로 작업을 수행하도록 하는 기법 - E.J.Dijkstra가 제안하였으며, P와 V라는 2개의 연산에 의해서 동기화를 유지시키고, 상호 배제의 원리를 보장함 - S는 P와 V연산으로만 접근 가능한 세마포어 변수로, 공유 자원의 개수를 나타내며 0과 1혹은 0과 양의 값을 가질 수 있음 - P연산 : 자원을 사용하려는 프로세스들의 진입여부를 자원의 개수(s)를 통해 결정하는 것으로, wait 동작이라 함 - V연산 :대기중인 프로세스를 깨우는 신호(wake up)로서, signal 동작이라 함.

- 모니터(Monitor) 여러 프로세스 사이에 공유 데이터와 이 공유 데이터에 접근 하는 여러 프로시저다. 즉, 임계영역 코드의 집합으로 정의 할 수 있다. 동기화를 구현하기 위한 특수 프로그램 기법으로 특정 공유 자원을 프로세스에게 할당하는데 필요한 데이터와 이 데이터 를 처리하는 프로시저로 구성됨. 자료 추상화와 정보 은폐개념을 기초로 하며 공유 자원을 할 당하기 위한 병행성 구조로 이루어져 있음 모니터 내의 공유 자원을 사용하려면 프로세스는 반드시 모 니터의 진입부를 호출해야 함 외부의 프로시저는 직접 액세스할 수 없으며, 모니터의 경계 에서 상호 배제가 시행됨 한순간에 하나의 프로세스만 진입하여 자원을 사용 할 수 있 음