1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian

63 581 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 1,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sự kết hợp giữa máy trợ giúp cá nhân PDA và điện thoại di động đã tạo ra một thiết bị mới, thiết bị WID (Wireless Information Device) hiện nay được biết đến nhiều dưới dạng điện thoại thông minh (Smartphone). Các thiết bị này với khả năng xử lý của máy tính nhỏ và chức năng liên lạc của điện thoại di động có thể giúp chúng ta xử lý công việc dù đang ở đâu với các tính năng lưu trữ, xử lý và truy cập vô tuyến. Không chỉ phục vụ cho công việc, các thiết bị WID còn là công cụ giải trí tuyệt vời với chức năng xem phim, nghe nhạc và chơi game. Đó là lý do tại sao thị trường của các thiết bị này ngày càng mở rộng và phát triển không ngừng. Sự ra đời của WID mang lại một sức sống mới cho thị trường di động và mở ra một hướng phát triển ứng dụng mới đầy tiềm năng cho công ty phần mềm và các lập trình viên. Với các hệ điều hành mở trên các thiết bị WID, họ đang có cơ hội được thử thách mình trên một môi trường ứng dụng mới. Ở Việt Nam, số lượng thiết bị di động ngày càng tăng đặc biệt là các loại điện thoại di động đa chức năng. Nhiều người đã coi điện thoại di động như một vật không thể thiếu trong công việc, cuộc sống hàng ngày. Với mong muốn cung cấp những thông tin cần thiết, những cách thức để phát triển ứng dụng cho hệ điều hành Symbian, em đã thực hiện đề tài : “Tìm hiểu lập trình trên Mobile và xây dựng ứng dụng trên Hệ điều hành Symbian”. Từ đó xây dựng một ứng dụng nhỏ để minh hoạ, từ điển Anh – Viêt, Việt – Anh. Đề tài được thực hiện theo quy trình phát triển ứng dụng trên hệ điều hành Symbian từ chọn thiết bị dùng Symbian, chọn bộ công cụ SDK, môi trường phát triển IDE và cài đặt chương trình ứng dụng trên thiết bị.

Trang 1

MỤC LỤC

TỔNG QUAN VỀ HỆ ĐIỀU HÀNH SYMBIAN 2

KIẾN TRÚC HỆ THỐNG CỦA HỆ ĐIỀU HÀNH SYMBIAN 9

LẬP TRÌNH JAVA TRÊN HỆ ĐIỀU HÀNH SYMBIAN 31

XÂY DỰNG ỨNG DỤNG 49

LỜI NÓI ĐẦU

Sự kết hợp giữa máy trợ giúp cá nhân PDA và điện thoại di động đã tạo ra một thiết bị mới, thiết bị WID (Wireless Information Device) hiện nay được biết đến nhiều dưới dạng điện thoại thông minh (Smartphone) Các thiết bị này với khả năng xử lý của máy tính nhỏ và chức năng liên lạc của điện thoại di động có thể giúp chúng ta xử

lý công việc dù đang ở đâu với các tính năng lưu trữ, xử lý và truy cập vô tuyến Không chỉ phục vụ cho công việc, các thiết bị WID còn là công cụ giải trí tuyệt vời với chức năng xem phim, nghe nhạc và chơi game Đó là lý do tại sao thị trường của các thiết bị này ngày càng mở rộng và phát triển không ngừng Sự ra đời của WID mang lại một sức sống mới cho thị trường di động và mở ra một hướng phát triển ứng dụng mới đầy tiềm năng cho công ty phần mềm và các lập trình viên Với các hệ điều hành

mở trên các thiết bị WID, họ đang có cơ hội được thử thách mình trên một môi trường ứng dụng mới

Ở Việt Nam, số lượng thiết bị di động ngày càng tăng đặc biệt là các loại điện thoại di động đa chức năng Nhiều người đã coi điện thoại di động như một vật không thể thiếu trong công việc, cuộc sống hàng ngày

Với mong muốn cung cấp những thông tin cần thiết, những cách thức để phát triển ứng dụng cho hệ điều hành Symbian, em đã thực hiện đề tài : “Tìm hiểu lập trình trên Mobile và xây dựng ứng dụng trên Hệ điều hành Symbian” Từ đó xây dựng một ứng dụng nhỏ để minh hoạ, từ điển Anh – Viêt, Việt – Anh

Đề tài được thực hiện theo quy trình phát triển ứng dụng trên hệ điều hành Symbian từ chọn thiết bị dùng Symbian, chọn bộ công cụ SDK, môi trường phát triển IDE và cài đặt chương trình ứng dụng trên thiết bị

Trang 2

CHƯƠNG 1

TỔNG QUAN VỀ HỆ ĐIỀU HÀNH SYMBIAN

1.1 CÁC HỆ ĐIỀU HÀNH DÀNH CHO THIẾT BỊ DI ĐỘNG

1.1.1 Hệ điều hành Window Compact Edition (Win CE)

Được phát triển bởi Microsoft và hỗ trợ các công cụ để chuyển các ứng dụngWindows trên máy tính cá nhân thành các ứng dụng chạy trên WinCE Lợi thế củaWinCE là nó tạo sự quen thuộc cho người dùng thiết bị WID vốn quen dùng ứng dụngWindows trên máy tính cá nhân Sự quen thuộc này cũng rất có ích cho các lập trìnhviên, những người muốn phát triển ứng dụng trên WID dùng hệ điều hành WinCE

WinCE được sử dụng trong các điện thoại Smartphone của các nhà sản xuấtnhư Casio, Siemens, Compaq và gần đây là Motorola

1.1.2 Hệ điều hành Palm

Được phát triển bởi 3 Com Palm Computing, vốn được thiết kế cho máy PDA

và các ứng dụng liên lạc vô tuyến Sự khác biệt lớn nhất giữa Palm và các hệ điềuhành khác là nhân hệ điều hành được tối ưu hoá cho các thiết kế phần cứng riêng chomáy Palm Do đó các nhà sản xuất dùng Palm phải sử dụng CPU, màn hình, các chipđiều khiển đặc thù

Palm được các nhà sản xuất Qualcomm, sony, handspring, IBM, Motorola,Nokia và Symbol sử dụng để xây dựng các thiết bị PDA và WID

1.1.3 Hệ điều hành Linux

Tynux là một bản Linux khác được cung cấp bởi PalmPalm dùng trong điệnthoại thông minh Đặc điểm nổi bật của Linux dùng trong các thiết bị WID là cung cấpmột hệ điều hành linh hoạt, hỗ trợ mạnh các ứng dụng nguồn mở nhưng có kích thướcrất nhỏ, chỉ khoảng 1MB với phần nhân khoảng 100KB

1.1.4 Hệ điều hành Symbian

Symbian được xây dựng riêng cho các thiết bị WID từ hệ điều hành EPOC vốncủa Psion dùng cho các sản phẩm Communicator, Oganizer và Subnotebook Symbianđược thiết kế đặc biệt đáp ứng đầy đủ các yêu cầu mà một hệ điều hành cho WID cần

Trang 3

với khả năng module hoá tối đa trong các xử lý liên quan đến quản lý năng lượng, bộnhớ, cơ chế bắt sự kiện và đa nhiệm.

Hầu hết các nhà sản xuất thiết bị WID hàng đầu đều sử dụng Symbian nhưNokia, Sony Ericsson, Samsung, Panasonic, LG

Từ năm 1991 đến năm 1998, Psion xuất bản hệ điều hành EPOC 16 đưa vào sửdụng trên các máy thế hệ 3, Psion 3, một trong những PDA đầu tiên thay thế các loại

sổ tay, lịch giấy lúc đó và được biết đến với tên gọi SIBO

Năm 1998, Công ty Symbian được thành lập bởi các tập đoàn Nokia, Motorola,Ericsson, Psion nhằm tập trung phát triển các PDA và điện thoại di động thông minh

Năm 1999, EPOC Release 5 được dùng trong các điện thoại Revo, EricssonMC218, Ericsson 380

Năm 2000, phông Unicode được tích hợp vào Ericsson R380 trên nền EPOCR5 Sau đó, EPOC R6 ra đời và đựơc đổi tên thành Symbian v6.0, v6.1 và điện thoạiđầu tiên được cài vào đó hệ điều hành Symbian là Nokia 9210

Năm 2003, Symbian giới thiệu phiên bản Symbian OS v7.0 và v7.0s

