[운영체제] 스레드(Thread)
2017. 3. 5. 20:05ㆍ9급 공무원/컴퓨터 일반
* 스레드(Thread)
· 프로세스의 실행부분 담당(실행의 기본단위)
· 자원할당과 무관!
· cpu 스케줄링단위로만 쓰는 경량 프로세스
· cpu공유하지만 한번에 한 스레드만 수행가능
· 문맥교환이 없어 프로세스에 비해 부담이 적다
* 다중 스레드(Multi Thread)
· 공유하는 것 : 코드, 데이터, 파일들
· 갠소하는 것 : 레지스터(자체 변수), 스택(함수호출시 사용!)
**
프로세스 수와 스레드 수의 관계
· 단일 프로세스-단일 스레드 > 한번에 하나의 서비스만 가능
· 멀티 프로세스-단일 스레드 > 동시에 여러 서비스 가능, but 프로세스 생성, 삭제에 부담
· 단일 프로세스-다중 스레드 > 동시에 여러 서비스 가능, MpSs(위) 보다 빠른 응답 가능
· 단일 프로세스-스레드 풀 > 스레드 생성 부담 없음. 가장 빠른 서비스 가능, 서비스 내용이 적으면 메모리 공간이 낭비됨
*** 스레드 풀 - 스레드를 제한된 개수만큼 정해 놓고 작업 큐에 들어오는 작업들을 수행 (스레드를 미리 생성해 둔다)
**
커널 수준 스레드는
시스템 콜이 필수 이므로
사용자 수준 스레드보다
느리고 구현도 어렵다.
반응형
'9급 공무원 > 컴퓨터 일반' 카테고리의 다른 글
[운영체제] 프로세스의 상태 (0) | 2017.03.05 |
---|---|
[운영체제] 운영체제를 구성하는 프로그램 (0) | 2017.03.05 |
[운영체제] 버퍼링과 스풀링(Buffering & Spooling) (0) | 2017.03.05 |
[컴퓨터 구조] 인터럽트(Interrupt) (0) | 2017.03.05 |
[컴퓨터 구조] 병렬처리-파이프라인과 슈퍼스칼라(pipeline & superscalar) (0) | 2017.03.05 |