fork 함수에 대해 질문드립니다..
글쓴이: 등짝을보자 / 작성시간: 월, 2006/12/04 - 3:45오후
#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() { pid_t pid; if((pid=fork()) == -1) perror("fork failed"); else if(pid != 0) printf("pid %d child process %d\n",getpid(),pid); //1111111111 else printf("pid %d parent process %d\n",getpid(),getppid());//222222222222222 return 0; }
위에 소스을 보시면 1번부터 실행되야하는것처럼 보이지만..
실행해보면 2번이 먼저 실행이 된다음에 1번이 실행되더군요?
왜 그런건가요??
stack 하고 관련이 있는건가요??
Forums:
fork() 라는 함수는
fork() 라는 함수는 함수 내부에서 자신을 복사한 프로세스를 하나 만듭니다. 스케줄러에는 같은 실행파일
이미지를 갖는 2개의 프로세스가 보이고 복사된 시점부터 같은 프로그램 카운트(PC)을 같은 프로세스가 2개가
되는 겁니다. 두 프로세스의 차이라면 하나는 부모가 되고 하나는 차일드입니다. 그 PC로부터 각 프로세스의
실행을 보면 부모 프로세스는 fork() 리턴이 0인 아닌 값으로 리턴되고
자식 프로세스는 fork() 리턴값이 0인 프로세스로 실행됩니다.
실행순서는 스케줄러의 상황에 따라서 부모가 먼저 실행될 수 있고 아니면 자식이 먼저 실행될 수 있습니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
잘몰라서 그러는데요..
스케줄러의 상황이라는게 뭔가요??
감비노도 궁금해하더라구..등짝!..등짝을보자!..
감비노도 궁금해하더라구..등짝!..등짝을보자!..
정확히는 프로세스의
정확히는 프로세스의 스케줄링 우선순위에 따라 결정된다는 말이 맞겠지요. fork()의 분기 이전에 부모프로세스가
점유한 시간에 따라 우선이 뒤 바뀔 수 있습니다. 순서를 항상 보장한다고 말하기는 힘듭니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
암말이 달려가다가
암말이 목적지로 달려가다가 숫말과 눈이마주쳐.. 망아지를 낳았습니다...
망아지도 태어나자말자 달렸습니다...
암말도 새끼낳고 바로 달렸습니다...
문) 목적지에 먼저도착한 말은?
1. 암말...
2. 망아지...
3. 숫말...
4. 알수없다.
----------------------------------------------------------------------------
숫말이 ?개월 이상
숫말이 ?개월 이상 앞서고,
망아지가 어미말 보다 좀 늦겠군요. ㅎㅎ
emerge money

https://xenosi.de/
땡.~!숫말은
땡.~!
숫말은 다른암말과 또눈이 마주쳤음..
어미말은 달리다가 산후조리로 잠시 요양중..ㅎ
----------------------------------------------------------------------------
copy on write..?
copy on write(용어가 맞나요? 하도 오랜만에 생각을 들춰내다보니... 헷갈리네요 ;) 개념과는 어떤 관련이 없을까요? fork를 할 때 꼭 필요한 것만 복사하고(vfork?) dirty bit가 생기면 그때부터 복사가 이루어지는 것으로 알고 있는데... 이거 잘 되는거 맞나요??(어디선가 개념만 있지 사실은 안된다는 얘길 들은 것 같아서요... ;; 어디지?? -_-;;)
음... 답변이 아니라 질문이 되었군요 :)
句日新, 日新 日新 又日新.
句日新, 日新 日新 又日新.
댓글 달기