프로세스와 스레드 차이가 뭘까?

기술적 차이는 지정하십시오. 프로세스와 스레드?

39, & # 39 와 같은 단어를 내가 느끼는 내려받습니다 process&. 그런데 이 또한 과용되고 는 하드웨어 및 소프트웨어 스래드입니다. [얼랭] [1] 같은 언어로 경량 프로세스 어때? 대한 명확한 이유는 다른 한 기간 동안 사용할 수 있나요?

[1]: http://en.wikipedia.org/wiki/Erlang_% 28programming_language% 29

질문에 대한 의견 (2)
해결책

모두 비종속 시퀀스에만 스레드는 프로세스 및 실행. 일반적인 차이점은 스래드입니다 (동일한 프로세스) 공유 메모리 공간이 있으며, 별도의 실행하십시오 실행하십시오 프로세스활용 메모리 공간.

39 m, 잘 모르는 &quot i& hardware"; vs &quot software"; 스래드입니다 말할 수 있습니다. 스래드입니다 () 는 운영 환경 기능을 하는 것이 아니라 기능을 CPU (중앙처리장치 (cpu) 는 일반적으로 표시되어도 작업을 수행할 수 있도록 스래드입니다 효율형).

얼랭 용어를 사용하여 &quot process"; 공유 메모리 않기 때문에 기업을 무라티프로그레밍 모델이다. 그들을 호출하십시오 &quot threads"; 아니하였으매 공유 메모리를 가지고 있다는 것을 의미한다.

해설 (10)
  • 프로세스 * 각 프로세스를 통해 프로그램을 실행하는 데 필요한 자원을. 가상 주소 공간,) 는 프로세스 실행 가능한 코드를 오픈 핸들을 보안 시스템 객체여야 컨텍스트로, 프로세스 식별자, 환경 변수, 클래스, 우선 독특한 작업 세트 및 하나 이상의 최소값과 최대 규모의 스레드할 실행. 각 프로세스 시작됨인 종종 있지만 추가 스래드입니다 만들 수 있는 단일 스레드 (thread 에서 해당 스래드입니다 주 () 이라고 한다.

  • 스레드할 * 스레드는 프로세스 내의 엔티티입니다 스케줄링된 실행할 수 있는. 모든 프로세스의 가상 주소 공간 및 시스템 자원을 공유할 수 있다. 또한 각 스레드할 유지보수합니다 idfsysobject. 핸들러도 예약, 우선 순위, thread local storage, 고유한 스레드 식별자에서 일련의 구조가 될 때까지 컨텍스트로 스케줄링된 스레드할 저장하는 데 사용됩니다. # 39 의 스레드 컨텍스트로 dm_ownerdm_owner thread& 시스템 설정 레지스터, 주소 및 사용자 환경 블록, 스레드는 커널 스택 (stack) 의 공간을 thread& # 39 의 과정이다. 명의 도용 클라이언트를 사용할 수 있는 자체 보안 컨텍스트로 스래드입니다 가질 수도 있습니다.

이 MSDN 에서 찾을 수 있습니다. [ 프로세스와 스레드 정보] [1]

&gt. Microsoft Windows 는 선점형 멀티태스킹, 여러 곳에서 동시 실행 결과를 만들 수 있는 여러 스래드입니다 프로세스활용. 멀티프로세서 시스템에서 동시에 실행할 수 있는 컴퓨터, 컴퓨터 등 많은 스래드입니다 프로세서에서 있습니다.

[1]: 85%29.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms681917%28v = vs.

해설 (9)
  • Process:*
  • 프로그램 실행 중인 프로세스를 호출됨 인스턴스입니다.
  • "작업" 라는 용어를 사용할 일부 운영 체제에서 실행 중인 프로그램을 가리킨다.
  • 프로세스 항상 저장됩니까 또한 기본으로 메인 메모리 메모리 또는 random access memory) 이라고 한다.
  • 따라서 표시됨과 활성 엔티티입니다 프로세스) 라고 불리게 된다. 이 경우 시스템이 숨길지 리부팅했습니다.
  • 같은 프로그램을 여러 프로세스 연관될 수 있습니다.
  • On 다중 프로세서 시스템에서, 여러 개의 프로세스가 동시에 실행할 수 있다.
  • 시스템, 프로세스 스케줄링 알고리즘에 대한 진정한 수 없는 단일 프로세서 표시되어도 달성됩니다 적용되며 각 프로세스 중에서 한 번에 실행할 수 있는 착각에서요 스케줄링된 프로세서는 동시에 수행할 수 있다.
    • Example:* "계산기에는" 의 여러 인스턴스를 실행할 프로그램. 이에 따라 각 인스턴스의 프로세스를) 이라고 한다.
  • Thread:*
  • 마음이 서브셋에 과정. 이 때문에 마치 "경량 프로세스" 라고 불리게 된다 - 비슷하다고 하지만 실제 프로세스 내의 컨텍스트로 실행하므로 프로세스의 프로세스 및 공유하여며 의해 할당된 동일한 자원을 제공한다.
  • 일반적으로 프로세스 제어 시스템의 명령을 실행 - 한 세트의 한 번에 스레드할 하나만 있다.
  • 프로세스 실행 명령을 실행하는 것을 동시에 여러 개의 스레드를 구성될 수도 있습니다.
  • 구현할 수 있는 진정한 다중 프로세서 시스템에서 여러 스래드입니다 제어할 수 있습니다.
  • 프로세서는 단일 프로세서 시스템, 스레드할 스케줄링 알고리즘에 대한 적용되며 각 스레드는 한 번에 실행할 예정이다.
  • 모든 스래드입니다 동일한 주소 공간, 파일 공유 실행하는 프로세스 내의 다른 프로세스에 스태킹하고 설명자, 관련 속성.
  • 스래드입니다 이후 프로세스의 프로세스 내의 synchronizing 액세스하려면 동일한 메모리, 데이터 공유 공유 등의 전례 없는 중요도입니다.

