School/컴퓨터시스템

스레드

응엉잉 2022. 4. 19. 19:25

스레드의 정의

프로세스의 코드에 정의된 절차에 따라 CPU 스케줄러가 CPU에 작업을 요청하는 실행 단위

프로세스끼리는 약하게 연결되어있는 반면, 스레드끼리는 강하게 연결

멀티태스킹 멀티스레드
여러개의 프로세스를 동시에 구성하는 것
운영체제가 CPU에 작업을 줄 때 시간을 잘게 나누어 배분하는 기법 (time slice)
하나의 프로세스여러개의 스레드로 구성된 것
프로세스 내 작업을 여러개의 스레드로 분할함으로써 작업의 부담을 줄임
EX) 한글 내 문서편집, 문서입출력, 사전, 맞춤법검사 ...

멀티태스킹을 하게되면 fork() 시스템 호출로 여러개의 프로세스를 만들면 필요 없는 정적 영역이 여러개가 됨

멀티스레드는 코드, 파일 등 자원을 공유하면서 자원의 낭비를 막고 효율성 향상

(하나의 프로세스를 공유하니까 자원을 공유, 프로세스 안에 스레드가 많은거임)

 

멀티스레드의 장단점

장점 단점
응답성 향상, 자원 공유, 효율성 향상, 다중 CPU 지원 모든 스레드가 자원을 공유하기 때문에 한 스레드에 문제가 생기면 전체 프로세스에 영향을 미침

 

 

'School > 컴퓨터시스템' 카테고리의 다른 글

프로세스 동기화  (0) 2022.04.20
CPU 스케줄링  (0) 2022.04.20
스택, 큐, 덱  (0) 2022.04.19
프로세스  (0) 2022.04.18
운영체제  (0) 2022.04.18