Windows System Programming

Slides:



Advertisements
Similar presentations
- 1 - IT COOKBOOK 전산정보처리학과 프로그래밍 언어 전산정보처리학과 중위 ( 진 ) 정세화.
Advertisements

전공 : 컴퓨터 공학 전공 과목 : 인터넷 정보 검색 학번 : , 이름 : 조 항 두, 오 철 원.
운영 체제의 일반 발표자 : 백승재 황영종. 1. 운영체제의 의의 전자 계산기에서 사용자와 하드웨어와의 직접적으로 대화하는 대신 운영 체제라는 시스템 프로그램을 통하여 하드웨어를 다루는 것이다. 한정된 컴퓨터 자원을 효율적으로 관리, 운영함으로써 사용자에게 편의성을 제공하는.
일본주식시장의 신 고레가와긴조 투자전략 6 조 안승권. 신문수 발표자 : 신 문 수. 출 생 : 1897 효고현에서 출생 학 력 : 초등학교졸업, 사업가 1992 년 95 세 사망 유일한 자서전 1981 년 스미토모 금속광산 주식매매 200 억엔 벌다⇒ 일본 소득세 납세.
직장내 성희롱, 성폭력, 성매매 예방연수.
RTEMS4.5.0 & omniORB3 2003/8/13 배대호. 목차 RTEMS omniORB 개발 환경 문제점 진행 상황.
2009개정 중등 국어과 교육과정 울산광역시교육청 교육과정 컨설팅단 : 정일진.
달라지는 노동법 개정 내용 노무법인 正道 잠시나마… 주요 노동관계법 개정내용 3. 마무리 Contents
Contents 인지세법 개정내용 인지세 적용매입계약Process 수입인지 구매방법 및 증빙방법 - 전자수입인지
변비 재활전문센터 재활 간호사 김은화.
2장 닷넷 프레임워크.
제 4 장 프로세스 Section 1 프로세스의 개념 Section 2 프로세스 스케줄링
제 2장 컴퓨터 구조.
Q & A (사실상 혼인·이혼) Q. 사실상 혼인·이혼 관계를 어떻게 처리해야 하나요?   사실 혼인·이혼은 부부 모두 동의 여부를 확인하고, 자녀, 이·통·반장으로부터 「사실(이)혼 확인서」를 징구해야 합니다. 만약 어느 한쪽이 동의하지 않는 경우는.
베 어 스 타 운 동 계 시 즌 주소: 경기도 포천시 내촌면 소학리 295번지 문의 : (代)
KTC 생산운영관리 PROJECT 생산계획 정확도 향상.
But, 성공하려면 과정이 필요합니다. 목표달성을 위해 정해진 기간이 필요~! 어떤 노력을 기울여야 할가요~?
전자의무기록(EMR) -12조- 이시우 장석용 이창훈.
메탄 하이드레이트 활용 방법과 기술 환경공학과 천대길.
웹사이트 구축 제안서 (결혼정보 사이트구축) First Web Agency.
교육 PROCESS 제일엠앤이주식회사.
제 1 장. JAVA란 작성자 : NLIP.
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
임베디드 시스템.
제 2 장 프로세스 관리 2.1 개요 프로세스 스케줄링은 준비완료(ready) 상태에 있는 프로세스들 중 어느 것을 중앙처리장치에 할당시킬 것인가를 결정 중앙처리장치 처리율(throughput)의 최대화와 반환 시간(turnaround time)의 최소화 2.2 프로세스.
운영체제 (Operating Systems)
프로세스 관리.
Department of Computer Engineering
공학기초설계 Youn-Hee Han 강의 소개 & MinGW & gcc 공학기초설계 Youn-Hee Han
Kasimov C언어 세미나 1st.
임베디드 운영체제 (리눅스 중심) Lecture #2.
Multi-thread Programming
10장 메모리 관리.
Department of Computer Engineering
(PROJECT명: Web Server관리)
데이터베이스 실험실 석사 2학기 김기훈 TCP/IP Socket Programming… 제 17장 멀티쓰레드 기반의 서버구현 데이터베이스 실험실 석사 2학기 김기훈
Term Project Team Member
Lecture #3 프로세스(Process).
운영체제 (Operating Systems) (Multi-Thread Programming)
Geek-OS Project 정영진
제3,4,5장 프로세스, 스레드 관리 CPU 스케줄링.
Rhapsody + MFC 개발 가이드.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Buffer Overflow
제5장 CPU스케줄링(CPU Scheduling)
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
A Web-Based Little Man Computer Simulator
Subject : Thread Written by: 김형근,류명운.
발표자료는 다음링크에서 다운로드 받으실 수 있습니다.
Linux/UNIX Programming APUE (Thread Programming)
2d game pRogramming 1차 발표 이재남.
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
Chapter 4 변수 및 바인딩.
비주얼 프로그래밍(2분반) 강의노트 2분반 = 월/목.
Department of Computer Engineering
마음의 성전이 더 아름다운 조촌교회.
운영체제 (Operating System) (하드웨어와 응용 프로그램 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어)
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
1.비 사업용(자가용 및 관용) 차 종 적 용 상 의 구 분 승합 자동차 (버스) 1 종
CONTENTS Ⅰ. 대회목적 Ⅱ. 대회개요 Ⅲ. 대회요강 Ⅳ. 대회규정 Ⅴ. 운영계획 Ⅵ. 홍보계획 Ⅶ. 예산계획.
자료구조 세미나 발표 주제: 자료구조 기초 - 1회 차: 자료구조의 정의, 기초 지식 (함수, 포인터, 레퍼런스)
순천향대학교 공연영상미디어학부 미디어콘텐츠전공
컴퓨터 새내기 탈출 4. 컴퓨터에 생명을.
정보 디자인.
01. ‘한글뷰어’ 설치 전 준비사항.
▶서류관리 프로그램 1. 로그인….2 2. 서류등록 … 서류도착 서류스티커발행
제3의 미디어, SNS의 힘! 경영학부 권예슬.
Java Programming for Beginners
2009개정 중등 국어과 교육과정.
11강. static - static의 이해 - static과 객체와의 관계 - static의 장점과 단점
Presentation transcript:

