1. Введение: Особенности операционных систем реального времени



Pdf просмотр
страница9/10
Дата20.04.2017
Размер1.03 Mb.
Просмотров3275
Скачиваний0
1   2   3   4   5   6   7   8   9   10
4.3. Автоматическая адаптация
Автоматической адаптацией является адаптация, инициированная самой ОС.
Можно рассматривать переносимость, реализуемую через условную компи- ляцию, как статическую форму автоматической адаптации. Обнаружив, на какой платформе операционная система должна быть скомпонована, системы сама способна конфигурироваться, например, с помощью C препроцессора.
Наиболее интересную категорию составляют ОС, которые сами динамически или статически адаптируются к выполняющимся приложениям. С этой целью
ОС должна быть способна отслеживать и анализировать приложения и автоматически изменять свое поведение, чтобы поддерживать приложения наилучшим образом.
Промышленные
ОС обычно поддерживают ограниченную форму динамической автоматической адаптации в специфических и хорошо понятных подсистемах, например, в файловой системе, которая может контролировать поведение пользовательских приложений для оптимизации своей производительности.
Создание автоматической динамически настраиваемой ОС общего назначения можно рассматривать как конечную цель исследований в области настраиваемости ОС. Однако в связи с трудностями, возникающими при компоновке таких систем, пока еще ничего не слышно об автоматических системах в полном смысле этого слова. Пока можно говорить только о нескольких, обсуждаемых далее, проектах.
Система Synthetix предназначена для обеспечения специализированных реализаций сервисов операционной системы, генерируемых во время выполнения, на основании частичной оценки [CBK96]. Степень детализации и широта настраиваемости ограничены – проектировщик решает, какой сервис может быть конкретизирован и выбирает параметры конкретизации.
Параметры сервиса вводятся с помощью инвариантов, с которыми связаны блоки защиты (guards). После проверки корректности параметров модуль сервиса замещается реализацией с новыми параметрами. Например, системный вызов открытия файла может возвращать конкретизированный код, обеспечивающий чтение файла. Такой код мог бы иметь инварианты, такие как размер блока на диске, последовательный доступ, монопольный доступ и т.п.
Когда тот же самый файл позже открывается другим приложением, инвариант монопольного доступа становится некорректным из-за нарушения блока защиты, связанного с системным вызовом открытия файла.
Автоматический подход к настраиваемости исследовался в проекте VINO
[SS97], который уже рассматривался выше, однако этот подход в VINO не был реализован. По мнению авторов для осуществления автоматической адаптации поведения системы необходимо получать сведения из следующих трех источников:

периодическая статистика от каждой подсистемы VINO,

специализированный компилятор,

трассы и журналы, которые регистрируют входящие запросы и произведенные результаты.

83
Вся информация собирается в реальных обстоятельствах, во время выполнения приложения. Затем эта информация анализируется с целью обнаружения чрезвычайных обстоятельств – например, ситуаций, когда потребление ресурсов превышает ожидаемую норму. В таких ситуациях адаптация проводится согласно известным эвристикам. Например, пусть некое приложение интенсивно листает страницы, тогда создаются трассы для запрашиваемых страниц. Результирующие трассы исследуются на предмет совпадения с хорошо известными моделями подкачки страниц. Если такая модель находится, инсталлируется соответствующий алгоритм. Проект VINO интересен тем, что в нем используются эвристики для хорошо известных случаев. В отличие от системы Synthetix, в которой адаптируются только функции и параметры, определенные проектировщиком, VINO поддерживает механизм, с помощью которого система могла бы разрабатывать и тестировать новые алгоритмы для вновь возникающих проблем.
84
5. Сводные таблицы характеристик свойств ОСРВ
Ниже следуют 4 таблицы.
ОСРВ
Архитектура
Предсказуемая произ-
вод-ть реального
времени
Что реализует микроядро,
размер (мин., мах.)

