Welcome to rocktonam

Monday, December 26, 2005

Cảm xúc gia đình

Bạn nghĩ thế nào về gia đình?

Gia đình là nơi quan trọng nhất đối với mỗi chúng ta. Tôi cũng không phải là một ngoại lệ.
Tôi tự nhận thấy mình chưa phải là một người con ngoan, cách xử sự của tôi với gia đình chưa được tốt lắm. Tuy nhiên tôi tâm niệm một điều là với tôi thì ba mẹ tôi là người rất quan trọng. Họ chính là những gì quan trọng trong cuộc đời tôi, tôi chưa giúp được gì nhiều cho họ cả, nhưng mà tôi đã kịp nhận ra nhiều thứ ngay khi chưa quá muộn. Hãy cố gắng để có thể sống tốt và lương thiện, biết vươn lên, và luôn biết giữ niềm tin. Khi đó bạn đã góp phần không nhỏ mang lại niềm vui, niềm hạnh phúc cho ba mẹ của mình!

Hãy làm điều gì đó, bất kể điều gì dù là rất nhỏ chỉ cần điều đó là tốt và mạng lại hạnh phúc cho ba mẹ, cho mình và cho những người xung quanh!

To be continue...

Sunday, December 25, 2005

Tìm hiểu về hệ điều hành Symbian (Phần 2)

Hệ điều hành Symbian được xây dựng để chạy trên các điện thoại Symbian. Do đó, các đặc tính phần cứng của điện thoại có tác động sâu sắc đến hệ điều hành. Vì vậy, để hiểu rõ Symbian, chúng ta cần tìm hiểu 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áy tí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ại Symbian 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 khi tạo thiết bị. Điều này hoàn toàn khác với trên PC, nới mà ROM chỉ chứa các phần nạp ban đầ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ên ROM 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ường khoả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. 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ôi phục.

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

o 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.
o Một bàn phím: có thể chỉ là bàn phím số hay qwerty.
o Một khe cắm thêm thẻ nhớ (memory card): đây là bộ nhớ ngoài của điện thoại Symbian và được gán nhãn ổ D.
o Một công tuần tự RS232: để giao tiếp với PC.
o 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ại Symbian và các thiết bị khác như PC, Laptop, Palm PDA...
o 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ột thiế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ên cá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ên Symbian. Ngoài ra với nguồn năng lượng hạn hẹp, Symbian phải được thiết kế đặc biệt, có thể chạy ổn định ngay cả khi đang sạc pin hay thay pin.

HĐH Symbian và các nền hệ thống sử dụng Symbian:

Symbian bắt nguồn từ EPOC (Electronic Pocket Communication), một hệ điều hành được phát triển cho các máy tính và thiết bị liên lạc bỏ túi của Psion có bộ xử lý yếu và bộ nhớ nhỏ. Đó là lý do mà đôi khi chúng ta thấy sự xuất hiện của EPOC trong Symbian như thư mục chính trong bộ công cụ lập trình có tên là Epoc32.

Symbian được phát triển để tạo ra một hệ điều hành mạnh mẽ cho thế hệ thiết bị lai giữa PDA và mobile phone mà người ta gọi là WID (Wireless Information Device). Tùy theo tỷ lệ kết hợp giữa PDA và mobile mà người ta chia các thiết bị dùng Symbian thành 2 nhóm: Smartphone (thiên về mobile phone) và Communicator (thiên về PDA). Điểm độc đáo của Symbian là cung cấp một hệ điều hà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ủa cá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ười dùng: như mô hình Smartphone (Pearl) có kiểu dáng giống điện thoại di động thường với bản phím số phục vụ cho những khách hàng vốn trung thành với mobile phone truyền thống, mô hình Communicator Quartz theo kiểu dáng của PDA phục vụ cho khả năng tìm kiếm qua màn hình cảm ứng hay mô hình Communicator Crystal có dáng dấp một laptop phù hợp cho các chức năng nhập liệu.

Sự kết hợp của hệ điều hành Symbian và những đặc điểm riêng phục vụ cho các dòng thiết bị đã tạo ra nhiều nền hệ thống khác nhau như chúng ta đã biết: Series 60, series 80, series 90 và UIQ.

- Series 60: (theo mô hình Smartphone Pearl): kích thước màn hình 176 x 208 pixel bao gồm: Nokia 7650 , 3650/3600, 3660/3620, N-Gage, N-Gage QD, 6600, 7610, 6260, 6630, 6670, 3230 hay Panasonic X700, Samsung SGH-D710, Siemens SX1, Sendo X,...
- 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, Arima ASP805...
- 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 duy nhất hiện tại là Nokia 7710 (cải tiến từ sản phẩm trước đó là Nokia 7700).
- Ngoài ra Symbian còn là hệ điều hành cho các dòng máy của 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ình cấ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ông nhữ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ác nhau cũng sẽ có sự khác nhau. Đây là những điều và những lập trình viên nên lưu ý để biết ứng dụng của mình có thể hoạt động tốt trên những thiết bị nào.

