Sự khác biệt giữa hạt nhân oops và hạt nhân hoảng loạn là gì?


51

Tôi biết hạt nhân hoảng loạn là gì, nhưng tôi cũng đã thấy thuật ngữ "hạt nhân". Tôi luôn nghĩ rằng họ giống nhau, nhưng có lẽ không. Vì thế:

Oops kernel là gì và nó khác với kernel hoảng loạn như thế nào?

Câu trả lời:


45

"Rất tiếc " là một vấn đề nhân Linux đủ tệ đến mức nó có thể ảnh hưởng đến độ tin cậy của hệ thống.

Một số "oops" đủ tệ để kernel quyết định ngừng chạy ngay lập tức, vì sợ mất dữ liệu hoặc hư hỏng khác. Chúng được gọi là hoảng loạn hạt nhân .

Thuật ngữ thứ hai là nguyên thủy, quay trở lại các phiên bản sớm nhất của các tổ tiên Unix của Linux, cũng in một thông báo "hoảng loạn" trên bảng điều khiển khi chúng xảy ra. Hàm nhân AT & T Unix ban đầu xử lý các điều kiện như vậy được gọi panic(). Bạn có thể theo dõi nó thông qua các bản phát hành mã nguồn công khai của AT & T Unix đến các bản phát hành đầu tiên của nó:

  • Các phiên bản OpenSolaris củapanic() được phát hành bởi Sun vào năm 2005 . Nó khá công phu, và các bình luận tiêu đề của nó giải thích rất nhiều về những gì xảy ra trong một tình huống hoảng loạn.

  • Việc triển khai Unix V4panic() được phát hành vào năm 1973. Về cơ bản, nó chỉ in trạng thái cốt lõi của kernel sang console và dừng bộ xử lý.

  • Chức năng đó không thay đổi đáng kể trong Unix V3 theo Amit Singh, người nổi tiếng đã mổ xẻ một phiên bản cũ hơn của Mac OS X và giải thích nó. Liên kết đầu tiên đó đưa bạn đến một bài viết đáng yêu giải thích cách tiếp cận của macOS đối với việc triển khai panic(), bắt đầu bằng một cuộc thảo luận lịch sử có liên quan.

  • Dự án " unix-jun72 " để phục hồi Unix V1 từ các bản in mã nguồn được quét cho thấy phiên bản lắp ráp PDP-11 rất sớm của chức năng này, được viết vào khoảng trước tháng 6 năm 1972, trước khi Unix được viết lại hoàn toàn vào C. Đến thời điểm này, việc triển khai của nó là đưa ra một thói quen 6 hướng dẫn, ít hơn là khởi động lại PDP-11.


chỉ tình cờ thấy các chỉnh sửa của bạn (có lẽ đó là lý do tại sao tôi nhận được thêm một số câu hỏi về câu hỏi?) - thực sự tuyệt vời, cảm ơn vì đã thêm vào điều này :)
strugee

14

Một oops là một lỗi cụ thể mà hạt nhân gặp phải. Một Oops chứa thông tin sau:

  • Mô tả ngắn gọn
  • Úi #
  • Nó đã xảy ra với CPU nào và mã CPU đang thực thi
  • Đăng ký nội dung

Rất tiếc là một cách để gỡ lỗi mã hạt nhân và có các tiện ích để trợ giúp điều đó. Một hoảng loạn hạt nhân có nghĩa là hệ thống không thể phục hồi và phải được khởi động lại. Tuy nhiên, với Oops, hệ thống thường có thể tiếp tục. Bạn có thể định cấu hình klogd và syslogd để ghi nhật ký tin nhắn vào tệp, thay vì để thoát ra.

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.