내가 대출받은 위의 정보 의 [ 기술 Quest! 블로그 ] (http://web.archive.org/web/20100807021758/http ://kquest.co.cc/2010/03/program-process-task-thread).

해설 (7)

첫째, let& # 39 의 이론적 봐 주었다. 개념적으로 프로세스 관리는 어떻게 이해해야 하는 프로세스와 스레드 및 what& # 39 의 차이점에 대한 이해를 돕기 위해 그들 사이에 공유됨.

우리는 다음 섹션에 고전적 2.2.2 스레드할 모델 [현대 운영 체제 3e] [1] 에 의해 테넌봄:

&gt. 두 개의 독립적인 개념을 프로세스 모델을 기반으로 하고 있다. 리소스에는 &gt. 그룹짓기 및 실행. # 17.3cm, 전체 use& 구별하는 경우가 있습니다. &gt. 여기서 스래드입니다 외숙모요

그는 계속.

&gt. 한 가지 방식으로 처리할 수 있는 방안을 검토하고 있다는 &gt. 그룹 관련 자료 동업이요. 프로세스 주소 공간을 보유하고 있습니다. &gt. 프로그램을 포함하는 텍스트, 데이터 뿐만 아니라 다른 리소스와의. 이러한 &gt. 리소스에는 파일 열기, 알람, 자식 프로세스를 포함될 수 있고, 보류 &gt. 핸들러도 신호 정보 등을 차지했다. 이를 두고 &gt. 그들은 함께 형태로 프로세스를 보다 쉽게 관리할 수. &gt. 일반적으로 스레드는 프로세스 실행, 다른 개념을 갖고 있다. &gt. 그냥 스레드할 단축됐다. 엇회전식 스레드 프로그램을 제공하고 있다. &gt. # 17.3cm, 다음 실행할 수 있는 추적합니까 instruc& 드립니다. 있는 경우도 있다. &gt. 현재 작업 com/go/4e6b330a_kr 갖고 있다. 또한 스택을 포함하는 &gt. 실행 기록, 한 개의 프레임이 있는 것이 아니라 각 proce& # 두레 불렀으매 17.3cm. &gt. 아직 귀국했다. 비록 일부 프로세스 스레드할 autoexec. 합니다. &gt. 해당 프로세스 및 치료를 할 수 있고 서로 다른 개념을 스레드할 &gt. # 17.3cm, sepa& 라트리. 프로세스를 사용하는 리소스를 함께 그룹화하려면. 스래드입니다 &gt. cpu 에 스케줄링된 엔티티에는 실행할 수 있다.

그는 다음 table: 자세히 제공합니다.

Per process items             | Per thread items
------------------------------|-----------------
Address space                 | Program counter
Global variables              | Registers
Open files                    | Stack
Child processes               | State
Pending alarms                |
Signals and signal handlers   |
Accounting information        |

39 의 계약을 체결한 데 이어 let& [하드웨어 다중스레딩] [2] 배정됩니다. 고전적인 단일 실행, CPU 의 상태를 유지하는 지지할 스레드할 thread& # 39 를 통해 단일 프로그램 카운터 및 세트 "라는 의미이다. 그러나 캐시 miss a, s # 39 there& 어떻게 될까요? 이 데이터가 페치할 데 시간이 오래 걸리는 일이 # 39 의 메인 메모리, CPU 가 유휴 that& 떨어졌으며, 그냥 앉아. 그래서 누군가 경식도 스레드할 기본적으로 두 가지 아이디어를 가지고 다른 상태 (PC + 레지스터) 도왔으매 스레드할 (아마 동일한 프로세스, 아마 다른 프로세스) 의 메인 메모리 스레드할 얻을 수 있는 반면 다른 일이 기다리고 있다. 이 개념은 여러 개의 이름과 같은 HyperThreading 구축 및 동시 다중스레딩 (SMT) 의 파선-짧은).

이제 let& # 39 의 소프트웨어 측면을 살펴봐야 합니다. 기본적으로 3 가지 방법으로 구현될 수 있는 소프트웨어 측면에서 스래드입니다.

  1. 사용자 공간 스래드입니다
  2. 커널 스레드를
  3. 둘의 조합으로

구현하는 데 필요한 모든 CPU 는 스래드입니다 저장 기능 및 유지 할 수 있는 경우가 많아 여러 스택, 사용자 공간에서 수행할 수 있는 상태. # 39 는 사용자 공간 스래드입니다 수 없는 만큼, 초고속 스레드할 스위칭이란 너회가 don& 트랩하는 꽂으십시오 커널 능력 또한 예약하십시오 스래드입니다 the way you like. 가장 큰 단점이 차단 할 수 있다 (I / O 전체 프로세스 및 모든 it& 되는 블록이어야 # 39 의 스레드하고) 의 가장 큰 이유 중 하나인 우리가 사용하는 스래드입니다 1 위를 차지했다. 차단 프로그램 디자인을 상당히 단순화됩니다 스래드입니다 I / O 에서 사용하는 경우가 많다.

커널 스레드를 사용하여 I / O 의 유리할 수 있다는 차단 외에도 모든 OS 에 문제가 있지만 각 스레드할 스위치였습니다 单捞磐啊 것가운데 스케줄링하는 트랩핑 꽂으십시오 커널 원하는거요 잠재적으로 느려. 그러나 이 때문에 I / O you& # 39, re 스위칭이란 스래드입니다 차단되었음을 isn& # 39, t really 이후 I / O 작업을 포착되었습니다 너회가 꽂으십시오 커널 이미 문제가 있을 겁니다.

다른 외곽진입 결합하여 다양한 커널 스레드를 스레드하고 각 두 여러 개 있다.

그래서 다시 당신의 용어, 프로세스 및 질문을 받고 있는 것을 볼 수 있습니다) 라는 용어를 사용할 수 있는 실행 스레드할 는 서로 다른 두 개념 및 선택에 따라 달라집니다 you& # 39, re 이야기하고 있습니다. 이와 관련해, 가벼운 무게, 내가 직접 # 39 이라는 &quot process&quot don&, t, t really 불지옥이 시점으로든지 볼 만큼 doesn& # 39 라는 용어는 what& # 39 의 execution&quot 스레드할 뿐만 아니라, 상황을 잘 ";).