VxWorks
Клиент-сервер, микроядро WIND
Microkernel
Приоритетное планирование в двух вариантах, наследование приоритетов
Многозадачность, планиро- вание, переключение кон- текста, взаимодействие
/синхронизация задач, управление разделяемой и динамической памятью, управление прерываниями
QNX
Клиент-сервер, микроядро и взаимодействующие процессы
Приоритетное планиро- вание с выбором методов планирования.
Распределение. Наследо- вание приоритетов
Потоки, сигналы, передачу сообщений, синхронизацию, планирование, временные сервисы
Windows CE
Модульная с ядром и необязат. компонентами
Приоритетное планирование pSOS
Клиент-сервер, отсутст- вует протокол взаимо- действия на основе сооб- щений, вместо него испо- льзуется прогр. шина
Приоритетное планирование, отсутствует наследование приоритетов
ChorusOS
Многослойная
Приоритетное планиро- вание, мъютексы реального времени, таймеры с высокой разр. способностью, MIPC
Многозадачность, под- держка актора, управление потоками, управление LAP, управление исключит. ситуациями, минимальное управления прерываниями
OSE
Многослойная
Приоритетное планирование, механизм предотвращения инверсии приоритетов
Приоритетное планирование, асинхронная передача сообщений, управление памятью, размер – 6К, 80К
OS-9
Приоритетное планиро- вание, механизм предот- вращения инверсии размер – 128К, 4MB
C EXECUTIVE размер – 5К, 22К
CMX-RTX
Приоритетное планиро- вание, механизм предот- вращения инверсии размер – 1К, 6К
Inferno
INTEGRITY
Приоритетное планиро- вание, механизм предот- вращения инверсии размер –70К
INtime
LynxOS размер –280К, 4М
Nucleus
RTX
Приоритетное планиро- вание, наследование приоритетов
CORTEX
DeltaOS размер – 10К

85
ОСРВ
Распределенная
обработка
Сетевые протоколы
Файловые
системы
VxWorks
TCP/IP, FTP, SMTP, NFS, PPP, RPC,
Telnet, BSD 4.4 TCP/IP networking,IP,
IGMP, CIDR, TCP, UDP, ARP, RIP v.1/v.2,
Standard Berkeley sockets, zbufs, SLIP,
CSLIP, BOOTP, DNS, DHCP, TFTP, NFS,
ONC RPC, WindNet SNMP v.1/v.2c with
MIB compiler - optional, WindNet OSPF
DOS-FS
NFS
TrueFFS
QNX
Прозрачный доступ к удаленным ресурсам.
Упрощенное проектирование отказоустойч. кластеров
TCP/IP,
FTP, SMTP, SNMP, NFS, PPP, ATM,
ISDN, RPC, Telnet, Bootp, tiny TCP/IP
RAM, Flash,
QNX, Linux,
DOS,
CD-ROM,
DVD,
NFS,
CIFS
Windows CE
PSOS
ChorusOS
Прозрачный доступ к удаленным ресурсам
IPv4, IPv6, PPP, NTP, BFP, DHCP NFS,
RPC,
LDAP,
FTP,
Telnet
UFS,
FIFOFS,
NFS,
MSDOSFS,
ISOFS,
PROCFS,
PDEVFS
OSE
Прозрачный доступ к удаленным ресурсам
TCP/IP, FTP, SMTP, SNMP, PPP, ATM,
ISDN, X25, Telnet, Bootp, http-server,
FTP/TFTP, NTP, various routing protocols, others
FAT, VFAT,
FAT32
OS-9
TCP/IP, FTP, SMTP, SNMP, NFS, PPP,
ATM, ISDN, X25, RPC, Telnet, Bootp,
802.11
C EXECUTIVE
TCP/IP, SNMP, PPP, SNMP
CMX-RTX
TCP/IP, FTP, SMTP, SNMP, NFS, PPP,
Telnet, Bootp
Inferno
TCP/IP, FTP, PPP, Telnet, Bootp
INTEGRITY
TCP/IP, FTP, SMTP, SNMP, NFS, PPP,
ATM, X25, RPC, Telnet, Bootp, http, pop3,
IGMP, UDP, ARP, RIP, sockets, zero-copy stack, tftp
Intime
TCP/IP
LynxOS
TCP/IP, SNMP, NFS, другие
Nucleus
TCP/IP, SMTP, SNMP, PPP, Telnet
RTX
TCP/IP, все протоколы, поддерж. Windows
CORTEX
TCP/IP
DeltaOS
TCP/IP, FTP, SMTP, PPP, WAP, HTTP,
HTML, XML, OSPF2, RIP2, CORBA
86
ОСРВ POSIX
Среда
разработки
Целевые платформы
VxWorks
POSIX 1003.1, .1b, .1c
(включая pThreads) x86, PowerPC, ARM, MIPS, 68K,
CPU 32, ColdFire, MCORE, Pentium, i960, SH, SPARC, NEC V8xx, M32
R/D, RAD6000, ST 20, TriCore
QNX POSIX
1003.1-2001, с потоками и расш. РВ
Windows, Solaris,
Self-Hosted,
QNX4, Linux
ARM,
MIPS, PowerPC, SH4,
Strong ARM, XScale, x86
Windows CE
ARMV4, SH3, SH4,
MIPS, X86 pSOS
ChorusOS
POSIX-сигналы, сиг- налы реального вре- мени, потоки, таймеры, очереди сообщений, семафоры. сокеты, разделяемая память
UltraSPARC II (CP1500 и CP20x0),
Intel x86, Pentium,
Motorola PowerPC 750 и 74x0
(mpc7xx), Motorola PowerQUICC I
(mpc8xx) и PowerQUICC II (mpc8260)
OSE
Windows,
Solaris,
Linux
PowerPC, ARM, MIPS, StrongARM,
Intel IXP2400, TI OMAP ARM7/C55,
PowerQUICC, XScale, M-Core,
Coldfire, Infineon C16x, Xc16x, E-
Gold, Tricore, NEC V850, Atmel AVR,
Mitusbishi M16C, Intel 8051, DSPs (TI
C5/C6, Starcore, Agere 16k, LSI Logic
ZSP, TigerShark, ST Micro)
OS-9
Windows
Motorola 68K, ARM/StrongARM, Intel
IXP1200 Network Processor, MIPS,
PowerPC, Hitachi SuperH, x86 or Intel
Pentium, Intel IXC1100 XScale
C EXECUTIVE
Windows, Solaris,
любая x86, PowerPC, ARM, MIPS, 68K, i960,SH,TI
CMX-RTX
Windows x86, PowerPC, ARM, MIPS, виртуально все 8-, 16-,
32-бит. процессоры
Inferno
Windows,
Solaris,
Linux x86, PowerPC, ARM, MIPS, Sparc
INTEGRITY
POSIX 1003.1-2003
Windows, Solaris,
Linux, HPUX x86, PowerPC, ARM, MIPS, ColdFire,
StrongARMXScale
INtime
Windows x86
LynxOS POSIX.1/.1b/.1c Sun Solaris,
SunOS, RS6000,
LynxOS
Native/Hosted x86, 68k, PPC, microSPARC, microSPARC II, PA-RISC
Nucleus
Windows x86, PowerPC, ARM, MIPS, Nios, Nios
II, ColdFire, 68k, H8S, SH, DSP,
OMAP, XScale, MCore
RTX
Windows x86
CORTEX
Windows,
Solaris,
Linux
Hitach H8/300H, H8/S и SH-1/2/3, TI
TMS320C3X, POSIX.4 ( SUN SPARC)
DeltaOS
Windows, Linux x86, PowerPC, ARM, MIPS, Dragonball
Таблица 1. Характеристики ОСРВ.

