티스토리 뷰

개념/운영체제

쓰레드

상어악어 2022. 3. 22. 14:44
반응형

쓰레드 = 실

 

 

쓰레드

프로레스 내에서 실행되는 흐름의 단위

스레드=function, procedure

 

multithread 프로그램 특징: 주소공간, 전역변수 공유

레지스터, 스택(지역변수), 시그널 마스크 등은 쓰레드 별로 별도 보유

 

 

코드(text), 데이터(전역변수), 파일

 

멀티스레드 장점 :

통신하기가 쉽다(오버헤드 발생x)

 

단점

비동기적인 접근에서 문제 해결해야함

 

 

 

멀티스레드

텍스트,데이터,힙 공용

쓰레드 스택-> 스택포인터, 프로그램 카운터, 레지스터 별도

 

 

 

사용자 수준 쓰레드 os x

실행시간 시스템에 의해 스레드 관리

1개의 계정을 여러명이서 공유하는 상황이라고 보면된다

 

 

 

 

 

 

 

 

 

커널 수준 쓰레드 os 지원

8개 쓰레드 관리

쓰레드 동시 실행 가능

 

linux thread

쓰레드와 프레스스를 태스크로 동일하게 관리

 

 

 

 

 

쓰레드 생명주기

stage

 

 

시그널 처리

쓰레드별로 마스킹해서 받고싶은것을 지정할 수 있다

 

쓰레드별로 시그널이 달라지진않는데

시그널 마스크로 받고싶은거만 받아서

시그널핸들러에서 처리한다는거같음

시그널 핸들러: 시그널 종류별로 

 

 

 

Pthreads

표준api 제공(POSIX) Portable Operating System Interface

시스템 옮길때 컴파일러만 잘 하면되겠지?생각했는데

os에서 제공하는 api가 다르면 실행이 안될 수 있기 때문에

표준api를 제공한다

 

 

 

교수님 말씀

 

시험문제 유형 posix thread가지고 프로그래밍은 어떻게해야하나?

posix thread가 무엇인지 말로 정의할 수 있어야한다

한 문장으로 쓸 수 있어야 한다

-> 한 문단으로 쓸 수 있어야 한다

 

내 말로 설명할 수 있어야 한다

정의가 돼있어야 한다

 

 

 

Linx 쓰레드

 

프로세스와 쓰레드를 모두 태스크라고 한다

->task_struct 사용(동일한 자료구조)

 

 

 

자식태스크 생성 fork() 사용

프로세스 생성할때 clone()사용

플래그 파라미터를 통해 자원 공유 형태 결정

 

clone_pid사용하면 별도의 pid를 사용하지 않는다

자원을 프로레스끼리 다 공유하게 되면 결국 쓰레드가되게된다

하지만 부분부분공유하면 다양한 형태가 생길 수 있다

 

 

clone에는 다양한 옵션이 있다

옵션을 다 주면 스레드와 같은 역할을 한다

 

 

 

 

반응형

'개념 > 운영체제' 카테고리의 다른 글

비동기 병행 실행3  (0) 2022.04.01
비동기 병행 실행2  (0) 2022.03.29
프로세스2  (0) 2022.03.18
프로세스  (0) 2022.03.15
운영체제의 발전과정(2)  (0) 2022.03.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함