최신 Windows 운영 체제에서 SCM(서비스 제어 관리자) 또는 services.exe는 시스템 작동의 핵심 구성 요소 중 하나입니다. 이 프로세스는 다양한 Windows 서비스의 시작, 중지 및 상호 작용을 담당합니다. 이 프로세스를 통해 시스템은 설치된 모든 서비스를 관리하고 부팅 시 기본 순서로 올바르게 시작되는지 확인할 수 있습니다.
이 중요한 프로세스가 종료되면 시스템에 어떤 영향을 미치나요?
SCM의 주요 기능은 구성에 따라 자동으로 시작된 모든 서비스를 시작하는 것입니다. 특정 레지스트리를 읽어 서비스의 내부 데이터베이스를 초기화하고 서비스가 올바른 로드 순서로 시작되었는지 확인합니다. 서비스 중 하나라도 시작에 실패하면 ScFailedDrivers라는 목록에 기록되어 시스템 기능이 제한될 수 있습니다.
SCM에는 기본 서비스 관리 외에도 네트워크 드라이브가 생성되거나 삭제될 때 GUI 응용 프로그램에 알리는 추가 기능이 있습니다. 이 기능은 Windows 파일 탐색기를 사용하여 네트워크 리소스에 액세스할 때 특히 중요합니다.
시스템이 시작되면 SCM은 먼저 SvcCtrlMain() 함수를 실행한 다음 ScGetBootAndSystemDriverState()를 호출하여 필요한 모든 드라이버가 성공적으로 로드되었는지 확인합니다. 이러한 드라이버는 나중에 참조할 수 있도록 ScFailedDrivers에 기록됩니다. services.exe가 종료되면 이러한 검사가 완료되지 않아 시스템에서 모든 종속 서비스가 올바르게 로드되었는지 확인할 수 없게 됩니다.
services.exe를 종료하면 시스템이 부팅되지 않거나 블루 스크린이 나타날 수 있습니까?
또한 SCM은 서비스의 정상적인 시작에 중요한 SCM과 SCP(서비스 제어 프로세스) 간의 통신 인터페이스로 명명된 파이프도 생성합니다. 서비스가 시작될 때마다 SCM은 CreateProcessAsUser()를 사용하여 서비스 프로세스를 생성하므로 서비스가 보다 안전한 컨텍스트에서 실행될 수 있습니다.
시스템 시작 속도를 향상시키기 위해 Windows Vista에서는 서비스 자동 시작 지연 개념을 도입했습니다. 이 서비스는 지연되지 않은 다른 모든 시작 서비스가 처리된 후에 시작됩니다. 지연된 자동 시작 서비스와 일반 자동 시작 서비스의 주요 차이점은 시작 시간이며, 실행 중에는 기본적으로 둘 사이에 다른 차이가 없습니다.
장치 드라이버를 처리할 때 SCM은 ScLoadDeviceDriver()를 호출하여 해당 드라이버를 로드합니다. 이는 서비스와 관련된 또 다른 주요 작업입니다. 즉, services.exe가 종료되어 하드웨어와의 상호 작용이나 드라이버 문제가 해결되지 않을 수도 있으며, 이로 인해 하드웨어가 제대로 작동하지 않을 수도 있습니다.
지금 services.exe가 종료되면 실패한 드라이버와 서비스를 다시 시작할 기회가 있습니까?
종합하면, services.exe를 종료하면 Windows 시스템의 안정성에 심각한 영향을 미치게 됩니다. 이는 서비스 시작에 영향을 미칠 뿐만 아니라 전체 시스템이 작동할 수 없는 블루 스크린 상태로 들어갈 수도 있습니다. 이는 생각해 볼 가치가 있는 질문을 제기합니다. 작은 시스템 구성 요소가 전체 운영에 그토록 큰 영향을 미치는 이유는 무엇입니까?