Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Hình 3.20.b: ”Sau” copy-on-write Một ứng dụng của copy-on-write là để cài đặt điểm ngắt hỗ trợ trong các trình gỡ rối. Ví dụ, mặc định, các trang mã bắt đầu chỉ thực thi. Tuy nhiên, nếu một lập trình viên thiết đặt một điểm ngắt trong khi gỡ rối một chương trình, thì trình gỡ rối phải thêm một chỉ thi điểm ngắt vào mã. Nó thực hiện điều đó bằng cách đầu tiên thay đổi sự bảo vệ trang thành PAGE_EXECUTE_READWRITE và sau đó thay đổi luồng chỉ thị. . | Hình 3.20.b Sau copy-on-write Một ứng dụng của copy-on-write là để cài đặt điểm ngắt hỗ trợ trong các trình gỡ rối. Ví dụ mặc định các trang mã bắt đầu chỉ thực thi. Tuy nhiên nếu một lập trình viên thiết đặt một điểm ngắt trong khi gỡ rối một chương trình thì trình gỡ rối phải thêm một chỉ thi điểm ngắt vào mã. Nó thực hiện điều đó bằng cách đầu tiên thay đổi sự bảo vệ trang thành PAGE_EXECUTE_READWRITE và sau đó thay đổi luồng chỉ thị. Bởi vì trang mã là một phần của một mapped section nên trình quản lý bộ nhớ tạo một bảo sao riêng cho tiến trình với tập điểm ngắt trong khi các tiến trình khác tiếp tục sử dụng trang mã chưa sửa đổi. Hệ thống con POSIX lợi dụng copy-on-write để cài đặt chức năng fork phân nhánh . Điển hình khi một ứng dụng UNIX gọi một hàm fork để tạo một tiến trình khác điều đầu tiên mà tiến trình mới thực hiện là gọi hàm exec để khởi tạo lại không gian địa chỉ với một ứng dụng có thể thực thi. Thay vì sao chép toàn bộ không gian địa chỉ trên fork tiến trình mới chia sẻ các trang trong tiến trình cha bằng cách đánh dấu chúng là copy-on-write. Nếu một tiến trình con ghi lên dữ liệu một bản sao riêng tiến trình được thực hiện. Nếu không hai tiến trình tiếp tục chia sẻ và không có việc sao chép nào được thực hiện. Một cách hay một cách khác trình quản lý bộ nhớ chỉ sao chép các trang tiến trình cố gắng ghi thay vì sao chép toàn bộ không gian địa chỉ. AWE Address Windowing Extension Mặc dù hệ điều hành Windows 2000 có thể hỗ trợ trên 64 GB bộ nhớ vật lý nhưng mỗi tiến trình người sử dụng 32-bit chỉ có một không gian địa chỉ ảo 2 GB hoặc 3 GB. Để cho phép một tiến trình 32-bit định vị và truy xuất nhiều bộ nhớ vật lý hơn có thể được thể hiện trong không gian địa chỉ bị giới hạn của nó Windows 2000 cung cấp một tập các hàm được gọi là Address Windowig Extensions AWE . Ví dụ trên hệ thống Windows 2000 Advanced Server với 8 GB bộ nhớ vật lý một ứng dụng cơ sở dữ liệu server có thể sử dụng AWE để định vị và sử dụng gần 8 GB bộ nhớ như một cache cơ sở dữ .