87
ОСРВ
Модель
Число
уровней
приор.
Мах.
число
задач
Политики
планирования
Состояния
процесса/
потока
Механизмы
синхронизации/
взаимодействия
VxWorks Задачи имеют 1 поток, все зада- чи выполняют- ся в одном адр. пр-ве без какой- либо за-щиты.
КомпонентVxV
MI дает возм-ть каждой задаче выпол. в собств. адр. пр-ве
256 Ограниче но раз- мером дос- тупной памяти
POSIX и Wind планирование, каждый вариант имеет
Preemptive priority и Round- robin
9 семафоры, мьютексы, условные переменные, флаги событий,
POSIX-сигналы, очереди сообщений, почт. ящики
QNX процессы/по- токи
64 4095 процес- сов, в каждом процес-се до 32767 потоков
FIFO с приоритетами, циклическое, адаптивное, спорадическое планирование
14 передача сооб- щений (очереди и почт. ящики), семафоры, мьютексы, флаги событий, сигналы POSIX
Windows
CE процессы/по- токи нити (fiber), неуправляемые ядром
256 32 про- цесса, чи- сло пото- ков внут- ри про- цесса ог- раничено доступ- ной RAM с приоритетами, циклическое ме- жду потоками на одном приори- тетном уров-не, если квант уста- новлен в 0, поток выполняется до завершения
5 выпол-ся (runn- ing), приос-нный
(suspended), спя- щий (sleeping), заблокирован- ный (blocked), завершенный
(terminated) критические сек- ции, мьютексы, семафоры, услов- ные переменные, события, переда- ча сообщений
(очереди, почт. ящики), сигналы POSIX pSOS только потоки 256
Ограни- чено памятью
FIFO с приоритетами, циклическое
4) создана (crea- ted), готова (rea- dy), выполняется
(running), забло- киров. (blocked) семафоры, флаги событий, сигна- лы POSIX, очереди сообщений
ChorusOS процессы/ акторы/потоки
FIFO с приори- тетами, цикли- ческое, планиро- вание реального времени, опция одновременного выполнения различных политик планирования, возможность создания собственного планировщика мьютексы, мью- тексы реального времени, семафо- ры, флаги собы- тий, LAP (Local
Access Point), IPC
(Inter-Process
Communication) – сообщения, пор- ты, группы пор- тов, MIPC (почт. ящики), разделя- емая память, оче- реди сообщений
OSE
32
FIFO с приорит.
OS-9 процессы/потоки 65535
С приоритетами
C EXE-
CUTIVE
32000
FIFO с приори- тет., квантова- ние времени
88
ОСРВ
Модель
Число
уровней
приор.
Мах.
число
задач
Политики
планирования
Состояния
процесса/
потока
Механизмы
синхронизации/
взаимодействия
CMX-
RTX
FIFO с приори- тет., циклическое с приоритет.
INTEG-
RITY
255
Цикл. с приорит.,
ARINC 653 семафоры, мьютексы,
INtime
255
FIFO с приори- тет., циклическое с приоритет.
LynxOS
512
FIFO с приори- тет., циклическое с приоритет., фикс. приорите- ты, квантование времени, дин. приоритеты
RTX
128
CORTEX 62
FIFO с приори- тет., циклическое с приоритет., разделение времени, другие мьютексы и усло- вия, мониторы и условия, вычис- лительные сема- форы, события
DeltaOS
256
Таблица 2. Характеристики многозадачной обработки.
ОСРВ
Модель защиты
Поддержка MMU
Виртуаль-
ная память
Подкачка Вызов стр.
по запросу
VxWorks -без защиты
-защита виртуальной памяти (VxVMI) не требуется, но поддерживается для
VxVMI да (для
VxVMI) нет нет
QNX защита виртуальной памяти да да да нет
Windows
CE
- защита виртуал. памяти
- без защиты да или нет (зависит от конфигурации) да да, но мож- но запрет. да, но мож- но запрет. pSOS
- без защиты,
- защита кода, данных и пр- ва стека с пом. биб. ф-ций
(2 вар.–регионы и разделы)
не требуется нет нет нет
ChorusOS -без защиты,
-защищенная память,
-защита виртуал. памяти да или нет (зависит от конфигурации) да да да
OSE да
OS-9 да
C EXEC-
UTIVE нет
CMX-RTX да
INTEG-
RITY да
INtime да
LynxOS да
RTX да
Таблица 3. Характеристики управления памятью.

