강제 종료를 가능하게하는 펌웨어 / 하드웨어 메커니즘은 무엇입니까?


41

확실하지는 않지만 모든 컴퓨터에서 전원 버튼을 누르고 있으면 다양한 시간이 지나면 강제로 종료됩니다. 컴퓨터가 멈추거나 다른 오류로 인해 전체 재부팅이 필요한 경우에 특히 유용합니다.

내가 관심이있는 것은이 강제 종료 메커니즘이 펌웨어 기반 컴퓨터에 하드 코딩되는지 여부입니다. 또는 하드웨어 수준에서 컴퓨터에 내장되어 있는지 여부입니다. 메커니즘이 펌웨어 인 경우 CPU 수준 오류로 인해이 메커니즘이 제대로 트리거되지 않는다고 가정하는 것이 논리적이므로 하드웨어 기능이라고 생각합니다.

요약하면 : 범용 또는 강제 종료 메커니즘이 하드웨어 또는 펌웨어 레벨에 내장되어 있습니까? 누군가가 메커니즘의 본질, 변형 및 일반 역사에 대해 자세히 설명 할 수 있습니까?


7
@EJP 잘못되었습니다. 내 답변보기 :)
DavidPostill

2
내가 작업했던 일부 사용자 정의 장치에는 소프트 전원 버튼이 있고 배터리로 전원이 공급되므로 (사용자가 하드 전원주기를 어렵게 함) 별도의 마이크로 컨트롤러 또는 타이머 + 논리 회로 (또는 전용 섹션)를 명시 적으로 추가합니다 펌웨어가 충분히 복잡한 경우 펌웨어를 잠그는 펌웨어 버그가있는 경우 하드 전원을 끌 수 있도록 전원을 처리합니다.
Jason C

4
"all"이있는 대부분의 진술은 잘못되었습니다.
Paŭlo Ebermann

2
다른 모든 방법으로 오류가 발생하면 뒷면에 3 핀 커넥터가있는 두꺼운 검은 색 코드가 포함 된 하드웨어 백업 솔루션이 추가로 있으면이를 제거하면 시스템이 강제 종료됩니다.
Darren H

3
@DarrenH는 분리 할 수없는 배터리가 장착 된 랩톱에는 없습니다. 배터리 평탄화는 작동하지만 내 수명은 10 시간 이상입니다 (예 :)
Chris H

답변:


45

범용 강제 종료 메커니즘이 하드웨어 또는 펌웨어 레벨에 내장되어 있습니까?

마더 보드 (하드웨어)와 BIOS (펌웨어)가 모두 프로세스에 관여합니다.

실제로 전원을 켜고 끄는 것은 마더 보드의 회로에 의해 수행됩니다. 회로는 회로에서 두 지점의 순간적인 단락에 의해 상태를 변경하도록 트리거됩니다. 이는 전면 패널 푸시 버튼으로 수행됩니다. 해당 버튼의 단기 연결이면 충분합니다. 마더 보드 회로에는 두 번째 및 세 번째 기능도 있습니다.

BIOS는 일반적으로 회로가 이미 ON 상태이고 순간 접점이 4 초 이상 닫힌 ​​상태로 유지되면 두 가지 작업 중 하나가 수행되도록 설정됩니다. 시스템이 스위치를 끄는 것과 같이 즉시 종료되거나 마더 보드가 "절전"상태가되어 다시 깨어날 때까지 기다립니다. 이 두 가지 옵션 중 어떤 것이 BIOS 설정 화면에서 설정 한 것입니다. **

이것이 대부분의 작동 상황에서 마더 보드가 완전히 "꺼진"이유가 아닙니다. "꺼짐"상태 일 때도 일부 소스 (전면 푸시 버튼, 일부 USB 장치 및 모뎀 등)의 입력을 확인하여 전체 시스템. 실제로 모든 전원을 끄는 방법은 전원 코드를 뽑거나 PSU 뒷면에 장착 된 물리적 스위치를 사용하여 전원을 끄는 것입니다.