SDK, IDE và 1 số công cụ cho lập trình C++ trên Symbian

SDK (Software Development Kit):

Symbian SDK là bộ công cụ phát triển được dùng cho việc phát triển ứng dụng chạy trên điện thoại Symbian. Mỗi một nền hệ thống sẽ có bộ SDK riêng với nhiều phiên bản theo các phiên bản hệ điều hành và các IDE hỗ trợ. Mỗi một bộ Symbian SDK bao gồm các thành phần sau:

- Một chương trình giả lập Emulator của điện thoại Symbian mà bộ SDK hỗ trợ chạy trên hệ điều hành Windows. Các chương trình ứng dụng sẽ được kiểm lỗi và chạy thử trước khi được cài đặt trên điện thoại Symbian. Chương trình Emulator và các phần liên quan được lưu trữ trong thư mục con Epoc32 trong cây thư mục của bộ SDK sau khi cài đặt trên máy tính cá nhân.
- Các file header và thư viện phục vụ cho phát triển ứng dụng chứa trong thư mục con Epoc32\include.
- Một trình biên dịch dựa trên GCC để biên dịch ứng dụng cho điện thoại Symbian chứa trong thư mục con Epoc32\gcc.
- Các công cụ bổ sung dùng cho quá trình phát triển, biên dịch và triển khai ứng dụng nằm trong thư mục Epoc32\tool.
- Tài liệu tham khảo và các ví dụ tham khảo cho các lập trình viên nằm trong thư mục con Documentation và Example.
-Các phiên bản SDK hỗ trợ Metrowerks CodeWarrior sau khi cài đặt sẽ tạo một thư mục con Epoc32\WINSCW trong khi các phiên bản hỗ trợ IDE của Microsoft hay Borland sẽ tạo thư mục Epoc32\WINS. Đây là 2 thư mục chứa dữ liệu hay thông tin cấu hình cho Emulator. Trong thư mục này sẽ có các thư mục trung tên với ổ đĩa trên điện thoại (c,d) nên những file dữ liệu mà ta dự định để trên điện thoại thật thì khi chạy trên Emulator sẽ đặt trong các thư mục này.

Ghi chú: - Các công cụ biên dịch thường phải chạy trên nền Perl nên trước khi cài đặt các bộ Symbian SDK, phải cài đặt các bản Active Perl. Đôi khi các phiên bản còn yêu cầu phải cài đặt môi trường thực thi Java.
- Các bộ SDK chỉ hoạt động trên các hệ điều hành Windows NT, 2000 về sau.
- Các lập trình viên thường phát triển ứng dụng cho nhiều nền hệ thống phần mềm nên đôi khi họ cài đặt nhiều bộ SDK khác nhau cùng lúc. Lúc này, các lập trình viên phải chú ý đến một biến môi trường có tên là EPOCROOT, được dùng để xác định bộ công cụ SDK hiện thời đang hoạt động. Để chuyển đổi hoạt động giữa các bộ SDK, ta có thể đặt lại giá trị cho biến EPOCROOT bằng câu lệnh: >devices -setdefault .

Ví dụ: >devices -setdefault @UIQ_21:com.symbian.UIQ hoặc bằng các đặt lại giá trị trong file devices.xml nằm trong thư mục: \Program Files\Common Files\Symbian.

a. Series 60:
• Series 60 phiên bản 1.0: bộ công cụ phát triển dựa trên hệ điều hành Symbian 6.1 với các bản phân phối cho các môi trường phát triển IDE khác nhau: (cho các máy 7650, 3650/3660, NGage)
+ Series 60 SDK 1.2 hỗ trợ IDE Borland C++ BuilderX hay Microsoft Visual C++ (v6.0 or .NET).
+ Series 60 SDK 1.2 hỗ trợ IDE Metrowerks CodeWarrior cho hệ điều hành Symbian.

• Series 60 phiên bản 2.0: bộ công cụ phát triển dựa trên hệ điều hành Symbian 7.0 với các biến thể :
+ Series 60 SDK 2.0 hỗ trợ IDE Borland C++ BuilderX hay Microsoft Visual C++ (v6.0 or .NET).
+ Series 60 SDK 2.0 hỗ trợ IDE Metrowerks CodeWarrior cho HĐH Symbian.
Hiện có một số phiên bản mới bổ sung một số API cho các dòng máy sau hay sửa lỗi. Chi tiết các bạn có thể xem tại đây: http://www.forum.nokia.com/main/0,,034-4,00.html hoặc http://www.newlc.com/article.php3?id_article=65