[1]: http://www.amazon.com/modern-operating-systems-andrew-tanenbaum/dp/? 키드 = 0136006639, 1382427689, s = books&amp sr_1_1 /ref = = = = modern% &amp, sr, ie utf8&amp 1-1&amp 20operating% 20systems 여러키워드 [2]: http://en.wikipedia.org/wiki/Multithreading% 28computer_architecture% 29

해설 (5)

더 설명할 concurrent programming with respect to

  1. 독립된 하나의 프로세스에서 실행 환경. 일반적으로, 자원, 전체 프로세스를 가지고 다양한 기본 pbs. 런타임 특히, 각 프로세스 자체 메모리 공간이 있다.

  2. 모든 프로세스는 프로세스 내의 타임코드가 스래드입니다 1 개 이상 가지고 있습니다. # 39 의 스래드입니다 process& 메모리이고 등 자원을 공유할 파일 열기. 하지만 이 사용할 수 있는 효율적인 의사소통 문제가 많다.

항상 사람이 평균적으로 염두에 두고

공개을 컴퓨터에 Microsoft Word, 웹 브라우저. 우리들은 이 두 프로세스뿐 .

Microsoft word 에서 일부 및 it gets 구했잖아 자동으로 입력한 것. 이제 편집 및 저장 됩니다 - 편집 및 저장 한 사실을 알고 있는 경우는 평행광 스레드할 on the other 어떨까.

해설 (2)

