본문 바로가기

스레드2

16.스레드 #.프로세스와 스레드 앞에서 Fork() 함수로 프로세스를 복사하는 법을 다루어보았는데. 이방법은 자원의 효율성이 떨어진다. 프로세스의 code, data, stack, file I/o, signal table 의 정보가 모두 복사되기 때문이다. 코드의 일부만 병렬로 실행시키고 싶을때는 낭비가 아닐 수 없다.그래서 스레드의 개념이 나왔다. 스레드는 한프로세스안에서 자원을 공유하면서 빠르게, 효율적으로 작업을 처리 할 수 있다. 프로세스는 독립적인자원을 가지는 반면에 스레드는 stat, memory등 자원을 공유한다. 그리고 프로세스는 자신만의 주소공간을 가지지만 스레드는 주소공간을 공유한다. 프로세스는 IPC를 이용해야만 통신이 가능하다. 그리고 스레드의 문맥교환은 프로세스의 문맥교환 보다 빠르다. 하지.. 2020. 7. 16.
[운영체제 정리] 4.스레드 왜 스레드가 필요한가? 동일한 일을 여러개 하는 프로세스가 있다면 프로세스마다 독립적인 주소 공간이 만들어져서 메모리가 낭비된다. 스레드의 개념 1 스레드의 개념 2 스레드의 주소공간 스레드: 프로세스는 하나만 띄워 놓고, 프로그램의 어떤 부분을 실행할건지, 프로그램 카운터만 여러개 둔다.cpu를 실행하는 단위. 스레드는 주소공간(코드,데이터)을 공유한다. 스택에 ,pc, 레지스터 만 스레드 간에 독립적으로 가지고 있다. 스레드의 구성 스레드 장점 - 다중 스레드로 구성된 테스크 구조에서는 하나의 서버 스레드가 블락(웨이팅) 상태인 동안에도 동일한 테스크 내의 다른 스레드가 실행 (러닝)되어 빠른 처리를 할 수 있다.(빠른응답성) - 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리률과 성능 향상을.. 2020. 5. 30.