điều hành Symbian
Như phần trên đã giới thiệu, HDH Symbian có rất nhiều thiết kế khác nhaụ Nhưng cho dù với thiết kế nào thì cũng dùng chung các hàm APIs cốt lõi và chung một công nghệ - đó chính là Symbian’s Generic Technologỵ Symbian’s GT được thiết kế riêng cho 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ệc truy 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ười dù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 dược 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 chính của GT gồm có Base, Framework, Communication, Messaging, Browsing, Connectivity và Java, như hình vẽ sau đây:
Hình 2-6 Thành phần chính của GT
KHOA CNTT –
ĐH KHTN
27
2.5.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-7 Thành phần của Base
Theo như trong hình vẽ, phần thứ nhất trong 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ư drivers (thiết bị điều khiển thiết bị), thực thi 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ó độc quyền. Kiến trúc microkernel được sử dụng để cho hầu hết code trong hệ thống chạy không độc quyền. Còn EPOC runtime nguyên thủy là chạy trên bộ xử lý có kiến trúc ARM. Có 3 giao diện ứng dụng nhị phân được dùng (ABIs- application binary interfaces). Đầu tiên là ARM4, có tốc độ tốt nhất và thích hợp cho ROMs trên các máy tốc độ caọ Còn Thumb, hơi chậm hơn ARM4, sử dụng tốt cho ROMs của máy rẻ tiền. Cuối cùng là ARMỊ Đây là “interworking” ABI cho phép đọan code xây dựng thêm chạy được trên cả Thumb và ARM4 ROMS. Dùng cho các đoạn code viết bổ sung. ARM4 và Thumb hổ trợ hiệu quả tiến trình 16 bits, bao gồm cả Unicode nguyên thủy của EPOC.
Phần thứ hai có trong Base là thư viện người dùng (user library). Thư viện người dùng hổ trợ các dịch vụ cho ứng dụng người dùng, bao gồm:
o tiến trình, tiểu trình, chương trình và quản lý bộ nhớ. o Bắt lỗi và cleanup framework.
KHOA CNTT –
ĐH KHTN
28 o mảng và danh sách
o đối tượng động, đa nhiệm, chuyển sự kiện không đòi hỏi phí chuyển đổị
o kiến trúc client-server.
o các định dạng cho tiền tệ, ngày và thời gian.
o file server (máy chủ tập tin) hổ trợ RAM, ROM, flash, MMC, flash RAM; VFAT.
o Bảo mật bao gồm các thuật toán mã hóa 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:
Hình 2-8 Công cụ hổ trợ cho PC của Base
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 HDH Window NT và 9x.
Còn các công cụ phát triển (deleloper tools) hổ trợ chương trình C++ trên môi trường nguyên thủy và môi trường giả lập. Công cụ này được phát cho các nhà phát triển phần mềm trong SDKs.
Và công cụ OEM hổ trợ khởi tạo ROM cho các thiết bị chạy trên hệ điều hành Symbian. Các công cụ này đã được phân phối cùng với công cụ phát triển trong OEM Customization Kits(OCKs).
KHOA CNTT –
ĐH KHTN
29
2.5.2 Framework
Phần cốt lõi làm cho HDH Symbian trở nên mạnh mẽ, có lẽ cũng nhờ GT có framework hổ trợ rất đa dạng. Framework bao gồm các hàm APIs cho miđlewares cho quản lý dữ liệu, văn bản, clipboard, đồ họa, các tập tin nguồn, đa phương tiện, chuẩn hóa quốc tế, và các tiện ích của giao diện người dùng đồ họạ Sau đây là hình vẽ minh họa :
Hình 2-9 Framework
Thành phần đầu tiên trong framework là hệ quản lý cơ sở dữ liệu, hổ trợ nhiều bảng, truy cập vào client-server để chia sẻ, cơ chế chuyển đổi và quay lui (transaction và rollback) các hàm APIs của C++ và SQL để truy xuất và định nghĩa dữ liệu, tìm chỉ mục và thực hiện các câu truy vấn. Bảng thường gồm 256 cột và không giới chính xác về hạn kích thước bảng.
Phần thứ hai là đồ họa, bao gồm hổ trợđồ họa căn bản, văn bản và ảnh bitmaps trên những thiết bị tạo ảnh bitmap.
Về phần window server có chức năng chia sẻ màn hình, bàn phím và con chuột giữa các ứng dụng. Còn Control Environment (CONE) chia sẻ 1 cửa sổ ứng dụng giữa các thành phần của ứng dụng.
KHOA CNTT –
ĐH KHTN
30 Trong khi đó Uikon and Standard Eikon cung cấp GUI components, bao gồm framework cho hộp thọai, các controls 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ồm các báo động các sự kiện và thanh chỉ trạng tháị Standard Eikon là điểm xuất phát cho việc chế tạo ra GUIs cho Quartz và Crystal.
Một vấn đề nữa là kiến trúc ứng dụng nhận biết các tập tin bằng UID và lọai MIME, giải phóng và điều khiển các ứng dụng, và hổ trợ các đối tượng kèm theọ
Còn vùng nhớ clipboard hổ trợ chuyển dữ liệu giữa các ứng dụng.
Về phần media server thì hổ trợ âm thanh dạng WAV, AU, WVE và những định dạng thô khác, hổ trợ hình ảnh dưới định dang JPEG, BMP, MBM, GIF, WBMP và Nokia Smart Messaging (định dạng hình ảnh).
Ngoài ra Framework của Symbian còn hổ trợ cho văn bản ở cấp độ cao bao gồm text content model and rendering, hổ trợđịnh dạng đoạn văn và kí tự, đồ họa kèm theo, những kí tựđịa phương trên thế giới…Và hổ trợ in ấn, thì bao gồm đĩa cài đặt máy in cho những máy in thật sự, và các máy in từ PC nối tới qua Symbian Connect. Luôn luôn có sẵn chếđộ xem trước khi in.
Symbian cũng quan tâm đến chuẩn hóa 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ạng chữ 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 1 ứng dụ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 tiên quyết, tháo gở cài đặt và quản lý chữ kí kĩ thuật số.
2.5.3 Communications
Chính thành phần Communications 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 DTĐ.
KHOA CNTT –
ĐH KHTN
31
Hình 2-10 Communications
Theo như trong hình vẽ thì 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 telephony implementations khác đều có thểđươc cung cấp.
Trong khi đó, wide-area communications 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.
KHOA CNTT –
ĐH KHTN
32 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 stack cho 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.5.4 Messaging
Một phần quả là rất quan trọng đối với những ai dùng DTĐ 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:
Hình 2-11 Messaging
Theo Symbian, trao đổi thông điệp gồm thư điện tử qua mạng internet, tin nhắn GSM, SMS và fax. Nhiều kiểu thông điệp khác nhau được hổ trợ bằng kiến trúc plug-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.5.5 Browsing
Với HDH Symbian thì DTĐ 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 DTĐ mặc dù nhỏ bé nhưng cũng đảm nhiệm cả chức năng này của 3 thiết bị trên.
KHOA CNTT –
ĐH KHTN
33
Đó là do GT của Symbian hổ trợ cho WML và HTML browsers.
Hình 2-12 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 Java applets 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.5.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 ứng dụ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ớị
Hãy nhìn hình minh họa sau:
KHOA CNTT –
ĐH KHTN
34
Đầu tiên phải kế đến là Contacts application. Đây là phần chính của thiết bị thông tin không dâỵ Contacts engine là 1 kho dữ liệu của các cá nhân và nhóm. Kho dữ liệu này được bảo trì bởi 1 server, nhờđó các ứng dụng client có thể dùng chung. 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ĩạ 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ớị
2.5.7 Java runtime
The Symbian platform cung cấp cài đặt đầy đủ của Java trong bộ J2ME, bao gồm PersonalJava và bản cài đặt đầu tiên JavaPhone trên thiết bị không dâỵ Bản cài đặt PersonalJava 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ĩa trong Personal Java Application Environment 1.1 specification.
Hình 2-14 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), datagram messaging (chuyển thông điệp) và power monitoring được cung cấp rộng rãi trong JavaPhone
KHOA CNTT –
ĐH KHTN
35 APIs. Và Symbian sẽ duy trì khả năng tương thích với các ứng dụng viết cho các môi trường Java như là MID profile và the KVM.
Ngoài ra Unicode được hổ trợ qua host interfacẹ JVMDI cũng được hổ trợ trong kiến trúc nàỵ
Điều đáng lưu ý là bản cài đặt GT của Java được kiểm tra trên GUỊ 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ấp các lớp đặc trưng trong mỗi thiết kế nhằm hổ trơ cho GUỊ
2.5.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ủa Symbian là Connectivitỵ 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à DTĐ và máy PC thông thường. Theo thiết kế của Symbian, Connectivity bao gồm EPOC-based và PC-based components:
Hình 2-15 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ạy Symbian connect.
KHOA CNTT –
ĐH KHTN
36 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.6 Các hàm APIs của HDH Symbian
Mặc dù đã nén đủ để để đưa vào bộ nhớ của DTĐ, 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ập lệnh API, hỗ trợ nhiều hàm trước đây không có trong các hệ điều hành cho DTĐ trước đây, được minh họa trong sơđồ dưới đây:
KHOA CNTT –
ĐH KHTN
37
2.6.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ững hà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ịch trong ứng dụng của ta, bằng cách sử dụng các API Contacts databasẹ Sử dụng hàm Global Find API để tìm kiếm đoạn text trong văn bản được lưu trữ trong điện thoạị