로 3 분 프로세스와 스레드의 차이 알아낼

머리말

프로세스 (과정) 및 스레드 (스레드) 운영 체제의 기본 개념이지만, 그들은 더 추상적하지 이해하기 쉽다.

V2-b551a60a10a89f8428e5d2ab45c6e353_hd.png


최근에, 나는 기사 자료를 읽을 좋은 비유를 발견, 그들은 명확하고 이해를 설명 할 수있다.

1.

v2-0e134431a90be4572575c70518fb4bdf_b.jpg

코어 컴퓨터는 모든 컴퓨팅 작업을 가정하는 CPU입니다. 그것은 항상 실행, 공장 같아요.


2.

v2-9acb2da5dc4074f2b0f8486182ebfb65_b.jpg

가정되는 발전소는 워크샵을 제공 할 수 제한됩니다. 즉, 워크숍은 식물이 다른를 종료해야 할 때 시작했다. 뒤에 의미하는 것은 하나의 CPU가 하나의 작업을 실행할 수 있다는 것입니다.


삼.

v2-3379a56fecc915802aa5b52bfd724d1f_b.jpg

공장 바닥과 같은 프로세스, 단일 CPU가 작업을 처리 할 수 ​​있습니다 나타냅니다. 한 번에, CPU는 항상 다른 프로세스가 실행되고 있지, 프로세스를 실행합니다.


4.

v2-630a30b3393d04a40d51b56b452ab946_b.jpg

워크숍은 많은 노동자가 있습니다. 그들은 공동 작업을 완료합니다.


5.

V2-a8d38e17917093ef790921b14395c3e3_b.jpg

워크숍에서 스레드 같은 노동자 비율. 프로세스는 여러 스레드를 포함 할 수 있습니다.


6.

v2-710acd5c6f459eaa88b228bb9a4616aa_b.jpg

워크숍 공간 등 많은 객실 등 노동자에 의해 공유되는 각 노동자가와에서 할 수 있다는 것입니다. 이는 각 스레드가 이러한 공유 메모리를 사용할 수, 프로세스 메모리 공간을 공유 상징한다.


7.

v2-7cee6d022c5149ca09bf8e6ae4d114c9_b.jpg

그러나, 다른 각 객실의 크기, 일부 객실은 같은 화장실로 한 사람의 최대 수용 할 수 있습니다. 다른 사람이 갈 수없는 경우 내부 사람. 특정 공유 메모리를 사용하는 경우이 스레드를 나타내고, 다른 스레드는 메모리의 조각을 사용하기 위해, 끝까지 기다려야합니다.


8.

v2-5c6d99a49a51b7dc7d145eb40ee197c2_b.jpg

입력에서 다른 사람을 방지하는 간단한 방법 플러스 잠금 문. 첫 번째 남자는 문을 고정하고 사람들은 그래서 당신이 문을 줄 잠겨 및보고 다음 자물쇠를 열고 이동합니다. 이것은 여러 스레드가 동시에 읽고 메모리 블록을 쓰기 방지하기 위해, "상호 배제 잠금"(상호 배제, 약식 뮤텍스)라고합니다.


9.

v2-72eb5e6fb24a6112c6b8287b8ee502c3_b.jpg

일부 객실은 주방과 같은 n 개의 개인을 수용 할 수 있습니다. 수는 n보다 큰 경우 즉, 여분의 남자가 밖에서 기다리는 것입니다. 이것은 특정 메모리 영역처럼, 단지 스레드의 고정 번호를 제공 할 수있다.


10.

v2-68d5e8fa137ceb949fccd34b852103e1_b.jpg

그런 다음 솔루션은 N의 문에 열쇠를 넣어하는 것입니다. 제자리에 다시 다음 키가 교제 할 때, 키를 가져다으로 이동합니다. 사람들이 오버 헤드의 열쇠를 발견 한 후 문을 라인에서 기다리고 있음을 알고 있어야합니다. 이 연습은 여러 스레드가 서로 충돌하지 않도록하는 데 사용, "세마포어"(세마포어)라고합니다.

쉽게 볼 뮤텍스 세마포어 (N = 1 시간)의 특별한 경우이다. 즉, 전자와 후자를 대체 할 수 있습니다. 뮤텍스가 간단하고 효율적이기 때문에, 그것은 독점에서 자원의 가용성, 또는이 디자인의 사용을 확인해야합니다.
나는 종류의 공공 호는 [프로그래머]는 문서의 시작 부분이 안쪽에 업데이트됩니다 표시, 문서 내부에있을 것입니다 우려에 오신 것을 환영합니다.

(11).

v2-2ce18b5e79abe872fefc4711f7d6c306_b.jpg

따라서 시스템 디자인을 운영하고, 세 가지 포인트로 요약 될 수있다 :

(1) 복수의 태스크를 동시에 실행할 수 있도록, 다중 프로세스를 형성하는 단계;

(2) 형태의 멀티 스레드, 다른 부분에 단일 조작 작업을하는 단계와;

(3) 스레드 사이 프로세스간에 자원의 공유를 허용 다른 한편으로는, 프로세스 간의 충돌을 방지하기 위해 한 손에와 스레드 사이에, 조정 ​​메커니즘을 제공한다.


최종적으로 

요 기사, 지원에 대한 감사를 기억 찬양의 점처럼, 모든 사용자와 공유에 오신 것을 환영합니다!


추천

출처blog.51cto.com/14442094/2437414