Từ phát triển các ứng dụng trên Windows chuyển sang phát triển các ứng dụng Symbian là một việc không dễ dàng vì các cấu trúc của hệ điều hành mới hoàn toàn khác và việc tập trung quản lý bộ nhớ cho thật tốt để bảo đảm các ứng dụng hoạt động tốt, không xảy ra lỗi tranh chấp vùng nhớ với các ứng dụng khác cũng làm các bạn mất khá nhiều thời gian. Vì vậy, đầu tiên để lập trình trên Symbian thì bạn cần phải nắm vững cấu trúc của Symbian trước đã.
Hệ điều hành Symbian, bao gồm 3 tầng:
- Tầng 1: gồm nhân hệ điều hành(kernel) tích hợp với phần cứng, lớp này cung cấp một cách nhìn trừu tượng để thuận tiện hơn trong việc thiết kế qua nhiều platforms (nền tảng / hệ máy) và tài nguyên hệ thống (resources), tạo một sự dễ dàng chuyển đổi sang dạng phần cứng mới (điện thoại). lớp cơ bản bảo đảm hiệu quả hoạt động mạnh mẽ của Symbian OS. Hai thành phần chính trong lớp này đó là Kernel Services và Devices Driver.
+ Kernel Services: cung cấp một khả năng xử lý đa luồng và thi hành các chương trình từ phía người dùng.
+ Device Drivers: cung cấp một hệ thống driver và phần điều khiển các thiết bị: DTE, DCE serial Port, Infrared (SIR), USB Client, SDIO Card, keyboard, bộ số hóa, Ethernet, MMC và LCD.
- Tầng 2: tầng dịch vụ cơ bản, tầng này cung cấp một chương trình sườn (Programming framework) cho tất cả các thành phần khác của Symbian OS, bao gồm các file hệ thống và các thư viện thông dụng:
+ Low Level Libraries: Cung cấp các thư viện, tiện ích được yêu cầu bởi Symbian OS và các ứng dụng khác trên Symbian: Cryptography library, XML Parsing framework, Power management framework, Databse engine, Character Encoding.
+ Fileserver: Cung cấp, chia sẻ quyền truy xuất tới các file hệ thống, các phương tiện lưu trữ: RAM, NOR và NAND Flash, ATA/CF, MMC, SD Card.
- Tầng 3: tầng OS Services, đây là trái tim của hệ điều hành Symbian, tầng này cung cấp một hạ tầng các thành phần của Symbian, được biết như là Middleware. Những thành phần này bao gồm các hệ thống Multimedia và Graphics, Networking, Telephony, các giao thức, và thành phần kế nối với PC
+ Generic Services: bao gồm các dịch vụ mã hóa (cryptography) và Multimedia
+ Comms Services: bao gồm các dịch vụ hạ tầng về truyền thông và mạng với 3 phần chính là: Telephony, Networking Services, Serial & Shortlink Services.
+ Graphic Services: Cung cấp các ứng dụng symbian bằng cách chia sẻ quyền truy cập tới màn hình, bàn phím, các thiết bị nhập khác (camera...), hệ thống font...
+ PC Connect Services: Cung cấp bộ công cụ để tạo các kết tới máy tính, ví dụ như Sync, backup. Mỗi nhà sản xuất thiết bị dùng Symbian OS có thể tạo tạo riêng bộ kết nối của họ tương thức với phần cứng được sản xuất.
- Tầng 4: Tầng Application Services. Hạt nhân của bất cứ mobile nào chính là dữ liệu của người dùng. Hệ điều hành Symbian cung cấp sẵn các ứng dụng gồm: Contacts, Clender, To-do, Messaging và Browsing và tất cả các thiết bị dùng Symbian OS đều có cùng tập các ứng dụng này.
+ PIM: chứa các ứng dụng về Agenda, To-do và contacts
+ Messaging: hỗ trợ các giao thức sử dụng trong tin nhắn SMS, MMS, EMS, Email.
+ Browing: các dịch vụ hỗ trợ về HTTP, WAP, SMIL parser.
+ Data Sync: các chức năng về đồng bộ dữ liệu 1 chiều, 2 chiều, hỗ trợ các giao thức HTTP, WSP, OBEX thông qua Hồng ngoại, Bluetooth và USB. Đồng bộ Contact và Calender.
- Tầng 5: Tầng UI Framework, tầng dựng nên giao diện người dùng của thiết bị, mỗi người sử dụng thiết bị Symbian có giao diện khác nhau tùy thuộc vào như cầu sử dụng của họ. Bao gồm hai phần chính là UI Framework và UI Toolkit.
- Tầng Java: Tầng này chức năng tương tự, ngang hàng như tần 4 và 5, 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, CLDC, và MIDP. Hệ điều hà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ôi trườ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ác thiết bị này.
Các bạn vừa xem sơ lược tổ chức cấu trúc của hệ điều hành Symbian, và tuỳ theo từng mức độ phát triển các ứng dụng mà bạn sẽ lập trình can thiệp vào một trong những cấu trúc này của hệ thống. Qua phần này bạn đã có thể nắm bắt được một số khái niệm cơ bản của hệ điều hành Symbian để bạn có thể dễ dàng tiếp cận hơn vớ việc lập trình trên hệ điều hành này. Chúc các bạn thành công. Trong phần kề tiếp, các bạn sẽ được giới thiệu làm quen với một số công cụ lập trình Symbian và một số các khác niệm cơ bản trong một chương trình Symbian.
Việt Sơn