Дополнительные устройства для КПК
Инфракрасный порт служит для передачи данных в другой КПК. В Слоты расширения–для подключения внешних устройств, например микрофон, модем, фотоаппарат, пейджер, дополнительную память, GPS приемник (навигация). КПК Visor как был, так и остается самым расширяемым КПК за счет использования слота Springboard. Для этого слота масса всяких модулей по дешевым ценам. Самые интересные модули: VisorPhone - превращающий Visor в телефонную трубку, MP3 Module, модем, а также Backup Module. Например пользователи Visor могут делать бэкап всей информации на специальный модуль - это значит, что они не так привязаны ксвоему ПК, синхронизацию можно делать значительно реже и не боятся потери данных. Порт для Крэдла служит для синхронизации, также в этот порт можно подключать другое устройства например модем. Как только вы вставляете Модуль в слот вы сразу можете им пользоваться, т.к. приложения для работы с ним находятся в его памяти. Следует также помнить что дополнительные модули тоже потребляют питание, в результате время автономной работы снижается. Экономить питание можно, если отключить автоматический прием по инфракрасному порту, отключить звук. Если КПК используется для чтения можно поставить хак который понижает скорость процессора, которая не нужна при чтении.
КПК сегодня На последок следует сказать несколько слов о тенденциях в мире Ручных Компьютеров. За последние 2 года (2000 – 2001) появились новые модели КПК с более мощными ресурсами и поддержкой мультимедиа и беспроводной связи, Сегодня мы наблюдаем изменение изначальной концепции Ручных Компьютеров: теперь это уже не «подсоединяемый органайзер», предоставляющий только базовые функции и возможность связи с ПК, а более или менее полноценный ручной ПК.
Можно даже сказать больше, термин Персональный Компьютер, который появился в 80х годах уже потерял свое первоначальное значение. ПК стали «общими»: 1) ПК на работе не является персональным т.к. он «рабочий» и вне работы человек не связан с ним и не может им воспользоваться. 2) Домашний ПК – это «семейный» компьютер, вся семья имеет к нему доступ, и опять же вне дома им нельзя воспользоваться. 3) Современный ПК обладает такими большими ресурсами, что его нет смысла использовать только для одного человека. ПК начали использовать как серверы – т.е. коллективное использование. 4) Пример персонального устройства которое неразлучно со своим хозяином – мобильный телефон. А КПК как раз может стать тем самым Персональным Компьютером нового типа. Он может неразлучно находится только с одним человеком. Его можно повсюду брать с собой и работать с ним. КПК не сравним с Ноутбуком по размерам и времени автономной работы.
В следствии жесткой конкуренции КПК Palm и КПК PocketPC (WindowsCE), Мир КПК разделился на 2 категории – Palm и PocketPC. Casio первой поняла, что карманный компьютер может быть мультимедийным устройством. процессор StrongARM 206 MГц и 32Мб памяти - ныне стандарт для Pocket PC.
Рано или поздно при покупки КПК вы сталкнетесь с делемой «Что брать?», недорогой но простой Palm или подороже но PocketPC. Для сравнения далее представленны мнения пользователей КПК по поводу этого дела (доводы в сторону Palm или WinCE, которые я встречал в разных конференциях)
1. Мультимедиа в жизни не очень то и нужна, а тем более в кармане, главное размеры и удобство 2. Палм это то что надо т.к. он легкий, в карман влазит и не выпирает. 3. многие люди когда видят Палмы то вообще не понимают, что в них можно делать, а когда видят виндовс в PocketPC то вопросов не возникает, поэтому покупают PocketPC. 4. Путем покупки Доп. девайса Палм можно превратить в МП3 плеер или фотоапарат или мобильник.
5. Недовольство WinCE: малое время работы от батарей, медленный интерфейс, 6. В Палме скорость работы больше, и как оказалось(!) весьма удобный интерфейс. 7. Палм не для игрушек - для работы. 8. Подкупил знакомый Windows интерфейс и я отказался от палма. 9. У Палма Интерфейс ближе к пользователю а у WinCE к Microsoft. Для решения конкретной задачи в WinCE требуется намного больше шагов. 10. Вся мощность Палма работает на решение задач пользователя, а в WinCE 50% мощности тратится на создание интерфейса 11. В PocketPC память существует для музыки, видео и картинок - бесмысленно заполнять его объемами информации если все равно батареек не хватит что-б все прочитать. А если даже и подзаряжаться так ведь можно и новую книгу заодно залить - секундное дело, - спрашивается так зачем же память. 12. Обычный Палм стоит до 200 и умеет все то полезное что и PocketPC который стоит 400-600, а все его прелести сводятся к тому же палму. 13. Если далеко от настольного компа не отходить то прожорливость батареек PocketPC не мешает. 14. Отсутствие большого количества софта под PocketPC явление временное 15. Если есть деньги бери PocketPC если нет бери Палм 16. У PocketPC очень много ненужных фич 17. PocketPC почти как обычный комп, со всеми недостатками по железу и софту, но спектр применения очень широкий (ограничен питанием) 18. Палм лишенный мультимедиа и наворотов, хорошая очень крутая, полезная, но все-таки записная книжка - поэтому более надежна и удобна. 19. Наигравшись с PocketPC - однажды подумал, что все эти навороты мне не нужны и Палма хватило бы за глаза, - это прошло, по роду моей деятельности и по характеру мне подходит только PocketPC 20. 3D игры на кпк - это смех!! 21. Возможности палм ограничены слабым процессором, например у палма нет текстового редактора со стилями и возможностью вставки картинок 22. Что за комп этот Палм если песни не играет и 3d игр нет, вы че. А то поехал в деревню и сисди со своим органайзером и д****. 23. Можно купить Палм м505 с карточкой на 128мб за 150, и будут фильмы и фотки полноцветные, правда звук не тот что надо. 24. Далеко Не всем по карману м505 или Cassio E-200? но согласитесь если владельцу палма предложат обменятся на тот же E-200, разве он не согласится, то-то. так что все это демагогия.
25. 8мб на палме это значительно больше чем 8мб на PocketPC 26. Читать книжки на железке стоимостью 600 баков?! -когда можно купить аналогичный Палм за 150 27. Если вы хотите что-б переносной девайс умел все - купите ноутбук и не парьтесь 28. Палм это караз то чем должен быть КПК а PocketPC это извращение, и кроме выпендрежа и коротковременого восхищения количеством ненужных фич засунутых в одну железку, которое проходит через неделю, ничего нет.
Словарь терминов Flash-память --энергонезависимая перезаписываемая память, сохраняет данные долгое время без подключения к источнику питания.
КПК -- Карманный Персональный Компьютер.
Кредл (Cradle), док-станция, кроватка -- специальная подставка для КПК, для синхронизации данных с "большим" компьютером и в случае наличия аккумуляторов обеспечивает их зарядку.
Стилус (Stylus) -- специальная палочка с пластмассовым наконечником (это чтобы экран не царапать:)), предназначена для управления компьютером (как "мышка" у "большого" ПК) и для вводы информации посредством приложения Graffiti.
PDA -- Personal Digital Assistants, Персональный Цифровой Помощник. Это когда КПК используют не только, как электронный органайзер, но компьютер.
Слот расширения -- довольно полезная штуковина, она позволяет расширить область применения вашего электронного друга и может увеличивать память посредством применения специальных устройств и карт (CompactFlash, MemoryStick, Springboard, PCcard и т.д.), поддерживающие ваш слот расширения.
Графити (Graffiti) -- технология распознавания рукописного текста (точнее специальных символов графити, не всегда похожих на те символы, которые отображаются на экране). Требуется некоторое время для запоминания символов.
Action Controll, Action Key, Jog Dial -- специальное колесико, с помощью которого можно управлять компьютером одной рукой и без применения стилуса. Колёсико можно крутить вверх-вниз (выбор пункта меню) и нажимать на него. Нажатие активирует выбранное приложение.
Beam (бимкнуть) -- передача данных через ИнфраКрасный порт
HotSync, Active Sync -- программы, отвечающие за синхронизацию данных.
Хак – специальный вид программ для Палмов, которые могут изменять поведение системы.
PalmOS для программиста
Общие сведения Всем Разработчикам Приложений и дополнительного оборудования для КПК Palm OS необходимо знать 4 главных принципа по которым создавалась OS и которыми руководствовались разработчики OS Palm и КПК PalmPilot: Simplicity – простота в использовании и быстрая обратная реакция КПК на действия пользователя, Expandability – дополнительные возможности по усмотрению пользователя, такие как дополнительные модули и приложения. mobility – большое количество способов связи с др. устройствами и выход в интернет, возможность беспроводной связи, длительность автономной работы. Wearability – вы берете КПК с собой всюду, и ни Приложения ни Дополнительные модули не должны этому мешать.
Особенности PalmOS: § PalmOS однозадачная ОС. § Поддерживает графический интерфейс (диалоги, кнопки, списки, шрифты) § Приложения PalmOS одно-потоковые, событийно ориентированные. § В PalmOS есть своя Файловая система, файлы принадлежащие ОС защищены от записи на уровне ядра. § PalmOS не загружается и не «завершает» свою работу, но у палм есть Reset это специальная процедура отдалено напоминающая загрузку. § Имеет документированное API для приложений (группы функций – managers) § Автоматически управляет питанием. § Защищает только свой код от вмешательства приложений, но приложения от приложений она не защищает. § Палм является ОС с микро ядром (Micro Kernel OS), основное качество такого типа ОС это гарантировано малое время реакции на любое внешние событие. (микро ядро AMX разработано фирмой Kadak)
рисунок с PalmOS SDK - горизонтальный срез. Память Память одна из важнейших частей PalmOS которая во многом определяет архитектуру ОС и ее особенности. А именно тот факт что памяти мало и что другого типа памяти в системе нет. Физически память расположена на картах памяти – Card0, Card1,... Каждая карта памяти может иметь RAM и ROM сегменты. Все пространство RAM сегмента разделено на Dynamic RAM и Storage RAM. Storage RAM это эквивалент диска (HDD), там находятся только файлы. Dynamic RAM это эквивалент обычной памяти. В Dynamic RAM находятся все динамические объекты программы и ОС, стек, или просто блоки памяти которыми управляет программа (кроме самих программ).
В PalmOS код приложения не загружается в память для выполнения. Зачем если все приложениями так в памяти? выполнения происходит по месту (inplace), т.е. все программы всегда выполняются прямо из Storage RAM, чтения файла тоже происходит таким образом.
Т.к. в ROM это сегмент памяти только для чтения то соответственно там находится только файлы (каждый КПК имеет карту памяти – Card0, в ее ROMе записана ОС с встроенными приложениями). Размеры Dynamic RAM и Storage RAM определяются динамически при инициализации ОС и зависят от общего размера памяти в КПК. Работать с Памятью можно через специальную группу функций которая называется Memory Manager.
MemPtrNew (size) - выделить блок памяти и получить указатель. MemHandleNew (size) – выделить блок памяти и получить его дескриптор (handle). MemHandleLock (handle) – получить указатель от дескриптора. Если приложение запросит слишком большой блок памяти а доступны будут только маленькие блоки то PalmOS произведет фоновую дефрагментацию памяти, при этом из-за перемещения существующих блоков, изменятся их базовые указатели. Чтобы изменение указателей не повлияло на приложение - существуют дескрипторы (handle) это указатель на указатель блока. Если приложение выделяет память не используя дескриптор (MemPtrNew) то PalmOS не будет перемещать такой блок при дефрагментации, тоже самое будет если дескриптор заблокировать (MemHandleLock). Не смотря на то что механизм дескрипторов сложнее чем просто работа с указателями, избежать его нельзя т.к. многие Функции Системных Менеджеров (особенно GUI сервис) работают с дескрипторами. В PalmOS также есть такое понятие для блока памяти как LocalID – специальный номер по которому можно отличить на какой карте находится блок.
Вся Dynamic RAM память доступна для любого приложения на чтение и запись и ОС не следит за этим, когда приложение завершает свою работу вся память автоматически очищается. Т.к. в Dynamic RAM находятся также объекты ОС и системных библиотек, то любые ошибки приложения в работе с памятью могут сразу завесить всю ОС. Если в КПК вставить дополнительное устройство, например модем, то оно возможно будет содержать в себе карту памяти со своими программами, это карта будет видна в системе как Card1, или Card2 если Card1 уже есть. 1 карта может содержать максимум 512 Мб
Файловая система PalmOS имеет свою файловую систему, которая находится Storage RAM Главная особенность ФС это – Отсутствие директорий.
В PalmOS файл называется database, как и в любой ОС у него есть имя, размер, др. атрибуты, Database в свою очередь разбит на records (записи). У записи есть порядковый номер, размер, др. атрибуты. В записях уже непосредственно хранятся данные. Можно сказать что database это аналог директории а record это аналог файла т.к. приложение сначала открывает database а потом в ней открывает record на чтение или запись. Record имеет максим размер – 64к это ограничение ставит PalmOS на макс. Блок памяти в ОС. В одном файле может быть 32768 записей, т.е. 1 файл теоретически может занимать 2Гб места на «диске» (но практически это невозможно, из-за ограничений аппаратуры). Файлы в PalmOS могут быть 2 видов – файлы (database) и ресурсные файлы (resource database). Файлы содержат только Записи, а ресурсные файлы содержат только Ресурсы – такие же записи просто называются ресурсы. Основные отличия это в принципе работы с ними (и в оптимизации работы исходя из назначения).
Функции для работы с файлами обледенены в группы DataManager и ResourceManager. Все они используют группу MemoryManager для работы с памятью.
Свойства Database
Атрибуты | ReadOnly | БД нельзя открыть на запись. | ||||||||||||||||||||||||||||||
Backup | БД нужно BackUp при синхрониз. | |||||||||||||||||||||||||||||||
Copy protect | БД нельзя копировать путем IR-beam, (?) | |||||||||||||||||||||||||||||||
Launchable | Это БД с данными но она может быть запущена на выполнение. | |||||||||||||||||||||||||||||||
Open | True – БД открыта | |||||||||||||||||||||||||||||||
Resource DB | БД типа Resource DB, | |||||||||||||||||||||||||||||||
Date | Дата Создания, Изменения, Сихронизации | |||||||||||||||||||||||||||||||
Modification Num | Число изменений БД, (удаление, добавл, изм записи) | |||||||||||||||||||||||||||||||
Например все приложения имеют тип “appl”. Каждое приложение имеет уникальный CreatorID, этот идентификатор выбирает разработчик для каждого своего приложения. На уникальность его можно проверить на сайте Palm Os. По CreatorID можно однозначно узнать какому приложению принадлежит база.
Например Приложение Applications по команде “Info” показывает размер приложения со всеми его базами, а также при удалении будут удалены все базы (?)
Свойиства записи (Record)
busy | Приложение открыло эту запись и заблокировало ее. Т.е. к ней нет доступа. |
Delete | Запись визуально удалена (физически удалится после синхронизации) |
Dirty | Изменена после последней Синхронизации. |
Secret | Запись помечена как Private (не надо ее показывать) |
Далее в тексте для простоты БазуДанных в Palm будем называть файл.
Чтобы открыть файл нужно знать его LocalID и номер карты где он находится (обычно 0).
DmGetNextDatabaseByTypeCreator (номер карты, тип, номер владельца) - получить LocalID
DmFindDatabase (номер карты, имя файла) - получить LocalID
DmOpenDatabase (номер карты, LocalID) - открыть файл (handle)
DmQueryRecord (handle файла) - получить дескриптор на запись (handle)
DmWrite (указатель, смещение, данные) - пишем данные в запись
Записывать в запись можно только с помощью специальной функции (по соображениям безопасности) другое использование указателя на запись сразу вызывает ошибку с последующим Ресетом КПК.
|
|