Năm 2004, virus điện thoại lần đầu tiên tấn công Symbian OS có tên gọi Cabir

và cũng trong năm này Psion bán cổ phần của mình cho Nokia Phiên bản Symbianv9.0 ra đời nhưng chỉ dùng để thử nghiệm nội bộ

Năm 2005, Symbian OS phiên bản mới nhất v9.1 được công bố Phiên bản nàyđược cải tiến nhiều về các ứng dụng và nội dung, cơ chế bảo vệ tốt hơn tất cả cácphiên bản trước

Tháng 3 năm 2006, Symbian OS phiên bản v9.2 được công bố Hiện tạiSymbian là hãng dẫn đầu với 60% thị phần phần mềm điện thoại thông minh

1.3 CÁC ĐẶC TÍNH CỦA SYMBIAN

1.3.1 Tính bảo mật

Bảo mật trên Symbian cho phép bảo vệ, xác nhận sự toàn vẹn của dữ liệu vàtăng cường cơ chế cài đặt an toàn Nó cung cấp các API cho các thuật toán mã hoá

Trang 4

-Cài đặt phần mềm (Software install)

-Truyền thông an toàn (Secure comms).

1.3.2 Tính mở của Symbian

Phần lớn các source code đều được cung cấp cho các nhà sản xuất điện thoại sửdụng Symbian OS và một số partner khác trong việc phát triển ứng dụng trênSymbian

Các hàm APIs được công bố rộng rãi để bất cứ ai cũng có thể phát triển phầnmềm cho Symbian so với MobiLinux trong những năm tới

1.4 MỘT SỐ THÀNH PHẦN CỨNG CHÍNH CỦA ĐIỆN THOẠI CÓ HỆ ĐIỀU

HÀNH SYMBIAN

Các thành phần quan trọng cấu thành điện thoại Symbian, đó là CPU, ROM,RAM, các thiết bị nhập xuất (I/O) và nguồn năng lượng

+ Bộ xử lý trung tâm (Center Processing Unit – CPU): Hệ điều hành Symbian

được thiết kế cho kiến trúc 32 bit CPU, chạy ở tốc độ thấp hơn so với CPU trên máytính để bàn và trên Server Các hệ thống Symbian hiện tại sử dụng 104Mhz, 122Mhz

và 220 Mhz Strong ARM CPU, với các loại CPU ARM7 và ARM9 Các điện thoạiSymbian tương lai có thể chạy trên các CPU nhanh hơn

+ Bộ nhớ trong (Read Only Memory): ROM chứa hệ điều hành và tất cả các

ứng dụng và phần mềm trung gian (middleware) có sẵn được nhà sản xuất đưa vào khitạo thiết bị Điều này hoàn toàn khác với trên PC, nếu mà ROM chỉ chứa các phần nạpban đầu và BIOS, còn hệ điều hành và ứng dụng lưu trên đĩa cứng Bộ nhớ ROM trênđiện thoại Symbian được gán nhãn là ổ đĩa Z Tất cả mọi thứ trong ROM đều có thểtruy cập như là file trên ổ đĩa Z Vì vậy các chương trình được chạy trực tiếp trênROM thay vì nạp vào RAM như trên PC Bộ nhớ ROM thường rất giới hạn, thường là8MB hoặc 16MB

+ Bộ nhớ RAM (Random Access Memory): Bộ nhớ RAM được sử dụng bởi

các ứng dụng đang thực thi và nhân hệ thống Một phần RAM được gán là ổ đĩa C,dùng để chứa các chương trình, các file tài liệu ứng dụng, Dung lượng RAM thườngkhoảng 8mb hoặc 16mb và ổ C thường chiếm 50% dung lượng RAM, nên có thể sẽxảy ra lỗi khi bị tràn bộ nhớ Khi khởi động nguội máy, nội dung trên RAM sẽ bị xóa

Trang 5

Dữ liệu trên RAM được phục hồi lại nếu khởi động nóng, trừ phi bị lỗi khi đang khôiphục.

+ Các thiết bị nhập xuất (Input/Output – I/O) bao gồm:

- Màn hình: có kích thước khác nhau tùy theo mô hình thiết bị, có thể là màn hình cảmứng với khả năng tương tác bằng viết

- Một bàn phím: có thể chỉ là bàn phím số hay qwerty

- Một khe cắm thêm thẻ nhớ (memory card): đây là bộ nhớ ngoài của điện thoạiSymbian và được gán nhãn ổ D

- Một công tuần tự RS232: để giao tiếp với PC

- Một cổng hồng ngoại và Bluetooth cho các truyền thông vô tuyến giữa điện thoạiSymbian và các thiết bị khác như PC, Laptop, Palm PDA

- Nguồn năng lượng: bao gồm các pin đặc thù và các nguồn điện phụ, thông qua mộtthiết bị phù hợp

Symbian cũng sử dụng những kỹ thuật như hệ điều hành trên máy tính để bàn:

nó sử dụng một kiến trúc trình điều khiển thiết bị và cung cấp các API để lập trìnhđiều khiển các thiết bị ngoại vi này

Nhưng Symbian có những đặc điểm rất khác so với hệ điều hành trên máy tính

để bàn do tài nguyên trên điện thoại Symbian là khá giới hạn, không có đĩa cứng nêncách quản trị bộ nhớ dùng bộ nhớ ảo và xử lý theo trang là không thể thực hiện trênSymbian Ngoài ra với nguồn năng lượng hạn hẹp, Symbian phải được thiết kế đặcbiệt, có thể chạy ổn định ngay cả khi đang sạc pin hay thay pin

1.5 CÁC MÔ HÌNH THIẾT BỊ VÀ CÁC NỀN HỆ THỐNG SỬ DỤNG HĐH

SYMBIAN

1.5.1 Các mô hình thiết bị dùng Symbian

Hệ điều hành Symbian được thiết kế cho 2 loại thiết bị WID chiến lược làCommunicator và Smartphone Điểm độc đáo của Symbian là cung cấp một hệ điềuhành hỗ trợ cho nhiều dòng thiết bị khác nhau vừa đáp ứng được sự sáng tạo riêng củacác nhà sản xuất vừa phục vụ được nhiều mục đích sử dụng khác nhau của ngườidùng Mô hình Communicator theo kiểu dáng máy PDA phục vụ cho khả năng tìmkiếm qua màn hình cảm ứng hay mô hình Commnicator Crystal có dáng dấp mộtlaptop phù hợp cho các chức năng nhập dữ liệu Smartphone có kiểu dáng giống điệnthoại di động với bàn phím số phục vụ cho những khách hàng vốn trung thành vớimobile truyền thống Symbian hỗ trợ 3 mô hình cho hai loại sản phẩm chến lược này:

mô hình Crystal, Quartz cho Communicator và Pearl cho Smartphone

- Mô hình Crystal : một loại communicator bỏ túi với hình dáng một máy

laptop Crystal sử dụng màn hình màu theo chuẩn ½ VGA và bàn phím QWERTY, có

Trang 6

Hình 1.1: Máy Nokia 9210

- Mô hình Quartz: một loại Communicator với hình dáng của một máy pocket

PC Quartz sử dụng màn hình màu theo chuẩn 1/4VGA, dùng bút stylus nhập dữ liệuqua tương tác với một màn hình cảm ứng Sản phẩm đầu tiên của mô hình Quartz làSony Ericsson P800

Hình 1.2: Thiết kế Quartz

Trang 7

- Mô hình Pearl: một loại Smartphone với hình dáng của một điện thoại di

động thông thường Pearl hỗ trợ màn hình màu với nhiều kích thước khác nhau, sửdụng bàn phím số cho nhập dữ liệu, và có thể hỗ trợ cả màn hình cảm ứng Sản phẩmđầu tiên của mô hình Pearl là Nokia 7650

Hình 1.3: Các điện thoại Symbian dùng bàn phím số

Hình 1.4: Các điện thoại Symbian dùng màn hình cảm ứng

1.5.2 Các nền hệ thống sử dụng HĐH Symbian

Trang 8

SX1, SendoX,

-UIQ: (theo mô hình Communicator Quartz) có kích thước màn hình 208x320

pixel bao gồm: Sony Ericsson P800, P900, P910, BenQ P30, P31, Motorola A920,A925, A1000, ArimaASP805

