Như những người khác đã đề cập đến điều này rất nền tảng cụ thể.Trên hệ thống ARM tôi đang làm việc với (không có bộ nhớ ảo), có một phần lớn không gian địa chỉ không có bộ nhớ hoặc thiết bị ngoại vi được gán. Nếu tôi đọc hoặc viết một trong những địa chỉ đó, tôi gặp lỗi bus.
Bạn cũng có thể gặp lỗi bus nếu có sự cố phần cứng trên xe buýt.
Nếu bạn đang chạy trên nền tảng có bộ nhớ ảo, bạn có thể không cố ý tạo ra lỗi bus với chương trình trừ khi đó là trình điều khiển thiết bị hoặc phần mềm chế độ hạt nhân khác. Truy cập bộ nhớ không hợp lệ có thể bị bẫy như một sự vi phạm truy cập hoặc tương tự như trình quản lý bộ nhớ (và nó thậm chí không bao giờ có cơ hội để truy cập vào bus).
Nguồn
2010-01-15 06:20:47
kiến trúc nền tảng gì và phần cứng bạn đang sử dụng? –
cần lưu ý rằng theo mặc định x86 sẽ không có lỗi xe buýt, thay vào đó nó sẽ hoạt động nhưng truy cập bộ nhớ sẽ không phải là biểu diễn dưới dạng đọc được căn chỉnh. Mặt khác, các vòm SPARC có lỗi bus. –
Không, xem bình luận của Michael Burr và câu trả lời của tôi. Ngay cả trên x86, bạn có thể gặp lỗi bus bằng cách cố truy cập bộ nhớ không tồn tại (trái ngược với lỗi phân đoạn, xuất phát từ vi phạm chính sách truy cập). – ephemient