Một ứng dụng được HĐH cấp cho một bộ nhớ. Nói chung, ứng dụng phải yêu cầu bộ nhớ nhưng chức năng đó có thể bị che khuất đối với lập trình viên vì ngôn ngữ.
Các ngôn ngữ như C cho phép các yêu cầu chặn cho các kích thước cụ thể, trong khi các ngôn ngữ khác như C ++, C # và Java cho phép các yêu cầu thông qua việc sử dụng các từ khóa như new
. Mỗi ngôn ngữ có một số cách để phân bổ bộ nhớ, vì vậy đây chỉ là một tổng quan ngắn gọn. Việc giải phóng bộ nhớ trở lại HĐH có thể được thực hiện rõ ràng hoặc thông qua trình thu gom rác.
Truy cập bộ nhớ trong ứng dụng tùy thuộc vào cách phân bổ. C và C ++ được biết đến nhiều nhất khi sử dụng khái niệm con trỏ để chỉ ra / theo dõi vị trí của bộ nhớ. Mặt khác, truy cập bộ nhớ được xử lý thông qua lớp hoặc biến được tạo.
Hầu hết thời gian, bạn không phải lo lắng về việc truy cập bộ nhớ cụ thể trong chương trình của mình. Các cấu trúc ngôn ngữ và hệ điều hành che khuất một cách hiệu quả mối quan tâm dành cho bạn.
Ví dụ về bộ đếm thời gian trong trò chơi của bạn là một ví dụ tuyệt vời về việc bạn không cần phải lo lắng về việc phân bổ bộ nhớ cơ bản. Bạn sẽ có một biến đại diện cho bộ đếm thời gian và bạn sẽ chỉ đọc từ biến đó.
Câu trả lời của tôi có liên quan khi bạn viết ứng dụng, trong khi câu trả lời của zxcdw có liên quan đến việc truy cập bộ nhớ thuộc về ứng dụng khác. Các thuật ngữ LMGTFY của bạn sẽ là "gỡ lỗi" và "kỹ thuật đảo ngược" để đi sâu hơn vào chủ đề đó.
Một số đọc thêm:
- Bài viết Wikipedia về Bộ nhớ máy tính sẽ cung cấp cho bạn một cái nhìn tổng quan về mọi thứ.
- Sau đó xem bài viết trên Wikipedia về I / O được ánh xạ bộ nhớ để hiểu sâu hơn về các mưu mô đang diễn ra.
- Cuối cùng, hãy xem bài viết về Bộ nhớ ảo để có câu trả lời tốt hơn về cách mỗi hệ điều hành sẽ xử lý ánh xạ bộ nhớ khác một chút so với các bộ nhớ khác.