-Series 80: (theo mô hình Communicator Crystal) có kích thước màn hình

480x320 pixel bao gồm: Nokia 9210, 9210i, 9300, 9500

-Series 90: đây là thế hệ lai giữa UIQ và Series 80 mà người ta gọi là media

phone với sản phẩm là Nokia 7710 (cải tiến từ sản phẩm trước đó là Nokia 7700)

-Mạng điện thoại NTT Docomo ở Nhật với các dòng máy Fujitsu như FOMA F900i,

FOMA F2102V, FOMA F2051 (chỉ hỗ trợ Java)

Các nền hệ thống này có sự khác biệt nên hầu hết các ứng dụng có giao diệnđều không thể chạy được trên cùng 2 dòng máy Tuy nhiên với những chương trìnhcấp thấp như các server (chương trình file exe) thì điều này là hoàn toàn có thể Khôngnhững vậy giữa những nhà sản xuất cũng tạo sự khác biệt riêng nên đôi khi ứng dụng

sẽ gặp trục trặc khi chạy trên các loại máy khác nhau dùng chung nền hệ thống Mộtđặc điểm nữa là các máy cùng nền hệ thống nhưng dùng phiên bản hệ điều hành khácnhau cũng sẽ có sự khác nhau

1.6 TƯƠNG LAI SYMBIAN

Mặc dù đang chiếm thị phần về OS cao nhất trong các Mobile OS (khoảng 70%), nhưng nhiều chuyên gia về Mobile trên thế giới cho rằng thế mạnh nhất, thịphần mạnh nhất của Mobile OS sẽ thuộc về MobiLinux trong những năm tới

60-Hãng Symbian đã và đang đẩy mạnh những bước cải tiến nhằm tạo điều kiện thuận lợi tối đa cho người dùng về mặt công nghệ, chức năng cực mạnh như truy cập Wi-Fi, Camera, tăng cường khả năng phát triển ứng dụng, phần mềm bảo mật hệ thốngvới mục tiêu củng cố, giữ vững vị trí hàng đầu trên thị trường này

Trang 9

CHƯƠNG II KIẾN TRÚC HỆ THỐNG CỦA HỆ ĐIỀU HÀNH SYMBIAN

2.1 KIẾN TRÚC TỔNG QUAN CỦA HỆ ĐIỀU HÀNH SYMBIAN

Symbian là một hệ thống kết hợp nhiều thành phần khác nhau mà có thể ứngdụng cho nhiều dạng thiết kế khác.Những thành phần tạo nên hệ điều hành Symbian:

- Trung tâm của hệ điều hành Symbian được gọi là kernel hay còn gọi là nhân của hệđiều hành

- Bộ tổng hợp các phần trung gian cho việc điều hành gọi là midlleware

- Tập quản lý tài nguyên, gọi là application engines

- Khung làm việc cho việc thiết kế giao diện, User Interface Framework

- Các phương thức đồng bộ với các máy khác, Synchronization Technology

* Trung tâm của hệ điều hành Symbian được gọi là kernel hay còn gọi là

nhân của hệ điều hành Nó bao gồm:

Bộ tổng hợp các điều khiển thiết bị, các bảng dữ liệu, những chương trìnhcho phép người dùng làm việc với phần cứng máy tính Đây là phần trung tâm nhấtcủa Symbian, có trong tất cả thiết bị có hệ điều hành Symbian

Hệ điều hành Symbian là hệ điều hành dựa trên mô hình kernel Chỉ có mộtchương trình chạy và quản lý các dịch vụ cung cấp cho người dùng Chương trình này

và những dữ liệu của nó cần phải nhỏ và hiệu quả Chỉ có những thành phần điều hànhmáy tính cần thiết mới có trong kernel; những chức năng khác đều được đưa ra phầngiữa (middleware) hay ứng dụng Việc thiết kế này làm cho kernel rất chắc chắn vàlàm cho kiến trúc và việc điều hành của Symbian rất uyển chuyển

Symbian là một hệ điều hành 32 bit hỗ trợ làm việc đa nhiệm và đa tiến trình.Cấu trúc tháo lắp của nó hỗ trợ và khuyến khích một lượng lớn các thành phần giaotiếp và hỗ trợ khả năng thêm thành phần giao tiếp trung tâm để thích nghi với các thiết

bị và phương thức mới

* Một bộ tổng hợp các phần trung gian cho việc điều hành, gọi là midlleware.Thành ngữ middleware chỉ những thành phần như thư viện, kho dữ liệu vàchương trình thực hiện dịch vụ hệ thống nhưng không cần nằm trong kernel TrongSymbian nó bao gồm việc thực hiện những dịch vụ như quản lý dữ liệu, giao tiếp, đồhoạ Symbian sử dụng server để thực hiện cộng việc trong middleware Ý tưởng làdùng một máy chủ có thể quản lý một dịch vụ riêng biệt bằng cách chấp nhận yêu cầu

Trang 10

Những ứng dụng cấp người dùng trên Symbian cũng có lợi ích từ việc phối hợp

mà middleware cung cấp Việc phối hợp truy cập nguồn tài nguyên không thuộc vềbản chất được thực hiện thông qua application engines Nó định ra những điểm truycập đơn lẻ cho những ứng dụng cấp người dùng khi họ truy cập tài nguyên

Giống như middleware, application engines cũng làm một dạng như server Điểm khác biệt đến từ khu vực quản lý Application engines quản lý dịch vụ và dữ liệuứng dụng, không phải dịch vụ và dữ liệu hướng hệ thống Sự thật là giống như

application engines sẽ tương tác chính nó với máy chủ ở middleware

Application engines bao gồm trong Symbian là:

-The Agenda engine

- The Contacts engine

- The Sheet engine

- The Alarm server and World Time engine

- The Spell engine

- The Help engine

* Một khung làm việc cho việc thiết kế giao diện, User Interface Framework

Từ khi những máy tính sử dụng Symbian là những thiết bị xách tay nhỏ hướngđến người dùng, giao diện càng trở nên quan trọng Nó quan trọng vì giao diện dễ sửdụng, dễ thay đổi, dễ lập trình Hơn nữa, có những thiết bị thiết kế chạy Symbian , do

đó giao diện phải được chuyển đổi Do đó, những người thiết kế Symbian đã chọnkhung làm việc, xây dựng giao diện như một phần của trung tâm hệ điều hành

Bằng cách chọn một khung giao diện đồ họa hơn là một giao diện cụ thể, nhữngngười thiết kế đã đặt nền tảng cho nhiều giao diện khác có thể được xây dựng Trongphiên bản hiện hành của Symbian, có hai giao diện được xây dựng trên khung giaodiện đồ họa Những giao diện này sử dụng thành phần GUI phổ biến, như các điềukhiển và hội thoại

Hiện tại, những thành phần GUI chính là Uikon và Standard Eikon Thư việnchính của Uikon bao gồm thành phần phổ biến rộng rãi Standard Eikon bao gồmnhững mã bắt đầu cho những đoạn chương trình xảy ra trong thiết kế, nhưng nhữnghàm cụ thể phải được thêm vào Ý nghĩa của cấu trúc này là cho phép thêm nhữngđiều khiển như thay đổi giao diện mà không cần làm ảnh hưởng đến các điều khiểnriêng

Trang 11

* Các phương thức cho việc đồng bộ với các máy khác, SynchronizationTechnology

Symbian cũng bao gồm việc đồng bộ dữ liệu với những máy khác Công nghệnày là chủ đề của việc kết hợp rộng rãi, phát triển chuẩn và Symbian đã tích hợpnhững điều này vào hệ điều hành Symbian Trên hệ điều hành Symbian, việc đồng bộđược thực hiện ở 3 phần:

- Bộ quản lý kết nối (Connection Manager) là một tiến trình khởi tạo chạy trênthiết bị Symbian và dò tìm khi có một máy khác muốn kết nối

Nó bắt đầu kết nối đồng bộ khi một thiết bị được tìm thấy

- Những máy chủ kết nối (Connectivity Servers) thực hiện nhiều chức năng của việcđồng bộ như: duyệt tập tin đơn giản, đồng bộ tập tin, sao lưu và phục hồi dữ liệu