89
ОСРВ
Управление прерываниями
Управление
временем
Прерывания
Контекст
Стек
Взаимодействие прерываний с задачами
VxWorks Вложенные, с приорите- тами
Обработчики прерываний выполняются в отдельном контексте
Спец. стек для прерываний. Если архитектура этого не позволяет, тогда используется стек прерванной задачи
-разделяемая памя- ть и цикл. буфера
-семафоры
-очер. сообщений
-каналы
-сигналы
Часы (clock), интервальный таймер
QNX
Вложенные, с приори- тетами
Прерывание выполняется в контексте потока
Прерывание имеет свой собственный стек
Сигналы и импульсы
Часы (clock), интервальный таймер
Windows
CE
Вложенные, с приорите- тами.
IST исполь- зуется для обработки большинства прерываний
ISR вып. в спец.
Ко-нтексте, при этом ISR исполь- зует виртуальные адреса, стат. отоб.
OEM. IST выс-па- ет как обычный поток приложения и имеет свой соб. контекст и приоритет.
IST выступает как обычный поток приложения и имеет свой собственный стек
Из ISR можно по- дать сигнал в IST только с помощью события. OEM мо- жет создать обла- сть разделяемой памяти с помощью статического отоб- ражения области памяти в адресное пространство ISR.
Часы (clock), интервальный таймер pSOS
Вложенные, с приорите- тами
Прерывание выполняется в контексте потока
Стек ядра или стек прер. в зав-ти от целевой платфор.
Через объекты взаимодействия и синхронизации
Часы (clock), интервальный таймер
ChorusOS
Обработчики прерываний выполняются в отдельном контексте
Флаги событий,
MIPC
Универсальное интерв. время, вирт. таймер, унив. время. часы истинного вре- мени, стороже- вой таймер, оце- ночный таймер
Таблица 4. Характеристики управления прерываниями, синхронизацией и
временем различных ОСРВ.
Приложение А. Перечень сокращений
API – программный интерфейс приложений.
BSP