b. UIQ:

Hiện có 2 phiên bản có thể download là UIQ 2.0 và 2.1 đều hỗ trợ phát triển bằng C++, nhưng UIQ 2.1 hỗ trợ nhiều API hơn. Các IDE hỗ trợ là Metrowerks CodeWarrior: hỗ trợ cả UIQ 2.0 và UIQ 2.1 và Borland C++BuilderX chỉ hỗ trợ cho UIQ 2.1. Chi tiết download: http://www.newlc.com/article.php3?id_article=67.

c. Nokia 9200 Series và Series 80:

SDK Nokia 9200 Series được dùng để phát triển ứng dụng cho các dòng máy Nokia 9210 và 9210i. Để phát triển ứng dụng với 9200 Series SDK bằng C++, chúng ta có thể sử dụng các IDE như MS Visual C++ 6.0 bằng công cụ tạo dự án Symbian OS Wizard hay sử dụng IDE Borland C++ BuilderX. Hiện tại hình như SDK Nokia 9200 Series đã bỏ và dùng ta có thể dùng SDK hỗ trợ Series 80 để phát triển.

Series 80: Phiên bản hiện tại được cung cấp là 2.0. Hỗ trợ 2 phiên bản cho Metrowerks CodeWarrior và Borland C++ BuilderX.
Download: http://www.forum.nokia.com/main/0,,034-369,00.html

d. Series 90

Phiên bản mới này được gọi là Nokia 7710 SDK dùng để phát triển ứng dụng cho điện thoại duy nhất Series 90 hiện tại: N7710. Xây dựng ứng dụng với các IDE như MS Visual C++ 6.0, Borland C++ BuilderX hay Metrowerks CodeWarrior. Download: http://www.forum.nokia.com/main/0,6566,034-801,00.html

IDE (Integrated Development Environment):

Như hầu hết mọi ngôn ngữ cấp cao khác đều có môi trường phát triển được tích hợp IDE để phục vụ cho công việc lập trình và biên dịch, kiểm lỗi. Phát triển ứng dụng trên Symbian bằng C++ có thể sử dụng nhiều IDE khác nhau nhưng không phải IDE nào cũng có thể sử dụng cho mọi SDK mà Symbian cung cấp. Hiện thời chúng ta có thể sử dụng các IDE sau: MS Visual C++ 6.0 hay .NET, Borland C++ Builer 6.0 Nokia Edition/C++BuilderX và Metrowerks CodeWarrior. Việc chọn lựa IDE phụ thuộc vào sự hỗ trợ các SDK của nó và sự quen thuộc của những lập trình viên.

a. MS Visual C++ 6.0

Đây là IDE phổ dụng cho phát triển ứng dụng viết bằng C++ do Microsoft phát triển trong bộ Visual Studio. Tuy nó ra đời trước Symbian nên không hỗ trợ xây dựng dự án ứng dụng Symbian từ đầu nhưng với các công cụ phụ trợ, ta hoàn toàn có thể phát triển ứng dụng Symbian trên VC++ 6.0. Một điểm lưu ý là VC++ 6.0 phải được cài bản vá lỗi ít nhất là SP3.

Ngoài ra chúng ta có thể MS Studio .NET để phát triển cho Symbian và dùng kèm theo plugin sau: EPOCfromMMP, download tại:

http://www.newlc.com/article.php3?id_article=243.

b. Borland C++ Builder 6.0 Nokia Edition và C++ BuilderX

Hai IDE này do Borland phát triển. C++ BuilderX là phiên bản phát triển của Borland C++ Builder 6.0 Nokia Edittion và hiện được dùng để phát triển ứng dụng Symbian hơn là Borland C++ Builder 6.0 Nokia Edition. C++ BuilerX được sử dụng để phát triển các ứng dụng chạy trên nền hệ thống Series 60 là chủ yếu.

Tuy vậy C++ BuilderX vẫn có hỗ trợ UIQ 2.1. Hiện phiên bản Borland C++ Builder X 1.5 là một phiên bản miễn phí:
Download tại http://www.borland.com/cbuilderx/

c. Metrowerks CodeWarrior

Metrowerks CodeWarrior là IDE được biết đến nhiều nhất cho việc phát triển ứng dụng Symbian. Mặc dù nó mới chỉ được sử dụng từ năm 2003 (trước đó chủ yếu sử dụng các công cụ của Microsoft là IDE VC++ 6.0) nhưng nay nó đã được sử dụng rộng rãi trong cộng đồng phát triển Symbian.

