ข้อผิดพลาดไม่ร้ายแรงแกนกลางลินุกซ์

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

เคอร์เนล Linux บน SPARC
เคอร์เนล Linux บน PA-RISC

การทำงาน แก้

เมื่อเคอร์เนลตรวจพบปัญหา เคอร์เนลจะคิลกระบวนการที่ละเมิดและพิมพ์ซึ่งวิศวกรเคอร์เนล ลินุกซ์ สามารถใช้เพื่อแก้ไขข้อบกพร่องเงื่อนไขที่สร้างและแก้ไขข้อผิดพลาดในการเขียนโปรแกรมที่สำคัญหลังจากที่ระบบประสบปัญหา ทรัพยากรภายในบางส่วนอาจไม่สามารถใช้งานได้อีกต่อไป ดังนั้นแม้ว่าระบบจะทำงานได้อย่างถูกต้อง แต่ผลข้างเคียงที่ไม่พึงประสงค์อาจเป็นผลมาจากงานที่กำลังดำเนินอยู่ มักจะนำไปสู่ความตื่นตระหนกเคอร์เนลแพนิกเมื่อระบบพยายามใช้ทรัพยากรให้สูญหายไป เคอร์เนลแพนิกบางตัวได้รับการกำหนดค่าให้ตื่นตระหนกเมื่อมีการoops!หลายครั้งโดย 10,000 ครั้ง เป็นค่าเริ่มต้น[1][2] ขีดจำกัดของOops!นี้เกิดขึ้นจากศักยภาพที่ผู้โจมตีจะกระตุ้นให้เกิดOops!และทรัพยากรที่เกี่ยวข้องรั่วไหล ซ้ำๆ ซึ่งท้ายที่สุดแล้วก็จะล้นจำนวนเต็มและทำให้เกิดการแสวงหาประโยชน์เพิ่มเติมได้[3][4]

เอกสารเคอร์เนลอย่างเป็นทางการของLinuxเกี่ยวกับข้อความ oops! อยู่ในไฟล์:Documentation/admin-guide/bug-hunting.rst[5] ซึ่งเป็นแหล่งเคอร์เนล การกำหนดค่าตัวบันทึกบางอย่างอาจส่งผลต่อความสามารถในการรวบรวมข้อความ[6] ซอฟต์แวร์ kerneloops ซอฟต์แวร์สามารถรวบรวมและส่งเคอร์เนล oopses! ไปยังพื้นที่เก็บข้อมูลเช่นเว็บไซต์ www.kerneloops.org[7] ซึ่งจัดทำสถิติและการเข้าถึงรายงานOops!แบบสาธารณะสำหรับผู้ที่ไม่คุ้นเคยกับรายละเอียดทางเทคนิคของคอมพิวเตอร์และระบบปฏิบัติการข้อความขออภัยอาจดูน่าสับสน ไม่เหมือนกับระบบปฏิบัติการอื่นๆ เช่นวินโดวส์หรือแมคโอเอสตรงที่ ลินุกซ์ เลือกที่จะนำเสนอรายละเอียดที่อธิบายความผิดพลาดของเคอร์เนล แทนที่จะแสดงข้อความที่เรียบง่ายและใช้งานง่าย เช่นBSoDบนวินโดวส์มีการเสนอหน้าจอขัดข้องแบบเรียบง่ายมาสองสามครั้งแล้ว แต่ขณะนี้ยังไม่มีการพัฒนาใดๆ[8]

อ้างอิง แก้

  1. Horn, Jann (7 November 2022). "[PATCH] exit: Put an upper limit on how often we can oops". lore.kernel.org. สืบค้นเมื่อ 31 January 2023.
  2. "Documentation for /proc/sys/kernel/". docs.kernel.org. สืบค้นเมื่อ 31 January 2023.
  3. Corbet, Jonathan (18 November 2022). "Averting excessive oopses". LWN.net.
  4. Jenkins, Seth (19 January 2023). "Exploiting null-dereferences in the Linux kernel". Google Project Zero.
  5. "bug-hunting". kernel.org.
  6. "DevDocs/KernelOops". madwifi-project.org. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2020-08-03. สืบค้นเมื่อ 2010-08-21.
  7. "kerneloops(8) - Linux man page". สืบค้นเมื่อ 31 January 2023.
  8. Larabel, Michael (10 March 2019). "A DRM-Based Linux Oops Viewer Is Being Proposed Again - Similar To Blue Screen of Death". Phoronix.