&gt. 하나 이상의 프로세스를 애플리케이션과는 이루어져 있다. 가장 간단한 약관보다 프로세스,) 는 실행 중인 프로그램. 하나 이상의 스래드입니다 관점에서 실행하십시오 과정이다. 마음이 있는 운영 체제의 기본 단위가 프로세서 시간을 할당합니다. 현재 실행 중인 프로세스의 코드를 실행할 수 있는 부품을 포함한 스레드 일부가 다른 사람이 어떨까. 실행 되어야 하는 응용 프로그램에서 수동으로 스케줄링된 파이버 정의한다. 관점에서 스래드입니다 저들이요 스케줄링합니다 실행하십시오 있는 섬유

훔친 [here] [1].

[1]: 이아스파스 http://msdn.microsoft.com/en-us/library/ms684841 (VS.85)

해설 (2)

A process) 은 코드, 메모리, 데이터 수집 및 기타 리소스로는. 마음이 시퀀스일 코드 범위 내에서 실행되는 프로세스. (보통) 가 동일한 프로세스 내의 여러 개의 스레드를 동시에 실행할 수 있습니다.

해설 (0)
  • 실제 예를 프로세스와 스레드 *

  • 이 부여하느뇨 스레드할 및 프로세스 * 대한 기본적인 개념은 합니다. ! [입력하십시오. 이미지 여기에 설명을] [1]

  • I 에서 빌린 위 * - 스콧 Langham& # 39 의 오토메이티드 정보 감사합니다

해설 (0)
  • 모든 process) 은 스레드할 (primary 스레드할).
  • 하지만 모든 프로세스를 스레드할 아닙니다. It 부품이라면 (엔티티) 는 프로세스.
해설 (2)
  • Process:* &lt br>;
  1. Process) 은 중량 과정이다.
  2. Process) 은 별도의 메모리, 데이터, 자원 별도의 프로그램이 있는 e.
  3. 생성될지 포크하지 () 메서드를 사용하여 프로세스를.
  4. 컨텍스트로 전환할 과정은 많은 시간이 소요됩니다. &lt br>;

예: &lt br>; 말하도다 열지 브라우저 (mizilla, 구글 크롬, IE). 이 시점에서 새로운 프로세스를 시작할 것이라고 autoexec.

  • Threads:*
  1. 스래드입니다 경량 프로세스 있다. 번들 인사이드라면 스레드는 프로세스.
  2. 공유 메모리, 데이터, 자원 투명지에 스래드입니다 파일 등).
  3. 스래드입니다 clone () 메서드를 사용하여 만든 있다.
  4. 많은 시간을 소비하는 Process.&lt 로 전환할 컨텍스트로 않습니다를 스래드입니다 br>;

예: &lt br>; 브라우저에서 여러 탭 열기. &lt br>;

해설 (1)

모두 비종속 시퀀스에만 스레드는 프로세스 및 실행. 일반적인 차이점은 스래드입니다 (동일한 프로세스) 공유 메모리 공간이 있으며, 별도의 실행하십시오 실행하십시오 프로세스활용 메모리 공간.

프로세스

실행 시 프로그램이다. 이 회사는 현재 활동은 이리에, 텍스트 부분을 프로그램 코드를 프로그램 카운터 값을 나타내는 &amp. 컨텐츠 프로세서 레지스터. 또한 임시 스택할 dm_ownerdm_owner 프로세스를 포함하는 데이터 (예를 들어, 함수 매개변수입니다 복귀하십시오 ruettgers 및 지역 변수를), data 절을 전역 변수를 포함하는. 프로세스는 프로세스 도중 동적으로 할당된 메모리가 실행 시간이 있어야 힙, 이는 즉.

스레드할

마음이 기본 단위를 CPU 활용도. 정보기술 (it) 은 스레드 id, 프로그램 카운터, 레지스터 집합, 그리고 스택할. it 와 공유됨 스래드입니다 동일한 프로세스를 속하는 다른 데이터 파일 열기 및 기타 운영 체제, 해당 코드를 섹선에서 섹션이고 같은 리소스에는 특징이다.

  • 출처 운영 체제에서 갤빈
해설 (0)

원자 단위계 (OS) 는 모두 스레드와 프로세스 자원 할당 (즉, there is a 동시성 모델 설명하는 어떻게 소유 및 모델 CPU 시간 분할됩니다 그 사이에 다른 OS 자료). 차이가 있습니다.

  • 공유 자원 (스래드입니다 공유하는 것 외에는 아무 것도 소유하지 않은 메모리 정의에 의해, 스태킹하고 로컬 변수. 프로세스뿐 수도 있다) 이 있는데, 별도의 메커니즘을 이를 위해 공유 메모리를 관리하는 OS)
  • 할당일까요 공간 (커널 공간에서 프로세스뿐 vs. 에 대한 사용자 공간 스래드입니다)