- Bộ chuyển đổi tập tin (File Converters) chuyển dữ liệu giữa những dạng đặc biệt vànhững ứng dụng Những bộ kết nối này thì khá nhỏ trong việc kết nối của Symbian;hầu hết những chuyển đổi xảy ra trong lúc kết nối Tuy nhiên, bộ kết nối sẽ chuyểndạng văn bản sang HTML và một vài ứng dụng văn phòng của Symbian sang bảntương ứng của nó trên Windows

Cài đặt máy ảo Java nhưng chỉ đơn thuần để cho các ứng dụng Java có thể cài đặt

và chạy được Tầng này bao gồm JVM - máy ảo Java, CL được, và MIDP Hệ điềuhành Symbian cung cấp một môi trường thực thi hàng đầu các ứng dụng Java, một môitrường được xây dựng tối ưu cho các thiết bị di động cũng như các ứng dụng trên cácthiết bị này

Chính vì thế mà HDH Symbian là 1 hệ điều hành tương thích với nhiều môhình khác nhau cũng như tương thích với nhiều thiết kế giao diện người dùng, như tronghình dưới đây :

Trang 12

không dây và ứng dụng chạy trên nó

Quả thật, đây là một hệ điều hành “thống trị” trong lĩnh vực DTDD vì cho đếnngày nay thì Symbian đã được phổ biến và cài đặt trên nhiều DTDD cao cấp của SonyEcrission, Nokia Nseri, Nokia N- Gage, Siemens SX1, Sendo X, Panasonic X700, NTTDoCoMo Fujisu 2102V… BenQ, Motorola, Panasonic, Samsung, Sendo and Siemenscũng đang dùng các giấy phép của HDH Symbian

Ngoài ra Symbian còn cung cấp mạng toàn cầu cho những nhà cung cấp công cụ

hổ trợ và trung tâm huấn luyện Symbian Competence Centers và Symbian TrainingCenters Điều này làm cho các tổ chức và người phát triển phần mềm khác có thể thamgia vào nền kinh tế mới này Thêm vào đó, việc Symbian tin tưởng vào cộng sự trong thịtrường DTDD và tham gia vào các tổ chức như Open Mobile Alliance và JavaCommunity Process, cộng với cái nhìn tốt về công nghệ trong tương lai giúp choHDH Symbian có chỗ đứng vững chắc, xâm nhập vào các hệ thống điện thoại khácnhau , trở thành HDH cho hầu hết các DTDĐ trên thị trường

2.2 KỸ THUẬT CHUNG ĐỂ PHÁT TRIỂN HỆ ĐIỀU HÀNH SYMBIAN

Hệ điều hành Symbian có rất nhiều thiết kế khác nhau Nhưng cho dù với thiết

kế nào thì cũng dùng chung hàm APIs cốt lõi và chung một công nghệ, đó chính làSymbian’s Generic Technology Symbian’s Generic Technology được thiết kế riêngcho các thiết bị truyền tin không dây nên nó phải đảm bảo những yêu cầu về việc sửdụng tài nguyên phải thật hiệu quả, đặc biệt là nguồn RAM và ROM, yêu cầu về việctruy cập tức thời đến dữ liệu của người dùng, tin cậy trong việc lưu trữ dữ liệu ngườidùng Nó phải thích ứng được với phần cứng của thiết bị, phải giao tiếp tốt, tích hợpđược với dữ liệu cá nhân, các ứng dụng trên thiết bị và dữ liệu trên thiết bị khác

Những thành phần của Symbian’s Generic Technology bao gồm có: Base,Framework, Communication, Messaging, Browsing, Connectivity và Java

Hình vẽ:

Trang 13

Hình 2.2: Thành phần chính của GT ( Generic Technology )

2.2.1 Base

Base cung cấp hệ thống thời gian chạy nền tảng, các công cụ để xây dựng nó

và bảo mật ở mức độ thấp nhất

Hình 2.3: Thành phần của Base

Thành phần thứ nhất của Base là EPOC kernel EPOC kernel làm việc trên chế

độ độc quyền Nó chiếm hữu tài nguyên như driver ( thiết bị điều khiển thiết bị ), thựcthi việc quản lý nguồn, định vị bộ nhớ hệ thống cho nó và các tiến trình không có độcquyền Kiến trúc microkernel được sử dụng để cho hầu hết code trong hệ thống chạykhông độc quyền Còn EPOC runtime nguyên thuỷ chạy trên bộ sử lý có kiến trúcARM Có 3 giao diện ứng dụng nhị phân được dùng Đầu tiên là ARM4, có tốc độ tốtnhất và thích hợp cho ROMs trên các máy tốc độ cao Còn Thumb, hơi chậm hơnARM4, sử dụng tốt cho ROMs của máy rẻ tiền

Phần thứ hai có trong Base là thư viện người dùng (user library) Thư việnngười dùng hỗ trợ các dịch vụ cho tương ứng người dùng bao gồm:

- Tiến trình, tiểu trình, chương trình và quản lý bộ nhớ

- Báo lỗi và cleanup framework

- Chuỗi các ký tự và vùng đệm chứa dữ liệu nhị phân

Trang 14

- Bảo mật bao gồm các thuật toán mã hoá chuẩn và quản lý bản quyền

Base cũng cung cấp các công cụ trên máy PC để hỗ trợ cho các phần mềm và

để phát triển các thiết bị như trong hình sau:

Trong đó, máy giả lập (emulator) là công cụ phát triển phần mềm chính, dùng

để tìm thấy và loại bỏ những sai sót trong chương trình trước khi giới thiệu sản phẩm,chạy dưới HĐH Window NT và 9x

2.2.2 Framework

Phần cốt lõi làm cho HĐH Symbian trở nên mạnh mẽ, đó là nhờ GT cóframework hỗ trợ rất đa dạng Framework bao gồm các hàm APIs cho middlewarescho quản lý dữ liệu, văn bản, clipboard, đồ hoạ, các tập tin nguồn, đa phương tiện,chuẩn hoá quốc tế, và các tiện ích của giao diện người dùng đồ hoạ Hình vẽ minh hoạ:

Phần thứ hai là đồ hoạ, bao gồm hỗ trợ đồ hoạ căn bản, văn bản và ảnh bitmaps trênnhững thiết bị tạo ảnh bitmap

Trang 15

Về phần window server có chức năng chia sẻ màn hình, bàn phím và con chuộtgiữa các ứng dụng Còn Control Environment chia sẻ 1 cửa sổ ứng dụng giữa cácthành phần ứng dụng.

Trong khi đó Uikon and Standard Eikon cung cấp GUI components, bao gồmframework cho hộp thoại, các control cụ thể, môi trường GUI, phụ thuộc vào các thiết

kế phần mềm cụ thể

Mặt khác, Eikon server bao gồm giao diện người dùng mức hệ thống tức gồmcác báo động các sự kiện và thanh chỉ trạng thái Standard Eikon là điểm xuất phát choviệc chế tạo ra GUIs cho Quartz và Crystal

Ngoài ra, kiến trúc ứng dụng nhận biết các tập tin bằng UID và loại MIME, giảiphóng và điều khiển các ứng dụng và hỗ trợ các đối tượng kèm theo Còn vùng nhớClipboard hỗ trợ chuyển dữ liệu giữa các ứng dụng

Media server hỗ trợ âm thanh dạng WAV, AU, WVE và những dạng file thôkhác, hỗ trợ hình ảnh dưới dạng JPEG, BMP, MBM, GIF, WBMP và Nokia SmartMessaging ( định dạng hình ảnh )

Mặt khác, Framework của Symbian còn hỗ trợ cho văn bản ở cấp độ cao baogồm text content model and rendering, hỗ trợ định dạng đoạn văn bản và ký tự, đồ hoạkèm theo, những ký tự địa phương trên thế giới… Hỗ trợ phần in ấn, bao gồm đĩa càiđặt máy in cho từng loại máy in thật sự, và các máy tin từ PC nối tới qua SymbianConnect Luân luôn có sẵn chế độ xem trước khi in

Symbian cũng quan tâm đến chuẩn hoá quốc tế để hỗ trợ cho văn bản chuẩn vàfront-end processors (FEPs) cho văn bản được nhập vào bằng cách dùng định dạngchữ viết tay và bàn phím ( đối với các mã chữ Ả rập hay tiếng Hoa…)

Với những gì mà framework của Symbian hỗ trợ thì muốn cài đặt một ứngdụng phải bao gồm các thao tác như: giải nén gói thông tin, kiểm tra điều kiện, tháo gờcài đặt và quản lý chữ ký kĩ thuật số

