Wednesday, August 8, 2012

Xử lý đa nhiệm trên smartphone

Xử lý đa nhiệm trên smartphone là gì?

Thứ Hai, 13/06/2011, 17:34

Nhờ vào cấu hình phần cứng cao, xử lý đa nhiệm (multi-task) có thể xem là tính năng cơ bản của smartphone. Đối với một số người dùng, đây còn là tính năng để phân biệt giữa smartphone và feature phone (điện thoại thường).

 

TimHie3
Khả năng xử lý đa nhiệm là tính năng không thể thiếu đối với smartphone cao cấp hiện nay - Ảnh minh họa: Internet
 

Mặc dù vậy, có vài nền tảng di động từ chối tính năng này như Windows Phone 7 hay iOS phiên bản đầu tiên nên đã bị người dùng phản ứng gay gắt. Apple đã phải “chiều lòng” họ khi từ phiên bản 4.0, iOS bắt đầu hỗ trợ xử lý đa nhiệm và Microsoft cũng nhanh chóng sửa sai bằng bản cập nhật có tên Mango sẽ ra mắt trong tương lai. Tuy nhiên, mỗi hệ điều hành đều có cách thức xử lý đa nhiệm khác nhau.

Lúc trước, đa nhiệm được thực hiện tương tự như trên những chiếc máy tính để bàn, nghĩa là người dùng mở một ứng dụng, nó sẽ ở luôn trong bộ nhớ. Dù họ có mở một chương trình khác, ứng dụng đó vẫn không ngừng khai thác tài nguyên nên rất dễ dẫn đến việc không đủ tài nguyên để thực hiện các tác vụ khác, dẫn đến hiện tượng “treo máy”.

Windows Mobile (phiên bản đời đầu của Windows Phone 7) tạo sự dễ dàng hơn cho người sử dùng bằng cách quản lý các ứng dụng đang mở và nguồn tài nguyên chúng sử dụng. Nếu một chương trình không được sử dụng trong một khoảng thời gian nhất định và hệ thống cần nhiều bộ nhớ hơn cho ứng dụng khác, nó sẽ tự đóng những chương trình không dùng này và lấy nguồn tài nguyên đó cho các chương trình khác hoạt động. Nhưng không may mắn là thỉnh thoảng vẫn có chương trình cần nhiều tài nguyên hơn mức có sẵn của hệ thống nên đã làm cho hoạt động chung bị giật một lúc hay cũng có thể “treo máy” và không làm việc tiếp được.

 

TimHie4
 

Hệ điều hành Android bắt đầu phát triển từ năm 2003, trước khi được mua lại bởi Google vào năm 2005. Đa nhiệm trong Android cũng có nhiều điểm tương tự như Windows Mobile thuở ban đầu, nhưng cách Android thực hiện phức tạp hơn một chút thay vì chỉ đơn giản là đóng những tiến trình làm việc. Nhằm đảm bảo tài nguyên được giải phóng một cách tự động, Android sử dụng một bộ quy tắc để xác định tầm quan trọng của mỗi ứng dụng ngầm, từ đó xử lý một cách tốt nhất. Nếu máy vẫn dư thừa bộ nhớ, những ứng dụng sẽ chạy liên tục không dừng.

 

TimHie5
 

Với iOS, ban đầu Apple vẫn chưa đưa tính năng xử lý đa nhiệm vào hệ điều hành này để đảm bảo hiệu suất cao nhất của bộ vi xử lý và bộ nhớ RAM cho ứng dụng đang chạy. Với iOS 4.0, Apple đã đưa ra một phương thức hoạt động đa nhiệm mới.

 

TimHie6
 

Các ứng dụng phải đưa ra yêu cầu những chức năng đặc biệt và từ yêu cầu đó, từng chức năng (của ứng dụng) mới được hệ thống cấp quyền cho phép hoạt động liên tục (hoặc cho đến khi đóng ứng dụng). Những chức năng này được giới hạn bao gồm chơi nhạc/ghi âm, định vị vị trí và gọi điện IP. Trong các trường hợp khác, khi bạn nhấn nút Home, ứng dụng sẽ bị tạm dừng cho đến khi người dùng quay trở lại ứng dụng đó. Khi tạm dừng, các ứng dụng không sử dụng đến bộ xử lý, nhưng vẫn được chứa trong bộ nhớ. iOS sẽ ngắt các ứng dụng bị tạm dừng lâu nhất khi cần thêm bộ nhớ.

Windows Phone 7 không hỗ trợ đa nhiệm với các ứng dụng của bên thứ 3. Ngay sau khi bạn thoát khỏi ứng dụng của bên thứ 3, tài nguyên hệ thống dành cho nó sẽ được trả lại. Chỉ có một số ứng dụng thuộc Windows Phone 7 là có thể hoạt động ở chế độ đa nhiệm đầy đủ. Ưu điểm của phương pháp này là tăng tuổi thọ pin và hiệu suất tốt hơn cho các ứng dụng đang chạy.

Sắp tới, với bản cập nhật Mango cho điện thoại Windows Phone được phát hành cuối năm nay, tất cả sẽ thay đổi, chức năng đa nhiệm mới sẽ giống như một sự kết hợp giữa Android và iOS. Nếu nhà phát triển muốn ứng dụng của họ có thể làm việc liên tục ở chế độ nền, họ phải tạo ra "tác nhân nền". Sự khác biệt của “tác nhân nền” là nó bị giới hạn để chỉ sử dụng tối đa 10% khả năng của CPU và 5 MB bộ nhớ RAM khi dùng pin. Một số ứng dung sẽ chỉ được phép chạy trong 15 giây mỗi nửa giờ cho việc đồng bộ hóa dữ liệu (ví dụ như cập nhật từ mạng xã hội). Một điều thú vị là các “tác nhân nền” sẽ bị giới hạn ít đi khi điện thoại được cắm sạc. Nói cách khác, khi điện thoại được cung cấp điện liên tục, các nhà phát triển có thể tận dụng lợi thế của việc có nhiều tài nguyên hơn và thời gian tải dữ liệu dài hơn. Điều này tương tự như khi đồng bộ qua Wi-Fi với phần mềm Zune, sau một vài phút cắm sạc, điện thoại Windows Phone 7 có thể tự động khởi động việc đồng bộ nhạc, video và hình ảnh với máy tính của người dùng.

Tuy việc thực hiện phương thức đa nhiệm khác nhau của các hệ điều hành nhằm cân bằng việc duy trì hiệu suất hệ thống và tuổi thọ pin trong khi vẫn cho phép các chức năng hoạt động dù người sử dụng không tương tác trực tiếp với thiết bị. Một bên là giữ cho mọi thứ hoạt động được trơn tru và một bên giới hạn để dễ dàng cho người sử dụng, để thỏa hiệp cả hai bên thì vẫn là một bài toán khó đối với nhà phát triển. Hy vọng trong tương lai công nghệ sẽ tiếp tục phát triển hơn nữa để đem lại cho người dùng sử hỗ trợ nhiều nhất có thể khi được trải nghiệm trên các thiết bị thông minh.

Theo khám Phá Mobile Review số 52

No comments:

Post a Comment