IDE này có 3 bản phân phối khác nhau:
• Personal Edition:
- IDE đầy đủ.
- Công cụ biên dịch cho giả lập Emulator và điện thoại.
- Kiểm lỗi (debugger) trên Emulator.

• Professional Edition:
- Tất cả các đặc tính của Personal.
- Debug trên điện thoại Symbian (không hỗ trợ cho dòng Series 60).
- Hỗ trợ Symbian DevKits (mã cung cấp cho các nhóm thành viên) và tham khảo phần cứng.

• OEM Edition:
- Tất cả các đặc tính của Professional
- JTAG và Multi-ICE debugging.
- Giải lập Virtio VXPS (Intel XScale) và VPOM (TI OMP).

Thường các lập trình viên chỉ cần sử dụng phiên bản Personal hoặc Professional. Các phiên bản này có thể cài đặt trên Windows NT4 hay từ Windows 2000 trở lên.

CodeWarrior hỗ trợ các bộ SDK sử dụng hệ điều hành từ phiên bản 6.1 trở về sau, nghĩa là chúng ta không thể dùng nó để phát triển ứng dụng với bộ công cụ Nokia 9200 Series SDK. Với các bộ công cụ khác, thường có bản phân phối hỗ trợ riêng cho CodeWarrior như Series 60 SDK 1.2 (hay 2.0) hỗ trợ IDE Metrowerks CodeWarrior, UIQ 2.0 (chỉ sử dụng được với CodeWarrior), UIQ 2.1 hỗ trợ IDE Metrowerks CodeWarrior, Series 80 và Series 90 đểu hỗ trợ IDE Metrowerks CodeWarrior. Chúng ta phải chọn đúng bản phân phối để không bị lỗi trong quá trình biên dịch.

Hiện CodeWarrior đã có bản 3.0, đây là link down bản 2.8:
http://www.forum.nokia.com/main/0,6566,034-723,00.html

Một số tool hỗ trợ:

Ngoài các tool do SDK hỗ trợ, chúng ta có thể sử dụng 1 số tool sau để phục vụ cho công việc lập trình của mình. Download tại:
http://www.symbian.com/developer/downloads/tools.html.


Tổng quan về hệ điều hành Symbian (Phần 1)

Nguồn gốc của hệ điều hành Symbian bắt đầu ở một vài thiết bị xách tay đầu tiên. Hệ điều hành bắt đầu xuất hiện năm 1988 là SIBO (sixteen bit organizer – 16 bit). SIBO chạy trên những máy tính phát triển bởi Psion Computers, nơi đã phát triển hệ điều hành chạy trên những thiết bị nhỏ. Máy tính đầu tiên sử dụng SIBO, máy xách tay MC, thất bại ngay khi được công khai, nhưng cũng có một vài kiểu máy thành công sau MC.

Năm 1991, Psion sản xuất Series 3: một máy vi tính nhỏ có kích thước màn hình một nửa VGA, có thể bỏ vừa vặn trong túi. Tiếp theo sau Series 3 là Series 3c năm 1996, sử dụng màn hình nhỏ hơn và có nhiều tổ chức hơn; và Series 3mx năm 1998, với một bộ xử lý nhanh hơn. Mỗi một máy SIBO này là một thành công lớn, chủ yếu do 3 nguyên nhân chính : SIBO quản lý nguồn lực tốt, bao gồm những ứng dụng hiệu quả và sáng sủa, và dễ dàng giao tiếp với máy khác, bao gồm máy PC và những thiết bị xách tay khác. SIBO cũng dễ gần với những người phát triển: việc lập trình trên ngôn ngữ C, có thiết kế hướng đối tượng và làm việc trên máy ứng dụng, một phần của hệ điều hành Symbian. Việc cải tiến máy này là một đặc tính mạnh của SIBO; có thể chuẩn hóa API và trừu tượng hoá định dạng từ người lập trình ứng dụng.

Vào giữa những năm 90, Psion bắt đầu làm việc trên một hệ điều hành mới. Đây là một hệ 32 bit được hỗ trợ thiết bị điểm ảnh trên màn hình cảm ứng, sử dụng đa phương tiện, nhiều giao tiếp hơn, nhiều hướng đối tượng hơn và có thể thích hợp với cấu trúc và thiết bị khác. Kết quả đầu tiên là giới thiệu EPOC Release 1. Psion xây dựng thử nghiệm với SIBO và sản xuất một hệ điều hành mới hoàn toàn. Nó bắt đầu với nhiều tính năng nền tảng, là một phần của SIBO và được xây dựng lên từ đó.