2.2.3 Communications

Chính thành phần Conmmunications này đã làm kiến trúc GT của Symbian trởnên là sự lựa chọn cho các nhà sản xuất ĐTDĐ

Hình vẽ minh hoạ:

Trang 16

Hình 2.5: Communications

Communications- cơ sở hạ tầng dựa trên 3 server cấp thấp:

o The serial comms server, cung cấp APIs cho clients và cung cấp sự thực thi cho ports, IR ports, modems…

o The sockets server, cung cấp sockets API cho clients và cài đặt như TCP/IP,SMS datagrams, IrDA…

o The telephony server, cung cấp telephony API cho clients và generic Hayes landline modem, và những dịch vụ GSM cơ bản

Mỗi server có 1 nhà cung cấp API vì thế những socket hay telephonyimplementations khác đều có thể đươc cung cấp Trong khi đó, wide-areacommunications hổ trợ:

o Networking: dial-up TCP/IP dùng PPP; bảo mật bằng TLS và SSL; ứng dụng bao gồm Telnet và FTP

o Telephony: GSM cho âm thanh, dữ liệu và fax, landline modems cho dữ liệu

và fax

o WAP stack to WAP 1.1 level: WSP, WTP; WTLS; WDP, UDP và SMS bearers supported

Còn Personal-area communications thì hổ trợ:

o IR: IrDA gồm IR tốc độ nhanh đến 4Mbps

o Bluetooth: dựa trên Bluetooth HCI (host controller interface), cung cấp stackcho 1.0 specifications và Generic Access Profile, Serial Port Profile, Headset Profile, Dialup Networking Profile (chỉ dành cho chế độ khởi động) serial: RS232

2.2.4 Messaging

Một phần quả là rất quan trọng đối với những ai dùng DTDD là chuyển thông điệp

Cho nên đây là phần không thể thiếu được trong GT của HDH Symbian

Symbian thiết kế cơ chế này như trong hình vẽ sau:

Trang 17

Hình 2.6: Messaging

Theo Symbian, trao đổi thông điệp gồm thư điện tử qua mạng internet, tinnhắn GSM, SMS và fax Nhiều kiểu thông điệp khác nhau được hổ trợ bằng kiến trúcplug-in dựa trên MTMs

Ngoài ra, còn cung cấp cho ta hộp nhận thư và quản lý thư mục Hộp thưchứa thông điệp sẽ gửi thông điệp khi cần thiết

Còn IrOBEX object exchange được hổ trợ qua MTM

2.2.5 Browsing

Với HDH Symbian thì DTDD không đơn giản chỉ để gọi điện hay gửi thôngđiệp mà còn có thể lên mạng Dường như máy PC + fax modem + dây điện thọai đều trởthành quá lớn so với chiếc DTDD mặc dù nhỏ bé nhưng cũng đảm nhiệm cả chức năngnày của 3 thiết bị trên

Đó là do GT của Symbian hổ trợ cho WML và HTML browsers

Hình 2.7: Browsing

Trong đó, WAP 1.1 browser hổ trợ WML và WMLScript

Còn trình duyệt web (web browser) hổ trợ HTML 3.2 gồm frames, các Javaapplets kèm theo; caching, HTTPS, bookmark và danh sách các liên kết cũ.Rendering engine hổ trợ hiển thị MHTML Plug-in viewers được hổ trợ

2.2.6 Application Engines

Nối tiếp với những thành phần trên của kiến trúc GT trong HDH Symbian thìthành phần này cũng không kém phần quan trọng Nó cung cấp engines cho các ứngdụng chuẩn Symbian Trong đó, mỗi thiết kế cung cấp code UI của nó cho các ứng dụng

mà nó làm việc với

Trang 18

Kế tiếp là The Agenda engine, có nhiệm vụ duy trì 1 kho dữ liệu của lịch trình

và chức năng nhớ các công việc cần làm Nó cũng được bảo vệ bởi 1 server

Còn spreadsheet engine hổ trợ nhiều worksheets, cách thức định giá và biểu đồ

Và spell checker (kiểm tra lỗi chính tả) gồm 1 từ điển 100,000-word và từ đồng nghĩa.Ngoài ra còn có Context-sensitive help luôn có sẵn, cùng với các công cụ công cộng

Nói chung có thể nói GT như là chứa kho dữ liệu thông tin về các thành phố vàcác nước trên thế giới

2.2.7 Java runtime

The Symbian platform cung cấp cài đặt đầy đủ của Java trong bộ J2ME, baogồm PersonalJava và bản cài đặt đầu tiên JavaPhone trên thiết bị không dây Bản cài đặtPersonalJava rất bao quát, gồm tất cả các đặc tính bắt buộc và tự chọn được định nghĩatrong Personal Java Application Environment 1.1 specification

Hình 2.9: Java Runtime

Được biết các hàm APIs chính của GT, như là telephony (điện thoại),contacts management (quản lý thông tin đồi tác), calendaring (lịch), datagrammessaging (chuyển thông điệp) và power monitoring được cung cấp rộng rãi trongJavaPhone APIs Và Symbian sẽ duy trì khả năng tương thích với các ứng dụng viếtcho các môi trường Java như là MID profile và the KVM

Trang 19

Ngoài ra Unicode được hổ trợ qua host interface JVMDI cũng được hổ trợtrong kiến trúc này

Điều đáng lưu ý là bản cài đặt GT của Java được kiểm tra trên GUI Các thiết

kế, như Crystal và Quartz, chạy cài đặt AWT trên mỗi thiết kế, và bằng cách cung cấpcác lớp đặc trưng trong mỗi thiết kế nhằm hổ trơ cho GUI

2.2.8 Connectivity

Thành phần quan trọng cuối cùng phải kể đến trong kiến trúc của GT củaSymbian là Connectivity Thành phần này có mặt đáp ứng cho nhu cầu chuyển đổi dữliệu giữa những thiết bị dùng HDH Symbian - ở đây là DTDD và máy PC thông thường.Theo thiết kế của Symbian, Connectivity bao gồm EPOC-based và PC-basedcomponents:

Hình 2.10: Connectivity

Trong đó, thành phần của khung chương trình của máy EPOC gồm:

o Quản lý kết nối(connection manager) để bảo vệ và nối với máy PC đang chạySymbian connect

o Servers cho bản cài đặt dự phòng, lưu trữ và đồng bộ

o Bộ chuyển đổi giữa EPOC và các định dạng của Microsoft cho các tài liệu văn bản

o EPOC rich text cho HTML converter

o Printer driver cho phép in ấn từ đến 1 máy in nối với máy PC

Về phía PC, Symbian Connect cung cấp bản dự phòng và lưu trữ, nhiều chuyểnđổi định dạng tập tin, cài đặt ứng dụng và chức năng in ấn

2.3 Các hàm APIs của hệ điều hành Symbian

Mặc dù đã nén đủ để để đưa vào bộ nhớ của DTDD, HDH Symbian được thiết

kế bao gồm đầy đủ các chức năng của một hệ điều hành Nó cung cấp rất nhiều các tậplệnh API, hỗ trợ nhiều hàm trước đây không có trong các hệ điều hành cho DTDD trướcđây, được minh họa trong sơ đồ dưới đây:

Trang 20

Hình 2.11: Các APIs mà hệ điều hành Symbian cung cấp

2.3.1 Trao đổi thông điệp

HDH Symbian cung cấp các tập hàm API trao đổi thông điệp mở rộng Nhữnghàm này cung cấp cho việc viết các ứng dụng tích hợp các hàm trao đổi thông điệp, màkhông cần can thiệp vào các API cấp thấp

Ví dụ: Các lập trình viên có thể: viết các ứng dụng gửi và nhận email,SMS messages và fax chỉ với số lượng code rất ít Truy cập vào dữ liệu Giao dịchtrong ứng dụng của ta, bằng cách sử dụng các API Contacts database Sử dụnghàm Global Find API để tìm kiếm đoạn text trong văn bản được lưu trữ trong điệnthoại

2.3.2 TCP/IP và sockets API

HDH Symbian còn cung cấp socket API để truy cập đến các giao thức mạng

