Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

Memory alignment

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

Căn chỉnh bộ nhớ

Quá nhiều vấn đề xuất hiện do việc truy cập bộ nhớ bị sai lệch không được chú ý trong mã hạt nhân gần đây. Do đó, việc sửa lỗi căn chỉnh hiện nay là vô điều kiện được cấu hình cho các mục tiêu dựa trên SA11x0. Theo Alan Cox, đây là một ý tưởng tồi để cấu hình nó, nhưng Russell King có một số lý do chính đáng để làm như vậy trên một số kiến trúc ARM tồi tệ như EBSA110. Tuy nhiên đây không phải là trường hợp của nhiều thiết kế mà tôi biết, giống như tất cả các thiết kế dựa trên SA11x0 những cái đó.

Tất nhiên đây là một ý tưởng tồi nếu dựa vào bẫy căn chỉnh để thực hiện truy cập bộ nhớ không được phân bổ nói chung. Nếu những quyền truy cập đó có thể dự đoán được, bạn tốt hơn nên sử dụng các macro được cung cấp bởi include/linux/unaligned.h. các bẫy căn chỉnh có thể khắc phục quyền truy cập bị sai lệch trong các trường hợp ngoại lệ, nhưng tại chi phí hiệu suất cao. Tốt hơn là nên hiếm.

Giờ đây, đối với các ứng dụng không gian người dùng, có thể định cấu hình căn chỉnh bẫy vào SIGBUS bất kỳ mã nào thực hiện truy cập không được sắp xếp (tốt cho việc gỡ lỗi lỗi code) hoặc thậm chí sửa lỗi truy cập bằng phần mềm như mã kernel. Càng về sau chế độ này không được khuyến nghị vì lý do hiệu suất (chỉ cần nghĩ về mô phỏng dấu phẩy động hoạt động theo cùng một cách). Sửa mã của bạn thay vào đó!

Xin lưu ý rằng việc thay đổi hành vi một cách ngẫu nhiên mà không có suy nghĩ đúng đắn là thực sự tệ - nó thay đổi hành vi của tất cả các hướng dẫn chưa được căn chỉnh trong người dùng trống và có thể khiến các chương trình bị lỗi bất ngờ.

Để thay đổi hành vi bẫy căn chỉnh, chỉ cần lặp lại một số vào /proc/cpu/căn chỉnh. Số được tạo thành từ nhiều bit khác nhau:

Lưu ý rằng không phải tất cả các kết hợp đều được hỗ trợ - chỉ các giá trị từ 0 đến 5. (6 và 7 không có ý nghĩa).

Ví dụ: thao tác sau sẽ bật cảnh báo nhưng không có sửa chữa hoặc gửi tín hiệu SIGBUS:

echo 1 > /proc/cpu/căn chỉnh

Bạn cũng có thể đọc nội dung của cùng một tệp để có được số liệu thống kê thông tin về các lần truy cập không được sắp xếp cộng với chế độ hiện tại của hoạt động cho mã không gian người dùng.

Nicolas Pitre, 13 tháng 3 năm 2001. Russell King sửa đổi, 30 tháng 11 năm 2001.