Windows System Programming -Thread Basic- Tutor: 20060106 배문희

contents 스레드란 무엇인가? 스레드 특성 Thread 등장 배경 Process와 Thread 독립적 스택 코드영역 공유 데이터 영역과 힙 영역 공유 2009-04-14 호남대학교 정보통신공학과

Thread란? Thread 등장배경 Process와 Thread 2009-04-14 호남대학교 정보통신공학과

Thread의 등장 배경 Multi Process 둘 이상의 서로 다른 프로그램 실행 하나의 프로그램이 두 가지 이상의 일을 동시에 처리하기 위해서는 둘 이상의 프로세스 필요 문제점 많은 수의 프로세스 생성 빈번한 Context switching 성능저하의 원인 ※ Context Switching: 프로세스의 상태 정보를 저장하고 복원하는 일련의 과정 2009-04-14 호남대학교 정보통신공학과

Thread의 등장 배경 Context Switching 필요이유: 프로세스들이 서로 완전히 독립되었기 때문 Process는 Process A와 B가 50%의 독립된 구조이고 나머지 50%는 공유하는 구조라고 하더라도 100%의 Context Switching이 일어난다. 소요시간을 줄이는 방법 저장하고 복원하는 컨텍스트 정보의 개수를 줄이는것! 즉! 프로세스 상태 정보를 줄여야 한다! 바로 이것!! Thread는 Thread A와 B가 50%가 공유하는 구조라고 라면 50%의 Context Switching이 일어난다. 이것이 Thread의 등장 배경이다! 2009-04-14 호남대학교 정보통신공학과

