1. 멀티 스테드 , 멀티 태스킹의 으미
1-1. 멀티스레드 : 응용 프로그램이 여러개의 스레드를 동시에 실행한다.
1-2 멀티 태스킹 : 운영체제가 여러개의 프로세스를 동시에 실행한다.
프로세스는 실행중인 프로그램을 일컫는다. 프로그램을 실행하면, 하나의 프로세스가 실행된다
구성요소는 다음과 같다.
- 가상주소공간 : 32비트 윈도우의 경루 4G
- 실행파일과 DLL : 코드, 리소스, 데이터(전역, 정적변수)
- 힙, - 환경변수
- 하나이상의 스레드
- 프로세스 커널객체
- 운영체제가 프로세스를 위해 할당한 각종 자원 :파일, 소켓등등..
도스나 유닉스와 같은 운영체제의 프로세스는 CPU시간을 할당받아 실행되는 동적인 개념이다.
그러나, 윈도우 운영체제의 프로세스는 할당된 메모리 영역에 각종 자원을 담고있는 컨테이널 정적인 개념이다.
윈도우 운영체제는 각 프로세스를 위해 프로세스 커널객체라는 자료구조를 할당하여, 정보를 저장한다.
응용프로그램 하나에 최소 하나의 스레드가 존재한다. 이때 제일 처음 생성되는 스레드를 주 스레드, 메인 스레드라고 한다.
스레드의 구성요소는 다음과 같다.
- 스택 : 함수인자 전달과 지역 변수 저장을 위한 공간
- 스레드 지역 저장소 : 스레드별 고유 데이터를 저장하기위한 공간
- 스레드 커널객체
여러개의 스레드가 하나의 cpu에서 동시에 실행되는 효과를 얻으려면 현재 실행중인 스레드를 중지(Suspend) 하고
상태를 저장하는 작업과, 새로 실행할 스레드의 상태를 복원하여 실행을 재개하는 작업을 빠르게 반복.
- > 스레드의 상태 저장과 복원은 스레드 커널객체에서 담당한다.
하나의 프로세스에 스레드가 두개 존재하지만,
코드, 리소스, 데이터, 힙, 환경변수는 공유하지만, --- 스택은 따로 관리한다.
1-1. 멀티스레드 : 응용 프로그램이 여러개의 스레드를 동시에 실행한다.
1-2 멀티 태스킹 : 운영체제가 여러개의 프로세스를 동시에 실행한다.
프로세스는 실행중인 프로그램을 일컫는다. 프로그램을 실행하면, 하나의 프로세스가 실행된다
구성요소는 다음과 같다.
- 가상주소공간 : 32비트 윈도우의 경루 4G
- 실행파일과 DLL : 코드, 리소스, 데이터(전역, 정적변수)
- 힙, - 환경변수
- 하나이상의 스레드
- 프로세스 커널객체
- 운영체제가 프로세스를 위해 할당한 각종 자원 :파일, 소켓등등..
도스나 유닉스와 같은 운영체제의 프로세스는 CPU시간을 할당받아 실행되는 동적인 개념이다.
그러나, 윈도우 운영체제의 프로세스는 할당된 메모리 영역에 각종 자원을 담고있는 컨테이널 정적인 개념이다.
윈도우 운영체제는 각 프로세스를 위해 프로세스 커널객체라는 자료구조를 할당하여, 정보를 저장한다.
응용프로그램 하나에 최소 하나의 스레드가 존재한다. 이때 제일 처음 생성되는 스레드를 주 스레드, 메인 스레드라고 한다.
스레드의 구성요소는 다음과 같다.
- 스택 : 함수인자 전달과 지역 변수 저장을 위한 공간
- 스레드 지역 저장소 : 스레드별 고유 데이터를 저장하기위한 공간
- 스레드 커널객체
여러개의 스레드가 하나의 cpu에서 동시에 실행되는 효과를 얻으려면 현재 실행중인 스레드를 중지(Suspend) 하고
상태를 저장하는 작업과, 새로 실행할 스레드의 상태를 복원하여 실행을 재개하는 작업을 빠르게 반복.
- > 스레드의 상태 저장과 복원은 스레드 커널객체에서 담당한다.
하나의 프로세스에 스레드가 두개 존재하지만,
코드, 리소스, 데이터, 힙, 환경변수는 공유하지만, --- 스택은 따로 관리한다.