이 단어는, 얼랭 제꿈의 &quot process&quot 그들위에 맞자나 그렉이야 휴길 대한, 그리고 here # 39 에 대한 논의가 there& 왜 얼랭 할 수 있는 프로세스를 가벼운.

해설 (0)

이 질문에 답해야 하는 jave 관련된 세계.

그러나 한 스레드는 프로세스 (process) 는 실행 프로그램의 실행 조합으 단일 프로세스 내의. 여러 스래드입니다 프로세스 포함할 수 있습니다. 마음이 라고도 경량 프로세스 .

예를 들면 다음과 같습니다.

사례 1: 자바 가상 머신 (jvm) 에서는 단일 프로세스 및 스래드입니다 속해 있는 것과 공유할 수 있는 과정이다. 그래서 여러 스래드입니다 같은 개체에 액세스할 수 있습니다. 힙 및 공유할 스래드입니다 나름의 스택할 공간. 그것은 여분이라일러라 스레드할 호출 변수는 스레드 안전 및 해당 지역 계속 1 의 메서드입니다 다른 커넥터로부터 스래드입니다. 그러나 스레드 안전 및 위해 반드시 동기화되어야 스레드할 힙 아니다.

예 2: 그림을 그릴 수 없는 프로그램을 통해 판독값 keystrokes. 키보드 입력 및 프로그램을 제공할 수 있어야 합니다 모든 신경을 쓰고 두 개 이상의 이벤트가 한 번에 처리할 수 없는 문제가 발생할 수밖에 없다. 이 문제는 두 개 이상의 단면에는 가장 적합한 솔루션을 공동 실행 프로그램의 동시에건간에. 스래드입니다 수 있게 됩니다. 이 그림은 그리던건데 프로세스와 프로세스 (thread) 는 판독값 키조합 서브노드.

해설 (1)

