Computer >> 컴퓨터 >  >> 시스템 >> Windows 10

꼭 알아야 할 핵심 Windows 시스템 파일 총정리

Windows 운영체제는 수많은 파일과 프로그램으로 구성되어 있습니다. 이 중 일부는 항상 백그라운드에서 실행되고, 다른 일부는 운영체제가 필요할 때만 호출됩니다.

Windows의 핵심 시스템 파일 대부분은 C:\Windows\SystemC:\Windows\System32 폴더에 저장되어 있으며(컴퓨터 환경에 따라 드라이브 문자는 다를 수 있음), Windows 폴더 자체에도 여러 필수 파일이 포함되어 있습니다.

컴퓨터에 설치된 프로그램들의 실행 파일과 관련 파일은 일반적으로 C:\Program Files 또는 C:\Program Files (x86) 폴더에 저장됩니다.

기본적으로 이러한 디렉터리에 있는 Windows 시스템 파일은 수정, 삭제, 이동해서는 안 됩니다. 특히 몇몇 파일은 운영체제의 핵심 기능을 담당하기 때문에, 해당 파일이 삭제되거나 손상되면 Windows 운영체제를 복구해야 하는 상황이 발생할 수 있습니다.

그렇다면 어떤 파일들이 Windows의 심장부라고 할 수 있는 핵심 파일일까요? 지금부터 반드시 알아두어야 할 주요 시스템 파일들을 하나씩 살펴보겠습니다.

Ntoskrnl.exe – 운영체제의 심장, 커널 이미지

Ntoskrnl.exe는 커널 이미지 파일로, 운영체제가 정상적으로 작동하도록 만드는 핵심 코드(실행 계층)입니다.

이 코드는 하드웨어 관리, 시스템 프로세스 제어, 메모리 관리를 담당합니다. 또한 어떤 애플리케이션이 시스템 프로세서에 접근할 수 있는지, 그리고 얼마나 많은 메모리(및 메모리 주소)를 할당받는지를 결정하는 스케줄링 역할도 수행합니다.

꼭 알아야 할 핵심 Windows 시스템 파일 총정리

작업 관리자에서 이 실행 파일은 'System' 및 'Registry'라는 이름으로 표시됩니다. 매우 강력하게 보호되는 파일이기 때문에 맬웨어 같은 악성 애플리케이션이 손상시키거나 삭제하기가 어렵습니다.

구버전 Windows에서는 많은 애플리케이션을 동시에 열면 Ntoskrnl.exe가 상당한 메모리를 소비하는 문제가 있었습니다. 하지만 Windows 10부터는 사용하지 않는 페이지를 메모리에 그대로 두지 않고 압축하여 저장하는 방식으로 개선되었습니다. 이를 통해 메모리 사용량은 줄었지만, 여러 애플리케이션을 동시에 실행할 경우 CPU 사용률이 높아질 수 있다는 점은 유의해야 합니다.

Ntkrnlpa.exe – 보호 메모리의 수호자

Ntkrnlpa.exe(New Technology Kernel Process Allocator)는 Microsoft Windows 커널과 시스템 코드의 핵심 소프트웨어 구성 요소입니다. Ntoskrnl.exe와 함께 스케줄링과 메모리 관리를 제어합니다.

또한 핵심이 아닌 애플리케이션이나 서비스가 운영체제의 핵심 영역에 접근하지 못하도록 차단하여, OS가 시스템 메모리의 보호 영역에서 안전하게 작동하도록 유지합니다.

꼭 알아야 할 핵심 Windows 시스템 파일 총정리

Ntkrnlpa.exe는 애플리케이션의 보호된 시스템 메모리 접근을 차단하는 역할을 하기 때문에, 많은 사용자가 Windows 시스템 오류의 원인을 Ntkrnlpa.exe로 오인하는 경우가 많습니다. 실제로 오류 메시지를 반환하는 프로세스가 바로 Ntkrnlpa.exe이기 때문입니다.

하지만 대부분의 경우 진짜 원인은 보호된 시스템 메모리에 침입하려는 일종의 맬웨어이며, 이로 인해 Ntkrnlpa.exe 오류가 발생하는 것입니다.

Hal.dll – 하드웨어 추상화 계층

시스템 커널과 관련된 또 다른 핵심 파일이 Hal.dll입니다. 이 DLL 파일의 이름은 Hardware Abstraction Layer(하드웨어 추상화 계층)의 약자입니다.

