TASK_STOPPED, COW에 대하여

블루문 2014.04.13 10:11 조회 수 : 2148 추천:1

1. TASK_STOPPED 상태전이

 

process가 SIGSTOP, SIGTSTP, SIGTTIN, or SIGTTOU 시그널을 받으면 이상태로 빠질 수 있다.

디버거가 테스트 프로그램을 추적하기 위하여 ptrace() system call을 수행했을 때와 같이 하나의 process가 또 다른 Process에 의하여 모니터되고 있을 때, 각 시그널들은 그 프로세스를 TASK_STOP상태로 만든다.

 

다른 프로세스에 의해 일시적으로 동작이 멈춰졌을 때 일시적으로 이 상태에 빠지는 것 같습니다.

 

일반적인 Signal처리가 User Mode Process를 Kernel Mode로 전환시키는 것을 생각한다면,

TASK_RUNNING -> TASK_STOPPED 전환은 signal에 대한 특수한 적용 case로 봐도 좋을 듯 합니다.

참고하세요. 

 

2. COW 구동방식

 

kernel은 process의 전 주소 공간이 아니라 단지 page tables만을 copy한다.

parent process와 child process의 주소 공간이 동시에 같은 physical pages를 가르킨다.

parent process와 child process는 둘다 해당 pages에 대하여 read access 권한만을 가진다.

만약 둘중 하나의 process가 그 복사된 pages에 쓰기를 시도한다면, 그 process는 access error를 kernel에게 알려준다.

 

access error를 받은 커널은 page fault handler를 통하여 다음을 판단한다.

 

error page는 user space address인가? - yes

요구된 address에 mapping이 존재하는가? - yes

동작이 write access인가? - yes

해당 공간이 쓰기가능인가? - yes

 

이 모든 조건이 다 만족되면 비로소 copy on write가 발생합니다. 참고하세요.

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 프로그래밍 관련 Q&A 게시판 입니다. woos 2016.04.09 22254
398 스케줄링 정책 관련 [2] 이동표(구름과비) 2014.04.16 4375
» TASK_STOPPED, COW에 대하여 블루문 2014.04.13 2148
396 11차 Kernel x86_64 스터디에서 OB께 드릴 질문을 종합했습니다. [8] CoderBeast 2014.04.13 2272
395 리눅스 파일 삭제 후 잔여 용량이 남는 문제.... [1] 송창인 2014.04.08 3338
394 진로에대해서 정말고민이많습니다... 답글 부탁드려요 [2] 카르마 2014.04.05 2446
393 device driver 할당할 때 메모리 구조 YYS 2014.04.02 1837
392 모기향책 질문입니다. [2] 리눅스만세 2014.03.31 2403
391 리눅스 시스템 프로그래밍에 대해서 오뎅하나 2014.03.29 2121
390 "The art of computer programming" 이 책 어떤가요? [3] Jason 2014.03.27 2482
389 안드로이드에서 USB저장소자동setting방법문의 이창범 2014.03.25 2067
388 ftdi_sio.ko 이식 오류 [1] 이현수 2014.03.06 2639
387 GPU 드라이버쪽 개발하시는분 계시나요? [20] 김기오 2014.03.04 3667
386 리눅스 커널 프로그래밍 공부 방법좀 알려주세요 kwchat 2014.02.24 3534
385 운영체제에 관심이 있어서 책을 볼려고하는데요 bySs 2014.02.20 1857
384 커널 스터디 및 빌드를 하기 위한 노트북은 어느정도 사양이면 될까요? [1] 이정민 2014.02.19 2838
383 USB keyboard를 이용하여 LCD 창에 virtual console을 띄우려고 하는데요.. 초짜아찌 2014.02.10 3124
382 QEMU 자체만 debugging 하는 방법 문의 [2] 간전촌놈 2014.02.10 2565
381 mach-msm의 acpuclk.c 구조체및 함수관련 led2epplin 2014.02.09 3135
380 printk 관련 문의 [4] wizard1483 2014.02.07 2658
379 리눅스 질문이에용. 말아 2014.02.06 1803
XE Login