티스토리 뷰

[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다.

 

* 스레드(Thread)

- 프로세스의 두 가지 특성인 자원과 제어 중 제어만 분리한 실행 단위

- 프로세스 하나는 스레드 한 개 이상으로 나눌 수 있음

- 스레드들은 프로세스의 직접 실행 정보를 제외한 나머지 프로세스 관리 정보를 공유함

- 스레드는 Program counter (→ 실행 흐름), Register set, Stack space를 무조건 가지고 있음

- 스레드가 동료 스레드와 Code section, Data section, OS resources를 공유함

출처 : https://velog.io/@aeong98/운영체제OS-프로세스와-스레드

 

* 경량 프로세스와 중량 프로세스(LWP & HWP)

- 경량 프로세스(LWP, Light Weight Process) : 스레드 중에서 프로세스의 속성 중 일부가 들어 있는 경우

- 중량 프로세스(HWP, Heavy Weight Process) : 스레드 하나에 프로세스 하나인 전통적인 경우

 

* 스레드 특징

- 시스템 성능 향상

- 프로세스 하나에 포함된 스레드들은 공동의 목적을 달성하려고 병렬로 수행

- 프로세스가 하나인 서로 다른 프로세서에서 프로그램의 다른 부분을 동시에 실행할 수 있음 

 

* 스레드 장점

- 사용자 응답성 증가 : 응용 프로그램의 일부분을 봉쇄하거나 긴 작업을 수행하더라도 병렬 프로그래밍으로 프로그램을 계속 실행할 수 있어 사용자 응답성이 증가함

- 프로세스의 자원과 메모리 공유 가능 : 스레드들이 프로세스 자원 하나와 메모리를 공유하므로 응용 프로그램 하나가 동일한 주소 공간에서 스레드를 여러 개 실행하여 시스템 성능을 향상시킬 수 있음

- 경제성이 좋음 : 프로세스를 생성하는 것보다 스레드를 생성하여 문맥을 교환하면 오버헤드가 줄어듦

- 다중 처리(멀티 프로세싱)로 성능과 효율 향상 : 각 스레드를 여러 프로세서에서 병렬로 실행하여 성능과 효율성을 높일 수 있음

 

* 단일 스레드와 다중(멀티) 스레드

- 단일 스레드를 지원하는 운영체제는 프로세스 하나에 스레드 한 개를 실행하는 전통적인 방법(ex. MS-DOS(도스))

- 현대 운영체제는 대부분 다중 스레드임

- 다중 스레드는 프로그램 하나를 여러 실행 단위로 쪼개어 실행함(ex. 윈도우, NT/XP, 솔라리스) 

- 다중 스레드는 공유 메모리 하나를 가져 서로 정보를 주고받는데 제한 없음

출처 : https://byeongmoo.tistory.com/2

 

* 다중 처리(Multi Processing)

- 프로세서 하나 이상이 서로 협력하여 일을 처리하는 것

-> 프로세서 하나 이상이 작업을 병렬 처리하는 것 

- 크고 복잡한 작업은 프로세서 하나보다는 병렬 처리 여러 개로 하는 것이 더 효율적임

 

* 다중 프로그래밍(Multi Programming)

- 프로세서가 입출력 작업의 응답을 대기할 동안 다른 프로그램을 실행할 수 있도록 하는 것

- 프로세서의 자원 낭비를 최소화하려고 낭비하는 시간을 다른 프로그램(프로세스) 실행에 사용하여 프로세서 하나에서 프로그램(프로세스) 여럿을 교대로 수행할 수 있게 하는 것

- 다중 작업과 개념이 비슷하여 혼동할 수 있음

 

* 다중 작업(Multi Tasking)

- 작업(프로그램이 하나 이상일 수도 있음)이 프로세서 하나에서 운영체제의 스케줄링에 따라 조금씩 번갈아 가면서 수행

- 다중 프로그래밍이 자원 낭비를 최소화하려고 교대로 작업을 실행하지만, 다중 작업은 더 확장하여 정해진 시간 동안 교대로 작업 수행

- 일반적으로 다중 프로그래밍보다는 다중 작업이라는 용어를 사용함

- 메모리를 독립적으로 수행할 수 있으며, 운영체제에서 지원하기 때문에 서로 자원을 공유하지 못해 IPC(Inter-Process Communication)를 구현하여 자원을 전달해야 하므로 운영체제에 부담을 줄 수 있음

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함