Board Support Package – комплект конфигурационных и инициализационных модулей.
CPU – центральный процессор.
DSP –
Digital Signal Processor.
EDF – Earliest Deadline First – динамические алгоритмы планирования.
90
FIFO – First in First Out – политика планирования обработки процессов по принципу “первым прибыл, первым обслужен”.
GUI – графический пользовательский интерфейс.
IPC –
Interprocess Communication – межпроцессное взаимодействие
(возможность операционной системы, позволяющая задачам или процессам обмениваться данными между собой, методы IPC включает в себя каналы, семафоры, разделение памяти, очереди, сигналы и почтовые ящики).
ISR – interrupt servicing routine – программа обработки прерывания
(программа низкого уровня в ядре с ограниченными системными вызовами).
IST – interrupt servicing thread – поток обработки прерывания (поток уровня приложения, который управляет прерыванием, с доступом ко всем системным вызовам).
MMU – memory management unit – специальное аппаратное устройство для поддержки управления виртуальной памятью.
NFS –
Network File System.
OLE – Object Linking and Embedding – связывание и внедрение объектов. С помощью этой технологии приложения могут обмениваться информацией с другими приложениями через стандартные интерфейсы, доступ к которым возможен из множества различных языков программирования.
OEM – original equipment manufacturer.
RAM – random access memory – память (запоминающее устройство) с произвольной выборкой; оперативное запоминающее устройство,
ОЗУ.
RMS – Rate Monotonic Scheduling – статические алгоритмы планирования.
ROM – read-only memory – постоянная память, постоянное запоминающее устройство, ПЗУ.
RRS – round-robin scheduling – циклическое планирование.
RTAPI – Real-Time Application Programming Interface.
RTOS – Realtime Operating System.
RTX – Real Time Extension.
SNMP – Simple Network Management Protocol.
SRT – soft real-time.
UART
– universal asynchronous receiver-transmitter, модуль асинхронной последовательной передачей данных

91
Приложение B. Терминология
Condition variables –
переменные состояния.
Deadline –
директивный срок задачи, до которого задача должна обязательно (для систем мягкого реального времени
– желательно) выполниться.
Deadline-driven
scheduling –
политика планирования, управляемая дедлайнами.
Host –
инструментальный компьютер.
Interrupt Latence
Time –
время задержки прерывания.
Kernel или nucleus –
микроядро
Light-weight process – подпроцесс или легковесный процесс.
Paging –
страничная организация памяти.
Pre-emptable OS –
ОС, допускающая вытеснение.
Preemption –
приоритетное прерывание обслуживания.
Scheduling –
планирование задач.
Spawn –
порождение нового процесса.
Target –
целевой компьютер.
Thread –
поток.
Time slicing –
квантование времени.
Timeliness –
своевременность.
Ticker –
часовой механизм.
Инструментальный
компьютер –
host.
Квантование
времени –
time slicing.
Микроядро –
kernel или nucleus.
Планирование
задач –
scheduling
Подпроцесс или лег-
ковесный процесс –
light-weight process.
Политика
планирования,
управляемая
дедлайнами –
deadline-driven scheduling.
Поток –
thread.
92
Приоритетное
прерывание
обслуживания –
preemption.
Своевременность –
timeliness.
Страничная органи-
зация памяти –
paging.
Целевой компьютер – target.
Циклическое
планирование –
round-robin scheduling
Литература
[2K] http://choices.cs.uiuc.edu/2K/
[CEXEC] http://www.jmi.com/
[CHORUSOS] http://docs.sun.com/app/docs/prod/software#hic
[CMXRTX] http://www.cmx.com/rtx.htm
[CMXTINY] http://www.cmx.com/tiny.htm
[DEDSYS] http://www.dedicated-systems.com/
[DO178B] http://www.rtca.org/
[EPOC] http://www.symbian.com/about/symb-os.html
[INFERNO] http://www.vitanuova.com/inferno/index.html
[INTEGRITY] http://www.ghs.com/products/rtos/integrity.html
[INTIME] http://www.tenasys.com/intime.html
[ITRON] http://www.sakamura-lab.org/TRON/ITRON/home-e.html
[LynxOS] http://www.lynuxworks.com/
[MSEmb] http://msdn.microsoft.com/embedded/
[NUCLEUS] http://www.acceleratedtechnology.com/embedded/nuc_rtos.html
[OS-9] http://www.microware.com/
[OSEK] http://www.osek-vdx.org/
[OSERTOS] http://www.ose.com/
[PALMOS] http://www.palmsource.com/palmos/
[PSOS] http://www.windriver.com/products/device_technologies/ os/psosystem_3/
[QNX] http://www.qnx.com/
[RTEMS] http://www.rtems.com/
[RTX] http://www.vci.com/
[VxWorks] http://www.windriver.com/products/device_technologies/os/
[Velosity] http://www.ghs.com/products/velosity.html
[VSPWorks] Wind River VSPWorks, technical brief http://www.transtech- dsp.com/datasheets/VSPWorks_TechBr.pdf

