[컴퓨터의 이해] 쓰레드 (Thread) 관련 정리
쓰레드(Thread)란?
프로세스 내에서 프로그램을 실행하는 작업 단위
프로세스 내부에서 프로세스의 일부 기능을 갖고 있기 때문에 명령프로세스 라고함.
프로세스에는 하나 혹은 여러개의 Thread를 포함
작업을 수행할 때는 Thread가 반드시 필요
하나의 Thread는 독립된 작업수행과 작업제어를 하기 위한
자기만의 스택과 레지스터를 가짐
Thread 의 종류
1) 프로세스 사용방법에 따른 분류
단일 Thread :하나의 프로세스 한 개의 Thread 존재
다중 Thread : 하나의 프로세스에 여러 개의 Thread 존재
2) 운영체제의 종류에 따른 분류
사용자 수준의 Thread :
사용자가 만든 라이브러리를 사용하여 Thread운용
사용자 수준 Thread 여러 개가 커널 Thread 하나로 매핑 됨 ( 다대일 스레드 매핑)
속도는 빠르지만 구현이 어려움
커널 수준의 Thread :
운영체제의 커널에 의해서 Thread운용
사용자 수준 스레드 한 개가 커널 Thread 하나로 매핑 됨 ( 일대일 스레드 매핑
구현이 쉽지만 속도가 느림
윈도우NT/XP/2000, 리눅스, 솔라리스,9 이상버전, OS/2 MACH, 등등
혼합형 Thread
사용자 수준의 스레드와 커널 수준의 스레드를 혼합한 형태로 운용됨
다대다 스래드 매핑
Thread의 상태
준비 : 스레드가 프로세스에 의해 준비된 상태
실행 : 스레드가 프로세스에 의핸 실행 중인 상태,활성화 된 상태
대기 : Thread가 입출력 작업이 완료될 때까지 대기상태, Thread가 정보를 스택에 저장,
같은 프로세스 내의 다른 Thread가 실행 될수 있음
종료 : Thread가 작업을 완전히 종료한 상태, 레지스터와 스택을 비움
다음 포스트가 궁금하시다면
↓↓↓ 아래 링크를 클릭해주세요. ↓↓↓↓
'공감'버튼 및 '좋아요'는 글쓴이에게 큰 힘이 됩니다!
'IT > System' 카테고리의 다른 글
[컴퓨터의 이해] 주기억 장치 할당의 개념(연속할당,분산할당, 단일분할,스와핑 기법) (0) | 2018.05.11 |
---|---|
[컴퓨터의 이해] 교착상태의 해결 정리(예방, 회피, 탐지, 회복) (0) | 2018.05.11 |
[컴퓨터의 이해] RAID의 관련 정리(RAID 0,1,2,3,4,5,6) (0) | 2018.05.11 |
[컴퓨터의 이해] 프로그래밍 언어의 이해(저급언어,고급언어,컴파일러,인터프리터) (0) | 2018.05.11 |
[컴퓨터의 이해] 프로세스 관리(준비,실행,대기,교착,완료)와 스케줄링(비선점, 선점) 정리 (0) | 2018.05.11 |