소스 방법은 전원 버튼을 작동합니다 (않는)?


최신 스위치에는 마법이 없습니다. 실제로 실제 물리적 온 / 오프 스위치보다 복잡하고 비용이 많이 듭니다.

이 스위치는 단지 마이크로 컨트롤러에 대한 입력입니다. 마이크로 컨트롤러는 버튼을 누를 때 알 수 있으며 나머지는 펌웨어에서 정책 인코딩되어 그에 대한 조치를 결정합니다. 전력은 일반적으로 트랜지스터로 전환됩니다. 즉, 버튼 자체는 고전압 또는 고전류를 처리 할 필요가 없으므로 버튼을 만들고 작게 만들 수있는 옵션이 훨씬 더 많습니다. 예를 들어 벽면 전원을 전환하는 데 절대 사용하지 않는 멤브레인 스위치 일 수 있습니다.

이것은 최소한 마이크로 컨트롤러에 전원을 공급하기에 충분한 약간의 장치가 켜져 있음을 의미합니다. 그러나 최신 마이크로 컨트롤러는 대부분의 경우이 전원과 관련이없는 스위치 신호를 기다리는 것 외에는 아무 것도하지 않을 때 아주 적은 양의 전력을 소비 할 수 있습니다.

경우에 따라 버튼을 누르면 실제로 마이크로 전원이 켜지고 일부 트랜지스터 또는 릴레이 또는 전원을 켜는 것을 켜십시오. 버튼을 눌러 장치를 끄면 마이크로는 자신을 포함하여 모든 것을 종료합니다.

출처 : Olin Lathrop의 최신 전원 버튼 작동 방식


1
명확히하기 위해 전원 버튼은 대부분의 BIOS 코드와 같이 기본 CPU에서 직접 처리합니까? 또는 전원 버튼을 처리하는 펌웨어가 응답의 두 번째 부분과 같은 마이크로 컨트롤러에서 실행됩니까?
slebetman

3
버튼을 누르면 CPU에 대한 ACPI 이벤트가 생성되지만 CPU의 응답없이 중단 된 경우 강제 강제 종료를 구현하기 위해 메인 CPU가 아닌 CPU도 모니터링합니다. 그렇지 않으면 인터럽트가 꺼져 있고 ACPI가 비활성화되어 강제로 종료 할 수없는 상황이 발생할 수 있습니다.
pjc50

6

범용 또는 강제 종료 메커니즘이 하드웨어 또는 펌웨어 레벨에 내장되어 있습니까?

참조를 찾지 않고 여기에는 매우 간단한 논리가 있습니다. 소켓에 CPU가 없어도 하드웨어 수준에서 작동 해야합니다 .

물론 PC는 그렇게 많은 것을하지는 않지만 기술적으로는 전원을 켤 수 있습니다. 메인 보드에 메시지 (신호음 또는 작은 2 자리 코드)를 제공하는 기능이 있다면 "잘못된 CPU / CPU 없음"코드가 표시 될 것입니다. 또한 길게 누르는 것만으로 전원을 끌 수 있습니다.이 부분이 중요합니다.

또한 시스템이 심각하지 않은 상태 (예 : 단일 사용자 모드 / 리눅스 커널 패닉 / BSOD 등)에 있고 막 다른 골목의 모든 의도와 목적에 대해 버튼은 여전히 ​​작동합니다 (적어도 길게 누름).

"하드웨어 수준"은 이미 꽤 광범위한 용어입니다. 즉, 몇 개의 NVRAM 주변에 몇 개의 트랜지스터부터 작은 전용 µC까지 쉽게있을 수 있습니다 (예 : 짧게 누르는 동작과 같이 BIOS에 의해 구성된 값을 유지). 여전히 "하드웨어"라고합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.