셧다운

200px|섬네일|right|우분투의 셧다운 박스
시스템 종료(영어: system shutdown)는 컴퓨터의 운영체제와 하드웨어의 전원을 안전하게 끄는 과정을 말한다. 현대의 운영체제는 사용자가 종료를 요청하면, 실행 중인 모든 응용 프로그램과 프로세스를 순차적으로 중지시킨다. 그리고 메모리에 남아있는 데이터를 저장 장치(HDD나 SSD)에 안전하게 기록(동기화)한 후, ACPI 신호를 통해 하드웨어의 전원을 물리적으로 차단한다.

이는 단순히 전원 스위치를 끄는 것과는 구별되며, 작업 중인 데이터의 손실이나 파일 시스템의 손상을 방지하기 위한 필수적인 과정이다. 전원 버튼을 길게 눌러 전원을 즉시 차단하는 행위는 강제 종료라 부르며, 시스템이 응답하지 않는 비상 상황에서만 사용된다.

 역사 
초기의 개인용 컴퓨터와 MS-DOS 같은 단순한 운영체제 환경에서는 별도의 종료 개념이 없었다. 사용자는 작업을 마친 후 단순히 컴퓨터의 물리적인 전원 스위치를 껐다. 이는 운영체제가 백그라운드에서 수행하는 작업이 거의 없었고, 파일 캐시가 복잡하지 않았기에 가능했다.

윈도우와 같은 그래픽 사용자 인터페이스 운영체제가 등장하며, 파일 시스템 캐시와 가상 메모리 사용이 보편화되었다. 이로 인해 데이터를 디스크에 완전히 기록하기 전에 전원을 끄면 데이터가 손상될 위험이 커졌다. ATX 규격 이전, 즉 AT 규격의 메인보드를 사용하던 시기(Windows 95 초기 등)에는 운영체제가 종료 준비를 마친 후 "이제 컴퓨터 전원을 끄셔도 됩니다"라는 메시지를 화면에 표시했다. 사용자는 이 메시지를 보고 직접 전원 스위치를 꺼야 했다. 이후 ATX 폼팩터가 도입되고 APM 및 ACPI 표준이 등장하면서, 운영체제가 소프트웨어적으로 하드웨어 전원을 직접 제어할 수 있게 되었다. 이로써 사용자가 종료 명령을 내리면 별도의 조작 없이 컴퓨터가 완전히 꺼지게 되었다.

 종료 절차 
운영체제가 설치된 컴퓨터에서 정상적인 종료 절차는 사용자의 요청으로 시작된다. 운영체제는 먼저 현재 실행 중인 모든 사용자 응용 프로그램에 종료 신호(예: 유닉스 계열의 SIGTERM)를 보낸다. 신호를 받은 응용 프로그램은 현재 작업 내용을 저장하거나 사용자에게 저장을 확인하며 작업을 마무리한다. 만약 특정 프로그램이 응답하지 않으면 종료 절차가 중단되거나 강제 종료 여부를 묻기도 한다. 모든 응용 프로그램이 종료되면, 현재 로그인된 사용자 세션이 로그오프된다.

이어서 운영체제의 핵심 기능을 담당하는 백그라운드 프로세스와 시스템 서비스(데몬)들이 순차적으로 중지된다. 그 다음으로 파일 시스템의 캐시에 남아있는 모든 데이터를 디스크(HDD/SSD)에 완전히 기록하는 동기화 또는 플러시 과정이 진행된다. 모든 데이터가 안전하게 저장되면, 운영체제는 파일 시스템을 읽기 전용으로 전환하거나 마운트 해제하여 디스크 접근을 차단한다. 마지막으로 운영체제는 ACPI 규격에 따라 메인보드에 전원 차단 신호를 보내며, 메인보드는 이 신호를 받아 파워 서플라이의 작동을 중지시켜 컴퓨터의 모든 전원을 물리적으로 차단한다.

 운영체제별 종료 방법 

 마이크로소프트 윈도우 
윈도우 운영체제에서는 주로 그래픽 사용자 인터페이스를 통해 종료한다. 사용자는 시작 메뉴를 열고 전원 아이콘을 클릭한 뒤 시스템 종료를 선택할 수 있다. 또는 Ctrl+Alt+Del 키를 눌러 나타나는 화면의 우측 하단 전원 버튼을 통해서도 동일한 작업을 수행할 수 있다. 명령 줄 인터페이스(CLI) 환경인 명령 프롬프트나 파워셸에서는 shutdown 명령어를 사용한다. shutdown /s는 시스템을 즉시 종료시키며, shutdown /s /t 60과 같이 초 단위로 시간을 지정하여 예약 종료를 할 수도 있다. 재시작은 shutdown /r, 예약된 종료를 취소하는 것은 shutdown /a 명령을 사용한다.

 macOS 
macOS 환경에서는 화면 왼쪽 상단의 애플 메뉴()를 클릭하고 "시스템 종료..."를 선택하여 종료하는 것이 일반적인 GUI 방식이다. 터미널 앱을 이용하는 CLI 방식도 존재하며, 유닉스 계열 명령어인 sudo shutdown -h now (즉시 종료) 또는 sudo poweroff (즉시 전원 차단) 등을 사용할 수 있다.

 리눅스 / 유닉스 계열 
