SCM(서비스 제어 관리자)은 설치된 서비스 및 드라이버 서비스의 데이터베이스를 유지 관리하며 이를 제어하는 통합되고 안전한 수단을 제공합니다. 데이터베이스에는 각 서비스 또는 드라이버 서비스를 시작하는 방법에 대한 정보가 포함됩니다. 또한 시스템 관리자가 각 서비스에 대한 보안 요구 사항을 사용자 지정하여 서비스에 대한 액세스를 제어할 수 있습니다.
올바른 배경 메커니즘 선택
Windows 백그라운드 작업을 실행하기 위한 몇 가지 메커니즘을 제공합니다. 다음 표에서는 시나리오에 적합한 항목을 선택하는 데 도움이 됩니다.
| 메커니즘 | 적합한 대상 | Lifecycle | 전원 영향 |
|---|---|---|---|
| Windows 서비스(trigger-start) | 시스템 이벤트(디바이스 도착, 네트워크 변경, 도메인 가입)에 응답합니다. 필요한 경우에만 실행됩니다. | 트리거되면 SCM에 의해 시작/중지됩니다. | 낮음 - 트리거되지 않은 경우 유휴 상태입니다. |
| Windows 서비스(자동 시작) | 항상 사용할 수 있어야 하는 장기 실행 디먼(데이터베이스 엔진, 웹 서버, 보안 에이전트)입니다. | 부팅에서 종료될 때까지 실행됩니다. | 보통 - 항상 리소스를 사용합니다. |
| 작업 스케줄러 (유지 관리) | 정기적인 하우스키핑(디스크 정리, 로그 회전, 업데이트 검사). | 유휴 상태이며 AC 전원이 연결되어 있을 때 실행됩니다. | 최소 - 유휴 기간으로 연기합니다. |
| 작업 스케줄러 (이벤트/시간 트리거) | 일정, 로그온 또는 시스템 이벤트에 연결된 일회성 또는 되풀이 작업입니다. | 일정별로 생성/삭제되었습니다. | 낮음 — 잠시 실행되었다가 종료됩니다. |
| 백그라운드 작업 (UWP/WinRT) | 리소스 할당량이 적용되는 앱별 백그라운드 작업(타일 업데이트, 푸시 알림, 지오펜싱) | 시스템 브로커에서 관리합니다. | 매우 낮음 - OS에 의해 엄격하게 제한됩니다. |
Important
자동 시작 서비스보다 트리거 시작 서비스를 선호합니다. 트리거로 시작되는 서비스는 해당 트리거 이벤트가 발생할 때까지 리소스를 전혀 사용하지 않습니다. 이는 최신 대기 장치의 배터리 수명에 매우 중요합니다. 자세한 내용은 서비스 트리거 이벤트를 참조하세요.
Tip
워크로드가 주기적으로 실행되고 일정 지연을 허용할 수 있는 경우 서비스 대신 작업 스케줄러 자동 유지 관리를 사용합니다. 유지 관리 작업은 유휴 + AC 전원으로 지연되어 사용자 및 배터리 수명에 미치는 영향을 최소화합니다.
다음 유형의 프로그램은 SCM에서 제공하는 함수를 사용합니다.
| 유형 | 설명 |
|---|---|
| 서비스 프로그램 | 하나 이상의 서비스에 대한 실행 코드를 제공하는 프로그램입니다. 서비스 프로그램은 SCM에 연결하고 상태 정보를 SCM에 보내는 함수를 사용합니다. |
| 서비스 구성 프로그램 | 서비스 데이터베이스를 쿼리하거나 수정하는 프로그램입니다. 서비스 구성 프로그램은 데이터베이스를 열고, 데이터베이스에서 서비스를 설치 또는 삭제하고, 설치된 서비스에 대한 구성 및 보안 매개 변수를 쿼리하거나 수정하는 함수를 사용합니다. 서비스 구성 프로그램은 서비스와 드라이버 서비스를 모두 관리합니다. |
| 서비스 제어 프로그램 | 서비스 및 드라이버 서비스를 시작하고 제어하는 프로그램입니다. 서비스 제어 프로그램은 요청을 수행하는 SCM에 요청을 보내는 함수를 사용합니다. |
이 개요에서는 다음 항목에 대해 설명합니다.