이 문서는 Mac 컴퓨터의 레거시 System Extension을 다룹니다
macOS Catalina 버전 10.15.4의 변경 사항
macOS 10.15.4부터 Apple은 Mac에 사용 중단된 KPI(Kernel Programming Interfaces)를 사용하는 Kernel Extension이 있는 경우 최종 사용자에게 알림을 표시하기 시작했습니다.Apple은 일부 macOS 인터페이스와 지원 문서에서 사용 중단된 Kernel Extension을 “Legacy System Extensions”라고 부르기 시작했습니다.
이 알림 방지
사용자에게 이 알림이 표시되지 않도록 하려면 Iru를 통해 관련 Kernel Extension을 허용해야 합니다.1
Kernel Extension 식별
알림을 유발하는 Kernel Extension을 확인하고 최종 사용자에게 표시되는 모든 개발자 이름의 목록을 수집합니다.
2
개발자 정보 확인
Kernel Extension 개발자의 Team ID(및 선택적으로 KEXT 번들 ID)를 확인합니다. 다음 Iru Endpoint 지원 문서에서 알림을 받는 Mac에서 이 정보를 수집하는 방법과 Iru에서 필요한 KEXT 승인 프로필을 생성하는 방법을 안내합니다.
3
공급업체와 협력
이 변경의 영향을 받는 소프트웨어 공급업체와 협력하여 Kernel Extension을 동등한 System Extension으로 전환하도록 요청할 것을 적극 권장합니다.
Kernel Extension이란 무엇입니까?
기본적으로 KEXT(Kernel Extensions)는 개발자가 커널의 기능을 확장할 수 있도록 하는 코드 번들입니다. 이러한 Kernel Extension은 KPI(Kernel Programming Interfaces)라고 하는 프로그래밍 인터페이스를 사용합니다. 커널은 시스템의 모든 것을 담당하고 모든 KEXT에는 커널 권한이 부여되므로 이러한 확장은 매우 강력합니다. 이처럼 높은 수준의 권한 때문에 이러한 확장은 “커널 패닉”을 유발할 수 있습니다. 커널 패닉은 macOS 커널에서 발생하는 복구 불가능한 오류로, 시스템 재부팅이 필요합니다.System Extension이란 무엇입니까?
KEXT와 마찬가지로 System Extension은 운영 체제의 기능을 확장합니다. 그러나 KEXT와 달리 System Extension은 커널 외부의 사용자 영역(Userspace)에서 실행되므로, 개발자가 커널에서 코딩할 때 직면했던 많은 제약(대부분 다음 섹션에서 설명)에서 자유롭습니다. KEXT 개발과의 이러한 큰 차이로 macOS의 안정성이 크게 향상되고 복구 불가능한 오류의 가능성이 거의 사라집니다. macOS Catalina에서 도입된 System Extension은 특정 유형의 Kernel Extension과 KPI를 대체합니다. System Extension 대체 항목이 있는 다음 KPI 중 하나 이상을 사용하는 Kernel Extension은 앞서 언급한 알림을 유발합니다.
레거시 System Extension 정보
https://support.apple.com/en-us/HT210999
사용 중단된 Kernel Extension에 대한 추가 정보
https://developer.apple.com/support/kernel-extensions/
System Extension에 대한 추가 정보
https://developer.apple.com/system-extensions/