http://lkml.iu.edu/hypermail/linux/kernel/9608/0191.html &gt. 리누스 토르발스 (torvalds@cs.helsinki.fi) &gt. &gt. 화, 6일 8월 1996년 12 47hz 31 +0300 (eet dst) &gt. &gt. 메시지 정렬됩니다. [날짜] [스레드할] [주제라서요] [저자] &gt. &gt. 다음 메시지: 베른트 P. 질러: &quot, Re: Oops 에서 get_hash_table&quot. &gt. &gt. 이전 메시지: 리누스 토르발스: &quot, Re: I/O reques ordering&quot. &gt. &gt. 월요일, 5일 8월 1996년, 피터 p. 이저로 대해 다음과 같이 썼다. &gt. &gt. &gt. &gt. &gt. 계속 总监和首席信息官完全了解 스래드입니다 선택해제합니다 필요하다. 너무 많은 사람들이 &gt. &gt. 프로세스와 스레드 줄 것으로 보인다. 다음과 같은 토론 &gt. &gt. 현재 상태를 백업이었습니다 linux용 반영하지 않은 것이 아니라, &gt. &gt. 높은 수준에서 논의가 임상의들의 시도합니다. &gt. &gt. 안돼! &gt. &gt. &Quot threads&quot, 생각하는 이유가 없습니다. 및 &quot processes"; 있다. &gt. 별도의 엔티티로서. 하지만 난 어떻게 it& that& # 39 의 # 39 의 전통적으로 수행되 &gt. # 39 의 랑하니 it& 개인적으로 큰 실수라고 생각하고 이쪽요. 유일한 &gt. 역사적 수하물 이쪽요 생각할 이유가 있다. &gt. &gt. 정말 모두 스레드와 프로세스 게 하나 있다. a 의 컨텍스트로 &quot. &gt. execution". 그냥 다른 경우가 인위적으로 구분할 수 없을 것이다. &gt. 자기 제한. &gt. &gt. 이로써, 코, a 의 &quot 컨텍스트로 execution&quot 불렀으매 이제 막 지켜보고 있다. &gt. 모든 스테이드 iqn 코. Cpu 와 같은 것들을 포함하고 있는 상태 &gt. 상태 (레지스터 등) 의 경우 MMU 스테이드 (페이지 매핑이라는), 사용 권한 스테이드 &gt. (uid, gid), 통신 및 다양한 &quot states&quot. (파일 열기, 신호 &gt. 핸들러도 등). 전통적으로 차이는 thread&quot "; 그리고 &gt. &quot process"; 그동안 페인트하는 스래드입니다 cpucomment 스테이드 (+ 가능성이 있다. &gt. 반면, 다른 모든 국민으로부터 컨텍스트로 다른 최소한의 상태) &gt. 과정이다. 그러나 s just that& # 39. &gt. 총 길이 클린업합니다 코 상태를 one 나누고 있는 게 없다고 말하고, 옳은 길로 it& # 39 와 s do it. 교도관님도요 제한 &gt. 그냥 일반 멍청했죠 해당 종류의 이미지가 &gt. &gt. 이에 대해 생각하는 방식을 (및 운행에서어떠한 셨으며 I want to work) 는 리눅스 &gt. no such thing as a &quot process&quot is 없다는;; 또는 thread&quot ";). There is &gt. 전체 중 유일하게 COE (일명 &quot task"; linux 에서). # 39 의 다른 COE& &gt. 그 중 한 부분을 컨텍스트로 subset 서로 공유할 수 있습니다. &gt. 공유 기능이 있는 기존 &quot thread&quot /&quot process";;; 하지만 이러한 설정 &gt. 받아야 할 것으로 봐야 서브세트만 (it& # 39 의 중요한 서브셋에 하지만 &gt. 하지만 그 중요도입니다 완료되니라 아닌 에서 설계 기준: 우리는 오브리우스 리 &gt. 리눅스 기반으로 하는 표준 준수 스래드입니다 실행하십시오 프로그래밍합니다 &gt. 너무). &gt. &gt. 한 마디로. 디자인 / 프로세스 사고에서 스레드할 주변에 마십시오. 이 &gt. 커널 설계됩니다 코 주변, 그리고 사고 방식을 합니다. &gt. pthreads library 부족하십니까 익스포트합니다 pthreads 인터페이스입니다 사용자 수 있습니다. &gt. # 39 의 COE& 사용하고자 하는 이쪽요 보고 있다. &gt. &gt. 단적인 예로 뭐한테 있다고 생각할 때 코 tpc. 수 있게 됐다 &gt. 반대로 스레드할 / 프로세스: &gt. &gt. - 당신은 할 수 있는 외부 &quot cd"; 프로그램, 생각하신거야) 는 전통적으로 불가능한 (UNIX) 및 / 또는 process/thread (어리석은 생각을 보여주고 있지만 &gt. 가질 수 있는 것은 이런 종류의 &quot modules"; # 39 aren& 국한된 것이 아니다. &gt. 기존의 UNIX / 스래드입니다 설치). Do a: &gt. &gt. 클론 (CLONE_VM CLONE_FS); &gt. &gt. 아기: 에스테베 (external-cd&quot ";). &gt. &gt. / 이 &quot &quot 에스테베 ();; 그래서 우리는 연관해제 VM 는 단 하나의 이유는 &gt. clone_vm 사용하여 만들 수 있었지만 (the act of 클론한 빠른 / &gt. &gt. - &Quot &quot 브포크 (), 할 수 있습니다. 자연스럽게 (it) 를 지원하는 커널 지원을 받았지만 자에 최소한의 부응합니다 CUA 사고 방식을 완벽하게): &gt. &gt. 클론 (CLONE_VM); &gt. &gt. 아기: 결국 계속 실행하십시오 에스테베 () &gt. &gt. 엄마: 에스테베 기다립니다. &gt. &gt. - deamons&quot, 외부 &quot, 입출력 (i / o 작업을 수행할 수 있습니다. &gt. &gt. 클론 (CLONE_FILES); &gt. &gt. 아기: 오픈 파일 설명자 상술합니다 &gt. &gt. 엄마: # 39 의 하위 열리고 vv fd& 사용합니다. &gt. &gt. 위의 모든 작동합니까 aren& # 39 는 thread/process 제약됨 수 있기 때문에, t &gt. 사고 방식을. 예를 들어 CGI 생각할 수 있는 웹 서버 &gt. 스크립트는 수행되 tpc. 스레드를 execution&quot ";). # 39 는 can& 함께 할 수 있습니다. &gt. 항상 기존의 스래드입니다 공유할 수 있기 때문에 기존의 스래드입니다 &gt. 전체 주소 공간, 그래서 모든 것을 할 수 있습니다 링크 판매업체에서 you& # 39; d &gt. 하고 싶었는지 웹 서버 자체가 (a &quot thread"; # 39 는 다른 실행하십시오 can&. &gt. 실행가능파일). &gt. &gt. 이러한 점을 고려, 컨텍스트로 execution&quot &quot 있다. 대신 너회의 문제 &gt. 외부 프로그램 (= 분리하십시오 택한 작업을 실행할 수 있습니다. &gt. 주소 공간 모 서피스에서) 등 싶을 때, 또는 그들이 수행할 &gt. 예를 들어 있는 모든 파일의 공유 except 상위입니다 &gt. 설명자 (sub-&quot 있도록 threads"; 많은 않고 파일을 열 수 있습니다. &gt. 상위입니다 걱정해야 하는 그들. 그 때 자동으로 닫으십시오 &gt. 이 sub-&quot thread"; 종료하므로, 정보기술 (it), s, t # 39 doesn& fd& 사용하게 # 39 의 상위). &gt. &gt. 예를 들어, inetd&quot, &quot 스레드한 생각해 보십시오. 운영까지도 낮음입니다 오버헤드에 &gt. 수 있는 방법, 그리고 fork+exec linux용 &quot &quot 사용하는 대신, 포크하지 (); &gt. 여기서 각 스레드를 작성하여 멀티스레디드 inetd 만들어지고 있습니다 &gt. 그냥 CLONE_VM (주소 공간을 공유할 수 있지만, 파일 공유 설명자 don& # 39, t &gt. 등). 아이의 경우 외부 서비스 (, rlogind 모함이야 에스테베 수 있습니다 다음 &gt. 예를 들어) 또는 어쩌면 내부 inetd 서비스 중 하나가 되었다 &gt. (에코), 타임공데이) 의 경우는 그냥 # 39 건 및 종료하므로 it& 않습니다. &gt. &gt. # 39, t, 함께 할 수 있습니다, /&quot thread&quot &quot can& process";). &gt. &gt. 라이너스

