Hãy xem xét những gì xảy ra với bộ nhớ cache khi một quá trình đã chạy trên một bộ xử lý cụ thể. Các dữ liệu gần đây nhất được truy cập bởi các quá trình cư trú trong bộ nhớ cache cho bộ vi xử lý. Vì vậy, kế tiếp bộ nhớ truy cập bởi quá trình thường hài lòng trong bộ nhớ cache. Bây giờ hãy xem xét những gì sẽ xảy ra nếu trong quá trình di chuyển đến một bộ xử lý. Nội dung của bộ nhớ cache phải được giao cho bộ xử lý đầu tiên, và bộ nhớ cache cho bộ vi xử lý thứ hai phải được repopulated. Vì chi phí cao khác và repopulating lưu trữ hệ thống SMP nhất cố gắng tránh di chuyển của các quá trình từ một trong những bộ vi xử lý khác và thay vì cố gắng giữ cho một tiến trình đang chạy trên bộ xử lý tương tự. Điều này được biết đến như là bộ vi xử lý mối quan hệ — có nghĩa là, một quá trình có một ái lực cho các bộ xử lý trên mà nó hiện đang chạy. Bộ vi xử lý mối quan hệ mất nhiều hình thức. Khi một hệ điều hành có một chính sách cố gắng để giữ cho một tiến trình đang chạy trên bộ xử lý tương tự-nhưng không đảm bảo rằng nó sẽ làm như vậy-chúng tôi có một tình trạng gọi là ái lực mềm. Ở đây, Hệ điều hành sẽ cố gắng giữ cho một quá trình trên một bộ xử lý duy nhất, nhưng nó có thể cho một quá trình di chuyển giữa các bộ vi xử lý. Ngược lại, một số hệ thống cung cấp hệ thống các cuộc gọi hỗ trợ mối quan hệ khó khăn, do đó cho phép một quá trình để xác định một tập hợp con của bộ vi xử lý mà có thể chạy. Nhiều hệ thống cung cấp các mối quan hệ cả mềm và cứng. Ví dụ, Linux soft ái lực thực hiện, nhưng nó cũng cung cấp các cuộc gọi hệ thống setaffinity() sched, mà hỗ trợ các mối quan hệ khó khăn. Kiến trúc bộ nhớ chính của một hệ thống có thể ảnh hưởng đến bộ xử lý các vấn đề mối quan hệ. Hình 6.9 mô tả một kiến trúc có tính năng truy cập bộ nhớ phục (NUMA), trong đó một CPU có một truy cập nhanh hơn để một số phần của bộ nhớ chính hơn đến các bộ phận khác. Thông thường, điều này xảy ra trong các hệ thống có chứa kết hợp CPUvà nhớ bảng. CPU trên một bảng có thể truy cập vào bộ nhớ trên đóHội đồng quản trị nhanh hơn họ có thể truy cập vào bộ nhớ on hội đồng khác trong hệ thống.Nếu thuật toán lập lịch và vị trí bộ nhớ CPU hệ điều hànhlàm việc với nhau, sau đó một quá trình được mối quan hệ với một CPU đặc biệtcó thể được cấp phát bộ nhớ on hội đồng quản trị, nơi cư trú của CPU mà. Ví dụ nàycũng cho thấy rằng các hệ điều hành được thường xuyên không là sạch được xác định vàthực hiện như mô tả trong sách giáo khoa hệ thống điều hành. Thay vào đó, "rắnđường dây"giữa các phần của một hệ điều hành thường xuyên chỉ"rải rácdây chuyền,"với các thuật toán tạo các kết nối theo cách nhằm mục đích tối ưu hóahiệu suất và độ tin cậy.
đang được dịch, vui lòng đợi..
