Kernel Panic คืออะไรและหมายความว่าอย่างไร


13

ฉันมีรายงานนี้:

Anonymous UUID:       Removed

Tue Aug 11 20:26:13 2015

*** Panic Report ***
panic(cpu 2 caller 0xffffff8028bc1cde): "launchd died\nState at Last Exception:\n\n"@/SourceCache/xnu/xnu-2782.20.48/bsd/kern/kern_exit.c:363

uuid info:
 0x7fff658c1000 uuid = <65dccb06-339c-3e25-9702-600a28291d0e>
 0x10f26f000    uuid = <7f885d63-b284-3471-b6e3-172489232c37>
 0x10f2c1000    uuid = <4396b358-725e-3ec0-bcbb-e4bf75fe1fb0>

RAX: 0x0000000002000001, RBX: 0x0000000000000006, RCX: 0x000000010ff8c0e8, RDX: 0x0000000000000000
RSP: 0x000000010ff8c0e8, RBP: 0x000000010ff8c190, RSI: 0x000000010ff8bf40, RDI: 0x0000000000000001
R8:  0x0000000000000000, R9:  0x000000010f2ae9f0, R10: 0x00007fff9899bb02, R11: 0x0000000000000206
R12: 0x0000000000000000, R13: 0x00007fff8e2f97e0, R14: 0x000000010ff8c5d0, R15: 0x000000010ff8c790
RFL: 0x0000000000000206, RIP: 0x00007fff9899995a, CS:  0x0000000000000007, SS:  0x0000000000000023

Thread  0xffffff803414bc50
    0x00007fff929c1f4b
    0x00007fff929c2068
    0x00007fff929bb554
    0x00007fff968a8a6c
    0x000000010f29d8f7
    0x00007fff97d71c13
    0x00007fff97d7488f
    0x00007fff97d82fe4
    0x00007fff8b16b637
    0x00007fff8b16940d
    0x0000000000000000

Thread  0xffffff80342d7108
    0x00007fff97d74a6a
    0x0000000000000000

Thread  0xffffff80341a8e28
      Could not read LR from frame at 0x000000010fd03dc8

Thread  0xffffff8034130798
    0x00007fff97d823ad
    0x0000000000000000

Thread  0xffffff8035ac05c0
    0x00007fff97d7c87e
    0x00007fff97d7562b
    0x00007fff97d75154
    0x00007fff97d76ecc
    0x00007fff97d746b7
    0x00007fff97d74453
    0x00007fff8b16b268
    0x00007fff8b16b1e5
    0x00007fff8b16941d
    0x0000000000000000

Thread  0xffffff803523de28
    0x000000010f28e28b
    0x000000010f28ceb9
    0x000000010f29d5ca
    0x000000010f29d82e
    0x00007fff97d71c13
    0x00007fff97d7c87e
    0x00007fff97d7562b
    0x00007fff97d75154
    0x00007fff97d76ecc
    0x00007fff97d746b7
    0x00007fff97d82fe4
    0x00007fff8b16b637
    0x00007fff8b16940d
    0x0000000000000000

Thread  0xffffff803d8442e0
    0x00007fff8b28ef1a
    0x0000000000000001
    0x00007fff658cd455
    0x00007fff8b3567b5
    0x00007fff929907e8
    0x00007fff8e2f97e0
    0x00007fff8e2fbddf
    0x00007fff97d71c13
    0x00007fff97d72e5e
    0x00007fff8e2fa0a7
    0x000000010f29a383
    0x00007fff97d71c13
    0x00007fff97d75365
    0x00007fff97d76ecc
    0x00007fff97d75154
    0x00007fff97d76ecc
    0x00007fff97d746b7
    0x00007fff97d82fe4
    0x00007fff8b16b637
    0x00007fff8b16940d
    0x0000000000000000

Mac OS version: 14D136
Kernel version: Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64
Kernel UUID: 4B3A11F4-77AA-3D27-A22D-81A1BC5B504D
System model name: MacBookPro9,2 (Mac-6F01561E16C75D06)

เคอร์เนล panic คืออะไร

คำตอบ:


22

โดยทั่วไป Apple จะกำหนดความตื่นตระหนกของเคอร์เนลเป็น"ใน UNIX ความตื่นตระหนกเป็นข้อผิดพลาดของระบบที่ตรวจไม่พบโดยเคอร์เนล"

ในกรณีเฉพาะของคุณโปรแกรมหลักที่เริ่มต้นและหยุดทุกอย่างอื่นในระบบมีข้อผิดพลาดที่ไม่สามารถกู้คืนได้ในอินสแตนซ์หนึ่งที่เฉพาะเจาะจงในเวลาหนึ่งที่เฉพาะเจาะจง

  • launchd เป็นองค์ประกอบความล้มเหลวที่จำเป็นต้องเรียกใช้เสมอ
  • ข้อมูลที่เหลือจะต้องได้รับการตรวจสอบโดยวิศวกรโดยทั่วไปหนึ่งในลูกจ้างของ Apple ที่มีความเข้าใจอย่างลึกซึ้งเกี่ยวกับรหัสระดับต่ำสุดที่ทำงานบนโปรเซสเซอร์