해설 (0)

차이를 스레드할 및 실행됩니까?

실행 중인 프로세스를 실행 신청서, 인스턴스에서는 마음이 길을 프로세스 내의. 또한 여러 개의 스레드를 처리할 수 있습니다. 주목할 것은 아무 것도 할 수 있는 프로세스를 스레드할 할 수 있지만, 스레드는 프로세스 구성될 수 있으며, 이후 여러 스래드입니다 밺 가벼운 "프로세스를 간주할 수 있습니다. 이에 따라 각 프로세스는 스레드할 에센셀 차이 및 작품에 사용된 하나는 해결할 수 있습니다. 스래드입니다 사용되는 반면, 작은 이동작업 프로세스를 사용하는 응용 프로그램을 실행할 수 있는 작업 - 자세한 "헤비급" 기본적으로.

또 다른 차이점은 스레드할 및 프로세스 내의 다른 프로세스를 공유하지는 동일한 프로세스 주소 공간의 에로남이네 스래드입니다 같은 읽기 / 쓰기를 할 수 없는 반면, 이 스래드입니다, 또한 같은 데이터 구조 및 변수 간의 통신을 용이해지므로 스래드입니다. 프로세스 간 통신 (ipc 또는 프로세스 간 통신 - 소트트웨어용 매우 어려운 노동 집약적이라는 단점을 가지고 있습니다.

&gt. 요약하면 차이점을 스레드와 프로세스:

  1. 스레드는 프로세스 보다 쉽게 만들 수 있기 때문에

    39, t don& 사용하려면 별도의 주소 공간.

  2. 이후 스래드입니다 다중스레딩 두고 신중하게 프로그래밍 데이터 공유를 하는 스트루커스 이벤트여야만 1 씩 수정되었음 스레드할 한 번에. # 39 스래드입니다 don& 달리, 프로세스, t 는 동일합니다 주소 공간.

  3. 가벼운 사용하기 때문에 이들보 스래드입니다 간주된다. 보다 덜 리소스에는 프로세스활용.

  4. 프로세스뿐 서로 독립적으로 지원됩니다. 스래드입니다 있기 때문에, 동일한 주소 공간을 도왔으매 二쇱쓽 상호 공유할 수 있다.

    39 의 단계, 서로 다른 스래드입니다 don& 도왔으매 취해야 할 것이다.

    이거 정말 다른 방법을 알려주는 # 2 위.

  5. 여러 스래드입니다 프로세스 구성될 수 있습니다.

해설 (0)
  1. 공유 메모리 공간을 런입니다 스레드는 프로세스 실행 별도의 메모리 공간이 있지만,
  2. 그러나 마음이 헤비급 선수 process) 은 간단한 프로세스의 프로세스.
  3. 는 하위형식 스레드는 프로세스.
해설 (1)

