1

글타래: Kernel Panic 후의 응급조치

Kernel과 Extension들에 관하여

Mac OS X의 kernel은 XNU라 불리우는 Mach kernel에 그 기반을 두고 있습니다. 이 kernel은 Mac OS X의 선점용 멀티태스킹, 가상 메모리, 메모리 보호, 기본적인 I/O 등과 같은 기능들을 담당하고 있습니다. 또한 실행중인 작업들을 관리/처리하고, 동시에 kernel 자신을 포함한 서로간의 고유 작업 영역들을 서로 침범하지 못 하도록 제한합니다. 이것은 어느 하나의 작업 오류로 인해 다른 작업들에게 나쁜 영향을 끼치게 하는 것을 방지해서 Mac OS X의 안전성을 최대한 보장해주는 주요 요인이 되기도 합니다.

PowerPC 프로세서와 함께 실행되는 일반적인 작업들은 다른 작업들에 대해서 특정 권한을 갖지 않게 됩니다: 이것은 작업들이 그들 고유 영역에서만 실행되게 제한합니다. 이렇게 해서 컴퓨터의 하드웨어로의 직접적인 접근이 허용되지 않습니다.

그래서, 대부분의 불안전성은 장치 드라이버들에 의해서 발생합니다. 장치 드라이버들은 하드웨어에 직접적으로 접근해야 하기 때문에 특정 권한을 가지고 실행이 됩니다. 이러한 이유로, 이것들은 kernel의 확장자 구실을 하게 되며, 또한 kernel extensions 혹은 .kext 파일들로 불리우며, 일종의 'kernel 영역'에서 실행됩니다.

그래서, kernel 혹은 장치 드라이버가 충돌하게 되면, Kernel Panic이 일어난 것이라 할 수 있습니다.

Kernel Panic은 일 년에 한 두번 정도 아주 미미하게 발생할 수 있습니다만, 만약 주기적으로 발생한다면 새로 설치한 장치 드라이버드를 의심해 보시기 바랍니다.

응급 조치 단계들

간혹, 새로 설치한 RAM이 불량이거나 호환성 때문에 문제를 일으킬 수도 있습니다.
기본적으로 제공되는 Apple Hardware Test CD를 가지고 RAM의 불량을 확인하시거나, 혹은 다른 RAM 검사 도구들을 써보시기 바랍니다. 여기에는 상용인 TechTool Pro과 AppleCare Service Plan과 함께 제공되는 TechTool Deluxe가 있으며, 무료 command-line 도구인 Memtest와 이 Memtest를 기반으로 손쉽게 사용할 수 있게 만든 Rember가 있습니다.

Apple에서 제공한 확장자들만 가지고 시동: 시동 시, shift 키를 눌러서 'safe boot'로 실행합니다. 이렇게 하면, Apple에서 설치한 시동 항목들 이외의 것들도 제외됩니다.

만약, safe boot로 시동 후에 정상적으로 작동하면, 최근에 설치했던 타사 제품의 드라이버들을 지워주십시오. 만약, 삭제 방법을 모르신다면, 의심되는 확장자를 /System/Library/Extentions 폴더 안에서 찾아서 지워주고 재시동 하십시오.

터미널을 사용해서 /mach 그리고 /mach.sym 파일을 지워주십시오. 이것을 실행하기 위해서는 root 권한이 필요합니다. 보통 이것들을 지워주게 되면, 컴퓨터가 다시 시동할 때에 자동적으로 다시 만들어 집니다.

만약 컴퓨터가 시동이나 시동 후의 동작이 매우 느려졌을 경우에는, 확장자 캐쉬 파일들을 지워주십시오:

캐쉬파일들의 위치는 /System/Library/Extensions.kextcache 그리고 /System/Library/Extensions.mkext입니다.
이것들도 재시동할 때에 다시 만들어지게 됩니다.

아무쪼록, 이러한 응급조치가 필요하게 되는 상황이 안생기면 더욱 좋겠지요.
(개인적으로 별 문제없이 잘 사용하고 있다고 생각되었는데, /Library/Logs/panic.log 파일을 열어놓고 살펴보니, 작년에만 무려 9 번의 kernal panic이 기록되어 있군요.)

참고 문서 - MACOSXFAQ

+ = ²