Bộ nhớ có dây so với Bộ nhớ hoạt động trong OS X


13

Tôi gặp khó khăn khi hiểu sự khác biệt giữa Bộ nhớ có dây và Bộ nhớ hoạt động trong OS X.

Đừng nói về bốn loại bộ nhớ (đừng nói về bộ nhớ trống hoặc không hoạt động, vì tôi đã biết những loại này là gì). Chỉ cần so sánh và đối chiếu bộ nhớ có dây với bộ nhớ hoạt động để tôi có thể hiểu rõ hơn về hai bộ nhớ đó.

Câu trả lời:


28

Nhắc nhở nhẹ nhàng: Để cung cấp câu trả lời tốt hơn cho phần còn lại của cộng đồng, vui lòng không nói điều gì đó giống như Hãy đừng nói về bốn loại bộ nhớ. Ngay cả khi bạn biết rõ về nó, có thể có một ngàn lẻ một công dân Internet đến đây với hy vọng có câu trả lời thế chấp. :)

Paging Paging là một thuật ngữ chính xác cho hành động sau đây. Mặc dù vậy, giao dịch hoán đổi được sử dụng thông thường cho việc phân trang trực tuyến, mặc dù khá thay thế cho nhau trong những ngày này. Ban đầu, hoán đổi trực tiếp đề cập đến việc chuyển hoàn toàn không gian bộ nhớ của chương trình sang bộ lưu trữ thứ cấp của Google Ranh giới giữa phân trang và hoán đổi bị mờ đi đáng kể bởi các hệ thống Windows và Unix gọi các hoán đổi không gian phân trang.

Và sau đó, người ta phải biết về phân trang để hiểu khái niệm về bộ nhớ hoạt động, có dây và không hoạt động. Phân trang có nghĩa là trang bộ nhớ được chuyển ra khỏi bộ nhớ truy cập ngẫu nhiên (nghĩa là RAM) và vào đĩa cứng hoặc thiết bị lưu trữ thứ cấp khác. Điều này cho phép ứng dụng đang chạy yêu cầu nhiều bộ nhớ hơn tổng dung lượng RAM hệ thống có sẵn.

Lưu ý rằng mặc dù phân trang có nghĩa là một hình phạt hiệu suất rất lớn để truy cập vào thông tin cụ thể đó một lần nữa, phân trang có thể xảy ra trong hai trường hợp khác nhau: (Trích dẫn bản thân: Nhược điểm của việc không có phân vùng trao đổi )

  1. Khi không có bộ nhớ ENOUGH cho tất cả các ứng dụng - trong trường hợp điều này xảy ra với một hệ thống không có không gian hoán đổi, nó sẽ gây ra lỗi phân bổ bộ nhớ cho các ứng dụng mới yêu cầu các trang bộ nhớ mới - và điều này thường dẫn đến việc chấm dứt chương trình.
  2. Khi một số trang bộ nhớ (bộ nhớ được chia thành các trang của Cameron) đã được sử dụng một thời gian trước đây, nhưng bây giờ không còn được sử dụng nữa, nó sẽ được chuyển sang tệp hoán đổi và bộ nhớ còn lại có thể được sử dụng để làm những việc khác có thể hữu ích hơn (ví dụ: ngay cả bộ nhớ đệm!) - khi điều này xảy ra trong một hệ thống không có không gian hoán đổi, điều này sẽ dẫn đến các trang nhàn rỗi ở trong bộ nhớ. Điều này không có gì quá nghiêm trọng, vì chúng ta có một lượng bộ nhớ khá lớn trong những ngày này.

Bốn loại bộ nhớ được phân loại như sau:

  • Có dây: Được sử dụng bởi một ứng dụng tuyên bố rằng khối bộ nhớ được phân bổ phải nằm trong RAM vật lý và không được hoán đổi trên đĩa, bất kể nó có được sử dụng gần đây hay không, tức là, một ứng dụng khác có thể KHÔNG yêu cầu khối bộ nhớ cụ thể đó. Các ví dụ là một phần của bộ nhớ được sử dụng bởi hệ thống và được sử dụng bởi các máy ảo.

  • Hoạt động & không hoạt động: Đây là những bộ nhớ thường được sử dụng bởi các ứng dụng ở chế độ người dùng, trong đó chúng có thể tráo đổi trên đĩa. Cấm hoạt động có nghĩa là nó đã được sử dụng gần đây, và trong đó có nghĩa là nó không được sử dụng gần đây. Do đó, hệ điều hành sẽ trao đổi các trang không hoạt động trước, sau đó các trang hoạt động sau nếu cần.

  • Bộ nhớ trống: Bộ nhớ không được sử dụng. Điều này được sử dụng cho các mục đích khác như bộ nhớ đệm của đĩa cứng.

Nếu câu hỏi của bạn là, trong một tình huống nghiêm trọng mà bộ nhớ không đủ, hệ thống sẽ cố gắng phân bổ bộ nhớ cho ứng dụng mới theo thứ tự nào?

bộ nhớ trống → bộ nhớ không hoạt động → bộ nhớ hoạt động

Theo một nghĩa nào đó, ngay cả bộ nhớ được sử dụng gần đây có thể được phân trang. Phần có dây của mạng Cameron là những gì sẽ không được phân trang bằng mọi giá.

Tuy nhiên, trong các hệ thống hiện đại, khá khó có khả năng bộ nhớ hoạt động bị loại bỏ vì chúng ta có sẵn nhiều RAM.


Bây giờ bạn đã làm cho câu hỏi này trở nên phức tạp hơn so với nó bằng cách nói về các loại bộ nhớ khác. Vì vậy, bây giờ tôi phải hỏi về bộ nhớ hoạt động so với không hoạt động. Tôi nghe nói rằng bộ nhớ không hoạt động thực sự là bộ nhớ miễn phí. Nó là về cái gì vậy. Là bộ nhớ hoạt động cũng là bộ nhớ miễn phí? So sánh và đối chiếu bộ nhớ hoạt động với bộ nhớ không hoạt động.
tony_sid

1
Tôi nghe nói rằng bộ nhớ không hoạt động chỉ đơn giản là bộ đệm trong trường hợp chương trình đã bị đóng được khởi động lại. Nếu đó là sự thật thì tại sao nó cần phải được đưa vào đĩa?
tony_sid

1
Bạn đã nghe một cái gì đó sai. Ứng dụng đóng sẽ giải phóng bộ nhớ trừ khi có lỗi nghiêm trọng với kiến ​​trúc bộ nhớ.
bubu

2
câu trả lời tuyệt vời! +1
posdef

1
@tony_sid một cuộc thảo luận cũ nhưng những gì bạn đã nghe là chính xác. Như đã đề cập trên Apple hỗ trợ "Tuy nhiên, nếu bạn mở Mail trước khi bộ nhớ Không hoạt động của nó được sử dụng bởi một ứng dụng khác, Mail sẽ mở nhanh hơn vì bộ nhớ Không hoạt động của nó được chuyển đổi sang Bộ nhớ hoạt động, thay vì tải nó từ ổ đĩa chậm hơn."
Gaurav
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.