Symbian làm ột hệ điều hành đa nhiệ m:

Một phần của tài liệu NGHIÊN cứu hệ điều HÀNH SYMBIAN 6 0 vàxây DỰNG ỨNG DỤNG MINH họa TRÊNĐIỆN THOẠI DI ĐỘNG NOKIA 9210 (Trang 38 - 40)

Nếu như trong máy PC, Windows vốn tự hào nhất khi đánh bại HDH Dos là khả năng đa nhiệm của nó thì HDH Symbian cũng đảm bảo được thế mạnh nàỵ Thật vậy, HDH Symbian là một hệ điều hành đa nhiệm đầy đủ. Mỗi chương trình chạy như một tiến trình riêng biệt, Symbian OS cho phép các ứng dụng chạy song song.

KHOA CNTT –

ĐH KHTN

39 Mỗi tiến trình trong Symbian OS đều bao gồm 1 hay nhiều threads, và bộđiều phối hệ thống cấp quyền sử dụng CPU cho các threads dựa vào sựưu tiên. Có 2 cách để cài đặt là Multithreads và co-operative multitasking với các lời gọi hàm bất đồng bộ.

o Multithreading

Mỗi tiến trình trong Symbian OS mặc định có 1 thread, có thể thêm các đoạn code vào ứng dụng để tạo thêm các thread khác để tạo một ứng dụng multithread. Mỗi thread có thểđược cấp cho một độưu tiên tuyệt đối hoặc tương đối với độ ưu tiên của tiến trình cha, và bộ điều phối hệ thống sẽ dựa vào nó đểđiều phốị

o Co-operative multitasking

Tuy nhiên, viết một chương trình multithread thì thường không cần thiết bởi vì Symbian OS cũng cung cấp các lời gọi hàm không đồng bộ cho hầu hết các dịch vụ hệ thống. Lời gọi không đồng bộ cho phép các ứng dụng cài đặt nhiệm vụ cộng tác, và với nó thì thường không cần phải sử dụng multithread.

Một ứng dụng tạo một lời gọi bất đồng bộ đến server để thi hành một vài các công việc, như gửi và nhận dữ liệu qua các kết nối truyền thông, hoặc lấy dữ liệu từ cơ sở dữ liệụ Việc sử dụng lời gọi bất đồng bộ nghĩa là ứng dụng có thể làm việc khác trong khi chờ server hoàn thành công việc được giao - giống như với multithread.

Khi server hoàn thành công việc nó sẽ nhắc ứng dụng. Không giống như Multithread, tuy nhiên lời nhắc thì không được ưu tiên trước: nó chuyển đến ứng dụng khi nó kiểm tra thấy rằng công việc đã hoàn thành. Vì thế lời gọi bất đồng bộ cung cấp các nhiệm vụ cộng tác (co- operative multitasking) hơn các nhiệm vụ ưu tiên trước (pre-emptive multitasking).

KHOA CNTT –

ĐH KHTN

40 Sử dụng lời gọi bất đồng bộ trong ứng dụng thay cho multithread cho chúng ta 2 lợi ích đáng kể. Thứ nhất, các lời gọi bất đồng bộ thì dễ lập trình hơn, bởi vì chúng tránh những lập trình phức tạp về đồng bộ hóa giữa các tiểu trình (thread). Thứ hai, các lời gọi bất đồng bộ tiết kiệm tài nguyên hệ thống bởi vì việc tạo một thread sẽ chịu một gánh nặng về việc chuyển đổi tài nguyên trên kernel. Vì thế việc sử dụng lời gọi bất đồng bộ (asynchronous calls) có nghĩa là vẫn thi hành được những công việc của mình mà không làm tăng thêm gánh nặng chuyển đổị Các lời gọi bất đồng bộ (Asynchronous calls) thường được gắn vào mô hình lập trình trong hệđiều hành Symbian được biết đến như là đối tượng động (active objects). Các đối tượng động được sử dụng nhiều trong hệ điều hành Symbian khi truy cập đến server hệ thống, server hệ thống này cung cấp nhiều các hàm chính yếu của hệ điều hành. Ngay cả server cũng dùng active object để cài đặt. Các server hệ thống bao gồm file server, window server, messaging server, telephony server, socket server, font và bimap server, database server, serial communications server, WAP server, multimedia server … Đối với các nhà phát triển trên hệ điều hành Symbian, truy cập đến các server này thông qua đối tượng động, nó cung cấp các công cụ cho cả sự phát triển ứng dụng và hệ thống.

Một phần của tài liệu NGHIÊN cứu hệ điều HÀNH SYMBIAN 6 0 vàxây DỰNG ỨNG DỤNG MINH họa TRÊNĐIỆN THOẠI DI ĐỘNG NOKIA 9210 (Trang 38 - 40)

Tải bản đầy đủ (PDF)

(133 trang)