MỤC LỤC
Symbian’s Generic Technology đượ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. Mặt khác, 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 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 Symbian Connect.
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.
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.
Các ứng dụng và dịch vụ
Bộ điều phố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 cao nhấ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ều hà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ức tạ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ợp vớ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 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.
- 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. ( ROM và DULL được nạp vào RAM), vùng nhớ tiến trình (hình biểu tượng cho ứng dụ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ăn xế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ằng phương thức new hay dùng User::Alloc(). Ở đây, một trang 4KB được chia nhỏ ra thành các vùng nhỏ hơn gọi là sector có kích thước 512 byte, phù hợp hơn cho các file có dung lượng nhỏ.
Do không có vùng nhớ ảo bằng cách thay thế trang trên đĩa cứng như trên PC nê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.
QUẢN LÝ THỜI GIAN
Phát triển ứng dùng bằng C++
Phát triển ứng dụng bằng Java
Các thiết bị dùng HDH Symbian, và máy giả lập đều có thể nối mạng nộ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.
- 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ình phát triển ứng dụng. 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.
Quản lý sự kiện
+ 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. + 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.
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. Tầng máy ảo Java bao gồm KVM (K Virtual Machine) là bộ biên dịch mã Bytecode có nhiệm vụ chuyển mã bytecode của chương trình Java thành ngôn nhữ máy để chạy trên thiết bị di động. Tầng này cung cấp một sự chuẩn hoá cho các thiết bị di động để ứng dụng J2ME sau khi đã biên dịch có thể biên dịch trên bất kì thiết bị di động nào có J2ME sau khi đã biên dịch có thể hoạt động trên bất kì thiết bị di động nào có J2ME KVM.
- Kết nối cáp dữ liệu từ PC sang cổng dữ liệu của điện thoại di động: Việc này yêu cầu người dùng phải có tập tin JAR thật sự và phần mềm truyền thông để download ứng dụng sang thiết bị di động qua cáp dữ liệu. Form là lớp hữu dụng nhất của các lớp Screen vì nó cho phép chứa nhiều item trên cùng một màn hình, các item có thể là DateField, TextFiels, ImageItem, TextItem, ChoiceGroup. Khi cài đặt MIDlet thành công, biểu tượng chương trỡnh MIDlet xuất hiện trong Application Laucher thỡ MIDlet cú thể thực thi bằng cỏch chọn nú như các chương trỡnh ứng dụng viết bằng C++.
Hóng Sun cung cấp bộ cụng cụ phỏt triển JDK thỏng 2 năm 1996 giúp các lập trỡnh viờn có thể Test và chạy thử chương trỡnh của mỡnh mà khụng cần phải cú mỏy điện thoại thật.
THIẾT BỊ ĐƯỢC SỬ DỤNG ĐỂ MÔ PHỎNG
CSDL của chương trình được thiết kế sử dụng các file text (text) .Các bộ từ sẽ được ghi vào các file text khác nhau dựa vào chữ cái đầu của từ. Cái file đó sẽ được đánh tên bằng các chữ cái đầu , danh sách các chữ cái đầu và tên file được lưu vào 1 file chỉ mục để tiện cho việc tìm kiếm. Khi một điều khiển nào đó có sự thay đổi trạng thái (ở đây là ô tìm kiếm ) thì phương thức tương ứng (itemStateChanged) sẽ được kích hoạt.
// getFileName() : lấy tên file từ điển dựa vào chữ cái đầu của từ cần tìm final String fileName = this.dictIndex.getFileName(wordSmallCases);. Phương thức getFileName(final String word): có tác dụng dựa vào từ nhập vào (chữ cái đầu tiên) và file chỉ mục index.dat sẽ trả về tên của tệp chứa bộ từ. Sau khi có được thứ tự của từ gần đúng nhất thì phương thức linearSearch() sẽ tìm những từ gần đúng tiếp theo kể từ từ đầu tiên với số lượng yêu cầu và sẽ trả về Vector chứa kết quả.
// duyệt từng từ trong mảng chứa từ bắt dầu từ cái từ đàu tiền tìm thấy for (int i=startIndex; i < this.dictKeys.length; i++) {.