Luận văn, khóa luận, chuyên đề, tiểu luận, quản trị, khoa học, tự nhiên, kinh tế
Trang 1LUẬN VĂN CỬ NHÂN TIN HỌC
TP.HCM , 7/ 2004
Trang 2GIÁO VIÊN HƯỚNG DẪN Th.S TRẨN ĐỨC DUẨN Thầy NGUYỄN VIẾT HÒANG
TP.HCM , 7/2004
Trang 3KHOA CNTT –
ĐH KHTN
3
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 4KHOA CNTT –
ĐH KHTN
4
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5Chúng em xin chân thành cảm ơn thầy Trần Đức Duẩn và Nguyễn Viết Hòang đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề tài
Chúng em cũng xin cám ơn quý thầy cô trong khoa đã tận tình giảng dạy và trang bị cho chúng em những kiến thức cần thiết trong suốt quá trình học tập tại trường, và cũng xin gửi lòng biết ơn sâu sắc đến ba mẹ,các anh chị và các bạn đã ủng hộ,giúp
đỡ động viên chúng em trong những lúc khó khăn cũng như trong suốt những năm học vừa qua
Mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nổ lực của bản thân nhưng luận văn chắc chắn không tránh khỏi những thiếu sót nhất định,kính mong sự thông cảm và tận tình chỉ bảo của quý thầy cô và các bạn
TPHCM 7/2004
Nhóm thực hiện Huỳnh Tấn Kiệt - Trần Thị Thùy Trang
Trang 6Với các thiết bị di động thông minh như máy tính cá nhân ,việc có một hệ điều hành cho nó là điều tất yếu Nhiều năm qua ,được sự hậu thuẫn của các hãng điện thoại danh giá như Nokia ,Motorola,Samsung ,Ericsson…Symbian là sự lựa chọn hàng đầu và thống lĩnh thị trường về hệ điều hành cho điện thoại di động Hệ điều hành Symbian từ những phiên bản ban đầu vốn đơn giản vì thực hiện chỉ những chức năng cơ bản Nhưng từ phiên bản EPOC 5.0 rồi tới Symbian 6.0 dành cho các loại điện thoại dòng crystal – dòng điện thoại cho các loại máy có bàn phím tương tự máy tính cá nhân - thì Symbian trở nên phức tạp và mạnh mẽ không khác gì Windows hay Linux
Trên môi trường Symbian 6.0 ,có hàng loạt các ứng dụng tương tự như máy tính cá nhân mà ta không ngờ tới như trình gửi mail ,trình duyệt web ,các ứng dụng văn phòng ,các trò chơi dàn trận…Do vậy ,nhu cầu tìm hiểu về Symbian 6.0 trở nên cấp bách vì càng ngày người ta càng muốn rằng “phone là PC” và “PC là phone”, viễn cảnh đó sẽ ngày càng gần hơn nữa khi mà giá các thiết bị như vậy không còn quá đắt.Ước tính tới năm 2006 ,sẽ có thêm gần 60 triệu người trên toàn cầu sử dụng những loại điện thoại “lai” PC như vậy
Với ý tưởng đó, cùng với sự đồng tình của Khoa Công nghệ thông tin – thuộc Đại
học Khoa học Tự nhiên TPHCM ,chúng em đã cùng nhau thực hiện đề tài : Nghiên cứu hệ điều hành Symbian 6.0 ,ứng dụng Xây dựng Bộ gõ Tiếng việt và Các chức năng hỗ trợ soạn thảo Tiếng việt trên máy Nokia 9210
Trang 7KHOA CNTT –
ĐH KHTN
7
MỤC LỤC
Chương 1 Tổng quan đề tài 12
1.1 Giới thiệu lĩnh vực và ý nghĩa đề tài 12
1.2 Các kết quả nghiên cứu hiện nay về lĩnh vực này 14
1.3 Nội dung nghiên cứu của đề tài 16
1.4 Tóm tắt kết quả của đề tài 17
1.5 Bố cục luận văn 18
Chương 2 Hệ điều hành Symbian 19
2.1 Lịch sử 19
2.2 Kiến trúc tổng quan của HDH Symbian 20
2.3 Các đặc tính 21
2.4 Các thiết kế của HDH Symbian 23
2.5 Kĩ thuật chung(Generic Technology-GT) để phát triển hệ điều hành Symbian.26 2.5.1 Base 27
2.5.2 Framework 29
2.5.3 Communications 30
2.5.4 Messaging 32
2.5.5 Browsing 32
2.5.6 Application Engines 33
2.5.7 Java runtime 34
2.5.8 Connectivity 35
2.6 Các hàm APIs của HDH Symbian 36
2.6.1 Trao đổi thông điệp 37
2.6.2 TCP/IP và sockets API 37
2.6.3 Communication API(các hàm về giao tiếp) 37
2.6.4 Các ứng dụng và dịch vụ 38
2.6.5 Symbian là một hệ điều hành đa nhiệm: 38
2.6.6 Các mã lệnh (code) có thể dùng lại được .40
Chương 3 Vấn đề về phát triển ứng dụng trên hệ điều hành Symbian 41
3.1 Bộ nhớ trong Symbian phone 41
3.2 Kiến trúc của 1 phần mềm trên Symbian 42
3.2.1 Kiến trúc thư viện : (Library Architecture) 42
3.2.2 Kiến trúc lớp của ứng dụng : (Application Class Architecture) 44
3.3 Các ngôn ngữ có thể dùng phát triển ứng dụng trên HDH Symbian 46
3.3.1 Phát triển ứng dụng bằng C++: 47
3.3.2 Phát triển ứng dụng bằng Java 48
3.3.3 Phát triển ứng dụng bằng WAP và HTML: 49
Chương 4 Xây dựng ứng dụng VNSmartType 50
4.1 Giới thiệu 50
4.2 Các chức năng 50
Trang 8KHOA CNTT –
ĐH KHTN
8
4.6 Tổ chức lưu trữ dữ liệu 64
4.7 Chức năng AutoComplete 70
4.8 Chức năng AutoCorrect 72
4.9 Chức năng thêm dấu tự động (Automatic AddAccents) 74
4.10 Chức năng xoá dấu (Remove Accents) 77
4.11 Các chức năng khác 78
Chương 5 Cài đặt và thử nghiệm 79
5.1 Tìm hiểu DTDD Nokia 9210 79
5.1.1 Giới thiệu 79
5.1.2 Các tính năng chính của Nokia: 80
5.1.3 Cấu trúc của Nokia 81
5.2 Cách biên dịch 1 chương trình 82
5.3 Cài đặt một chương trình vào Emulator 83
5.4 Cài đặt một chương trình vào máy Nokia 9210 84
5.5 Cài đặt & Sử dụng ứng dụng VNSmartType trên máy Nokia 9210 85
Chương 6 Tổng kết & Đánh giá 96
Phần phụ lục 101
A.Tìm hiểu thêm về Nokia 9210 101
B.Tiếng Việt Unicode 116
C Công cụ MEAD(Minimal Eikon Application Development) 121
D Công cụ Menu Builder 122
E Tìm hiểu trình giả lập Symbian 6.0 EPOC 122
F Tra cứu API phát triển ứng dụng 123
G Hướng dẫn từng bước (Tutorial) 126
Thuật ngữ 131 Tài liệu tham khảo 133
Trang 9KHOA CNTT –
ĐH KHTN
9
DANH MỤC HÌNH
Hình 2-1 Tính tương thích của HDH Symbian 20
Hình 2-2 DTDD Nokia 9210 23
Hình 2-3 DTDD Nokia 7650 24
Hình 2-4 DTDD Sony Ericsson 24
Hình 2-5 Thiết kế Quartz 25
Hình 2-6 Thành phần chính của GT 26
Hình 2-7 Thành phần của Base 27
Hình 2-8 Công cụ hổ trợ cho PC của Base 28
Hình 2-9 Framework 29
Hình 2-10 Communications 31
Hình 2-11 Messaging 32
Hình 2-12 Browsing 33
Hình 2-13 Application Engines 33
Hình 2-14 Java runtime 34
Hình 2-15 Connectivity 35
Hình 2-16 Các APIs mà HDH Symbian cung cấp 36
Hình 3-1 Bộ nhớ trong Symbian phones 41
Hình 3-2 Kiến trúc thư viện 43
Hình 3-3 Lớp Ckon và Uikon trong kiến trúc thư viện 44
Hình 3-4 Kiến trúc lớp của ứng dụng 44
Hình 3-5 Liên hệ giữa các thành phần trong kiến trúc của ứng dụng 46
Hình 4-1 DTDD Nokia 9210 51
Hình 4-2 Thuật toán của bộ gõ tiếng Việt 63
Hình 4-3 Thuật toán AutoComplete 72
Hình 4-4 Thuật toán AutoCorrect 74
Hình 4-5 Thuật toán chức năng thêm dấu 76
Hình 4-6 Thuật toán của hàm vietPhrase 76
Hình 5-1 Qui trình biên dịch 1 chương trình 82
Hình 5-2 Màn hình chính của ứng dụng 85
Hình 5-3 Màn hình Help 86
Hình 5-4 Chọn chức năng hỗ trợ 87
Hình 5-5 Màn hình các chức năng quản lý từ (WordStore) 87
Hình 5-6 Màn hình Word 88
Hình 5-7 Chọn chế độ gõ tiếng Việt 88
Hình 5-8 Màn hình chức năng AutoComplete 89
Hình 5-9 Màn hình chức năng AutoCorrect 89
Hình 5-10 Màn hình chức năng AddAccent 90
Trang 10KHOA CNTT –
ĐH KHTN
10
Hình 5-14 Màn hình Thêm từ vựng trong khi soạn thảo 93
Hình 5-15 Màn hình thêm từ vựng cho AutoCorrect 94
Hình 5-16 Màn hình xóa từ vựng cho AutoComplete 94
Hình 5-17 Màn hình xóa từ vựng cho AutoCorrect 95
Hình 0-1 Ứng dụng telephone của Nokia 9210 109
Hình 0-2 Ứng dụng SMS của Nokia 9210 109
Hình 0-3 Ứng dụng mobile email của Nokia 9210 110
Hình 0-4 Ứng dụng Internet của nokia 9210 111
Hình 0-5 Màn hình màu và đa phương tiện của N9210 112
Hình 0-6 Ứng dụng Contact của N9210 113
Hình 0-7 Ứng dụng Calendar của N9210 114
Hình 0-8 Ứng dụng Office của Nokia 9210 115
Trang 11KHOA CNTT –
ĐH KHTN
11
DANH MỤC BẢNG
Bảng 4-1 Các hàm xử lý của bộ gõ tiếng Việt 63
Bảng 4-2Các hàm xử lý của AutoComplete 72
Bảng 4-3 Các hàm xử lý của AutoCorrect 73
Bảng 4-4 Các hàm xử lý của chức năng chuyển dấu 75
Bảng 0-1 Phím gõ tiếng Việt kiểu Telex 117
Bảng 0-2 Các phím gõ tiếng Việt kiểu VNI 119
Bảng 0-3 Các phím gõ tiếng Việt kiểu VIQR 120
Trang 12Như chúng ta được biết, cho đến bây giờ đã có rất nhiều hệ điều hành được sử dụng rộng rãi trên toàn thế giới : hệ điều hành Windows, Linux, Unix…Nhưng khi những chiếc DTDD1 cao cấp ra đời, cần đến 1 hệ điều hành cho chúng thì các hệ điều hành trên đều không phải là sự lựa chọn! Nhu cầu về 1 hệ điều hành mới dùng cho DTDD ra đời
Nhưng tại sao chúng ta phải có 1 Hệ điều hành khác cho DTDD?Câu hỏi này đặt ra cũng giải quyết cho vấn đề mà tại sao đề tài lại hướng đến lĩnh vực này
Các nhà phát triển DTDD cho rằng có 5 đặc điểm chính để cho thị trường DTDD trở thành độc nhất, dẫn tới nhu cầu có hệ điều hành thiết kế riêng cho DTDD là:
o DTDD có kích thước nhỏ và mang chuyển được
o DTDD có mặt ở khắp mọi nơi, trở thành thị trường rộng lớn cho những đối tượng tiêu thụ khác nhau
o Đa số DTDD có thể nối mạng - chúng có thể dùng khi được kết nối với mạng không dây, nối nội bộ với các thiết bị khác
o Những nhà sản xuất phải đặc trưng hóa sản phẩm của họ để phát triển
và cạnh tranh trong 1 thị trường thay đổi nhanh chóng
o Platform phải “mở” với những công nghệ khác nhau và những nhà cung cấp phần mềm khác nhau, để cho các nhà cung cấp dịch vụ hỗ trợ có thể phát triển, đồng thời dễ dàng phát triển cải tiến công nghệ
và dịch vụ
1 viết tắt của điện thoại di động( từ đây đến cuối tài liệu sẽ dùng từ viết tắt này)
Trang 13Để trở thành 1 thị trường tiêu thụ rộng lớn thì yếu tố về sự tin cậy là quyết định vì việc mất dữ liệu của điện thoại di động sẽ làm mất lòng tin của người dùng
Sự tin cậy thì đòi hỏi thiết kế hệ điều hành thật tốt và xử lý lỗi tốt, có khả năng khôi phục khi bị những lỗi thời gian chạy (run-time errors), hạn chế việc người dùng can thiệp vào mã nguồn làm mất đi sự ổn định của hệ thống, quản lý bộ nhớ hiệu quả bằng cách ngăn chặn những lỗ hỏng về bộ nhớ, giải phóng tài nguyên hệ thống khi không dùng tới Mặt khác, HDH cho DTDD phải cung cấp sự tích hợp giao tiếp và chức năng quản lý thông tin cá nhân
Thêm vào đó, chức năng kết nối mạng của DTDD yêu cầu 1 HDH đa nhiệm, tốc độ giao tiếp thời gian thực và thích hợp với nhiều giao thức khác nhau Ngoài ra để duy trì kết nối tốt, HDH phải xử lý tốt những kết nối bị đứt và thông báo tức thời cho người dùng Để sự truyền âm được trôi chảy và có thể cung cấp những chuẩn mới (chẳng hạn thế hệ thứ 3 của W-CDMA và sự phát triển của nó) thì mạng phải được thiết kế sao cho giao diện tầng ứng dụng vẫn còn thích hợp bất kể giao thức nào được dùng Còn HDH phải cung cấp đầy đủ bộ API để chắc chắn rằng các ứng dụng đạt được kết quả từ khả năng kết nối và có thể dễ dàng thích ứng với những giao thức mới mà nó sẽ được cài đặt
2 hệ điều hành
Trang 14Do đó, cách giải quyết vấn đề trên là tách ra thành 2 phần chuyên biệt là giao diện
và HDH Đặc biệt là HDH này phải có platform “mở” Nó phải độc lập với các nhà cung cấp sản phẩm phần mềm, các công ty tin học khác nhau, mạng khác nhau…
Nhìn lại những yêu cầu trên, những yêu cầu phải có của 1 HDH dành cho DTDD thì chúng ta đã hiểu được tại sao phải xây dựng 1 HDH khác, chứ không phải là các HDH thông thường, HDH mini được nữa
HDH đó phải thỏa mãn được những yêu cầu chức năng cao cấp trên mạng 2.5G và 3G HDH mà phải được thiết kế sao cho nhỏ gọn với 1 bộ nhớ giới hạn như của DTDD
Đó cũng chính là lĩnh vực mà đề tài hướng tới: hệ điều hành cho điện thoại di động,
nhằm giải quyết “bài tóan” Nghiên cứu về hệ điều hành dành cho điện thoại di động
để có thể lập trình hay tạo ra ứng dụng chạy trên nó, vốn đang là vấn đề “ thời sự” trong thời đại công nghệ thông tin như ngày nay
1.2 Các kết quả nghiên cứu hiện nay về lĩnh vực này
Ban đầu hệ điều hành dành riêng cho DTDD chỉ là hệ điều hành 16 bits và những chiếc DTDD lúc đó hầu như chỉ để thực hiện cuộc gọi Nhưng đến bây giờ thì đã có rất nhiều dòng sản phẩm DTDD khác nhau cũng như ngày càng hiện đại hơn và phong phú về chức năng HDH lúc này đã là 1 HDH 32 bits và DTDD không chỉ để thực hiện cuộc gọi mà còn có các chức năng giống như 1 máy PC Nghĩa là các điện
Trang 15Tuy vậy không phải Symbian không có các đối thủ, hiện nay sự phát triển ào ạt của công nghệ đã khiến cho sự cạnh tranh càng “khốc liệt” hơn
Hiện nay có 5 môi trường phát triển phổ biến cho thiết bị di động (được xem là các đối thủ lớn của Symbian):
o J2ME: Phổ biến nhất có khả năng kết hợp với các đối thủ khác
o Brew (Binary Runtime Environment for Wireless) là sản phẩm của Qualcomm, phát triển bằng C++, qua bộ Brew Toolkit, J2ME được đánh giá là có khả năng bổ sung tốt nhất cho BREW
o Symbian OS: hệ điều hành được thiết kế riêng cho điện thoại di động, thuộc sở hữu của các hãng điện thoại nổi tiếng như Nokia, Ericsson, Motorola, Panasonic, Psion trong đó Nokia nắm giữ toàn bộ cổ phần,
do vậy Symbian hiện nay đang chiếm gần 90% thị phần điện thoại di động J2ME có khả năng làm việc tốt trên Symbain OS version 7.0
o Openwave: Hãng sản xuất trình duyệt WAP nổi tiếng cùng tên chạy trên Symbian và kết hợp được với J2ME
o Microsoft: Với Windows CE dành cho SmartPhone, MS đang định tấn công vào thị trường phần mềm cho điện thoại di động với những
bộ phát triển công cụ hấp dẫn như Embeded VC++ và cả MS Visual Studio.NET gần đây
Trang 16KHOA CNTT –
ĐH KHTN
16
1.3 Nội dung nghiên cứu của đề tài
Để có thể bước vào thế giới DTDD và có thể điều khiển được chúng, việc hiểu về một hệ điều hành dành cho điện thoại di động thì không thể thiếu Đề tài này chọn nghiên cứu về HDH Symbian
Như đã trình bày ở trên về nhu cầu cần có 1 HDH riêng cho DTDD và những yêu cầu về HDH đó thì Symbian thỏa mãn tất cả những vấn đề được đặt ra Thực tế, HDH Symbian được thiết kế dựa trên 5 yêu cầu đó, giúp cho nó trở thành 1 HDH khác với những HDH trên desktop hay workstation và HDH server, hay là đối thủ nào của nó, mà không đạt được những tiêu chuẩn trên Có thể nói, đó là một HDH
đa nhiệm, bảo đảm chuẩn “mở” giúp cho nhà sản xuất DTDD dựa trên HDH Symbian có thể tạo ra sản phẩm riêng cho mình trên nền tảng của các công nghệ có sẵn Cấu trúc chặt chẽ của HDH Symbian đưa ra khả năng với các nhà phát triển các phần mềm, cho phép họ viết các ứng dụng mang đầy đủ các tính năng của công nghệ không dây
Chính vì những thế mạnh trên mà Symbian đã trở thành đề tài nghiên cứu đầy hấp dẩn và tiềm năng cho các nhà phát triển điện thoại di động, cũng là nội dung chính cho đề tài này Cụ thể, đề tài nghiên cứu về các nội dung sau :
o Tìm hiểu lịch sử phát triển của HDH Symbian 6.0
o Tìm hiểu các đặc tính và các thiết kế của Symbian 6.0
o Kĩ thuật chung để phát triển HDH Symbian
o Các hàm APIs mà HDH Symbian cung cấp
o Kiến trúc của phần mềm viết trên Symbian 6.0
o Bộ nhớ trong Symbian phones
o Các ngôn ngữ để phát triển phần mềm trên Symbian
o Vận dụng các kiến thức về Symbian để xây dựng ứng dụng minh họa
Trang 17KHOA CNTT –
ĐH KHTN
17
1.4 Tóm tắt kết quả của đề tài
Qua đề tài nghiên cứu này chúng em đã thu được một số kết quả sau :
o Hiểu rõ về cách thức hoạt động của hệ điều hành Symbian nói chung, Symbian version 6.0 nói riêng
o Hiểu rõ về những đặc thù của Nokia 9210, đặc biệt là khi kết hợp với Symbian 6.0
o Nắm được cách phát triển ứng dụng trên hệ điều hành Symbian, bằng
2 ngôn ngữ phổ biến nhất hiện nay là C++ và Java
o Nắm được và thực hiện một bộ gõ tiếng Việt cũng như các chức năng
hỗ trợ cho việc soạn thảo tiếng việt trên hệ điều hành Symbian 6.0 Từ
đó phát triển lên thành một phương pháp giải quyết các vấn đề soạn thảo tiếng việt trên bất cứ hệ thống Tức là biết được, quy trình cũng như những vấn đề cần thiết khi phát triển một giải pháp tiếng việt trên một hệ thống
o Phát triển được ứng dụng hỗ trợ soạn thảo Tiếng Việt VNSmartType
có thể đưa vào sử dụng thực tế
Trang 18KHOA CNTT –
ĐH KHTN
18
1.5 Bố cục luận văn
Nội dung luận văn được chia làm 6 chương :
Chương 1 : Tổng quan về đề tài, giới thiệu chung về đề tài, ý nghĩa và các mục
tiêu của đề tài, trình bày các vấn đề nghiên cứu, nội dung nghiên cứu của đề tài và kết quả dự kiến đạt được
Chương 2: Hệ điều hành Symbian, giới thiệu về HDH Symbian Các tính năng,
các thiết kế cũng như công nghệ chung trong các thiết kế của HDH Symbian
Chương 3: Vấn đề về phát triển ứng dụng trên HDH Symbian, giới thiệu bộ
nhớ và cách sử dụng bộ nhớ hiệu quả của Symbian phones, đồng thời giới thiệu kiến trúc của 1 phần mềm viết trên Symbian
Chương 4: Xây dựng ứng dụng VNSmartType, giới thiệu chức năng và trình bày
cách thiết kế và cách xây dựng các chức năng cũng như tổ chức bộ nhớ lưu trữ và kĩ thuật thực hiện chung
Chương 5:Cài đặt và thử nghiệm, trình bày về cách thức biên dịch cũng như cài
đặt một chương trình vào emulator và Nokia 9210 Chương này cũng giới thiệu tổng quan về máy Nokia 9210
Chương 6 Tổng kết và đánh giá, đúc kết lại những gì đề tài đã thực hiện được và
các hướng mở rộng trong tương lai
Phần phụ lục Thuật ngữ Tài liệu tham khảo
Trang 19HDH mới được lấy tên là EPOC, phản ánh một thời đại mới trong thiết bị thông tin không dây (Wireless Information Devices - WIDs)
Nhóm phát triển và nhóm tiếp thị sản phẩm đã hợp lại và thành lập công ty lấy tên
là Psion Software và tháng 6/1996, trong khi Psion đang phát triển EPOC thì Nokia – hãng sản xuất hàng đầu của thị trường DTDD giới thiệu Nokia 9000 Comunicator vào khoảng cuối năm 1996 Tuy vậy Nokia 9000 Comunicator sử dụng HDH GEOS của hãng Geo works, đây là HDH 16 bits và EPOC dĩ nhiên có cơ hội để đánh bại GEOS vì nó là HDH 32 bits Một ý tưởng hết sức quan trọng là nếu Psion Software
là sở hữu một tập hợp các nhà sản xuất thì thị trường của họ sẽ mở rộng toàn bộ đối với thiết bị không dây
Ngày 24/6/1998, một công ty mới, công ty Symbian được công bố trên thế giới CollyMyers, người phát triển EPOC trở thành người điều hành và Symbian trở thành sở hữu của Nokia, Ericsson và dĩ nhiên Psion Sau đó vào 10/1998, Motorola tham gia và vào 5/1999 Panasonic tham gia
Symbian là sở hữu của những nhà sản xuất hàng đầu trong ngành truyền thông và
có văn phòng đặt tại Luân đôn, Cambridge ở Anh, Silicon Valley ở Mỹ, Ronneby ở Thụy Điển và Tokyo ở Nhật mặc dù tại thời điểm đó, Symbian chỉ có hơn 700 nhân viên toàn thế giới
Trang 20KHOA CNTT –
ĐH KHTN
20
2.2 Kiến trúc tổng quan của HDH Symbian
Như đã giới thiệu, HDH Symbian là HDH được thiết kế theo đúng yêu cầu mà 1 HDH dành cho DTDD phải đạt được Nó gồm 6 thành phần tạo thành các thiết kế khác nhau cho các thiết bị :
o lõi của hệ điều hành, thường được gọi là kernel
o một tập hợp các middleware (phần mềm giữa 2 hệ thống) cho các dịch
vụ hệ thống
o một tập hợp các quản lý tài nguyên, gọi là application engines
o một khung chương trình để thiết kế giao diện người dùng
o các phương pháp để đồng bộ hóa với những máy khác
o Cài đặt máy ảo Java
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ư trong hình dưới đây :
Hình 2-1 Tính tương thích của HDH Symbian
Trang 21Quả thật, đây là một hệ điều hành “thống trị” trong lĩnh vực DTDD vì cho đến ngày nay thì Symbian đã được phổ biến và cài đặt trên nhiều DTDD cao cấp như Sony Ecrission P800, P900, Nokia các dòng 9200 (9210, 9210i, 9290), Nokia 6600,
7650, 3650, 3660, 3620, Nokia N- Gage, Siemens SX1, Sendo X, Panasonic X700, NTT DoCoMo Fujisu 2102V… BenQ, Motorola, Panasonic, Samsung, Sendo and Siemens cũ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 Training Centers Đ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ể tham gia 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à Java Community Process, cộng với cái nhìn tốt về công nghệ trong tương lai giúp cho HDH Symbian có chỗ đứng vững chắc, xâm nhập vào các hệ thống điện thoại khác nhau , trở thành HDH cho hầu hết các DTDD trên thị trường
2.3 Các đặc tính
Sở dĩ HDH Symbian là sự lựa chọn cho hầu hết các DTDD cũng chính vì các đặc tính sau của nó:
o có 2 thiết kế phần mềm tham khảo: Quartz và Crystal
o có 4 tùy chọn để phát triển chương trình: C++, Java, WAP, WEB
o tích hợp thông tin, nhắn tin, duyệt tài liệu và điện thoại không dây
Trang 22KHOA CNTT –
ĐH KHTN
22
o Giao thức giao tiếp: TCP/IP, WAP, GSM, Bluetooth, IrDA, Serial
o bảo mật toàn bộ, quản lý chứng nhận, bảo vệ những giao thức giao tiếp, chứng nhận cài đặt ứng dụng
o ứng dụng dồi dào và phù hợp: giao tiếp, thời khóa biểu, trình duyệt,
âm thanh, văn phòng, và hệ thống các ứng dụng hổ trợ…
o hổ trợ Unicode, dữ liệu nhập phức tạp, nhận diện chữ viết tay, thêm font hay định dạng văn bản
o đồng bộ hóa dữ liệu với những ứng dụng trên PC bằng Symbian Connect
Một loạt các đặc tính trên đã chứng tỏ lợi thế của HDH Symbian trong việc chạy đua cho vị trí dẫn đầu trong các HDH dành cho DTDD Ngoài ra, ta còn có thể khẳng định nó là 1 HDH mạnh mẽ và ổn định Bởi, trước tiên mỗi một tiến trình được chạy trong không gian địa chỉ được bảo vệ của riêng nó Điều đó làm cho bất
cứ một chương trình nào cũng không thể ghi đè lên vùng không gian địa chỉ của chương trình khác, nguyên nhân gây lỗi ở các ứng dụng Tiếp theo, ngay cả kernel của Symbian cũng chạy trong một vùng địa chỉ được bảo vệ của riêng nó, vì thế các lỗi của 1 chương trình không thể ngẫu nhiên ghi đè lên stack và heap của kernel và
đó là nguyên nhân gây lỗi của hầu hết các hệ thống mà hệ thống của Symbian không cho phép điều đó xảy ra Nếu chương trình cần chuyển dữ liệu cho một chương trình khác, chúng sử dụng cơ chế client-server của Symbian OS, cơ chế này cho phép các ứng dụng chuyển các dữ liệu bằng cách sử dụng hệ thống chuyển thông điệp Hệ thống chuyển thông điệp được thiết kế vì thế nó sử dụng rất ít tài nguyên hệ thống có thể: message overhead rất nhỏ và sử chuyển dữ liệu giảm đến mức tối thiểu
Để biết được các đặc tính thế mạnh này của Symbian được tận dụng như thế nào, ta
sẽ tìm hiểu về các thiết kế của HDH Symbian ở phần tiếp theo
Trang 23KHOA CNTT –
ĐH KHTN
23
2.4 Các thiết kế của HDH Symbian
Đúng như mục tiêu của nó là hướng đến nhiều loại thiết bị nên để cho các thiết bị có thể sử dụng được HDH Symbian, Symbian phát triển các thiết kế phần mềm khác nhau cho các thiết bị di động và điện thoại Có 3 thiết kế chính:
o keyboard-based mobile phone, điện thọai di động dùng keyboard (bàn
phím giống máy vi tính), là những thiết kế của thiết bị mà còn được
gọi là communicators- thiết bị thông tin có khả năng giao tiếp DTDD
tiêu biểu cho thiết kế này là Nokia 9210
Hình 2-2 DTDD Nokia 9210
o single-handed use mobile phones, là các thiết bị được thiết kế với khả
năng phức tạp về dữ liệu Đây chính là dòng máy smartphones, điện thoại thông minh với cả khả năng giao tiếp và dữ liệu DTDD tiêu biểu cho thiết kế này là Nokia 7650, có cả công nghệ GPRS, kết nối Bluetooth và hình ảnh digital
Trang 25KHOA CNTT –
ĐH KHTN
25
Riêng đối với dòng Communicators có 2 thiết kế hoàn chỉnh là Quartz và Crystal
o Crystal là sự phát triển của Psion Series 5 trong dòng sản phẩm
Nokia 9000 Communicator với sản phẩm gồm Nokia 9210, dựa vào Version 6.0 công bố vào 11/2000 Nó duy trì và nâng cao về thiết bị truyền tin không dây dựa trên keyboard của Symbian Crystal cung cấp sự tinh vi cho những người sử dụng chuyên nghiệp, thao tác bằng bàn phím, màn hình 640x200, với soft keys, giao diện đồ họa, thích hợp với nhiều ứng dụng
Quartz là dạng bảng (tablet device), sử dụng pen (cây viết) với một
nửa màn hình VGA vừa vặn cầm tay (máy palm), có kích thước nhỏ, giao diện đồ họa đúng ý người dùng và xây dựng trên việc định dạng chữ viết
Hình 2-5 Thiết kế Quartz
Trang 26kế 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
Chúng ta sẽ lần lượt tìm hiểu các thành phần của GT tiếp theo sau đây:
Trang 27KHOA 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 độ cao 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à ARMI Đâ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
o chuỗi các kí tự và vùng đệm chứa dữ liệu nhị phân
Trang 28o 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)
Trang 29KHOA 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 middlewares 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ọa 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
Trang 30Mặ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ái 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 theo
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 DTDD
Hãy nhìn hình vẽ minh họa sau:
Trang 31Trong 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
Còn Personal-area communications thì hổ trợ:
Trang 32KHOA 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 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:
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ì 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ăng này của 3 thiết bị trên
Trang 33Trong đó, 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ới
Hãy nhìn hình minh họa sau:
Hình 2-13 Application Engines
Trang 34Kế 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.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ây 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
Trang 352.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à 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-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
o servers cho bản cài đặt dự phòng, lưu trữ và đồng bộ
Trang 36o 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 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ậ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 DTDD trước đây, được minh họa trong sơ đồ dưới đây:
Hình 2-16 Các APIs mà HDH Symbian cung cấp
Trang 37Ví 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 database 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ại
2.6.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ức nà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.6.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 có thể tận dụng như:
o Truy cập file giữa các thiết bị sử dụng IrOBEX API trên cổng hồng ngoại (IrDA)
o Thực hiện các cuộc gọi các thiết từ xa sử dụng telephony API, với phương 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
Trang 38o 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.6.5 Symbian là một 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 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ày 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
Trang 39KHOA 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ối
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ệ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á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)
Trang 40bộ (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
2.6.6 Các mã lệnh (code) có thể dùng lại được
Một ưu đãi mà Symbian cung cấp cho những nhà lập trình trên nó là việc sử dụng lại mã nguồn có sẵn Thực vậy, khi một chương trình được load, hệ điều hành chắc chắn rằng tất cả các DLL mà nó sử dụng cũng được load Các DLL hệ thống được lưu trữ trong bộ lưu trữ vĩnh cữu (permanent storage) có thể được thi hành tại chỗ,
vì thế không cần phải load lên bộ nhớ chính DLLs mà được lưu trữ trong thẻ nhớ
mở rộng thì cần phải load lên bộ nhớ chính, nhưng nếu chúng đã được load lên bởi một tiến trình khác, thì chúng không cần phải load nữa
Hơn nữa, thiết kế của API trong hệ điều hành Symbian cho phép code được sử dụng lại ngay khi viết chương trình Rất hiếm khi phải viết lại từ đầu, nếu có thì cũng không bắt các lập trình viên viết lại các đoạn code để cài đặt ở dịch vụ cấp thấp Do
đó với cách đó, một chương trình mới có thể có rất ít code