페이지 폴트때문에 트랩이 일어나면 os가 메모리에 없는건지 잘못된 참조인지 판단하고 잘못된 참조이면 abort 시키는건가여?
페이징 질문이에여
ㅁㄴㅇㄹ(1.243)
2015-05-26 16:34
추천 0
댓글 7
다른 게시글
-
비주얼 베이직 형님들 [4]입문(112.220) | 15.05.26추천 0
-
형님들 사람한명만 살려주세요 [3]뿡뿡이친구(121.128) | 15.05.26추천 0
-
프갤럼들은 군대 뺄수 있으면 빼라 [2]133t(bitsforeveryone) | 15.05.26추천 0
-
심심풀이로 보는 각종 정렬 알고리즘.mp4 [3]ㅇㅇㅇ(121.174) | 15.05.26추천 0
-
님들은 코딩한다고 할때 주로 뭘만듦? [4]익명(211.36) | 15.05.26추천 0
-
정렬할 데이터가 무지 많으면 [3]guest5(203.246) | 15.05.26추천 0
-
생성자 소멸자 관련 질문 [3]ㅋㅋ(210.99) | 15.05.26추천 0
-
정렬할 데이터가 매우 많으면 [3]ㅅㅅㅅ(125.128) | 15.05.26추천 0
-
본체 윙윙 소리 쩌는데 청소하기가 귀차늠 [1]천천히 살..(kiop7139) | 15.05.26추천 0
-
크리티카 [1]익명(223.63) | 15.05.26추천 0
잘못된 참조면... abort할 방법은 없고(페이지를 유효하게 하지 않으면 계속 무한히 trap이 발생할테니) 운영체제가 해당 참조 코드가 있는 프로세스를 더 이상 실행시키지 않고 강제로 종료시키겠지. 윈도우의 '오류 보고' 같은 걸 띄우면서. 만일 운영체제 커널이나 장치 드라이버 레벨 코드 내에서 그런 문제가 생기면 운영체제 오류가 발생하겠지. 윈도우면 블루스크린, 리눅스 계열이면 커널 패닉 같은 거. 윈도우 커널에서 그런 상황이 발생하면 PAGE_FAULT_IN_NONPAGED_AREA 코드로 블루스크린이 발생할 거임.
물론 일반 프로그램이 잘못된 참조를 할 경우, 꼭 무조건 오류 보고 띄우면서 프로그램 크래시가 일어나며 프로세스가 꺼지는 건 아니고 윈도우의 경우 SEH(구조적 예외 처리)라는 걸 이용해서 programmer가 시스템적 예외를 처리할 수 있게 해 놓은 장치가 있음. __try ~ __except 블록. 이걸 이용해서 메모리가 잘못 됐을 때의 예외 처리를 해 줄 수는 있음. 마치 자바의 NullPointerException 같은 거 try catch로 잡아내는 거랑 같다.
//ㅅㅅㅅ 공룡책에는 is가 테이블을 보고 invalid reference면은 abort 시킨다고 나와있는데 abort랑 강제종료랑 머가다른가여?
ㄴ is 가 아니고 os ;;
문맥에 따라선 (작업을) abort == 강제 종료일 수는 있겠네. 아무튼 메모리 참조 명령어를 무시할 뾰족한 수는 없음. 그런 경우엔 강제 종료일 뿐.
//ㅅㅅㅅ 그렇군여 보통은 abort 하면 어떤의미인가여?
http://autogram.tk/이
중고차 어플리케이션 어떤가요?