Карманные компьютеры (handhelds) и их ОС
К данному классу устройств, как уже отмечалось, относятся карманные персональные компьютеры (КПК), или Personal Digital Assistants (PDA), и мобильные телефоны. Особенности и проблемы данного класса компьютеров следующие:
- ограниченный объем памяти;
- относительно медленные процессоры: для мобильного устройства типично ожидание выполнения простейшей команды в течение нескольких секунд, что неудобно;
- маленький размер экрана мониторов (дисплеев), отсюда – необходимость в специализированном программном обеспечении для поддержки GUI; например, в Java Micro Edition (JME) – версии Java для мобильных устройств – невозможно использовать удобные общие пакеты AWT и Swing для разработки GUI; вместо них разработчику в JME предлагаются специализированные пакеты вида javax.microelectronics…lcdui,несовместимые со стандартным изданием Java (JSE), что делает код зависимым от типа устройства, а иногда – и от конкретных моделей мобильных телефонов, которые имеют разные размеры экранов;
- невысокая скорость связи через Интернет: например, GPRS-модем мобильного телефона обеспечивает связь примерно со скоростью dial-up – 3-5 килобайт в секунду;
- связь для передачи данных осуществляется через Bluetooth или IrDA (причем последний часто отсутствует); имеются не все необходимые порты: например, часто в мобильных устройствах отсутствует порт USB, т.е. для них нельзя использовать "флэшки", что весьма неудобно, и приходится использовать специальные сверхминиатюрные диски типа SmartMedia, для которых в настольных компьютерах не всегда имеются адаптеры для чтения.
Тем не менее, современные средства коммуникации (например, Wi-Fi) и совместимые с персональными компьютерами порты и внешние модули памяти начинают использоваться и на карманных и мобильных устройствах.
В операционных системах и другом системном программном обеспечении для карманных и мобильных устройств приходится учитывать все эти ограничения, в частности, ограниченный объем памяти. В связи с этим целый ряд удобных повседневных программистских возможностей приходится для мобильных устройств запрещать (например, в JME нет вещественной арифметики).