리눅스나 유닉스 계열 운영체제는 사용하는 데스크톱 환경(GNOME, KDE, Xfce 등)에 따라 GUI 종료 방식이 다양하지만, 일반적으로 시스템 메뉴나 패널의 전원 관련 아이콘을 통해 종료한다. CLI 환경에서는 여러 명령어가 사용된다. shutdown -h now는 시스템을 즉시 종료하며, shutdown -h +10과 같이 시간을 지정할 수도 있다. poweroff 명령 역시 시스템을 즉시 종료하고 전원을 끈다. systemd를 사용하는 최신 배포판에서는 systemctl poweroff 명령이 권장된다.

 강제 종료 
강제 종료는 운영체제의 정상적인 종료 절차를 모두 무시하고 컴퓨터의 전원을 즉각적으로 차단하는 방식이다. 이는 대부분의 컴퓨터에서 케이스의 물리적인 전원 버튼을 4초 이상 길게 누르고 있으면 실행된다. 이 방법은 운영체제가 완전히 멈추거나(시스템 충돌, 커널 패닉) 마우스나 키보드 입력이 전혀 먹히지 않는 비상 상황에서만 사용해야 한다. 강제 종료는 메모리에 있던 데이터와 디스크에 미처 기록되지 못한 파일 시스템 캐시를 즉시 증발시킨다. 이로 인해 저장하지 않은 모든 작업 내용이 사라지는 데이터 손실이 발생하며, 최악의 경우 중요한 시스템 파일이 기록되는 도중이었다면 해당 파일이 깨지거나 파일 시스템 전체의 무결성이 손상되어 부팅이 불가능해질 수 있다. 현대의 저널링 파일 시스템(NTFS, HFS+, ext4 등)은 이러한 상황이 발생했을 때 데이터의 일관성을 복구하고 손상을 최소화하는 기능이 있지만, 사용자가 작업 중이던 데이터의 손실까지 막아주지는 못한다.

 원격 및 자동 종료 
시스템 종료는 사용자가 직접 조작하지 않아도 이루어질 수 있다. UPS는 정전이 발생하여 배터리 전원으로 시스템이 동작할 때, 배터리가 소진되기 전에 USB나 시리얼 신호를 보내 운영체제가 정상적으로 종료 절차를 밟도록 할 수 있다. 또한 네트워크로 연결된 다른 컴퓨터에서 SSH, 원격 데스크톱, 또는 관리 도구를 사용하여 대상 컴퓨터에 원격으로 종료 명령을 내릴 수도 있다. 이 외에도 윈도우의 작업 스케줄러나 리눅스의 Cron 같은 도구를 사용하여 특정 시간에 시스템이 자동으로 종료되도록 예약하는 것도 가능하다.

 관련 개념 
시스템 종료 외에도 컴퓨터의 전원 상태와 관련된 여러 개념이 존재한다.

재시작은 시스템을 종료한 후, 자동으로 즉시 다시 시작하는 과정이다. 이는 주로 소프트웨어 업데이트 설치, 드라이버 설치, 또는 시스템 설정 변경 등을 적용할 때 사용된다. 절전 모드는 컴퓨터를 저전력 상태로 전환하는 기능이다. RAM에는 현재 작업 내용이 유지되지만, 그 외 대부분의 하드웨어(CPU, 저장 장치, 모니터)는 전원이 차단되거나 최소 전력만 사용한다. 마우스나 키보드 입력으로 수 초 내에 빠르게 원래 작업 상태로 복귀할 수 있으며, ACPI 상태 S3에 해당한다. 최대 절전 모드는 현재 RAM에 있는 모든 작업 내용을 하드 디스크나 SSD의 특정 파일(예: hiberfil.sys)에 저장한 후, 컴퓨터의 전원을 완전히 차단한다. 이는 시스템 종료와 동일한 0W 상태이다. 다시 전원을 켜면 저장된 내용을 RAM으로 불러와 이전에 작업하던 상태로 복귀한다. 절전 모드보다 복귀 시간은 오래 걸리지만 전력을 전혀 소모하지 않아 노트북 컴퓨터의 배터리 보존에 유리하며, ACPI 상태 S4에 해당한다. 하이브리드 종료는 Windows 8부터 도입된 기본 종료 방식으로, 빠른 시작 켜기라고도 불린다. 사용자가 시스템 종료를 선택하면, 사용자 세션은 로그오프하지만 운영체제 커널 세션은 최대 절전 모드와 유사하게 디스크에 저장한다. 이로 인해 다음 부팅 시 커널을 새로 초기화하지 않고 디스크에서 불러와 부팅 속도를 비약적으로 향상시킨다. 로그오프는 시스템 종료와는 다르다. 이는 현재 로그인한 사용자의 세션만 종료하고, 컴퓨터는 켜진 상태로 로그인 화면으로 돌아가는 것을 말한다. 운영체제와 시스템 서비스는 계속 실행된다.

 같이 보기 
 ACPI
 절전 모드
 최대 절전 모드
 로그오프
 부팅

 각주 

분류:운영체제