이 파일에는 애플리케이션이 복잡한 기계어 대신 간단한 프로그래밍 함수만으로 컴퓨터 하드웨어와 상호작용할 수 있게 해주는 핵심 코드가 들어 있습니다. 이름 그대로 하드웨어와의 통신 및 제어 과정에서 복잡성을 걷어내는 역할을 합니다.

꼭 알아야 할 핵심 Windows 시스템 파일 총정리

Hal.dll은 RAM 메모리 안에서 실행되며 System32 디렉터리에 위치합니다.

Hal.dll 자체는 컴퓨터에 문제를 일으키는 경우가 거의 없지만, 일부 맬웨어는 자신의 실행 파일을 위장하기 위해 같은 이름을 사용하기도 합니다. 다만 System32가 아닌 다른 폴더에 있다면 가짜 애플리케이션으로 판단할 수 있습니다.

절대 Hal.dll 작업을 강제 종료하지 마세요. 시스템이 작동 불능 상태가 되어 Windows 운영체제를 복원해야 할 수도 있습니다.

Win32k.sys – 그래픽 드라이버 인터페이스

Win32k.sys는 멀티 유저 Win32 드라이버 파일로, 원래 Windows XP 운영체제의 일부로 처음 출시되었으며 Windows 10을 포함한 이후 모든 Windows 버전에서 업그레이드되어 왔습니다.

이 파일은 모니터와 같은 출력 장치로 그래픽을 전송하는 과정을 관리하는 그래픽 드라이버 인터페이스입니다. Windows 10에서는 이 코드가 gdi32.dll에 의해 실행됩니다.

꼭 알아야 할 핵심 Windows 시스템 파일 총정리

안타깝게도 Win32k.sys는 오랫동안 Windows 운영체제의 핵심 부분이었고, System32 폴더만큼 철저히 보호되지 않는 위치에 상주하고 있기 때문에 맬웨어가 손상시키려는 주요 표적이 되곤 합니다.

또한 맬웨어가 자신의 파일에 Win32k.sys와 같은 이름을 붙여 사용자가 감염 사실을 의심하지 못하도록 하는 경우도 흔합니다.

Ntdll.dll – NT 커널 함수의 집합체

Ntdll.dll은 System 및 System32 시스템 디렉터리에 위치하며, 파일 설명은 NT Layer DLL입니다. 핵심 NT 커널 함수를 담고 있는 DLL 파일로, 사실상 운영체제 코어가 정상적으로 작동하도록 하는 기계어 코드를 포함합니다.

핵심 커널 프로그램이 Ntdll.dll에 포함된 함수에 접근하면, 이 파일이 해당 기계 수준의 함수를 처리합니다.

꼭 알아야 할 핵심 Windows 시스템 파일 총정리

Ntdll.dll 프로세스에서 오류 메시지가 발생한다면, 대개 Ntdll.dll 파일 자체의 손상이나 프로세스 충돌을 유발하는 하드웨어 문제가 원인입니다.

일반적으로 오류를 일으키는 하드웨어 드라이버를 재설치하면 문제가 해결됩니다. Ntdll.dll 파일이 손상된 경우라면 백신 소프트웨어로 복구가 가능하며, 복구가 어렵다면 Windows 복원이 필요할 수 있습니다.

Kernel32.dll – 메모리와 입출력의 관리자

Kernel32.dll 역시 Windows 운영체제 커널의 일부인 DLL 파일입니다. 메모리 인터럽트를 포함한 메모리를 관리하고, 모든 입력·출력 작업을 처리합니다.

Kernel32.dll은 일반 사용자 애플리케이션이 접근할 수 없는 보호된 메모리 공간에 로드되는 파일 중 하나입니다.

Kernel32.dll 관련 오류가 발생한다면, 대개 맬웨어나 손상된 하드웨어 드라이버(또는 불량 하드웨어)가 Kernel32.dll이 상주하는 보호 메모리에 쓰기를 시도했기 때문입니다. 이런 경우 하드웨어 드라이버를 재설치하거나 새 하드웨어로 교체하면 대부분 해결됩니다.

Advapi32.dll – 보안과 레지스트리의 핵심

Advapi32.dll(Advanced API)은 Windows 운영체제의 또 다른 핵심 구성 요소로, 시스템 보안 호출과 시스템 레지스트리 관련 호출을 처리합니다.

꼭 알아야 할 핵심 Windows 시스템 파일 총정리