Nó cho phép viết các ứng dụng nhận và gửi các dữ liệu xác định trên kết nối internet.Symbian OS còn cho phép các giao thức vận chuyển khác nhau được sử dụng chứkhông riêng gì TCP/IP, mà còn có SMS hay hồng ngoại (infrared) Sự lựa chọn giao thứcnào để sử dụng được thực hiện trong quá trình khởi tạo trong mã nguồn của ứng dụng,

và những đoạn code còn lại thì cùng sự lựa chọn đó mà không cần quan tâm

2.3.3 Communication API – các hàm về giao tiếp

Ngoài ra, HDH Symbian cung cấp phần mở rộng cho giao tiếp (communication)

ở tầng ứng dụng (Application) trong mô hình OSI như là trao đổi thông điệp(messaging và sockets APIs) Một vài các đặc tính cao hơn của mà các nhà phát triển

Trang 21

tiện để khởi tạo, điều khiển và chấm dứt các cuộc gọi điện thoại

o Truyền các hình ảnh giữa máy camera kỹ thuật số và Symbian OS phonesqua hồng ngoại

o Quản lý cơ sở dữ liệu quan hệ

o Hoạch định, lên danh sách kế hoạch làm việc

o Tiến trình về văn bản

o In ấn và phóng đại

o Hổ trợ cho chuẩn vCard và vCalenda và giao thức IrOBEX

o Hổ trợ vùng đệm

o Các thư viện về chuỗi, mảng động và thư viện về phép toán

o Thư viện đồ họa và các hiệu ứng hoạt họa

o Server đa phương tiện, hổ trợ thu âm thanh và phát âm, chức năng hìnhảnh

o Hổ trợ Unicode và chuẩn hóa quốc tế

2.4 TIẾN TRÌNH VÀ TIỂU TRÌNH TRONG SYMBIAN

2.4.1 Tiến trình

Giống như trong các hệ điều hành khác, tiến trình ( process ) là đơn vị cơ sở cầnbảo vệ trong Symbian Mỗi tiến trình có một không gian địa chỉ riêng Địa chỉ ảo củachương trình khi thực thi sẽ được ánh xạ thành các địa chỉ vật lý trên ROM (với cácchương trình thực hiện trực tiếp trên ROM ) và trên RAM (chứa mã chương trình, dữliệu động và các thành phần khác cần cho hoạt động của chương trình) tạo không gian bộnhớ cho tiến trình Công việc ánh xạ này được thực hiện bởi đơn vị quản lý bộ nhớ(Memory Management Unit – MMU) Do địa chỉ mã chương trình trên ROM luôn cốđịnh trên các chương trình trên ROM là có thể được dùng chung (2 ứng dụng sử dụngmột DLL lưu trên ROM ) Còn trên RAM, mỗi tiến trình có một vùng nhớ riêng, khôngđược truy xuất lẫn nhau

Trang 22

Trong nhân, chỉ có duy nhất một tiến trình hoạt động: tiến trình nhân Nó hoạtđộng ở chế độ đặc quyền Có 2 tiểu trình hoạt động phục vụ cho nhân: tiểu trình phục vụnhân (kernel server) và tiểu trình rỗng (null) Tiểu trình phục vụ nhân là tiểu trình có độ

ưu tiên cao nhất trong hệ thống Bất cứ khi nào có yêu cầu sử dụng các dịch vụ hệ thốngtrong nhân là tiểu trình này hoạt động ngay lập tức Ngược lại, tiểu trình null là tiểu trình

có độ ưu tiên thấp nhất trong hệ thống Tuy vậy, nó đóng vai trò rất quan trọng trong hệthống Khi điện thoại Symbian khởi động, hệ điều hành bắt đầu hoạt động thì tiểu trìnhnull là tiểu trình chạy đầu tiên với nhiệm vụ là nạp file server Khi hệ thống đang hoạtđộng, tiểu trình null sẽ không bao giờ được gọi do độ ưu tiên thấp nhất Nhưng khi hệthống không còn phục vụ cho một ứng dụng nào nữa, tiểu trình null sẽ được thực hiện.Nhiệm vụ của nó lúc này là gọi phần quản lý năng lượng để đưa hệ thống vào trạng thái

“ngủ” để giảm thiểu hao hụt năng lượng

2.4.4 Quản lý vào điều phối tiến trình

Việc quản lý và quản lý tiến trình, tiểu trình sẽ do nhân đảm trách Bộ điềuphối tiến trình hoạt động theo cơ chế độ ưu tiên với nguyên lý không độc quyền sửdụng thuật toán điều phối Round Rubin: trong một chu kỳ, tiểu trình có độ ưu tiên caonhất sẽ được chạy trước tiên, các tiểu trình khác ở trạng thái tạm hoãn (suspend) Nhân

hệ thống kiểm tra độ ưu tiên của các tiểu trình tại đầu chu kỳ và sẽ phục hồi hoạt động(resume) cho tiểu trình nếu tiểu trình này có độ ưu tiên lớn hơn tiểu trình đang hoạt động

Thông thường, để xây dựng cơ chế quản lý sự kiện cho các tiến trình, các hệ điềuhành sử dụng cơ chế đa tiểu trình (multi thread): ví dụ một tác vụ tính toán lâu và phứctạp được xử lý bởi một tiểu trình trong khi một tiểu trình khác tiếp tục chờ xử lý các sựkiện nhập của người dùng Cơ chế này Symbian có hỗ trợ nhưng hiếm khi được dung do

bộ vi xử lý không mạnh mẽ như trên máy tính và sử dụng tiểu trình cũng không phủ hợpvới mô hình sử dụng server trên Symbian Do đó Symbian đã sử dụng một cơ chế tối

ưu hơn cho hoạt động của ứng dụng và các server: Đó là mọi vấn đề quản lý sự kiện và

xử lý tác vụ đồng thời đều được thực hiện nhờ một đối tượng đặc biệt trong Symbian,

active object Mỗi một tiểu trình trên hệ điều hành Symbian có một bộ điều phối active

scheduler đảm trách việc quản lý sự kiện thông qua việc quản lý điều phối một hoặcnhiều active object

2.5 SYMBIAN LÀ HỆ ĐIỀU HÀNH ĐA NHIỆM

Nếu như trong máy PC, Windows vốn tự hào nhất khi đánh bại HĐH DOS là

Trang 23

khả năng đa nhiệm của nó thì HDH Symbian cũng đảm bảo được thế mạnh này Thậtvậ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 Mỗi tiếntrình trong Symbian OS đều bao gồm 1 hay nhiều threads, và bộ điều phối hệ thống cấpquyề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ộ

2.5.1 Multithreading

Mỗi tiến trình trong Symbian OS mặc định có 1 thread, có thể thêm các đoạncode vào ứng dụng để tạo thêm các thread khác để tạo một ứng dụng multithread Mỗithread 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ủatiến trình cha, và bộ điều phối hệ thống sẽ dựa vào nó để điều phối

2.5.2 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áccô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ệu 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áctrong 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)

Sử dụng lời gọi bất đồng bộ trong ứng dụng thay cho multithread cho chúng ta 2lợ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úngtrá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ạomộ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ữngcông việc của mình mà không làm tăng thêm gánh nặng chuyển đổi 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ànhSymbian đượ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ũngdùng active object để cài đặt Các server hệ thống bao gồm file server, window server,

Trang 24

- Quản lý ROM khá đơn giản, ROM bao gồm toàn bộ các file trong một cây thưmục trên ổ Z, được gắn với địa chỉ cố định để dữ liệu có thể được đọc trực tiếp dễ dàng,không cần thông qua file server Chương trình được thực thi trực tiếp tại ROM và hìnhảnh, font được dùng ngay trên ROM cho hiển thị màn hình thay vì phải nạp qua RAM.

Hình 2.12 : Bộ nhớ ROM

- Quản lý RAM phức tạp hơn Bộ nhớ RAM được chia thành các trang 4KB bởi MMU

Hình 2.13: Bộ nhớ RAM

Mỗi trang có thể được cấp cho:

Vùng địa chỉ ảo cho một tiến trình người dùng hay tiến trình phục vụ nhân.Khoảng địa chỉ của tiến trình bao gồm các vùng địa chỉ cho; vùng nhớ hệ thống

Trang 25

