Απορίες Windows :-)

Giorgos Keramidas keramida at ceid.upatras.gr
Wed Feb 24 13:40:09 EET 2010


On Wed, 24 Feb 2010 13:28:43 +0200, Antonis Christofides <anthony at itia.ntua.gr> wrote:
> Η άλλη απορία είναι πιο Windows, και τη σκέφτηκα όταν σύγκρινα το
> kernel panic σε Linux και Windows. Τα Windows μπορούν (και by default
> το κάνουν) σε περίπτωση μπλε οθόνης να γράψουν στο δίσκο ένα memory
> dump, που είναι χρήσιμο γιατί μετά το εξετάζεις και βρίσκεις stack
> trace κλπ. Το Linux απ' όσο ξέρω δεν το κάνει αυτό (αν και σου δίνει
> το stack trace στην οθόνη απ' ό,τι θυμάμαι). Αν όμως ο kernel είναι σε
> θέση να ανοίξει ένα αρχείο στο NTFS και να γράψει εκεί το memory dump,
> μια δηλαδή αρκετά μεγάλη διαδικασία που πρέπει να περιλαμβάνει ποιος
> ξέρει πόσους driver και πόσα επίπεδα λειτουργίας, τότε τι σόι panic
> είναι αυτό; Εφόσον βρισκόμαστε σε κατάσταση kernel panic, δεν είναι
> επικίνδυνο να γράφουμε αρχείο στο δίσκο;

Η λύση που χρησιμοποιεί το BSD σε αυτό το πρόβλημα είναι "εντάξει, τα
παίξαμε... γράψε ένα mini dump στο swap partition και θα δούμε μετά πως
θα το διαβάσουμε από εκεί".

Κατά τη διάρκεια του boot, μόλις είναι διαθέσιμο το /var/crash τρέχει το
savecore utility και διαβάζει από το swap partition το memory image.
Στο /var/crash/vmcore.0 /var/crash/vmcore.1 ... γράφεται ένα 'core dump'
του πυρήνα και το kgdb μπορεί να διαβάσει το kernel core dump με:

        $ kgdb /boot/kernel/kernel /var/crash/vmcore.1

Το να γράψεις χύμα σε ένα block device όπως το raw swap partition είναι
πολύ απλούστερο από το να περάσεις από filesystem layers, buffer caches,
virtual memory subsystem, κλπ.  Οπότε δεν είναι τόσο "επικίνδυνο" και
πολλές φορές μπορεί να γίνει ακόμα και χωρίς κανενός είδους locking.



More information about the Linux-greek-users mailing list