ขั้นตอนถัดไปสำหรับคุณจะขึ้นอยู่กับว่าเกิดข้อผิดพลาดบ่อยแค่ไหนและหากเครื่องสามารถเริ่มต้นเองได้หลังจากที่คุณปิดเครื่อง

คุณสามารถทบทวนคำถามสองข้อนี้เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการแก้ไขปัญหาคอมพิวเตอร์ของคุณในอนาคตหากคุณต้องการ


11

(ฉันไม่ใช่คน Mac แต่สิ่งนี้ใช้ได้กับ Unices จำนวนมาก) ความตื่นตระหนกของเคอร์เนลนั้นเทียบเท่ากับ Unix ของ Windows Blue Screen of Death ที่ทันสมัย ​​- ข้อผิดพลาดที่ตรวจไม่พบโดยเคอร์เนลนั่นคือหลักของระบบปฏิบัติการ ส่วนที่จัดการสิ่งต่าง ๆ เช่นเวลาตัวประมวลผลหน่วยความจำการเข้าถึงดิสก์ ฯลฯ

สิ่งนี้อาจเกิดจากปัญหาที่ส่งผลกระทบต่อเคอร์เนล (รวมถึงฮาร์ดแวร์หรือ (มีโอกาสน้อยมากใน Mac มากกว่าปัญหา Windows)) หรือโดย (ในกรณีนี้) ข้อผิดพลาดที่ทำให้เกิดinitกระบวนการ (ในกรณีของ Mac) คือlaunchd) ซึ่งรับผิดชอบ (โดยตรงหรือโดยอ้อม) ที่ใช้กระบวนการอื่น ๆ ทั้งหมดในคอมพิวเตอร์ของคุณโดยไม่คาดหมาย เมื่อสิ่งนี้สิ้นสุดลงมันจะลดทุกอย่างที่มันเริ่ม (เช่นกระบวนการอื่น ๆ ทั้งหมดในระบบ) ลงอย่างมีประสิทธิภาพดังนั้นเคอร์เนลจึงไม่มีตัวเลือกเหลือ แต่จะตกใจ

หวังว่าสิ่งนี้จะช่วยให้คุณเข้าใจแนวคิดทั่วไปฉันเกรงว่าฉันจะไม่เจาะจงอีกต่อไปเพราะฉันจะเข้าไปในสิ่งเฉพาะของ Mac ที่ฉันไม่คุ้นเคย


7

คำตอบที่ได้รับนั้นสมบูรณ์และถูกต้อง เนื่องจากคำถามของคุณอาจต้มลงถึง "อะไรคือเคอร์เนล" และ "ทำไมสิ่งนี้ถึงเกิดขึ้น" ให้ฉันลองอธิบายศัพท์แสง

ซอฟต์แวร์ในคอมพิวเตอร์ของคุณมีอยู่ในระดับ ตัวอย่างเช่นมีเป็นส่วนหนึ่งที่เรียกว่าระบบ windowing นี่ไม่ใช่แอปพลิเคชันที่คุณเรียกใช้เช่น Safari แต่เป็นซอฟต์แวร์ที่เรียกว่า bySafari เพื่อวาดหน้าต่างซึ่ง Safari ดึงหน้าเว็บ ในทางกลับกันระบบ Windowing ไม่ได้พูดคุยกับฮาร์ดแวร์โดยตรง แต่พูดคุยกับโมดูลซอฟต์แวร์ระดับต่ำกว่าที่อนุญาตให้วาดเส้นบนหน้าจอ ทุกสิ่งที่คุณทำบนคอมพิวเตอร์ของคุณจะผ่าน "ระดับของนามธรรม" เหล่านี้จนกว่าจะถึงซอฟต์แวร์ที่พูดถึงฮาร์ดแวร์ของคุณโดยตรง

เคอร์เนลของคุณเป็นซอฟต์แวร์ระดับต่ำสุด มันพูดกับฮาร์ดแวร์ของคุณโดยตรงและแสดงทุกสิ่งที่คอมพิวเตอร์ของคุณสามารถทำได้เพื่อกระบวนการและโมดูลระดับสูงขึ้น

เหตุผลที่ระดับเหล่านี้มีความสำคัญก็คือยิ่งมีบางอย่างผิดพลาดมากเท่าใดคอมพิวเตอร์ของคุณก็จะดีขึ้น หากคุณพยายามเปิดไฟล์ที่ไม่มีอยู่ใน Safari Safari จะให้ข้อผิดพลาดที่เป็นมิตรซึ่งคุณสามารถใช้เพื่อแก้ไขปัญหา หากมีสิ่งผิดปกติในระบบหน้าต่างสิ่งต่าง ๆ อาจเริ่มดูตลกหรือตัวชี้เมาส์ของคุณอาจหายไปในทันที

ความตื่นตระหนกของเคอร์เนลเกิดขึ้นเมื่อมีสิ่งผิดปกติในเคอร์เนล อย่างที่คุณสามารถคาดเดาได้ว่าพฤติกรรมของคอมพิวเตอร์ของคุณเป็นไปได้มากที่สุด สิ่งที่ดีที่สุดที่คุณสามารถหวังได้ก็คือคอมพิวเตอร์ของคุณจะหยุดในแทร็กและพิมพ์ข้อมูลการค้นหาที่คลุมเครือเหมือนในกรณีของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.