Trình duyệt web chiếm tài nguyên phần cứng là chuyện hết sức “bình thường” luôn rối. Nếu anh em mở task manager lên thì sẽ thấy cả chục tác vụ chạy ngầm của các trình duyệt web mọc lên như nấm sau mưa. Trong một bài đăng trên blog gần đây, Microsoft đã giải thích nguyên nhân vì sao Edge Chromium tạo nhiều tác vụ chạy ngầm khi lướt web.
Nguyên nhân xuất hiện nhiều tác vụ chạy ngầm là vì Edge được tạo nên từ kiến trúc đa tác vụ (multi-process architecture). Khi hoạt động, trình duyệt sẽ bị chia thành nhiều tác vụ nhỏ hơn chứ không gom lại thành một tác vụ lớn. Trong đó, sẽ có các tác vụ như:
- Tác dụ browser: đây là tác vụ chính giúp quản lý các tab và cửa sổ, đồng thời điều khiển các tính năng chính của trình duyệt như thanh địa chỉ, nút back và forward. Tác vụ này cũng cấp quyền cho các tác vụ đặc biệt như truy cập vào các file trong máy, những yêu cầu cần truy cập mạng.
- Tác vụ renderer: tác vụ này giúp hiện hình ảnh, giao diện của các trang web trong một tab từ phần code của web, chẳng hạn như các dạng ngôn ngữ HTML, CSS, Javascript hoặc hình ảnh, … Tác vụ này có sử dụng nhiều tài nguyên phần cứng hay không thì còn phụ thuộc vào các nội dung xuất hiện trên web.
- Tác vụ GPU: tác vụ này sẽ xử lý cách trình duyệt web phối hợp với GPU. Nếu anh em chưa biết thì trình duyệt web hiện đại dùng GPU để tính toán nhanh hơn và xuất hình ảnh lên màn hình.
- Tác vụ Utility: xử lý âm thanh, quay màn hình, giải mã data, … để giúp Microsoft Edge kiểm soát quyền truy cập vào tài nguyên phần cứng và điều phối mức độ sử dụng.
- Tác vụ plug-in và tác vụ extension: tác vụ Plug-in thì quản lý các plug-in được cài vào trình duyệt, chẳng hạn như adobe Flash. Tác vụ extension thì quản lý các extension đang hoạt động. Mỗi tác vụ này hoạt động theo phần code của plug-in hoặc extension anh em cài thêm vào nên ngốn tài nguyên phần cứngnhư thế là do cách lập trình của các bên thứ 3.
- Tác vụ crashpad handler: tác vụ này sẽ theo dõi “sức khỏe” của trình duyệt. Nếu Edge gặp trục trặc gì thì sẽ ghi nhận lại và chuyển thông tin về cho máy chủ của Microsoft.
Anh em có thể tham khảo cách các tác vụ phối hợp làm việc với nhau khi chúng ta lướt web trong hình bên trên. Mỗi tác vụ đều có nhiệm vụ riêng và có khá nhiều yếu tố làm tăng hoặc giảm số lượng tác vụ chạy ngầm. Theo Microsoft giải thích thì chia ra nhiều tác vụ thì sẽ có khá nhiều lợi ích khác nhau, chẳng hạn như:
Tăng cường bảo mật
Việc chia tách, cách ly trình duyệt thành nhiều tác vụ khác nhau cũng giống anh em xây nhà với nhiều lớp hàng rào. Ví dụ tác vụ Renderer là tác vụ có khả năng bị tấn công nhất vì nó thường tương tác với các trang web nên bị hạn chế các quyền truy cập vào hệ điều hành. Nếu malware từ trang web nào đó chiếm được quyền điều khiển tác vụ renderer thì cũng không thể lợi dụng tác vụ này để kiểm soát máy của chúng ta.
Ngoài ra, việc cách ly tác vụ với nhau sẽ ngăn một tác vụ lấy thông tin của tác vụ khác. Ví dụ, nếu anh em lên mạng tìm mua hàng trực tuyến và có một pop-up quảng cáo xuất hiện. Khi anh em nhập thông tin, địa chỉ mua hàng thì khung quảng cáo kế bên sẽ không thể lấy các thông tin về số tài khoản, thẻ ngân hàng. Khung quảng cáo đó sẽ được một tác vụ riêng xử lý và rất khó để mò ra các thông tin nhạy cảm của anh em.
Tăng cường độ tin cậy
Nếu bất cứ thứ gì bị lỗi, từ trang web nhất định, plug-in đến các tiện ích mở rộng thì chỉ có tác vụ crashpad handler mới bị ảnh hưởng thôi, phần còn lại của trình duyệt vẫn hoạt động ổn định.
Dễ dàng quản lý tài nguyên phần cứng
Khi tách ra nhiều tác vụ như vậy thì anh em sẽ có thể kiểm tra xem phần nào, chẳng hạn như một tab, một tiện ích mở rộng đang ngốn tài nguyên phần cứng nhất và tìm thông tin về nó. Khi tìm ra rồi thì anh em sẽ dễ dàng khắc phục hơn.
Dù chỉ giải thích về cách trình duyệt Edge hoạt động nhưng Microsoft cũng có lưu ý rằng trình duyệt của họ xây dựng trên nền tảng Chromium giống như nhiều trình duyệt hiện đại hiện nay. Vì vậy, anh em có thể áp dụng lý thuyết này vào các trình duyệt cùng dòng họ như Google Chrome, Cốc Cốc, Firefox,… nhé.
Nguồn: Mspoweruser