( ROM và DULL được nạp vào RAM), vùng nhớ tiến trình (hình biểu tượng cho ứngdụng ( image) và các dữ liệu động) và vùng nhớ cho mỗi tiểu trình bao gồm một ngănxếp stack rất nhỏ (12K) và một vùng heap Do đó cần tránh dùng các biến cục bộchiếm nhiều bộ nhớ , có thể làm tràn stack, nên đưa các biến này vào heap bằngphương thức new hay dùng User::Alloc() Vùng heap mặc định của riêng từng tiểutrình là không thể chia sẻ, các tiểu trình có thể dùng heap chung của tiến trình cha.Vùng heap chung toàn cục có thể được sử dụng bởi nhiều tiến trình khác nhau nhưng

ít khi sử dụng

Hình2.14: Vùng nhớ cho các tiến trình

Vùng nhớ RAM, được ánh xạ với ổ C, chỉ được truy cập thông qua file server

Ở đây, một trang 4KB được chia nhỏ ra thành các vùng nhỏ hơn gọi là sector có kíchthước 512 byte, phù hợp hơn cho các file có dung lượng nhỏ

Các DDL nạp từ các bộ nhớ khác ROM Sau khi nạp, vùng nhớ này của DLLđược đánh dấu là vùng nhớ chỉ đọc Bởi vì DLL trong hệ điều hành Symbian được quyđịnh chỉ hỗ trợ mã chương trình và dữ liệu chỉ đọc Đây là một trong những đặc điểmcủa Symbian để phù hợp với bộ nhớ giới hạn Ví dụ: hiện nay bộ nhớ RAM vàokhoảng 8MB – 16MB, thử tưởng tượng chúng ta có 20 ứng dụng chạy đồng thời, và

10 server chạy dưới các ứng dụng này, và mỗi ứng dụng hay server sử dụng khoảng 60trong tổng số 100 DLL có trong hệ điều hành Symbian 7.0, mỗi DLL chỉ cần một bytecho dữ liệu động (nhưng phải cấp hẳn 1 trang 4KB cho nó) thì ta tổng cộng 4KB * (20tiến trình ứng dụng + 10 tiến trình server) * 60DLL = 7MB, chỉ cho dữ liệu động Trên

Trang 26

Danh sách các trang trống chưa cấp

Do không có vùng nhớ ảo bằng cách thay thế trang trên đĩa cứng như trên PCnên tất cả các trang cần để phải lấy từ danh sách trống Khi không còn trang trống nào

mà lại có yêu cầu về bộ nhớ thì lỗi tràn bộ nhớ hoặc đĩa đầy sẽ xuất hiện

2.7 QUẢN LÝ NGUỒN NĂNG LƯỢNG

Do đời sống pin dùng cho điện thoại Symbian khá ngắn nên hệ điều hànhSymbian được xây dựng để làm việc hiệu quả trên thiết bị có tốc độ và nguồn nănglượng thấp Khi không được sử dụng, phần lớn hệ thống sẽ được tắt Bởi vì các thànhphần phần cứng quản lý nguồn năng lượng riêng, khi không cần hoạt động chúng đượcđưa vào trạng thái tắt Ví dụ, bộ điều phối nhân sẽ tắt CPU nếu tất cả các tiểu trình đều

ở trạng thái chờ sự kiện Khi có cuộc gọi hay tin nhắn đến, hệ thống sẽ được hoạt độngtrở lại Đặc biệt, khi tất cả các nguồn năng lượng bị mất đột ngột, hệ thống vẫn lưunhững thông tin cần để sau này chỉ cần khởi động nóng thay vì khởi động nguội do hệthống đề lưu sau mỗi bước thực hiện

2.8 QUẢN LÝ THỜI GIAN

Nhân cung cấp một ngắt thời gian ứng với 64Hz trên CPU ARM và 10Hz chogiả lập trên PC Ngắt này được dùng để điều khiển bộ điều phối tiến trình với thuậttoán điều phối Round Rubin Ngắt thời gian sẽ ngừng hoạt động khi máy tắt Ví dụ,khi muốn thực thi một chỉ thị sau 5 giây nhưng mới được 2 giây trôi qua, ta tắt máy,thi khi máy mở trở lại, sau 3 giây nữa chỉ thị mới được thi hành

2.9 CÁC NGÔN NGỮ DÙNG ĐỂ PHÁT TRIỂN ỨNG DỤNG TRÊN HĐH SYMBIAN

2.9.1 Phát triển ứng dùng bằng C++

Mã nguồn cho 1 project viết bằng C++ bao gồm:

o C++ source file( cpp, h)

o Tập tin nguồn cho resource của chương trình ( resource files, bitmap, icons)

o Những tập tin hệ thống của project: tập tin chứa thông tin xây dựng (bld.inf), 1 haynhiều makefile specifications ( mmp)

SDK của cả Quartz và Crystal của Symbian cung cấp các công cụ để xây

Trang 27

o Trình biên dịch GNU C++, phiên bản 98r2, thiết kết riêng cho các yêu cầu của EPOC

và xây dựng các chương trình cho các máy hoạt động dựa trên ARM

o Trình biên dịch và chuyển đổi các resources của chương trình (resource files,bitmap, icons)

o Help compiler

2.9.2 Phát triển ứng dụng bằng Java

Mã nguồn cho 1 project viết bằng Java bao gồm:

o Java source file( java)

o Các tập tin cần thiết cho việc xác định ứng dụng sẽ được cài đặt như thế nào (.app, txt)

o Sử dụng JavaDoc cho việc documeting APIs và implemention

SDK của cả Quartz và Crystal của Symbian cung cấp các công cụ để xây dựngchương trình bằng Java:

o Batch files để xây dựng các tập tin JAR cho các máy giả lập o GUI icon vàapplication information file builder

o GUI icon và application information file builder, như trong C++, nhưng có hổ trợriêng cho các yêu cầu của Java

o Tập tin cài đặt từ hệ thống cài đặt của Symbian

Để xây dựng và debug chương trình bằng mày giả lập thì cần phải có môitrường lập trình Java chuẩn Còn để phát triển và debug bằng phương pháp Javanguyên

thủy cần có SDK của Quarzt hay Crystal C++: SDKs cho Java bao gồm phần bổ sungC++ SDKs chứa phần hổ trợ cho build-time của phương phát Java nguyên thủy Tavẫn có thể dùng thư viện của Java mà không cần SDKs của C++

Ngoài ra, SDKs của quarzt và Crystal cung cấp hổ trợ đầy đủ cho việc xâydựng các ứng dụng

2.9.3 Phát triển ứng dụng bằng WAP và HTML.

Cũng có thể nhưng rất hiếm khi dùng 2 ngôn ngữ này để xây dựng phần mềmtrên HDH Symbian.Cách làm cũng giống như C++ và Java:

Trang 28

Thường thì người ta phát triển nội dung HTML và Wap bằng server và sau đó biên dịchtrên thiết bị thật Các thiết bị dùng HDH Symbian, và máy giả lập đều có thể nối mạngnội bộ với nhau bằng cách dùng Windows NT Remote Access Services (RAS), đểgiảm bớt giá thành kiểm tra và tăng tốc độ kiểm tra lên

2.10 CÁC CHƯƠNG TRÌNH HOẠT ĐỘNG TRÊN SYMBIAN

2.10.1 File thực thi:

Trên Symbian hỗ trợ 2 hệ thống chương trình ứng với các kiểu file khác nhau

- Chương trình exe : Được lưu trữ trong các file thực thi có phần mở rộng là

exe

- Tệp JAR : Đây là tệp đóng gói ứng dụng Tệp JAR chứa tất cả các tệp tin kê

khai mô tả nội dung của một chương trình ứng dụng Có 3 cách để tải tệp này xuống diđộng:

+ Kết nối cáp dữ liệu từ PC sang cổng dữ liệu điện thoại

+ Cổng hồng ngoại(Infra Red Port)

+ OTA (Over The Air) qua mạng GPRS

Thư viện liên kết động(Dynamic Link Library - DLL) chứa các mã chươngtrình với nhiều điểm đầu vào Có hai loại DLL quan trọng :

- Share DLL: cung cấp một nhóm API nhất định cho một hay nhiều chương

trình sử dụng Hầu hết các thư viện này nằm trong các file có phần mở rộng là dll.Thư viện này được nạp tự động

- Polymorphic DLL: Cung cấp một nhóm hàm API được lưu trữ trong các file

có phần mở rộng khác nhau phục vụ cho các chức năng riêng

như điều khiển máy in(.prn), giao thức socket(.prt), ứng dụng đồ hoạ GUI(.app) Thưviên này được nạp bởi chương trình sử dụng nó

