운영 체제에 종료 옵션이있는 이유는 무엇입니까? [복제]


10

Windows 98 종료 화면
(출처 : ytimg.com )

운영 체제에서 옵션을 사용하여 종료해야하는 이유를 알고 싶습니다. 기계식 스위치로 전원을 끌 수없는 이유는 무엇입니까?

OS 옵션을 사용하지 않고 컴퓨터를 계속 종료하면 하드웨어가 손상되거나 데이터가 손상됩니까?

명확히하기 위해 : Intel Compute Stick을 프로젝터에 연결된 미디어 플레이어로 사용하고 싶습니다. 따라서 전기 스위치로 제어됩니다. 컴퓨터에는 비디오 만 실행되며 프로그램은 설치되지 않습니다. 컴퓨터는 인터넷에 접속할 수 없습니다.


30
당신의 연구는 당신에게 무엇을 말했습니까? "전원을 끄는 대신 컴퓨터를 종료해야하는 이유"에 대한 빠른 Google 검색은 수많은 답변을 찾을 수 있습니다 ... 예, 하드웨어를 손상시킬 수는 있지만 위험은 낮지 만 확실히 가능성은 있습니다 데이터 손상 또는 손실
acejavelin

1
하드웨어가이 기능을 지원하는 경우 이되는 작업중인 시스템 을 완전히 읽기 전용 모드에서 모든 스토리지를 액세스 하고 시스템이 몇 가지 절차를 종료해야합니다 하드웨어를 작동하지 않습니다 (예를 들어, 일부 TV 튜너 카드, 모뎀, ...) 그러면 전력을 차단하는 데 아무런 문제가 없습니다. 그러나 그러한 시스템은 찾기가 다소 어렵습니다.
Daniel Jour


1
오래된 하드웨어는 갑작스런 전원 손실에 대한 내성이 떨어졌습니다. 그러나 최신 하드웨어는 갑작스런 정전에 견딜 수 있습니다. 데스크탑 시스템은 순서대로 종료해야합니다. 임베디드 시스템은 갑작스런 정전에 견딜 수 있습니다. 임베디드 리눅스는 종종 JFFS2 및 UBIFS 파일 시스템을 사용합니다. "UBI ( 여기 참조 )와 UBIFS는 전원 차단에 내성이 있으며이 속성을 염두에두고 설계되었습니다." . 이들은 읽기 / 쓰기 가능한 파일 시스템입니다.
톱밥

1
@DrZoo ATX 전원 공급 장치가없는 시스템에서 XP를 실행하면 XP에서도 동일합니다. 예전에는 표준 XP 프로 PC와 함께 일부 테스트 키트를 사용했습니다.
Chris H

답변:


41

갑자기 전원을 차단하기로 선택한 시점의 시스템 상태에 따라 다릅니다. 시스템이 중요한 데이터를 쓰는 중이고 전원을 끄면 데이터가 손상되거나 OS가 손상 될 수 있습니다. 당신이 실제로 보지 못하는 많은 일들이 일어나고 있습니다. 하드 리셋을 할 때 소프트웨어와 관련된 문제에 대해 걱정해야합니다. 하드웨어까지는 아무런 문제가 없습니다. 나무를 노크

종료 방법을 우회하고 전원을 차단하는 습관을 들이지 않으려 고합니다. 무언가가 손상되어 OS를 다시 설치해야 할 때까지는 시간 문제입니다.

경우에 따라 하드 리셋이 유일한 선택입니다. 컴퓨터가 잠기고 다른 옵션을 사용할 수 없다면?

이 화면의 출처는 Windows 9X Systems에서 시작한 것으로 Windows가 MS-DOS로 성공적으로 종료되었지만 메시지 (COMMAND.COM)로 다시 돌아가도록 구성되지 않은 경우 메시지가 표시됩니다. 적절한 ACPI 지원 및 ATX 전원 공급 장치가있는 시스템에서 PC의 전원이 대신 꺼질 수 있습니다.

