2016-11-20 1 views
0

코드 블록을 사용하여 C로 샘플 hello world 프로그램을 실행합니다.C 프로그램 실행 : 프로세스 또는 스레드에서 실행됩니까?

실행하면 the process returned 0이라고 표시됩니다.

운영 체제에서 실행된다는 것을 알고 있습니다.

나는 몇 가지를 알고 싶어 :

  1. 내가 별도의 프로세스와 관련된 실행 프로그램이나 OS가에 별도의 스레드를 할당?

  2. 함수가 Windows 32 비트 또는 64 비트에서 호출되면 코드 세그먼트 레지스터도 스택으로 푸시됩니까?

답변

0

질문에 대한 답변은 프로세스를 보는 방법에 따라 다릅니다.

프로세스가 주소 공간이있는 스케줄 가능한 엔티티 인 전통적인 프로세스 모델에서는 프로그램이 프로세스를 실행했다고 말할 수 있습니다.

이 전통적인 모델을 단일 스레드가있는 프로세스로보고 싶다면 프로그램이 스레드에서 실행됩니다.

이것은 단순한 단어 게임입니다.

스레드를 기본적으로 예약하는 시스템에서 실행중인 경우 프로그램은 실행이 발생한 스레드가 포함 된 프로세스에 존재합니다.

64 비트 세그먼트가 없습니다.