이 DLL은 Windows의 시작과 종료를 관리하고, Windows 레지스트리를 제어하며, 사용자 계정과 계정 보안을 처리하고, Windows 서비스를 관리하는 역할을 합니다.

이 파일은 Windows 부팅 자체에는 필수적이지 않지만, 대부분의 애플리케이션과 하드웨어가 정상 작동하기 위해서는 반드시 필요합니다. 이 시스템 파일이 삭제되거나 손상되면 시스템 레지스트리나 보안에 접근하는 모든 애플리케이션 API 호출이 실패하면서 다양한 오류 메시지가 나타납니다.

User32.dll – UI 통신의 다리

User32.dll은 사용자 애플리케이션이 운영체제와 통신할 수 있도록 하는 핵심 Windows API 대부분을 포함하고 있는 시스템 파일입니다. Windows 애플리케이션이 표시하는 기본 창과 컨트롤 대부분을 처리합니다.

그래픽 사용자 인터페이스(GUI)를 가진 애플리케이션이라면 대부분 User32.dll이 제공하는 구성 요소를 활용합니다.

꼭 알아야 할 핵심 Windows 시스템 파일 총정리

다만 대부분의 경우 Windows 애플리케이션은 .NET 프레임워크에 내장된 라이브러리를 사용하고, 이 라이브러리가 User32.dll과의 통신을 대신 관리합니다.

어느 쪽이든 User32.dll은 이해하기 쉬운 애플리케이션 코드를 Windows 운영체제에 필요한 기계 수준의 명령으로 변환하는 역할을 합니다.

Gdi32.dll – 화면에 그림을 그리는 엔진

Gdi32.dll은 User32.dll과 마찬가지로, 애플리케이션이 모니터에 그래픽 사용자 인터페이스를 생성할 수 있게 해주는 함수들을 포함합니다.

Gdi32.dll에는 애플리케이션이 화면에 2차원 객체를 생성할 수 있게 해주는 함수들이 들어 있습니다. Windows 애플리케이션이나 서비스로부터 코드를 받아, 모니터에 시각적 객체를 표시하는 데 필요한 기계어 코드를 실행합니다.

이 DLL이 손상되거나 삭제된 상태에서도 Windows 운영체제는 부팅될 수 있지만, 화면 출력이 정상적으로 작동하지 않습니다.

그 외 알아두면 좋은 주요 Windows 시스템 파일

위에서 소개한 파일들은 Windows 운영체제가 정상 작동하기 위해 반드시 필요한 핵심 시스템 파일과 실행 파일들입니다. 이 외에도 컴퓨터 시스템의 부수적인 기능이 원활하게 작동하도록 돕는 몇 가지 추가 파일들이 있습니다.

꼭 알아야 할 핵심 Windows 시스템 파일 총정리
  • Pagefile.sys: 운영체제가 RAM 메모리 공간을 관리하고 시스템 성능을 향상시키도록 돕습니다.
  • Swapfile.sys: 최신 시스템 파일로, 최신 Windows 앱이 최대 절전 상태에 들어갈 때 하드 드라이브로 이동하는 것을 지원합니다.
  • Csrss.exe: 클라이언트-서버 런타임 프로세스로, 콘솔 창과 Windows 종료 프로세스를 처리합니다.
  • Shell32.dll: 웹 브라우저와 기타 애플리케이션이 작업 표시줄, 바탕화면, 시작 메뉴 같은 운영체제 요소를 올바르게 표시할 수 있게 해주는 Windows 셸 API 함수를 포함합니다.
  • Smss.exe: 세션 관리자 하위 시스템으로, Windows 로그온과 사용자 시스템 설정을 포함한 사용자 세션을 처리합니다.
  • Sxs.dll: 매니페스트 파일을 처리하는 Windows 운영체제의 중요한 구성 요소입니다. 매니페스트 파일은 소프트웨어 애플리케이션이 실행될 때 Windows가 이를 어떻게 처리해야 하는지 알려주는 파일입니다.

Windows 운영체제에는 위 목록 외에도 덜 중요한 수많은 시스템 파일이 존재하지만, 위에 나열된 파일들이 가장 널리 알려진 것들입니다. 그렇기 때문에 맬웨어가 정상 파일처럼 위장해 사용자를 속이는 표적이 되는 경우도 잦습니다.

다행히 대부분의 백신 프로그램은 가짜 Windows 시스템 파일을 식별할 수 있으며, 사용자가 존재조차 인지하기 전에 시스템에서 해당 파일을 제거해 줍니다.