본문 바로가기
  • 장원익 기술블로그

스레드2

[운영체제] 9. 스레드의 구현 스레드의 구현 스레드는 운영체제에 따라 다양하게 구현될 수 있는데, 주로 세 가지 형태로 구분된다. 1. 사용자 수준 스레드 스레드 라이브러리를 이용하여 작동하는 형태 다대일 (n:1) 매핑 2. 커널 수준 스레드 커널(운영체제)에서 지원하는 형태 일대일 (1:1) 매핑 3. 혼합형 스레드 사용자 수준 스레드 + 커널 수준 스레드의 형태 다대다 (n:n) 매핑 1. 사용자 수준 스레드 사용자 수준 스레드는 사용자 영역의 스레드 라이브러리로 구현하고, 스레드와 관련된 모든 행위를 사용자 영역에서 하므로 커널이 스레드의 존재를 모른다. 여기서 스레드 라이브러리는 스레드의 생성과 종료, 스레드간 메시지 전달, 스레드의 스케쥴링등을 보관한다. ex) Phtread, Win32 Thread, Java Thread.. 2019. 12. 9.
[운영체제] 8. 스레드의 개념과 상태 변화 스레드의 개념과 상태 변화 스레드의 개념 프로세스에는 두 가지 특성이 존재한다 자원, 제어. 이 중 제어 부분만 분리한 실행 단위를 스레드(Thread)라고 한다. 프로세스는 실행중인 프로그램 객체 자체를 의미하는 것이고 스레드는 이 실행의 흐름을 이야기 한다. 스레드는 프로세스의 직접 실행 정보를 제외하고 나머지 프로세스 관리 정보를 공유한다. 프로세스 직접 실행 정보: PC, SP, 스택, 지역 데이터, 문맥 정보 독립적 소유 각기 다른 프로시저를 호출하고 다른 실행을 기록하기 때문에 별도의 공간 필요 프로세스 관리 정보: 코드, 전역 데이터, 힙 공유 스레드들이 동시에 코드의 동일한 부분을 실행할 수 있어야 하므로 공유된 공간 필요 경량 프로세스 LWP,Light_Weight_Process 스레드 .. 2019. 12. 9.