Process와 Thread 쓰레드의 내용을 프로세스와 비교 쓰레드는 하나의 프로그램 내에서 여러 개의 실행 흐름을 두기 위한 모델 쓰레드는 프로세스처럼 완벽히 독립적인 구조가 아니다. 쓰레드들 사이에는 공유하는 요소들이 있다. 쓰레드는 공유하는 요소가 있는 관계로 컨텍스트 스위칭에 걸리는 시간이 프로세스보다 짧다 Window에서 Process는 Thread를 담는 상자에 지나지 않는다. Process는 독립적으로 어떠한 작업도 수행할 수 없다. Scheduler는 Thread를 Scheduling한다. 2009-04-14 호남대학교 정보통신공학과

Process와 Thread 메모리 구조 관점에서 본 프로세스와 쓰레드 프로세스 부모 프로세스 쓰레드 A 쓰레드 B 전역변수 Static 변수 명령어 (Instruction Code) 지역변수 전달인자 정보 프로그래머 할당 Code 영역 Data 영역 Heap 영역 Stack 영역 전역변수 Static 변수 명령어 (Instruction Code) 지역변수 전달인자 정보 프로그래머 할당 Code 영역 Data 영역 Heap 영역 Stack 영역 공유 공유 생성 생성 전역변수 Static 변수 명령어 (Instruction Code) 지역변수 전달인자 정보 프로그래머 할당 Code 영역 Data 영역 Heap 영역 A thread Stack 영역 쓰레드 A B thread Stack 영역 쓰레드 B 전역변수 Static 변수 명령어 (Instruction Code) 지역변수 전달인자 정보 프로그래머 할당 Code 영역 Data 영역 Heap 영역 Stack 영역 프로세스 A 전역변수 Static 변수 명령어 (Instruction Code) 지역변수 전달인자 정보 프로그래머 할당 Code 영역 Data 영역 Heap 영역 Stack 영역 프로세스 B 프로세스별 독립적 메모리 구조 쓰레드의 공유 메모리 구조 2009-04-14 호남대학교 정보통신공학과

Thread의 특성 스택을 독립적으로 할당 코드 영역 공유 데이터 영역과 힙 공유 2009-04-14 호남대학교 정보통신공학과

Thread의 특성 ▶ Thread마다 stack을 독립적으로 할당 즉! 실행흐름의 추가를 위한 최소조건 ▶ 코드 영역 공유 프로세스의 경우 100% 독립 ▶ 데이터 영역과 힙 공유 IPC가 필요 없다 직관적 설명: 전역 변수와 malloc 함수를 통해서 동적 할당된 메모리 공간 공유 주의: 메모리 영역을 공유한다는 것은 문제가 발생할 수 있다!! 2009-04-14 호남대학교 정보통신공학과

Thread의 특성 main Funtion 1 Funtion 2 A thread’s main B thread’s main 명령어 (Instruction Code) Code 영역 명령어 (Instruction Code) Code 영역 main main Funtion 1 Funtion 1 Funtion 2 Funtion 2 A thread’s main A thread’s main B thread’s main B thread’s main 전역변수 Static 변수 Data 영역 프로그래머 할당 Heap 영역 전역변수 Static 변수 지역변수 전달인자 정보 프로그래머 할당 Data 영역 Heap 영역 Stack 영역 지역변수 전달인자 정보 A 쓰레드Stack 영역 지역변수 전달인자 정보 프로세스Stack 영역 지역변수 전달인자 정보 B 쓰레드Stack 영역 프로세스와 쓰레드의 메모리 공유 프로세스와 쓰레드의 코드영역 공유 2009-04-14 호남대학교 정보통신공학과

참고문헌 뇌를 자극하는 윈도우 시스템 프로그래밍 한빛미디어 윤성우 저 제프리 리처의 WINDOWS VIA C/C++ 제프리 리처, 크리스토프 나자르 저 김명신 역 2009-04-14 호남대학교 정보통신공학과