Карманные ПК, Операционная система PalmOS
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: химическая реферат, сочинение
| Добавил(а) на сайт: Чучанов.
Предыдущая страница реферата | 4 5 6 7 8 9 10 11 12 13 14 | Следующая страница реферата
MemPtrNew(size) - выделить блок памяти и получить указатель.
MemHandleNew(size) – выделить блок памяти и получить его дескриптор
(handle).
MemHandleLock(handle) – получить указатель от дескриптора.
Если приложение запросит слишком большой блок памяти а доступны будут
только маленькие блоки то PalmOS произведет фоновую дефрагментацию памяти, при этом из-за перемещения существующих блоков, изменятся их базовые
указатели. Чтобы изменение указателей не повлияло на приложение -
существуют дескрипторы (handle) это указатель на указатель блока.
Если приложение выделяет память не используя дескриптор (MemPtrNew) то
PalmOS не будет перемещать такой блок при дефрагментации, тоже самое будет
если дескриптор заблокировать (MemHandleLock).
Не смотря на то что механизм дескрипторов сложнее чем просто работа с
указателями , избежать его нельзя т.к. многие Функции Системных Менеджеров
(особенно GUI сервис) работают с дескрипторами. В PalmOS также есть такое
понятие для блока памяти как LocalID – специальный номер по которому можно
отличить на какой карте находится блок.
Вся Dynamic RAM память доступна для любого приложения на чтение и запись и
ОС не следит за этим, когда приложение завершает свою работу вся память
автоматически очищается.
Т.к. в Dynamic RAM находятся также объекты ОС и системных библиотек, то любые ошибки приложения в работе с памятью могут сразу завесить всю
ОС.
Если в КПК вставить дополнительное устройство , например модем , то оно возможно будет содержать в себе карту памяти со своими программами, это карта будет видна в системе как Card1, или Card2 если Card1 уже есть. 1 карта может содержать максимум 512 Мб
3 Файловая система
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
|Name |Имя (max 32) |
|Type |Тип – appl, hack, (как расширение |
| |файла) |
|CreatorID |4 байта – идентификатор создателя |
| |файла |
|Size | |
| | |
|Атр|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( указатель , смещение, данные) - пишем данные в запись
Записывать в запись можно только с помощью специальной функции ( по
соображениям безопасности) другое использование указателя на запись сразу
вызывает ошибку с последующим Ресетом КПК.
4 Создание приложений, Инструментарий, POSE
Большинство Palm программистов обычно пишут на С (С++) ,однако существуют
компиляторы для других языков: Java, Pascal, Basic, SmalTalk, Assembler.
Для Палм , есть много различных сред разработки , Самая популярные GUI IDE
это CodeWarrior, так-же есть Falch.Net, VFDIDE, and PilotMAG - все эти
"визуальные" среды разработки имеют редактор кода с синтаксической
подсветкой кода и др. функции. (управление проектом, отладчик, ...)
компилируют они с помощью PRC-Tools. стоят от 20-30$. Самая популярная
некоммерческая среда это PRC-Tools (набор утилит - командная строка).
Большинство разработчиков предпочитают PRC-Tools, , т.к. это бесплатно, популярно, и этот продукт поддерживается официально Palm .
Инсталляция PRC-Tools напоминает инсталляцию ФИДО на домашнем компе, - нужно установить 4 независимых софта, и правильно их настроить, что-б они вместе работали, вобщем придется повозится. Советую найти ФАК по этому делу.
В качестве напутствия для программистов можно сказать, что Палм это очень открытая платформа, как для разработчиков Софта так и для разработчиков железа. Во первых Palm Computing создала сообщество разработчиков,
Palm Alliance Program - сообщество Палм программистов, там можно получить ROM файлы практически с любой версией PalmOS. также можно получить "debug" ROMs с отладочными версиями PalmOS (для системных программистов)
На сайте palm.com всегда доступна полная документация по Палм ОС а также
различные FAQ, Knowledge Base и конференции. Написано много книг и
публикаций для программистов, в интернете можно найти кучу исходных тестов
по различным направлениям. Также для простоты создания программ, Palm
Computing создала бесплатный PalmOS Emulator (POSE) – эмулятор ОС Палм для
тестирования Палм приложений на настольном компьютере.
POSE – эмулятор КПК с любой версией PalmOS (работает под Windows , Mac,
Unix). Для его работы нужен только ROM файл с PalmOS, его можно “вытащить”
из КПК либо скачать из интернета, что намного проще (см. ссылки).
Разработчик запускает POSE и видит на мониторе настоящий КПК – можно мышкой
кликать на экране КПК как стилусом (даже писать граффити), можно запускать
приложения. (можно встретить еще “CoPilot“ - это тоже самое, предшественник POSE)
Преимущества POSE:
1. Процесс загрузки приложения в POSE намного быстрее чем в реальный КПК, что намного ускоряет процесс тестирования. Не нужно каждый раз синхронизироваться.
2. В POSE можно сохранять текущее состояние КПК, а потом к нему возвращаться.
3. Source-Level отладка намного проще с POSE.
4. В POSE можно делать скриншоты, и применять Gremlins – искусственный
«неопытный» пользователь.
5. С помощью POSE можно увидеть различные КПК с PalmOS разных версий с различным размером памяти, без наличия самого КПК.
Итак, POSE это MustHave для любого PalmOS программиста.
Рекомендуем скачать другие рефераты по теме: реферат на тему природа, автомобили реферат доход реферат.
Категории:
Предыдущая страница реферата | 4 5 6 7 8 9 10 11 12 13 14 | Следующая страница реферата