
Dừng lại
The article is based on linux-2.4.16 kernel phiên bản
Sử dụng trí nhớ trong quá trình không chắc chắn, luôn có khả năng sử dụng bộ nhớ thể chất của máy tính. Vậy khi bộ nhớ vật lý của hệ thống không đủ, thì hạt nhân Linux sử dụng gì để tránh vấn đề không ứng dụng cho bộ nhớ vật chất? Description
So với bộ nhớ, khả năng của đĩa là rất lớn, do đó hạt nhân Linux thiết lập một hàm gọi là bộ nhớ trao đổi... lưu vào đĩa một số trang trí nhớ tạm thời không được sử dụng, sau đó phân bổ trang trí nhớ vật lý cho người dùng khẩn cấp hơn, và khi tiến trình được sử dụng, đọc lại chúng về bộ nhớ từ đĩa. Với chức năng trao đổi bộ nhớ, bộ nhớ có thể lớn hơn nhiều so với khả năng của bộ nhớ vật lý. Description
Thuật toán LU
The process of bộ nhớ Exchange is to find first a appropriate bộ nhớ Management structure of user procure, then trao đổi các trang trí nhớ đã được sử dụng bởi quá trình này sang đĩa, distinguishe the mapping between Virtual Trí nhớ and physical Trí nhớ, and finally releas the bộ nhớ pages occupied by the process. Do các hoạt động này có liên quan, đây là một quá trình đòi hỏi tương đối lâu. Nếu bạn tình cờ truy cập vào trang trí nhớ đang được trao đổi lần nữa, thì dữ liệu của trang trí nhớ cần được trao đổi từ đĩa tới bộ nhớ. Vì vậy, trong trường hợp này, nó không chỉ có thể giải quyết vấn đề thiếu bộ nhớ, mà còn tăng thêm lực lượng của hệ thống. Description
Để giải quyết vấn đề này, hạt nhân Linux sử dụng thuật toán được gọi là sử dụng ít gần nhất (DSU). Các tiến trình chung của thuật toán DSU được đưa vào bên dưới. Description
The Chinese translation of DSU is the ít sử dụng gần đây. As the name ngụ ý, it has been not been used for a period. How can the Linux kernel know what bộ nhớ Trang have not been used recently? Cách đơn giản nhất là đặt trang trí nhớ vào hàng đợi. Nếu bạn truy cập trang trí nhớ, di chuyển trang trí nhớ vào đầu danh sách liên kết, để trang trí nhớ không tiếp cận sẽ di chuyển đến cuối hàng sau một thời gian, và giải phóng trang trí nhớ từ cuối danh sách liên kết. Máy phục vụ nhớ tạm khét tiếng dùng thuật toán LU này. Description
The Linux CPU cũng dùng thuật toán tương tự, nhưng nó tương đối phức tạp. Hộp Linux còn giữ ba câu: hàng đợi bận, hàng đợi bẩn bị động và hàng đợi sạch bị động. Tại sao Linux phải duy trì ba cái để còn lại dùng một cái? Việc này là vì Linux muốn tiến trình trao đổi trang trí nhớ tiến hành chậm. Linux CPU có một sợi kswaPD, nó sẽ kiểm tra xem các trang trí nhớ tự do của hệ thống có phải cung cấp ngắn không. Nếu các trang bộ nhớ tự do của hệ thống cung cấp không, nó sẽ chọn một số thủ tục để thêm các trang trí nhớ do nó sử dụng vào danh sách liên kết nối hoạt động và ngắt kết nối bản đồ giữa tiến trình và trang trí nhớ này. Theo thời gian, nếu không truy cập trang trí nhớ, nó sẽ được di chuyển vào danh sách bẩn không hoạt động. Khi các trang trí nhớ trong danh sách bẩn bị động phải được đổi sang đĩa. Khi các trang trí nhớ miễn phí trong hệ thống cung cấp rất ít, các trang trí nhớ sẽ được nạp lại đĩa từ phần đuôi của danh sách bẩn bị động, rồi chuyển sang danh sách bị động không hoạt động. Các trang trí nhớ trong danh sách sạch bị động có thể được phân phối ngay lập tức cho quá trình. Chuyển động giữa danh sách được liên kết được hiển thị trong hình dạng sau:
Dừng lại
Liên kết
Nếu bạn truy cập vào trang trí nhớ trong quá trình này, hạt nhân Linux sẽ chuyển trang trí nhớ sang danh sách liên kết hoạt động và thiết lập một quan hệ với bản đồ trí nhớ, vì vậy không cần phải đọc nội dung của trang trí nhớ từ đĩa. Description
The CPU chỉ có một danh sách liên kết hoạt động và một danh sách bị động dính bẩn, nhưng mỗi khu vực quản lý trí nhớ có một danh sách không hoạt động sạch. Description
Nó thực hiện vì sự phân mật trí nhớ dựng trên bộ trí nhớ này, nên một trang trí này phải thuộc về khu vực chỉ trí nhớ đó. Description
Sợi ngũ nhân hoán đổi
Trình hoán đổi sẽ được gọi khi hệ thống Linux khởi động. chức năng Init Keywords
Nằm xuống! Bám chặt; init% phù dâu; kswaPD init(khoảng trống)% 2nbsp; Ừm% 2hnbsp;% 2hnbsp; v1.8% 2nbsp;% 2nbsp;in('% 26Quot;bắt đầu% 2nbsp;kswaPD% 2hnbsp;v1.8\\ n% 2cquot; 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2Yeah; Trao đổi thiết bị; 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2Yeah; hạt nhân'u chỉ là sợi(kswapd.,% 2hnbsp;dò bao nhiêu lần,% 2nbsp; 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2Yeah; hạt nhân'u chỉ dẫn đường bao nhiêu lần, bao nhiêu lần chúng ta cần bao nhiêu lần kiểm tra lại? 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2Yeah; trở lại% phù dâu; Ko;% 2benhiểu;% 2Yeah; Dừng
Like you can see, kswaPD u Việc này sẽ tạo ra hai dòng nhân, kswaPD và croceman, những trang có trách nhiệm thả ra một số trang trí nhớ vật lý khi hệ thống thiếu bộ nhớ vật lý, để cân bằng trí nhớ sẵn của hệ thống. Tiếp theo, chúng tôi sẽ tập trung phân tích sợi nhân kswaPD. Mã nguồn của kswapd.(2)
Mục lục: kswaPD(khoảng không% 2nbsp;*unused)* 2Yeah; tha tha tha tha tha tha tha tha tha viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên thích thích thích thích thích thích nhắc nhắc nhắc nhắc nhắc bao bao bao bao bao bao bao bao bao bao bao bao bao bao bao bao bao bao bao bao bao viên viên viên viên viên, tha tha tha tha tha viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên thích thích thích thích thích thích thích thú thú thú thú, tha tha tha tha tha tha tha tha tha tha tha tha tha tha thứ thứ thứ thứ thứ thứ thứ, và và và và và và và và và và và và tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha tha thứ thứ thứ thứ thứ thứ thứ thứ thứ thứ thứ viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên viên sp;=% 2hnbsp;1;% 2nbsp;% 2hcài gài;% 2hnbsp;% 2hnbsp;; strcpy(tsv- 26gt;com; m2hsp;% 26cqf; kswapd% 26Q; 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2Yeah; gia nhập(% bộ;tsz- 26gt;bị chặn)./ 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2Yeah; kswaPD nhiệm vụ% phù dâu;=% 2Yeah; tsv; 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2Yeah; Phải. cờ núi% phù dâu; 124; 2Yeah; Binh nhì MEMALE; 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2đéo hiểu 2Yeah; cho% phù dâu; (';)% 2Yeah; Ai Ai len tinh yêu% 2hhiểu;% 2hiểu;% 2hhiểu;% 2hhiểu;% 2hiểu;% 2hiểu;% 2hiểu;% 2hhiểu;ruột bao tích tích tích tích tích tích tích tích hoa% 2hcài;rút vòng lại% 2hcài; nhớ% 2h2nbsp;bao viên viên viên tinh.=% 2hcài ngoái ngoái ngoái viên viên viên viên viên viên viên viên cài cài mở;