2.3. Hệ điều hành cho máy PDA
2.3.1.1. Giới thiệu về Palm-OS
Khi Palm bắt đầu thiết kế hệ điều hành riêng, đã bắt đầu hình thành các khái niệm: cách thức sử dụng loại thiết bị này, giao diện người sử dụng mới,... Việc thiết kế Palm OS gồm các yêu cầu:
- Sự nhỏ gọn – Hệ điều hành thành công là hệ điều hành thành hoạt động hiệu quả ngay cả khi nó phải làm việc trong một môi trường có không gian giới hạn.
- Mạnh mẽ – Hỗ trợ kết nối tới thông tin bất cứ khi nào người sử dụng cần.
- Dễ dàng mở rộng – Cung cấp việc truy xuất đến các khe cắm card mở rộng.
- Mềm dẻo – thích hợp với nhiều người sử dụng, hệ điều hành phải hoạt động với nhiều loại thiết bị với nhiều môi trường.
Giống như các hệ điều hành khác, Palm OS không có trạng thái tắt hoàn toàn bởi bộ nhớ, đồng hồ thời gian thực và các bảng mạch khác cần nguồn điện (rất nhỏ) để bảo đảm hoạt động chính xác của nó, điều này là rất quan trọng bởi nếu đặt chương trình trên RAM của thiết bị thì phải bảo đảm rằng
thiết bị luôn được cung cấp nguồn điện đầy đủ để không rơi vào trạng thái mất mát dữ liệu đáng tiếc do mất điện.
Plam OS hỗ trợ ba trạng thái hoạt động:
- Trạng thái “ngủ” (Sleep mode) – với trạng thái này, mọi thứ trên thiết bị không cần đến nguồn điện đều được tắt bao gồm màn hình, đồng hồ hệ thống chính,... Chỉ có các hệ thống cần thiết như các mạch sinh ra các tín hiệu ngắt và đồng hồ thời gian thực là còn hoạt động. Đối với các ngắt, thì các ngắt tín hiệu ở cổng serial và ngắt tín hiệu nút nhấn cứng, sẽ làm hệ thống “thức dậy”.
- Trạng thái giả ngủ (Doze mode): Thực tế, hầu hết thời gian bật thiết bị, thì thiết bị đều ở trạng thái giả ngủ. Đồng hồ chính, màn hình được bật và nhịp đồng hồ bộ xử lý được chạy nhưng không thi hành bất kỳ một lệnh nào. Khi không có tiến trình xử lý nhập liệu, hệ thống đều chuyển sang trạng thái giả ngủ. Mọi ngắt đều được bộ xử lý nhận và bộ xử lý chuyển khỏi trạng thái giả ngủ.
- Trạng thái chạy: Với trạng thái này, bộ xử lý bước vào trạng thái thực thi các lệnh. Dữ liệu người dùng trong trạng thái ngủ hoặc giả ngủ sẽ làm hệ thống chuyển sang trạng thái chạy.