2.10.2 Cơ chế quản lý lỗi trên Symbian

Trên môi trường Symbian, các lỗi gây ra trong quá trình một chương trình ứngdụng hoạt động được chia làm hai loại : lỗi lập trình và lỗi môi trường

Trang 29

- Lỗi Lập trình : là những lỗi có thể sửa chữa bằng cách viết lại đoạn chương

trình gây ra lỗi khi phát hiện Loại lỗi này chúng ta thường gặp trong suốt quá trìnhphát triển ứng dụng

- Lỗi môi trường: hay còn gọi là lỗi thiếu tài nguyên Những lỗi này không thể

sửa chữa bằng cách lập trình lại được, vì vậy cần dự đoán để bao quát và có hướng xử

lý khi các loại lỗi này xảy ra Khi lỗi môi trường xảy ra, hàm gây ra lỗi sẽ ngưng hoạtđộng, tiến hành quét các chỉ thị, các hàm sẽ được thực this au hàm gây lỗi và chuyểnđến phần xử lý lỗi đầu tiên mà nó tìm thấy trong các hàm này

2.10.3 Quản lý sự kiện

a Quản lý sự kiện trong ứng dụng Symbian:

Như mọi ứng dụng trên các hệ điều hành khác, ứng dụng trên hệ điều hànhSymbian cũng cần nhận sự kiện từ người dùng như khi một phím được nhấn hay khi

có dữ liệu đến các cổng truyền thông

- Sự kiện nhận trực tiếp từ người gửi qua giao diện ứng dụng: hầu như tất cảđều được thực hiện qua CONE Nó phân tích các sự kiện đến rồi gọi một hàm thànhviên phù hợp để xử lý

- Các nguồn sự kiện khác: từ các cổng truyền thông, chúng ta phải tự cài đặtriêng Cách cài đặt để bắt và xử lý các sự kiện này là tạo một lớp chứa một hàm chờnhận sự kiện và hàm khác sẽ đảm nhận việc xử lý sự kiện Trên các hệ điều hành khác,hàm nhận sự kiện và xử lý sự kiện sẽ được thực hiện trong các tiểu trình khác nhau.Đây là cơ chế đa tiến trình được hỗ trợ trên các hệ điều hành máy tính Trên Symbian,

cơ chế này cũng được hỗ trợ nhưng không khuyến khích dùng Symbian định nghĩamột cơ chế khác phù hợp hơn là dùng active object thay cho tiểu trình do khả năng xử

lý của CPU trên điện thoại Symbian không tốt như trên máy tính Symbian cung cấpmột cơ sở là CActive và đối tượng của nó là active object để bắt và xử lý sự kiện

b Quản lý sự kiện với active object:

Active object là một khái niệm mới được Symbian đưa ra để quản lý sự kiện

Nó hoạt động theo cơ chế độc quyền với hàm thực thi RunL()đảm nhiệm việc xử lý sựkiện và các active object được quản lý bởi một bộ điều phối active scheduler của tiểutrình Đây là một thiết kế tối ưu cho hoạt động quản lý sự kiện

2.10.4 Công cụ phát triển ứng dụng.

Mỗi phiên bản Symbian đều có một công cụ hỗ trợ phần mềm SoftwareDevelopment Kit (SDK) khác nhau, mỗi sản phẩm điện thoại của một hãng sản xuấtlại cung cấp một SDK của riêng hãng đó Các bộ công cụ phát triển SDK trên môitrường Symbian cũng cung cấp các công cụ phát triển để có thể xây dựng và biên dịchứng dụng bằng dòng lệnh

Trang 30

hoạ để có thể biên dịch từ dòng lệnh hay bằng Microsoft Visual C++ 6.0.

+ Application Wizard: có chức năng tạo một thư mục dự án ban đầu cho ứng

dụng

+ EPOCfromMMP: chuyển file dự án mmp thành file dự án hoạt động trên

IDE VC NET

- Công cụ biên dịch:

+ Biên dịch tài nguyên: Tài nguyên được biên dịch riêng với trình công cụ biên

dịch tài nguyên dòng lệnh với rcomp, epocrc

+ Biên dịch ứng dụng: trong các bộ SDK cung cấp các trình công cụ để biên

dịch ứng dụng từ dòng lệnh

Trang 31

CHƯƠNG 3 LẬP TRÌNH JAVA TRÊN HỆ ĐIỀU HÀNH SYMBIAN

3.1 JAVA TRÊN HỆ ĐIỀU HÀNH SYMBIAN

Hệ điều hành Symbian hỗ trợ hai ngôn ngữ phát triển ứng dụng chính là C++ vàJava, nhưng không phải điện thoại Symbian nào cũng hỗ trợ đủ cả hai loại ngôn ngữnày Với mục tiêu xây dựng cho các thiết bị có bộ nhớ thấp và khả năng độc lập môitrường, Java đang dần trở thành ngôn ngữ lập trình hàng đầu trên môi trường điệnthoại di động

3.2 SỰ PHÁT TRIỂN CỦA JAVA TRÊN HỆ ĐIỀU HÀNH SYMBIAN

Bắt đầu bằng JDK 1.1.4 trên Symbian v5, Java đang dần được hỗ trợ tốt hơntrên Symbian

Năm 1999, Sun công bố 3 phiên bản Java cho các loại thiết bị khác nhau:

+ Java 2 Enterprise Edition(J2EE) cho môi trường server + Java 2 Standard Edition(J2SE) cho môi trường máy để bàn

+ Java 2 Micro Edition(J2ME) cho môi trường thiết bị gia dụng điện tử

và thiết bị nhúng

J2ME chia làm các nhóm cấu hình cho các thị trường thiết bị khác nhau trong

đó CLDC(Connected Limited Device Configguration) là cấu hình dùng cho thiết bị diđộng cấp thấp như điện thoại di động và PDA Trên CLDC định nghĩa MIDP(MobileInformation Device Profile) đặc tả các API dùng cho các thiết bị như điện thoại diđộng

Hình 3.1: So sánh giữa các phiên bản Java

Bộ SDK cho Java trên Symbian: với các điện thoại dùng hệ điều hành Symbian6.0 (Nokia 9200 Series) Symbian cung cấp bộ SDK riêng cho Java với các API cho

Ngày đăng: 02/09/2016, 11:14

HÌNH ẢNH LIÊN QUAN

Hình 1.2: Thiết kế Quartz - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 1.2 Thiết kế Quartz (Trang 6)
Hình 1.1: Máy Nokia 9210 - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 1.1 Máy Nokia 9210 (Trang 6)
Hình 1.4: Các điện thoại Symbian dùng màn hình cảm ứng - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 1.4 Các điện thoại Symbian dùng màn hình cảm ứng (Trang 7)
Hình 1.3: Các điện thoại Symbian dùng bàn phím số - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 1.3 Các điện thoại Symbian dùng bàn phím số (Trang 7)
Hình 2.4:  Framework - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 2.4 Framework (Trang 14)
Hình 2.9: Java Runtime - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 2.9 Java Runtime (Trang 18)
Hình 2.11: Các APIs mà hệ điều hành Symbian cung cấp - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 2.11 Các APIs mà hệ điều hành Symbian cung cấp (Trang 20)
Hình 2.13: Bộ nhớ RAM - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 2.13 Bộ nhớ RAM (Trang 24)
Hình 3.1: So sánh giữa các phiên bản Java - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 3.1 So sánh giữa các phiên bản Java (Trang 31)
Hình 3.2: Kiến trúc J2ME - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 3.2 Kiến trúc J2ME (Trang 33)
Hình 3.3: Các tầng của DLDC J2ME - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 3.3 Các tầng của DLDC J2ME (Trang 33)
Hình 3.4: Tiến trình xây dựng MIDlet - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 3.4 Tiến trình xây dựng MIDlet (Trang 35)
Hình 3.5: Các dòng máy hỗ trợ MIDP - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 3.5 Các dòng máy hỗ trợ MIDP (Trang 38)
Hình 3.6: MIDlet - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 3.6 MIDlet (Trang 39)
Hình 3.7: Sơ đồ chu kỳ sống của MIDlet - Tìm hiểu lập trình trên mobile và xây dựng ứng dụng trên hệ điều hành symbian
Hình 3.7 Sơ đồ chu kỳ sống của MIDlet (Trang 40)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w