93
[WinCE] http://msdn.microsoft.com/embedded/windowsce/
[BSP95] B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M.
Fiuczynski, C. Chanbers, and S. Eggers. Extensibility, safety and performance in the SPIN operating system. Proc. of the 15
th
ACM
Symposium on Operating Systems Principles, 1995.
[Beu99] D. Beuche et al. The PURE Family of Object-Oriented Operating Systems for Deeply Embedded Systems. Proc. 2
nd
IEEE Int’l Symp. Object-
Oriented Real-Time Distributed Computing, IEEE Press, Piscataway,
N.J., 1999.
[CC99] Common Criteria for Information Technology Security Evaluation (CC),
Version 2.1, 1999. ISO/IEC 15408. http://csrc.nist.gov/cc/CC-v2.1.html.
[CIR93] R. Campbell, N. Islam, D. Raila, and P. Madany. Designing and implementing Choices: an object-oriented system in C++. Commun. ACM
36, 9, 117–126, 1993.
[CRJ87]
R. Campbell, V. Russo, and G. M. Jonston. The design of a multiprocessor operating system. Proceedings of the USENIX C++
Workshop, 109–125, 1987.
[CD94] D.R. Cheriton, and K.J. Duda. A caching model of operating system kernel functionality. In Operating Systems Design and Implementation.
179–193, 1994.
[CBK96] C. Cowan, A. Black, C. Krasic, C. Pu, J. Walpole, C. Consel, and E.
Volanschi. Specialization classes: An object framework for specialization.
Proc. of the 5
th
International Workshop on Object-Orientation in
Operating Systems (IWOOOS ’96), 1996.
[EKO95] D. R. Engler, F. Kaashoek, and J. O’Toole. Exokernel: An operating system architecture for application-level resource management. Proc. of the 15
th
ACM Symposium on Operating Systems Principles. 251–266,
1995.
[DGV04] A. Dunkels, B. Grönvall, T. Voigt. Contiki – A Lightweight and Flexible
Operating System for Tiny Networked Sensors. 29
th
Annual IEEE
International Conference on Local Computer Networks (LCN'04), pp.
455-462, November 16-18, 2004, Tampa, Florida, USA.
[DoD85] Department of Defense Trusted Computer System Evaluation Criteria. –
DoD 5200.28 – STD, December 26, 1985.
[DPM02] G. Denys, F. Piessens, and F. Matthijs. A survey of customizability in operating systems research. ACM Computing Surveys (CSUR),
34(4):450-468, December 2002.
[FBB97] B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers. The flux
OSKit: A substrate for kernel and language research. Proc, of the 16
th
ACM Symposium on Operating Systems Principles. 38-51, 1997.
[FHL96] B. Ford, M. Hibler, J. Lepreau, P. Tullmann, G. Back, and S. Clawson.
Microkernels meet recursive virtual machines. Proc. of the 2
nd
Symposium on Operating Systems Design and Implementation. 137–151, 1996.
94
[HPM98] M. Horie, J. Pang, E. Manning, and G. Shoja. Using meta-interfaces to support secure dynamic system reconfiguration. Proc. of the 4
th
International Conference on Configurable Distributed Systems
(ICCDS’98), 1998.
[HSW00] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister. System architecture directions for networked sensors. In Proc. ASPLOS-IX,
November 2000.
[Jbed98] Oberon Microsystems, Jbed Whitepaper: Component Software and Real- time Computing, tech. report, 1998; http://www.oberon.ch .
[KLM93] G. Kiczales, J. Lamping, C. Maeda, D. Keppel, and D. McNamee. The need for customizable operating systems. Proc. of the 4
th
Workshop on
Workstation Operating Systems, 1993.
[LC02] P. Levis and D. Culler. Maté: A tiny virtual machine for sensor networks.
In Proc. ASPLOS-X, October 2002.
[LL73] C. L. Liu, J. W. Layland. Scheduling Algorithms for Multi-Programming in a Hard Real-Time Environment. Journal of the Association for
Computing Machinery 20, 1 (January 1973): 40-61.
[Lie93] J. Liedtke. Improving IPC by kernel design. Proc. of the 14
th
ACM
Symposium on Operating System Principles (SOSP), 1993.
[Lie95] J. Liedtke. On microkernel construction. Proc. of the 15
th
ACM
Symposium on Operating System Principles, 1995.
[Lie96] J. Liedtke. Toward real microkernels. Commun. ACM 39, 9, 70–77, 1996.
[POSIX] IEEE Std 1003.1, 2004 Edition. The Open Group Technical Standard.
Base Specifications, Issue 6. Включает IEEE Std 1003.1-2001, IEEE Std
1003.1-2001/Cor 1-2002 and IEEE Std 1003.1-2001/Cor 2-2004. System
Interfaces.
[MBG00] K. Magoutis, J. C. Brustoloni, E. Garber, W. T. Ng, and A. Silberschatz.
Building appliances out of reusable components using pebble. Proc. of the
9
th
ACM SIGOPS European Workshop, 2000.
[MMO95]
A. B. Montz, D. Mosberger, S. W. O’Malley, L. L. Peterson, and
T. A. Proebsting. Scout: A communications-oriented operating system.
Proc. of the 5
th
Workshop on Hot Topics in Operating Systems. 1995.
[Nec97] G. C. Necula. Proof-carrying code. In Conference Record of POPL ’97:
The 24
th
ACM SIGPLAN-SIGACT Symposium on Principles of
Programming Languages. 106–119, 1997.
[PBK91] D. Probert, J. Bruno, and M. Karzaorman. Space: a new approach to operating system abstraction. Proc. of the International Workshop on
Object Orientation in Operating Systems. 133–137, 1991.
[POSIXTestSuite]
National Institute of Standards and Technology, PCTS:
151-2, POSIX Test Suite.
[SM99] T. Saulpaugh and C. Mirho. Inside the JavaOS Operating System.
Addison Wesley, Reading, Mass., 1999.

95
[SS97] M. I. Seltzer, and C. Small. Self-monitoring and self-adapting operating systems. Proc. of the 6
th
Workshop on Hot Topics in Operating Systems,
1997.
[SSF99] J. S. Shapiro, J. M. Smith, and D. J. Fabrer. EROS: a fast capability system. Proc. 17
th
ACM Symp. Operating Systems Principles, ACM
Press, New York, 1999.
[SP97] O. Spatscheck, and L. Peterson. Escort: a path-based os security architecture. Tech. Rep. TR97-17, Dept. of Computer Science, University of Arizona, 1997.
[VH96] A. Veitch and N. Hutchinson. Kea – a dynamically extensible and configurable operating system kernel. Proc. of the 3
rd
Conference on
Configurable Distributed Systems, 1996.
[WLA93] R. Wahbe, S. Lucco, T. E. Andersen, and S. L. Graham,. Efficient software-based fault isolation. ACM SIGOPS Operating Systems Review
27, 5 (December), 203–216, 1993.
[YN03] W. Yuan, K. Nahrstedt. Energy-Efficient Soft Real-Time CPU Scheduling for Mobile Multimedia Systems. ACM Symposium on Operating Systems
Principles (SOSP), 2003.
[ZS01] K. M. Zuberi, K. G. Shin: EMERALDS: A Small-Memory Real-Time
Microkernel. IEEE Trans. Software Eng. 27(10): 909-928 (2001)


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   10


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал