Tại sao các hệ điều hành có một tùy chọn để tắt? [bản sao]


10

Màn hình tắt máy Windows 98
(nguồn: ytimg.com )

Tôi muốn biết lý do tại sao các hệ điều hành yêu cầu chúng tôi tắt bằng cách sử dụng một tùy chọn. Tại sao tôi không thể tắt nguồn bằng công tắc cơ?

Tôi sẽ làm hỏng phần cứng hoặc làm hỏng dữ liệu của mình nếu tôi liên tục tắt máy tính mà không sử dụng tùy chọn HĐH?

Để làm rõ: Tôi muốn sử dụng Intel Compute Stick làm trình phát đa phương tiện được kết nối với máy chiếu, do đó, nó sẽ được điều khiển bằng công tắc điện. Máy tính sẽ chỉ có video đang chạy và sẽ không được cài đặt chương trình. Máy tính sẽ không có truy cập internet.


30
Nghiên cứu của bạn đã nói gì với bạn? Một tìm kiếm nhanh trên Google về "tại sao tôi cần tắt máy tính thay vì rút điện" sẽ tìm thấy nhiều câu trả lời ... Và vâng, bạn có thể làm hỏng phần cứng của mình, nhưng rủi ro là thấp, nhưng chắc chắn có khả năng hỏng hoặc mất dữ liệu.
acejavelin

1
Nếu phần cứng của bạn hỗ trợ điều này hệ thống bạn đang làm việc hoàn toàn truy cập vào bất kỳ bộ lưu trữ nào ở chế độ chỉ đọc hệ thống không hoạt động phần cứng phải được tắt bằng một số quy trình (ví dụ: một số thẻ điều chỉnh TV, modem, ...) Sau đó, không có vấn đề chỉ cần cắt giảm sức mạnh. Những hệ thống như vậy ... khá khó tìm.
Daniel Jour


1
Phần cứng cũ ít chịu đựng sự cố mất điện đột ngột. Nhưng phần cứng hiện đại có thể chịu được sự cố mất điện đột ngột. Hệ thống máy tính để bàn có xu hướng yêu cầu tắt máy có trật tự. Hệ thống nhúng có thể chịu được sự cố mất điện đột ngột. Linux nhúng thường sử dụng các hệ thống tệp JFFS2 và UBIFS; "Cả UBI (xem tại đây ) và UBIFS đều có khả năng chịu cắt điện và chúng được thiết kế dành cho tính chất này." . Lưu ý rằng đây là các hệ thống tập tin đọc / ghi.
mùn cưa

1
@DrZoo nó vẫn (giống hệt) trong XP nếu bạn chạy nó trên hệ thống mà không có nguồn ATX. Tôi đã từng sử dụng một số bộ thử nghiệm với PC XP pro tiêu chuẩn được tích hợp sẵn.
Chris H

Câu trả lời:


41

Nó phụ thuộc vào những gì đang xảy ra với hệ thống tại thời điểm bạn chọn đột ngột cắt điện. Nếu hệ thống bận ghi dữ liệu quan trọng và bạn cắt nguồn, bạn có khả năng làm hỏng dữ liệu hoặc làm hỏng hệ điều hành. Rất nhiều thứ đang diễn ra mà bạn không thực sự nhìn thấy. Bạn hầu như phải lo lắng về một cái gì đó liên quan đến phần mềm bị phá vỡ khi bạn thực hiện thiết lập lại cứng. Về phần cứng, bạn không nên gặp bất kỳ vấn đề nào. Gõ vào gỗ

Bạn không muốn tạo thói quen bỏ qua phương pháp tắt máy và cắt điện. Nó sẽ chỉ là vấn đề thời gian cho đến khi một cái gì đó bị hỏng và khiến bạn phải cài đặt lại hệ điều hành.

Trong một số trường hợp, thiết lập lại cứng là lựa chọn duy nhất mà bạn có. Nếu máy tính của bạn bị khóa và bạn không thể làm cho nó làm bất cứ điều gì thì có tùy chọn nào khác không?

Nguồn gốc của màn hình này là từ Windows 9X Systems, nơi thông báo được hiển thị khi Windows đã tắt thành công MS-DOS nhưng không được cấu hình để quay lại dấu nhắc (THÔNG TIN). Trên các hệ thống có hỗ trợ ACPI và nguồn ATX thích hợp, PC có thể tắt nguồn thay thế.

Trong mọi trường hợp bạn sẽ thực hiện thiết lập lại cứng, hãy chắc chắn hét lên " Tôi là chúa tể của điện !!! tại PC của bạn. Hãy cho ông chủ xem.


26
Dòng cuối cùng ... thật đáng buồn là nó không có cùng cảm giác khi nó là một máy ảo
Burgi

14
@Burgi " Tôi là nam tước của điện !!! * " - đã sửa chưa?
corsiKa

5
@Burgi " Tôi là vua của các bit !!! "
hBy2Py

5
Về phần cứng, sự hiểu biết của tôi là việc kéo nguồn sẽ khiến ổ cứng phải làm "công viên khẩn cấp". Mặc dù điều này thường ngăn ổ đĩa bị hỏng, nhưng ổ cứng được đánh giá cho số lượng công viên khẩn cấp nhỏ hơn nhiều so với công viên thông thường (được chỉ huy), do đó ổ đĩa có thể bị hao mòn nhanh hơn.
Nate Eldredge

6
Trên một hệ thống tập tin hiện đại, được ghi nhật ký, bạn sẽ không phải cài đặt lại HĐH trong các trường hợp thông thường. Nhưng bạn có thể mất rất nhiều dữ liệu ứng dụng mà bạn nghĩ rằng bạn đã lưu vào đĩa.
Kevin

27

Máy tính được thiết kế để nhanh chóng. Điều đó có thể bao gồm gian lận. Chẳng hạn, khi một máy tính có nhiệm vụ ghi dữ liệu, máy tính có thể lưu trữ dữ liệu trong RAM thay vì ghi nó vào ổ cứng. Điều này được thực hiện vì RAM nhanh hơn nhiều.

Tắt máy báo cho máy tính xả bộ đệm, nghĩa là dừng lưu trữ nội dung trong RAM và chuẩn bị cho hệ thống bị mất điện. Nếu bạn thực sự mất năng lượng điện trước khi đảm bảo rằng tất cả các dữ liệu đó được ghi đúng, bạn có thể mất dữ liệu.

Một phần chi tiết về cấu trúc của khối hệ thống tệp được xử lý bởi mã xử lý hệ thống tệp của hệ điều hành (đôi khi được gọi là trình điều khiển hệ thống tệp). Thông thường, các hệ thống tập tin sử dụng bảng. (Trực quan, bạn có thể nghĩ về những biểu đồ này giống như biểu đồ.) Hãy tưởng tượng nếu bạn đang viết ra một bảng nhân, và nó nói:
2 4 6 8 10 12 14 1

Trước hết, mỗi cột chỉ có một hàng. Các bài toán nhân được cho là có ba phần (hai số được nhân (bội số và bội số) và một câu trả lời (sản phẩm)). Ở đây tất cả những gì chúng ta đang thấy là một loạt các số đơn lẻ, vì vậy chúng ta thậm chí không có một ví dụ đầy đủ về một sản phẩm nhân. Những gì chúng ta có là vô dụng.

Thứ hai, những gì chúng ta có thực sự tồi tệ hơn vô dụng. Đôi khi, điều duy nhất tồi tệ hơn thông tin bị thiếu (khiến bạn không tiến bộ trong khi bạn tìm ra thông tin bạn cần) là thông tin sai lệch đáng tin cậy khiến bạn tiêu tốn tài nguyên để đi theo hướng xấu, vô dụng. Trong trường hợp này, bạn có dữ liệu không hợp lệ vào cuối: một thay vì 16. (Ý tưởng ở đây là biểu đồ dừng được cập nhật đột ngột, trước khi toàn bộ số "16" được ghi chú đúng.) Nếu bạn không cho phép máy tính hoàn thành biểu đồ của nó một cách chính xác, sau đó có thể gây nhầm lẫn. (Nếu máy tính được yêu cầu cập nhật một số dữ liệu và nó sẽ ghi vào vị trí số mười sáu ... bạn không muốn nó ghi vào vị trí số một!) Máy tính dựa vào các bảng khá giống với bản chất này.

Một ví dụ khác là bộ nhớ ảo. Nếu một máy tính hết RAM, nó có thể sử dụng dung lượng trên ổ cứng để theo dõi chi tiết. Chẳng hạn, có thể bạn có một tài liệu năm mươi trang trong trình xử lý văn bản. Máy tính đang theo dõi thực tế là trình xử lý văn bản đang mở và theo dõi 12 trang đầu tiên, nhưng 38 trang còn lại được lưu trữ trên ổ cứng, trong cái gọi là "bộ nhớ ảo". Khi bạn tắt máy tính, máy tính sẽ trải qua toàn bộ quá trình tắt chương trình, điều này sẽ giải phóng một số RAM và cuối cùng sử dụng "bộ nhớ ảo" để xử lý đúng trình xử lý văn bản. Nếu bạn chỉ mất điện, thì trình xử lý sẽ ngừng chạy (vì mọi thứ đều dừng). Sau đó, khi máy tính khởi động, nó thấy bộ nhớ ảo có dữ liệu từ 38 trang tài liệu được mở trong trình xử lý văn bản. Máy tính thậm chí không biết rằng dữ liệu đang được sử dụng bởi trình xử lý văn bản. Tắt cho phép những việc như vậy được quan tâm trong khi máy tính có thể theo dõi các chi tiết này.

So với Windows 95, MS-DOS có khả năng phục hồi nhanh hơn (ít gặp sự cố hơn) khi bị mất điện đột ngột. (Một số lỗ hổng gia tăng đó là do khả năng đa nhiệm và xử lý bộ nhớ ảo của Windows 95). Hầu hết các hệ điều hành hiện đại được thiết kế dựa trên yêu cầu tắt máy thích hợp, bởi vì các hệ điều hành dễ thiết kế hơn với yêu cầu như vậy. Không có lý do nào phải như vậy, và trên thực tế, một số hệ điều hành nanobsd cho phép một người tắt nguồn. Lấy một ví dụ, một trang trên nanobsd cho biết "Mọi thứ chỉ đọc ở thời gian chạy - An toàn khi rút phích cắm điện".Trang chủ của resflash có một gạch đầu dòng cho biết "Nguồn có thể bị mất an toàn bất cứ lúc nào." Vì vậy, không có lý do tại sao tắt máy hoàn toàn phải là một yêu cầu mà các nhà thiết kế hệ điều hành áp đặt khi họ tạo ra thiết kế của một hệ điều hành. Tắt chỉ đơn giản là một yêu cầu khá phổ biến.


1
"Sau đó, khi máy tính khởi động, nó thấy bộ nhớ ảo có dữ liệu từ 38 trang tài liệu được mở trong trình xử lý văn bản." - nó không quan tâm, nó sẽ coi đây là dữ liệu rác và không sử dụng nó cho đến khi nó ghi đè lên nó. (Bởi vì những gì bạn mong đợi ở đó? Sẽ không bao giờ có ích gì cả)
user253751

1
"nó sẽ không quan tâm, nó sẽ coi đây là rác" - đúng rồi. Đó là lý do tại sao câu tiếp theo của tôi (sau câu bạn trích dẫn) đã nói, "Máy tính thậm chí không biết rằng dữ liệu đang được sử dụng bởi một trình xử lý văn bản." Nó mất dấu vết của thực tế đó.
TUYỆT VỜI 10/03/2016

Ý tôi là điều đó không gây ra vấn đề gì.
dùng253751

" Hầu hết các hệ điều hành hiện đại được thiết kế ... dễ thiết kế hơn với yêu cầu như vậy ". IMO đây là một sự đơn giản hóa. Chúng tôi có thể tránh tắt máy, nhưng với chi phí rất đắt . Không có bộ nhớ đệm, không có cách nào để các quy trình nền (máy chủ, trình quản lý sao lưu, cập nhật) được thông báo. Ngoài ra phần cứng hiện đại không còn được sử dụng với PIO nhưng với DMA , bạn nói với ổ cứng và NIC để đọc dữ liệu từ RAM và chúng thông báo cho bạn khi hoàn tất. Điều gì xảy ra nếu mất điện giữa ổ cứng đang ghi từ bộ đệm vào các tấm của nó? Hãy để hệ điều hành quyết định bao nhiêu để trì hoãn việc tắt máy. Nó biết rõ hơn.
Margaret Bloom

5

Trong thời của MS-DOS, việc tắt nguồn cho máy tính nói chung sẽ gây ra việc mất bất kỳ thông tin nào được lưu trữ trong RAM nhưng không được lưu trữ trên đĩa, nhưng sẽ không ảnh hưởng đến thông tin được lưu trữ trên đĩa. Tuy nhiên, hành động lưu trữ thông tin trên đĩa thường sẽ khiến thông tin cũ không thể đọc được ít nhất một chút trước khi phiên bản mới có thể đọc được. Mất điện giữa thời điểm phiên bản cũ bị phá hủy và phiên bản mới của văn bản sẽ để lại một bản mà không có bất kỳ phiên bản thông tin nào. Nếu thông tin trong câu hỏi là một cái gì đó giống như cấu trúc thư mục, thì các khu vực lớn của đĩa về cơ bản không thể truy cập được.

Nếu một người đang sử dụng phần mềm chỉ ghi thông tin vào đĩa khi được yêu cầu làm như vậy, thì với điều kiện là người ta không giết được điện ngay lập tức sau khi yêu cầu hệ thống ghi vào đĩa, người ta không nên vô tình ghi lại bất kỳ thông tin nào trên đĩa. Tuy nhiên, các hệ thống hiện đại thường có một hoặc nhiều tác vụ có thể bắt đầu ghi thông tin vào đĩa vào những thời điểm mà người dùng không nhất thiết mong đợi. Nếu hệ thống tình cờ bắt đầu viết một số thông tin ngay trước khi người dùng bị mất điện, điều đó có thể dẫn đến hỏng đĩa và mất dữ liệu.

Một phần của mục đích chọn "tắt máy" là để loại bỏ khả năng hệ thống tự động bắt đầu bất kỳ hành động nào ghi dữ liệu vào đĩa giống như người dùng sắp giết điện. Bất kỳ hành động nào không được kích hoạt trước thông báo "Bây giờ bạn có thể tắt máy tính của bạn" sẽ không được kích hoạt cho đến khi hệ thống được khởi động lại, do đó không có nguy cơ xảy ra khi người dùng rút phích cắm.


1
Ngay cả trong thời của DOS, đó là một ý tưởng thực sự tồi tệ. Nếu một tệp đã được cập nhật nhưng FAT chưa được cập nhật, thì bạn sẽ nhận được một tệp bị hỏng.
Dewi Morgan

1
@DewiM Organis Người ta sẽ làm gì khác để thông báo cho hệ thống mà người ta muốn tắt?
supercat

3
@DewiMorgan: Tôi biết một số ổ đĩa cứng cũ có các tiện ích head-park, nhưng chúng đã bị lỗi thời khá nhiều trước khi Windows 95 thay thế DOS.
supercat

1
supercat: Nah, MS-DOS đã không thực hiện bộ nhớ đệm như vậy trừ khi bạn chạy phần mềm để làm điều đó, chẳng hạn như SmartDrv đi kèm. Làm thế nào bạn sẽ thông báo rằng hệ thống đã tắt là sử dụng SmartDrv/C. (Tôi tin rằng hành vi mặc định, liên quan đến bộ nhớ đệm ghi, khác nhau giữa MS-DOS 5.0 và 6.22 ... Tôi không nhớ nếu đó là bản nâng cấp 5.0-> 6.0 hay bản nâng cấp sau đó đã thay đổi). Nếu bộ nhớ phục vụ cho tôi đúng, một trong những nâng cấp sau này (bắt đầu từ 6 trở lên) đã khiến SmartDrv tự động làm điều đó trước khi để Command.Com hiển thị lại lời nhắc, vì vậy, an toàn để tắt nguồn khi có dấu nhắc
QUÁ

1
@Supercat Theo tôi hiểu, bộ nhớ đệm ghi thông qua bảo vệ một khối dữ liệu khỏi bị hỏng trong quá trình ghi. Nó không bảo vệ hai khối khác nhau (FAT và nội dung tệp) không bị mất đồng bộ nếu nguồn bị cắt giữa việc viết cái này và cái kia.
Dewi Morgan

4

Có hai lý do chính khiến các hệ thống máy tính cần tắt máy có trật tự:

Trạng thái ứng dụng

Nhiều ứng dụng có trạng thái phải được ghi vào bộ nhớ vĩnh viễn. Ví dụ rõ ràng là một máy chủ cơ sở dữ liệu, nhưng ngay cả các ứng dụng chủ yếu là đọc như máy chủ Web hoặc NTP có thể ghi nhật ký hoặc số liệu thống kê có thể không thể hiểu được nếu việc ghi bị gián đoạn.

Có thể giảm bớt vấn đề này nếu các ứng dụng trong câu hỏi không đọc hoặc ghi tệp trực tiếp, nhưng thực hiện các thao tác này thông qua cơ chế giao dịch, chẳng hạn như ghi vào cơ sở dữ liệu quan hệ.

Cấu trúc hệ thống tập tin

Vì hệ điều hành ghi các tập tin thay mặt cho các ứng dụng, việc ghi có thể được lưu vào bộ đệm cho đến khi các đĩa bắt kịp, nghĩa là việc ghi của ứng dụng không nhất thiết phải hoàn thành cho đến một lúc sau đó. Các cơ chế tiết kiệm năng lượng có xu hướng làm tăng độ trễ ở đây, vì vậy bạn có sự đánh đổi giữa mức tiêu thụ năng lượng và an toàn dữ liệu.

Trong khi dữ liệu đang được ghi vào đĩa, có những điểm dữ liệu hệ thống tập tin không nhất quán. Việc triển khai hệ thống tập tin hiện đại rất quan tâm để giảm thiểu các giai đoạn, nhưng chúng không thể bị loại bỏ hoàn toàn. Ví dụ: khi một khối được lấy từ danh sách miễn phí, có một cửa sổ ngắn nơi nó không được phân bổ cũng không miễn phí. Vấn đề nhất quán này là tại sao sau khi tắt máy ô uế, HĐH sẽ cần thực hiện kiểm tra hệ thống tập tin trong lần khởi động tiếp theo, để kiểm tra tất cả các khối và đảm bảo chúng được tính toán chính xác.

Các hệ thống tập tin tạp chí làm giảm bớt điều này đến một mức độ nào đó, bằng cách ghi lại các thay đổi dự định vào một bản ghi trước khi thực sự thực hiện chúng. Sau đó, kiểm tra hệ thống tập tin có thể chạy nhanh hơn nhiều, bằng cách phát lại tất cả các mục nhật ký hoàn chỉnh và loại bỏ những mục không hoàn chỉnh.

Các vấn đề về tính nhất quán của hệ thống tập tin có thể tránh được bằng cách không có các đĩa cục bộ và NFS gắn hệ thống tập tin gốc, nhưng việc mất bộ nhớ đệm vẫn còn là một vấn đề đối với các hệ thống này. Các hệ thống duy nhất tôi sẵn sàng tắt nguồn mà không tắt máy là những hệ thống có các đĩa được gắn ở chế độ chỉ đọc (hầu hết là các hệ thống nhúng như máy nghe nhạc Empeg Car của tôi, nhưng cũng có một vài thiết bị đầu cuối duyệt web mà tôi đang nói dối xung quanh cho du khách).

TL; DR

Dữ liệu ghi vào bộ nhớ vĩnh viễn phải được hoàn thành trước khi tắt nguồn. Nếu bạn không có bộ lưu trữ có thể ghi, thì việc loại bỏ nguồn điện có rủi ro thấp.


-1

bởi vì nếu một số tệp mô tả được mở, nó có thể làm hỏng một tệp quan trọng và khiến hệ điều hành bị chết


15
Chào mừng đến với Siêu người dùng. Một lỗi phổ biến mà người dùng mới mắc phải là trả lời mà không có chi tiết về cách thực sự giải quyết vấn đề. Câu trả lời nên được chi tiết và bao gồm các tài liệu tham khảo, khi cần thiết. Vui lòng dành vài phút để chỉnh sửa câu trả lời của bạn để bao gồm chi tiết lý do tại sao câu trả lời của bạn hợp lệ. Nếu bạn cần giúp đỡ, hãy đọc Làm thế nào để tôi viết một câu trả lời hay? .
CharlieRB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.