하드 리셋을하려는 상황이라면, " 나는 당신의 PC에서 전기의 주자입니다! " 라고 외치 십시오.


26
마지막 줄 ... 슬프게도 가상 머신 일 때 같은 느낌이 들지 않습니다
Burgi

14
@Burgi " 나는 전기의 남작입니다 !!! * "-고정?
corsiKa

5
@Burgi " 나는 비트의 왕이다 !!! "
hBy2Py

5
하드웨어에 관해서는, 전원을 끄면 하드 드라이브가 "응급 파크"를 수행 할 수 있다는 것을 이해합니다. 이렇게하면 일반적으로 드라이브가 손상되는 것을 방지 할 수 있지만 하드 드라이브는 일반 (지령 된) 공원보다 훨씬 적은 수의 비상 공원으로 평가되므로 드라이브가 더 빨리 마모 될 수 있습니다.
Nate Eldredge

6
저널링 된 최신 파일 시스템에서는 정상적인 상황에서 OS를 다시 설치할 필요가 없습니다. 그러나 디스크에 저장했다고 생각한 많은 응용 프로그램 데이터를 잃어 버릴 수 있습니다.
Kevin

27

컴퓨터는 빠르도록 설계되었습니다. 부정 행위가 포함될 수 있습니다. 예를 들어, 컴퓨터가 데이터를 쓰려고 할 때 컴퓨터는 데이터를 하드 드라이브에 쓰지 않고 RAM에 저장할 수 있습니다. 이것은 RAM이 훨씬 빠르기 때문에 수행됩니다.

종료하면 컴퓨터가 버퍼를 플러시하도록 지시합니다. 즉, RAM에 데이터 저장을 중지하고 시스템의 전원 손실을 대비해야합니다. 이러한 모든 데이터가 올바르게 작성되었는지 확인하기 전에 실제로 전력이 손실되면 데이터가 손실 될 수 있습니다.

파일 시스템 볼륨 구조의 세부 사항 중 일부는 운영 체제의 파일 시스템 처리 코드 (파일 시스템 드라이버라고도 함)에 의해 처리됩니다. 종종 파일 시스템은 테이블을 사용합니다. (시각적으로, 차트와 같은 것을 생각할 수 있습니다.) 곱셈표를 쓰고 있다고 상상해보십시오.
2 4 6 8 10 12 14 1

우선, 모든 열에는 하나의 행만 있습니다. 곱셈 문제는 세 부분 (곱하기, 곱하기 및 곱하기)과 답 (제품)으로 구성됩니다. 여기에 우리가보고있는 모든 것은 단일 숫자의 무리 일 뿐이므로 곱셈 곱에 대한 완전한 예는 없습니다. 우리가 가진 것은 쓸모가 없습니다.

둘째, 우리가 가진 것은 실제로 쓸모없는 것보다 더 나쁩니다. 때로는 정보를 잃어버린 것보다 더 나쁜 것 (필요한 정보를 파악하는 동안 아무런 진전을 일으키지 않기 때문에)이 잘못된 정보로 인해 쓸모없고 나쁜 방향으로 자원을 소비하게됩니다. 이 경우 끝 부분에 유효하지 않은 데이터가 있습니다. 16 대신 16. (여기서 아이디어는 전체 숫자 "16"이 올바르게 표시되기 전에 갑자기 업데이트가 중지 된 것입니다.) 컴퓨터가 차트를 올바르게 완성하면 혼동을 일으킬 수 있습니다. (컴퓨터가 일부 데이터를 업데이트하라는 지시를 받고 위치 번호 16에 쓰기를 원한다면 위치 번호 1에 쓰기를 원하지 않습니다!) 컴퓨터는 본질적으로 이와 유사한 테이블을 사용합니다.

또 다른 예는 가상 메모리입니다. 컴퓨터에 RAM이 부족하면 하드 드라이브의 공간을 사용하여 세부 정보를 추적 할 수 있습니다. 예를 들어 워드 프로세서에 50 페이지의 문서가있을 수 있습니다. 컴퓨터는 워드 프로세서가 열려 있다는 사실을 추적하고 처음 12 페이지를 추적하지만 나머지 38 페이지는 "가상 메모리"라고하는 하드 드라이브에 저장됩니다. 컴퓨터를 종료하면 컴퓨터가 프로그램을 종료하는 전체 프로세스를 거치게되므로 일부 RAM이 비워지고 결국 "가상 메모리"를 사용하여 워드 프로세서를 올바르게 처리하게됩니다. 단순히 전원이 끊긴 경우 워드 프로세서가 작동을 멈 춥니 다 (모든 것이 중지되기 때문). 그런 다음 컴퓨터가 시작되면 가상 메모리에 워드 프로세서에서 열린 문서 38 페이지의 데이터가있는 것을 볼 수 있습니다. 컴퓨터는 워드 프로세서가 데이터를 사용하고 있음을 알지 못합니다. 종료하면 컴퓨터에서 이러한 세부 정보를 추적 할 수있는 동안 이러한 사항을 처리 할 수 ​​있습니다.

Windows 95와 비교할 때 MS-DOS는 갑작스런 정전으로 인해 복원력이 뛰어났습니다 (문제가 발생하기 쉽지 않음). (이러한 취약점 중 일부는 Windows 95의 멀티 태스킹 및 가상 메모리 처리 능력 때문이었습니다.) 따라서 컴퓨터가 유효하지 않은 종료에 취약하거나 공식적인 종료 절차가 필요한 경우에도 사용중인 운영 체제를 기반으로합니다. 대부분의 최신 운영 체제는 이러한 요구 사항으로 운영 체제를 쉽게 설계 할 수 있기 때문에 적절한 종료가 필요합니다. 반드시 그런 이유는 없으며 실제로 일부 운영 체제에서는 nanobsd를 사용하여 전원을 끌 수 있습니다. 일례 로 nanobsd의 페이지에 "모든 것이 런타임에 읽기 전용입니다. 전원 플러그 를 뽑아 도 안전합니다."라고 말합니다.resflash 의 홈페이지에는 "언제나 안전하게 전원을 잃을 수 있습니다"라는 글 머리 기호가 있습니다. 따라서 운영 체제 설계자가 운영 체제 설계를 작성할 때 강제로 종료를 요구해야하는 이유는 없습니다. 시스템 종료는 단순히 일반적인 요구 사항입니다.


1
"컴퓨터가 시동되면 가상 메모리에 워드 프로세서에서 열린 문서 38 페이지의 데이터가있는 것을 볼 수 있습니다." -상관하지 않습니다. 이것을 가비지 데이터로 취급하고 덮어 쓸 때까지 사용하지 않습니다. (당신이 거기에 무엇이있을 것으로 예상하기 때문에? 그것은 결코 유용한 것이 아닐 것입니다)
user253751

1
"걱정하지 않을 것이고, 이것을 쓰레기로 취급 할 것입니다"-맞습니다. 그렇기 때문에 다음 문장 (당신이 인용 한 문장 다음)이 "컴퓨터는 데이터가 워드 프로세서에 의해 사용되고 있다는 사실조차 알지 못합니다." 그 사실을 추적하지 못했습니다.
TOOGAM

내 말은 문제가 발생하지 않는다는 것입니다.
user253751

" 대부분의 최신 운영 체제는 이러한 요구 사항으로 설계하기가 쉽습니다 ." IMO 이것은 지나치게 단순화 된 것입니다. 우리는 셧다운을 피할 수 있지만 비용이 많이 듭니다. 캐싱 없음, 백그라운드 프로세스 (서버, 백업 관리자, 업데이트)에 알릴 방법이 없습니다. 또한 최신 하드웨어는 더 이상 PIO 와 함께 사용되지 않지만 DMA 와 함께 HDD 및 NIC에 RAM에서 데이터를 읽도록 지시하고 완료되면 알려줍니다. HDD 사이에서 전원이 끊어지면 캐시에서 판으로 쓰는 중입니까? OS가 종료 지연 정도를 결정하게하십시오. 더 잘 알고 있습니다.
마가렛 블룸