EPOC được lập trình trên ngôn ngữ C++ và được thiết kế hướng đối tượng. Nó được dùng tiên phong bởi SIBO và mở rộng ý tưởng thiết kế này sang nhiều máy khác, có thể truy cập đến những dịch vụ điều hành và thiết bị ngoại vi khác. EPOC còn mở rộng việc giao tiếp khác như đa phương tiện, màn hình cảm ứng và khái quát hoá giao diện phần cứng. EPOC còn phát triển nhiều sản phẩm như EPOC Release 3 (ER3) và EPOC Release 5 (ER5). Những máy này chạy trên nền mới như máy vi tính Psion Series 5 và Series 7.

Khi EPOC phát triển, Psion cũng nhận thấy những hệ điều hành của họ cũng cần thích nghi với nền tảng phần cứng khác. Từ điện thoại di động đến thiết bị Internet đều có thể làm việc tốt với EPOC. Để thuận lợi hơn, Psion và một số công ty đứng đầu trong lĩnh vực điện thoại di động như Nokia, Sony Ericsson, Motorola và Matsushita (Panasonic) - định ra một dạng chung gọi là Symbian, thuộc quyền sở hữu và phát triển của hệ điều hành EPOC, bây giờ được gọi là hệ điều hành Symbian.

Hệ điều hành Symbian là mục tiêu rõ ràng đối với những nền tảng tổng quát khác. Nó đủ uyển chuyển với những đòi hỏi cho việc phát triển những dạng điện thoại di động cao cấp, cho phép nhà sản xuất cải tiến những sản phẩm của họ.

Giới thiệu 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ể ứng dụ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, thường gọi là kernel.
- Một bộ tổng hợp các phần trung gian cho việc điều hành, gọi là midlleware.
- Một tập quản lý tài nguyên, gọi là application engines.
- Một khung làm việc cho việc thiết kế giao diện, User Interface Framework.
- Các phương thức cho việc đồng bộ với các máy khác, Synchronization Technology.

The Symbian OS Kernel:

Trung tâm của hệ điều hành 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ình cho 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ất củ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ột chươ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ành má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ần giữ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 giao tiế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.

Middleware:

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. Trong Symbian 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 từ nhiều nguồn khác nhau - hoặc là khách (clients) – và phối hợp truy xuất và thực hiện bằng cách trả lời những yêu cầu đó. Bằng cách tạo ra một lớp mới cho middleware, những người thiết kế Symbian đã làm cho nó dễ thiết kế một dịch vụ hệ thống mới và nâng cấp dịch vụ có sẵn mà không cần viết lại phần chính của hệ điều hành.

Application Engines:

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 truy cậ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.

Khung giao diện người dùng (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ọn khung 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ững người thiết kế đã đặt nền tảng cho nhiều giao diện khác có thể được xây dựng. Trong phiên bản hiện hành của Symbian, có hai giao diện được xây dựng trên khung giao diệ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ều khiể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ện chính của Uikon bao gồm thành phần phổ biến rộng rãi. Standard Eikon bao gồm những mã bắt đầu cho những đoạn chương trình xảy ra trong thiết kế, nhưng những hà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ển riêng.

Công nghệ đồng bộ (Synchronization Technology):

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ợp nhữ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 ở ba 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ên thiế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ển dạng văn bản sang HTML và một vài ứng dụng văn phòng của Symbian sang bản tương ứng của nó trên Windows.

(Xin xem tiếp phần 2)

Wednesday, December 07, 2005

About rocktonam.


Xin chào các bạn!

Chào mừng các bạn đã ghé thăm blog của tôi!

Chúng ta cùng làm quen nhé! Tôi là rocktonam (hihihi chắc bạn cũng biết rồi - là tên của blog còn gì!), sau đây là một vài thông tin khác:

- Sở thích: Rock, IT, Bóng đá (đội tuyển Brasil, Arghentina, Italy, AC Milan, ... chỉ tiếc là tôi đá bóng cực tệ luôn!).
- ...bí mật!
- Nơi làm việc: Hà nội.
- Email: rocktonam@yahoo.com | rocktonam@gmail.com | rocktonam@hotmail.com | ...

- Để biết thêm thông tin, xin vui lòng liên lạc qua Email.


 

   Copyright © 2005 rocktonam. Contact me at rocktonam@yahoo.com or rocktonam@gmail.com

   Or now you can send your massages to me [rocktonam] -->

   Ghi rõ nguồn rocktonam.blogspot.com khi phát hành lại thông tin từ trang blog này.