한 가지 관점에서 면접관이 그냥 기본적으로 3 가지 주요 프로세스 같은 것을 듣고 싶다, 목동들과 명백하네 스래드입니다 여러 개 있을 수 있습니다.

  1. 즉, 동일한 메모리 공간을 공유하지는 스래드입니다 액세스하려면 other& # 39 의 스레드 스레드할 에서 메모리 메모리. 일반적으로 프로세스활용 수 없습니다.
  2. '이다. 자원 (메모리, 핸들, 소켓 등) 은 릴리스에는 스레드할 아닌 http://support. 프로세스 종료 합니다.
  3. 데스크탑입니다. 프로세스 고정되어 보안 토큰인지. 스레드할 가장할 수 있는 반면, 다른 사용자 / 토큰.

39 더 스케쳐내 스콧 Langham& 꽤 많은 전지전능하시니라 닫히지만 태도다.

이들 모두 관점에서 운영 체제를. 다른 언어를 사용하는 등 다양한 개념을 구현할 수 있지만 이들은 그냥 사용하는 방법, 작업 및 드릴링됩니다 표시등으로 웨이 스래드입니다 스래드입니다 (섬유) 의 windows 에서). 하드웨어 및 소프트웨어 스래드입니다 없습니다. 및 하드웨어 및 소프트웨어 인터럽트 가지 예외 또는 사용자 모드 및 커널 스래드입니다 .

해설 (2)

다음은 관련 기사 중 하나에서 내가 코드 프로젝트. 필요한 모든 것 같아요 확실하게요 설명합니다.

&gt. 마음이 메커니즘을 통해 다른 별도의 워크로드에 분할 &gt. 엑서큐션 스트림까지. 마음이 아닌 경량화 과정이다. 이 &gt. 이를 통해 보다 덜 수 있는 프로세스이지만, 전체 빨아준 유연도를 것을 의미합니다. &gt. 운영 체제의 초기화되어야 빠른 더 적기 때문에 &gt. 설정. 두 개 이상의 스래드입니다 구성되며, 모든 프로그램을 때 &gt. 공유하지는 스래드입니다 하나의 메모리 공간. 개별 프로세스 주소 공간 주어져 있다. &gt. 모든 공유하지는 스래드입니다 단일 힙. 하지만 각 스레드할 자체 스택할 주어질 수 있다.

해설 (2)

39 의 OS 에서 linix Kernel& 받아 볼 수 없을 것이다.

프로세스 메모리에 프로그램을 실행하면 됩니다. 프로세스 마다 주소 공간을 갖는 등 다양한 세그먼트만 마무리라뇨 메모리에 저장하는 코드를 저장하는 전역 변수, 실베스 .text 세그레먼트 컴파일됨 비초기화 정적임 또는 상술합니다. 각 프로세스 자체 프로그램 카운터와 스택 사용자 스파시 있을 것이라고 말했다. 각 프로세스 자체 커널 내부 커널, 틀림없이 스택 (스택 분리되어 있는 보안 문제에 대한 사용자 공간) 과 이름이 '구조' 는 일반적으로 task_struct 추상화 같은 프로세스 제어 블록, 저장 등의 프로세스를 관한 모든 정보를 그 우선 순위를, 시/도, (그리고 다른 특징을 청크를). 여러 스래드입니다 프로세스 실행 할 수 있다.

그들은 가고 스래드입니다 내부에 프로세스와 부모 프로세스가 다른 리소스와의 함께 공유할 수 있는 주소 공간 (스레드 작성 등 자원, 공유, 파일 시스템 중 전달될 신호를 보류 데이터를 공유할 수 있다 (변수 및 지침) 따라서 스래드입니다 업그레이드됨 가볍고 빠른 컨텍스트로 스위칭이란. 커널, 각 스레드는 커널 내부 구조를 정의하는 '함께' task_struct 는 자체 스택할 어떨까. 커널 스레드를 볼 수 있으며 다른 엔티티에는 스케줄 때문에 같은 프로세스를 있는 것 "이라고 말했다. 동일한 프로세스 id 로 불렀으매 스래드입니다 공통적으로 스레드할 그룹 id, id 가 고유해야 또 ('타이드') 로 불리는 프로세스 id (pid) '').

해설 (0)
  • 프로세스를 *: 프로그램 실행 프로세스에 따라 알려져 있다

  • 스레드할 *: 이는 다른 프로그램의 일부가 함께 실행됨을 스레드할 는 기능을 기반으로 总监和首席信息官完全了解 &quot, 1 개는 other&quot 아니하였덕라이처럼 하나님온 부품이라면 스레드할 프로세스.

해설 (2)