5

MS-DOS 시대에 컴퓨터의 전원을 끄면 일반적으로 RAM에 보관되었지만 디스크에 저장되지 않은 정보는 손실되지만 디스크에 저장된 정보에는 영향을 미치지 않습니다. 그러나 디스크에 정보를 저장하면 새 버전을 읽기 전에 최소한 이전 정보를 읽을 수 없게됩니다. 이전 버전이 파괴 된 시간과 새 버전의 서면 사이에 전력 손실이 발생하면 정보의 버전이없는 버전이 남습니다. 문제의 정보가 디렉토리 구조와 비슷한 경우 디스크의 넓은 영역에 본질적으로 액세스 할 수 없습니다.

디스크에 정보를 요청하는 경우에만 디스크에 정보를 기록하는 소프트웨어를 사용하는 경우 시스템에 디스크에 쓰도록 요청한 후 즉시 전원을 끄지 않으면 디스크의 정보를 실수로 복제해서는 안됩니다. 그러나 최신 시스템에는 종종 사용자가 예상하지 않은 시간에 디스크에 정보 쓰기를 시작할 수있는 하나 이상의 작업이 있습니다. 사용자가 전원을 차단하기 직전에 시스템이 일부 정보 쓰기를 시작하면 디스크 손상 및 데이터 손실이 발생할 수 있습니다.

"종료"를 선택하는 목적의 일부는 사용자가 전원을 끄려고 할 때 디스크에 데이터를 쓰는 작업을 시스템이 자발적으로 시작할 가능성을 제거하는 것입니다. "지금 컴퓨터를 종료 할 수 있습니다"메시지가 표시되기 전에 트리거되지 않은 조치는 시스템을 다시 시작할 때까지 트리거 될 수 없으므로 사용자가 플러그를 뽑는 것처럼 어떤 일이 발생할 위험이 없습니다.


1
DOS 시대에도 정말 나쁜 생각이었습니다. 파일이 업데이트되었지만 FAT가 업데이트되지 않은 경우 손상된 파일이 나타납니다.
Dewi Morgan

1
@DewiMorgan : DOS 시대에는 후기 입 캐싱에 사용할 수있는 유틸리티가 있었지만 모든 독립 실행 형 버전의 DOS는 정상적인 쓰기 방식으로 쓰인 쓰루 캐싱을 기억할 수 있습니다. 시스템을 종료하려고한다고 시스템에 알리려면 어떻게합니까?
supercat

3
@DewiMorgan : 오래된 하드 드라이브에는 헤드 파크 유틸리티가 있었지만 Windows 95가 DOS를 대체하기 전에는 거의 사용되지 않았습니다.
supercat

1
supercat : 아닙니다. 번들로 제공되는 SmartDrv와 같은 소프트웨어를 실행하지 않으면 MS-DOS는 이러한 캐싱을 수행하지 않았습니다. 시스템 종료를 알리는 방법은 사용하는 것 SmartDrv/C입니다. (쓰기 캐싱과 관련하여 기본 동작은 MS-DOS 5.0과 6.22 사이에서 다르다고 생각합니다. 5.0-> 6.0 업그레이드 또는 이후의 업그레이드인지 여부를 기억하지 못합니다). 메모리가 제대로 작동하면 이후 업그레이드 (6 이상에서 시작) 중 하나가 Command.Com에 프롬프트를 다시 표시하기 전에 SmartDrv가 자동으로이를 수행하게하므로 메시지가 표시되면 전원을 꺼도 안전합니다
TOOGAM

1
@Supercat 내가 이해하는 것처럼 write-through 캐싱은 쓰기 도중 단일 데이터 블록이 손상되지 않도록 보호합니다. 쓰기가 서로간에 전원이 차단되는 경우 두 개의 서로 다른 블록 (FAT 및 파일 내용)이 동기화되지 않도록 보호하지 않습니다.
Dewi Morgan

4

컴퓨터 시스템을 순서대로 종료해야하는 두 가지 주요 이유는 다음과 같습니다.

신청 상태

많은 응용 프로그램에는 영구 저장소에 기록해야하는 상태가 있습니다. 명백한 예는 데이터베이스 서버이지만 웹 또는 NTP 서버와 같은 대부분의 읽기 응용 프로그램조차도 로그 또는 통계를 쓸 수 있으며 이는 쓰기가 중단되면 이해할 수 없을 수도 있습니다.

문제의 애플리케이션이 파일을 직접 읽거나 쓰지 않지만 관계형 데이터베이스에 쓰는 것과 같은 트랜잭션 메커니즘을 통해 이러한 작업을 수행하는 경우이 문제를 완화 할 수 있습니다.

파일 시스템 구조

운영 체제가 응용 프로그램 대신 파일을 쓸 때 디스크가 잡힐 때까지 쓰기가 버퍼링 될 수 있습니다. 즉, 응용 프로그램의 쓰기가 꽤 오랜 시간이 지나야 완료 될 필요는 없습니다. 절전 메커니즘은 여기서 지연을 증가시키는 경향이 있으므로 에너지 소비와 데이터 안전간에 균형을 유지해야합니다.

데이터가 디스크에 기록되는 동안 파일 시스템 데이터가 일치하지 않는 지점이 있습니다. 최신 파일 시스템 구현은 기간을 최소화하기 위해주의를 기울이지 만 완전히 제거 할 수는 없습니다. 예를 들어, 사용 가능 목록에서 블록을 가져 오면 할당되거나 사용 가능하지 않은 짧은 창이 있습니다. 이러한 일관성 문제는 부정한 종료 후 OS가 다음 부팅시 파일 시스템 검사를 수행하여 모든 블록을 검사하고 올바르게 처리되는지 확인해야하는 이유입니다.

저널링 파일 시스템은 의도 한 변경 사항을 실제로 수행하기 전에 로그에 기록하여이를 어느 정도 완화합니다. 그러면 전체 로그 항목을 모두 재생하고 불완전한 로그 항목을 삭제하여 파일 시스템 검사를 훨씬 빠르게 실행할 수 있습니다.

로컬 디스크가없고 루트 파일 시스템을 NFS 마운트하면 파일 시스템 일관성 문제를 피할 수 있지만 캐시 된 쓰기 손실은 여전히 ​​이러한 시스템에서 문제가됩니다. 종료하지 않고 하드 전원을 끄고 자하는 유일한 시스템은 디스크를 읽기 전용으로 마운트 한 시스템입니다 (주로 Empeg Car 뮤직 플레이어와 같은 내장 시스템뿐만 아니라 디스크가없는 웹 브라우징 터미널도 몇 개 있습니다) 방문자 수).

TL; DR

전원을 끄기 전에 영구 스토리지에 대한 데이터 쓰기를 완료해야합니다. 쓰기 가능한 스토리지가없는 경우 전원을 제거하는 것은 위험이 낮습니다.


-1

디스크립터 파일이 열려 있으면 중요한 파일이 손상되고 OS가 종료 될 수 있기 때문에


15
슈퍼 유저에 오신 것을 환영합니다. 새로운 사용자가 흔히 저지르는 실수는 실제로 문제를 해결하는 방법에 대한 세부 정보없이 답변하는 것입니다. 답변은 자세하고 필요에 따라 참조를 포함해야합니다. 답변이 유효한 이유에 대한 세부 사항을 포함하도록 답변을 편집하는 데 몇 분이 소요됩니다. 도움이 필요하면 어떻게 대답해야합니까?를 읽으십시오 . .
CharlieRB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.