프로세스와 쓰레드 프로세스와 쓰레드 및 SEH.

Slides:



Advertisements
Similar presentations
문창동 성당 국제 성지순례 – ~10.3. / 10 박 11 일. ● 일정 ▲ 방문과 순례 ♣ 중요참조 ● 일 : 피라미드 / 스핑크스 → 아기 예수님 피난성당 ( 꼽틱 정교회 ) → 모세 기념성당 → 박물관 → 카이로 한인성당 ( 미사 )
Advertisements

열왕기 상하는 중요하다 ! 왜 ? 시가 3 권 예언서 12 원 열왕기 상하는 중요하다 ! 대라느스 단겔학슥말.
구속사 시리즈 퀴즈대회 - 평강제일교회 청년 2 부 그루터기 선교회 제작 사회자 “ 구속사 시리즈 ” 다같이 “ 퀴즈대회 ” 해주세요 ~ 1.
1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
Ⅲ 스포츠 축제 문화 3. 스포츠 미디어와 스포츠 산업. 스포츠 미디어의 종류 : 인쇄 매체, 방송 매체, 디지털 매체 - 인쇄 매체 : 종이에 단어와 이미지를 담아 의사를 전달하는 신문이나 잡지, 책이나 카탈로그 등을 포함하는 활자 중심의 매체 - 방송 매체 : 영상과.
2013학년도 3-1 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
라포르시안 뉴스레터 e마케팅 소개서 ㈜올댓닥터스
(2) 고대 국가의 성립  1) 고대 국가의 성격    ① 중앙 집권 체제      - 국왕의 지위 강화, 부족장 세력의 통합,
내가 설계하는 인문학강의 이미지를 통해서 보는 음식 인문학
2015 담당 강사 : 정세진 중국 명문 감상 2015 담당 강사 : 정세진
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
Dakuo’s Lecture.
보육시설과 운영관리 어린이집 재정 아동보육학과 최은지.
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
제 5장 북한의 당 - 군관계 당 – 군 관계의 특징과 구조 군부 지도층의 특성 당 – 군 관계 실제 민-군 관계
Hide Process
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
12장. JSP에서 자바빈 활용 제12장.
제6장 제어(Control) 6.1 구조적 프로그래밍(Structured Programming)
10장 예외 처리 프로그래밍 언어론 10.6 Pascal과 C의 에러 처리 10.1 설계 주제 10.2 PL/I의 예외 처리
제7장 제어구조 I – 식과 문장.
[ 단원 08 ] 예외처리와 스레드.
8장 자바 입출력.
예수님 탄생 목자.박사들 경배 (마2:1-12, 눅 2:1-7).
01. 직렬화와 역직렬화에 대하여 객체의 직렬화 직렬화와 역직렬화
AOP 개념 및 Spring의 AOP 기능.
Chap07 예외 처리 7.1 예외의 개요 7.2 예외 관련 클래스 7.3 예외 처리.
Hadoop 김연왕
인류의 분산 언어의 대 혼잡시기 창조,타락 홍수 바벨탑사건 아브라함 모세 BC 고조선 하/은/주 (창 11:7,9) 『[7] 자, 우리가.
운영체제 (Operating Systems) (Multi-Thread Programming)
도덕 1학년 1학기 2. 개성신장과 인격 도야:인물학습 석가모니 인물학습 -석가모니.
Android Coding Convention
자바 5.0 프로그래밍.
수업활동 안내 1. 전시학습 2. 학습목표 3. 도입 4. 기초학습 5. 주제선택 6. 탐구활동 7. 정리 자기주도 학습
임베디드 시스템을 위한 C프로그래밍 기법 3.7 ~ 4.5 장 Raphael.
- 나는 내 마음의 주인공 – 집단상담프로그램 인제대학교 교육대학원 상담심리전공 하 정 선
정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
컴퓨터 비전.
컴퓨터 개론 및 실습 Dept. Computer Eng. Hankuk University of Foreign Studies
개인정보처리와 개인정보보호 2017년 2월.
기존 REC거래시스템 회원사의 신재생 통합포털 회원가입 설명서.
고대 그리스.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 09. C언어의 핵심! 함수!
쿰란 쿰란 와디 항공촬영 .
컴퓨터공학실습(I) 3주 인공지능연구실.
보라 처녀가 잉태하여 아들을 낳을 것이요 그 이름은 임마누엘이라 하리라 (이사야7:14)
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
Lecture 8 복잡한 구조 프로그래밍 프로그램 짤 때의 마음가짐 invariant 데이터 구성 list pair
자바 5.0 프로그래밍.
천안시 호재 정리 ▶ 천안 원 도심재개발 정비예정구역 총괄 : 80개 구역 규모 : 3,130,235 ㎡(약94.7만평)
비담 MOS 시뮬레이션 사용 절차 1 – 개별 사용 유형
노년기 발달 장안대 행정법률과 세류반 정 오 손
PE File Format? 20-1 김건호.
기술 진화와 진보.
요한 계시록 2:12~17 버가모 교회 : 예수님의 모습-좌우에 날썬 검을 가진자 13절-예수님께서 사는 곳을 아신다.
C# 10장. 참조형.
동양의 색채 1.인 도 인더스 강 유역에서 고대(B.C 2000 ~ 3000)의 청동기시대에 문화가 이미 발달하였고, 메소포타미아와 유사하고 이는 신에 관한 것이 많고, 도시계획이 이루어져 있었으며, 이 시대부터 모자이크 타일이나 돌에 의한 다채로운 재료가 사용되었다.
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
워밍업 실뭉치 전달게임.
매물장 로그인 직원을 미리 생성하시면 직원 ID로 로그인 가능.
예외 처리 3조 조일현.
음파성명학 최종욱.
일반대학원 사용자 매뉴얼(학생)
2012년 9월 16일 바벨탑 사건과 셈의 후손들의 족보 ▣말씀:창세기 11:1-32 예 수 복 된 교 회.
Mission & 제국주의와 민족주의.
관리자 페이지에서 관리자 승인 1. 정기권 신규고객 1. 로그인 화면 2. 차량등록여부 확인 3. 개인정보 활용 동의
Presentation transcript:

프로세스와 쓰레드 프로세스와 쓰레드 및 SEH

프로세스와 쓰레드 관계

프로세스와 쓰레드(1) 프로세스 쓰레드 프로그램(코드)가 메모리상에 읽혀져서 실행중인 상태. 각 프로세스는 별도의 리소스를 할당 받음. 쓰레드 하나의 프로그램 내에서 여러 개의 실행 흐름을 두기 위한 모델. 쓰레드들은 같은 프로세스에 있는 자원과 상태를 공유한다.

프로세스와 쓰레드(2) 쓰레드1 쓰레드2 프로세스 제어블록 (PCB) 쓰레드 제어 블록 쓰레드 제어 블록 핸들 테이블 . . . 프로세스 주소공간 사용자 스택 사용자 스택 커널 스택 커널 스택

커널 객체와 핸들 테이블(1) 커널 객체(Kernel Object) 핸들 테이블 커널에서 리소스를 원활히 관리하기 위해 중요한 정보를 담아둔 데이터 블록. 커널 객체는 운영체제 종속적이며, 소멸시점은 운영체제에 의해 결정된다. 핸들 테이블 프로세스에서 사용하는 모든 핸들들에 대한 커널 객체 포인터 정보를 배열 형태로 가지고 있는 공간.

커널 객체와 핸들 테이블(2) 커널 영역 유저 영역 프로세스 핸들 테이블 =커널 객체 헤더= HandleCount = 1 ReferenceCount = 2 핸들 5 =커널 객체 Body= union Body{ 파일객체; 타이머; 쓰레드; … } ObjectReference

핸들 테이블과 핸들 31 26 25 18 17 10 9 2 1 핸들값(32bit) Unused Layer1Index 핸들값(32bit) Unused Layer1Index Layer2Index Layer3Index Tag Layer3Array Layer1Array EProcess Layer2Array

EPROCESS와 PEB EPROCESS PEB 커널영역의 메모리에 표현된 프로세스 정보. 유저영역의 메모리에 표현된 프로세스의 추가적인 정보. 불필요한 커널레벨 진입을 줄임.

EPROCESS

PEB

ETHREAD 와 TEB ETHREAD TEB 실제로 CPU에 의해 명령어가 실행되어지는 실행의 주체. (이미지 로더와 DLL들)유저모드 컴포넌트의 컨텍스트 정보를 저장. 커널모드에서만 쓸수 있는 영역에 Write 하기 위해서 필요.

ETHREAD

TEB

전체 구조 프로세스 실행시 커널/유저 영역의 개략적인 상태 Vad Vad =TEB= Peb 쓰레드ID 유저영역 =PEB= Ldr =LDR_MODULE= Vad LDR_MODLE … 커널영역 커널Obj헤더 커널Obj헤더 =ETHREAD= Teb 프로세스ID 쓰레드ID ThreadListEntry =핸들테이블= EPROCESS ETHREAD =EPROCESS= 프로세스ID ObjectTable ThreadListHead Peb VadRoot ActiveProcessLinks EPROCESS 커널 Obj … ETHREAD 커널 Obj …

Structured Exception Handling(1) 키워드 _try _except() _finally 특징 _try{} _except(){} 혹은 _try{} finally{}형태로만 사용 가능.

Structured Exception Handling(2) try{ } finally{ } 프로그램이 정상/비 정상적으로 실행되더라도 반드시 실행되어야 하는 코드가 있는경우. try{ pMem = MemAlloc(100); a = b/c; //c=0 //MemRelease(pMem); }_finally{ if(pMem != NULL){ MemRelease(pMem); }

Structured Exception Handling(3) _try{ } _except(EXCEPTION_EXECUTE_HANDLER){ } 예외상황 발생시 예외처리 _try{ a = b/c; //c=0 print(“did you see this?); }_except(EXCEPTION_EXECUTE_HANDLER){ //예외 처리 }

Structured Exception Handling(4) _try{ } _except(EXECPTION_CONTINUE_EXECUTION){ } 예외상황 발생시 계속 진행 global int a = 0; _try{ int c = 10/a; print(“did you see this?”); }_except( RecoverException( GetExceptionCode() )){ } RecoverException(DWORD Ecode) { if(Ecode == 0나누기 예외) a = 2; } return EXCEPTION_CONTINUE_EXECUTION;

Structured Exception Handling(5) _try{ } _except(EXCEPTION_CONTINUE_SEARCH){ } 밖에 있는 예외 핸들러를 통해 예외를 처리. DivideZero(){ _try{ a = b/c; //c=0 }_exception( EXCEPTION_CONTINUE_SEARCH){ } _try{ DivideZero(); print(“did you see this”); }_except(EXCEPTION_EXECUTE_HANDLER){ //예외 처리 }