Bilgisayar, bilgisayarın düzgün bir şekilde kapatılmadığını nereden biliyor?


92

Aslında, bu soru evimdeki elektrik kesintileri nedeniyle beni etkiledi. Elektrik kesintisi olduğunda, bilgisayardan ani bir güç kaybı yaşanır.

Bilgisayar, kapatmanın düzgün şekilde yapılmadığını nasıl biliyor?

Yanıtlar:


104

Windows , bilgisayarın düzgün bir şekilde kapatılıp kapatılmadığını tespit etmek için Kirli Bit yöntemini de kullanır :

Normal olarak kapatıldığında, bit kapatılır. Bununla birlikte, elektrik kesintisi veya hatalı (zorunlu) kapatma durumunda, bilgisayar bir sonraki başlatılışında bit hala açık olacaktır.

Bu, Windows'un Güvenli Mod'da önyükleme yapmak gibi düzeltici eylem önerebileceği anlamına gelir.

Ek olarak, Windows tabanlı bir bilgisayar olay günlüğüne ne zaman ve neden (biliniyorsa) kapatıldığını ayrıntılandıran bir giriş yazacaktır. Bilgisayar başladığında da bir olay yazar.

Sistem kapatıldı

Sistem başlangıcı

Bilgisayar yeniden başlatıldığında olay günlüğünü kontrol edebilir ve son "başlatma" olayından sonra bir "kapanma olayı" bulamazsa, bilgisayarın düzgün bir şekilde kapanmadığını ve kaydedilmediğinden dolayı sorunların olabileceğini bilir. veri vs.


2
David'in yanıtı aşağıda daha doğru değil mi? NTFS'nin FS'nin monte edildiğinde tespit ettiği 'kirli bir bit' olduğunu sanıyordum. Olay günlüğünün, gerçek saptama ve arkasındaki mantıktan ziyade sadece bulunanların günlüğü olduğunu her zaman varsaydım.
HaydnWVN

3
Ancak, planlanmamış bir kapanma durumunda (açık bir şekilde UPS olmadan), kapatma 'beklenmeyen' olacaktır (Olay günlüğü tarafından belirtilmiştir). Burada harika bilgiIf a program initiates an I/O operation that alters the structure of an NTFS volume - that is, changes the directory structure, extends a file, allocates space for a new file, and so on - NTFS treats that operation as an atomic transaction. It guarantees that the transaction is either completed or, if the system fails while executing the transaction, rolled back.
HaydnWVN 26:12

3
@HaydnWVN Dosya sistemi kirli biti anormal bir sökme tanımlamak için kullanılır, böylece işletim sistemi dosya sisteminin belirsiz bir durumda olabileceğini bilir ve chkdskolası dosya sistemi sorunlarını tanımlamak için bir tanılama (örn. ) Çalıştırabilir . Bu nedenle, bazen düzgün şekilde çıkarılmamış USB sürücülerine takarken bazen onarım iletişim kutusunu alırsınız. Buna karşılık, "kirli bit" terimi basitçe ayarlanmış ve daha sonra sistemin veya cihaz çalışma süresinin uygun şekilde sonlandırılması durumunda ayarlanan bir alan anlamına gelir. Hatalı bir sonlandırma alan setinden çıkar, bu nedenle cihazın bir sonraki başlatılmasında tanınır.
Polinom

1
@ChrisF Bu gereklilik grup / yerel politikada kapatılabilir. VM ana bilgisayarının kontrol paneli gibi bir şeyle kapatılırsa ve atlanır. Olaylara güvenmek daha iyi Kernel-General # 12 (normal kapatma) ve EventLog # 6002 (son kapatma beklenmedik oldu). Eğer bir BSOD olsaydı, 1001 de bir BugCheck olmalıydı. (Tüm etkinlikler: source # id.)
Richard

1
Birincisi, bir güç döngüsünden sonra bu bitin durumu geçici bellekte nasıl korunur? İkili önyüklemeden ne haber? Wikipedia alıntı, varsayım gibi okuyor - yine de işletim sistemindeki kavramları okuduğum kitabı yazmıyor. İkincisi, Windows'un temiz bir kapatma olup olmadığını belirlemek için olay günlüğünü okuduğu fikri açıkça yanlış. Bootstat.dat for Windows işaretine verilen cevap, kısmen daha mantıklı olduğu için, ama çoğunlukla kaynak gösterdiği için bu tahminlerin ikisinden de doğru olması çok daha muhtemeldir.
kenevir

121

Windows tabanlı olmayan PC'ler için algılama genellikle dosya sistemi bazında yapılır. Bir dosya sistemi okuma / yazma modunda monte edildiğinde, dosya sistemine kirli olarak işaret eden bir giriş yazılır. Dosya sistemi kaldırıldığında, temiz olarak işaretlenen bir giriş yazılır. Başlangıçta, işletim sistemi çekirdek dosya sistemlerinin kirli olarak işaretlenip işaretlenmediğini kontrol eder ve öyleyse temiz bir kapatma olmadığını bilir - en azından bu dosya sistemlerinden.


29
+1 çünkü soru belirli bir işletim sistemi hakkında soru sormuyor.
Trevor Boyd Smith

42

Windows'ta, Windows Internals'ın yazarlarına göre, 5. baskı, bootstat.dat dosyasıdır (varsayılan olarak, sistem bölümünün \ boot dizininde bulunur):

Windows, önyükleme ve kapatma da dahil olmak üzere, sistem yaşam döngüsünün çeşitli aşamalarında ilerlediğini gerçeği kaydetmek için bir önyükleme durumu dosyası kullanır. Bu, Önyükleme Yöneticisinin, Windows yükleyicinin ve Başlangıç ​​Onarma aracının anormal kapanmayı algılamasını veya temiz bir şekilde kapanmamasını ve kullanıcı kurtarma ve tanılama önyükleme seçeneklerini sunmasını sağlar ...

 


3
Alıntı kaynağı?
Paul DelRe

23
Alex Ionescu, sayfa 1010 ile Mark Russinovich ve David Solomon tarafından "Windows Internals"
bölümü içindeki

Bunu ChrisF'in cevabı ile karşılaştırmak yerine - her dosya sistemi tarafından tutulan "kirli bit" sadece bu dosya sisteminin durumu içindir; sistem genelinde değil. Çıkarılabilir bir sabit sürücüyü "güvenle çıkarabileceğiniz" - bu dosya sistemi için kirli ucu temizlediğini - ve sonrasında beklenmeyen bir kapanma olabileceğini unutmayın.
Jamie Hanrahan

0

Bazı bilgisayarlarda, donanım BIOS'unda bir OS bağımsız yöntem belirlenebilir. Bilgisayar satıcısına ve BIOS satıcısına bağlıdır.

Ana dallar arasında Amerikan Megatrends Inc. (AMI), Ödül ve Phoenix Technologies sayılabilir. Özellikler için bu üreticilere bakın.


2
Sadece elinizi sallamak ve "orada bilgi var" demekten ziyade, bazı ilgili referanslara bağlanmaya ne dersiniz?
G-Man
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.