The RiDE.C microkernel

Научная статья

Информатика, кибернетика и программирование

C microkernel M. t this point it is resonble to begin with description of microkernel RiDE. nd microkernel rchitecture ssumes to orgnize services mnging resources in the form of userlevel servers which re ccessed over interprocess communiction mchinery IPC nd over the stck of protocols built on IPC.C microkernel re determined by bsic intertsk exchnge protocol RiDE.



12 KB

0 чел.

The RiDE.C microkernel

M.O. Bakhterev

IMM UrB RAS, Yekaterinburg

It was shown earlier that it is rational to develop distributed OS with new application programming interface (API) allowing to exploit more efficient and easier abilities of modern distributed nonuniform computing systems. The basic principles for structure of such an OS and the basic elements of its API have been already designed, and that allows to proceed to presentation of software components being intended to form the OS. At this point it is reasonable to begin with description of microkernel (RiDE.C), because its design reflects the main features of the OS.

Distributed systems (DS) might be build in the framework of traditional OSes with big monolithic kernels (macrokernels). But overall system structure becomes more complex with this approach. Distributed OS should give applications access to resources in the manner independent of mutual layout of these applications and resources on the system nodes, after all. To achieve that within macrokernel architectures it is needed to use some resource through proxy server. Such server using network service of the kernel provides connectivity with remote nodes of system: it receives external resource requests, translates them (translation TQ) into calls to kernel service maintaining the resource, translates the results of the calls to form replies (TR), and sends them out.

And microkernel architecture assumes to organize services managing resources in the form of user-level servers, which are accessed over inter-process communication machinery (IPC) and over the stack of protocols built on IPC. Traditionally, that serves as the premise to conclusion about  inefficiency of such architectures, because the task context switching is needed to execute application requests. But the working through proxy server in DS based on macrokernel architecure also demands to switch the contexts, even in the case when the resource and the application using it are on the same node. And the need to develop additional protocol and to communicate over it (TR, TQ) makes solution with macrokernel for distributed OS less effective and more complex.

Many features of RiDE.C microkernel are determined by basic inter-task exchange protocol – RiDE.P. It describes interaction over areas of shared memory, and allows to translate over the network transparently for applications the acts of interaction with the help of software agents executed outside microkernel. The RiDE.P protocol only demands from microkernel to support simple synchronization primitive – r-semaphore (unidirectional ring, in contrast to stack behavior of counter, point-to-point semaphore), operations on which are also translatable through agents over the RiDE.P (property ST).

Some features of the RiDE.C microkernel follow.

1. Every  algorithm used in RiDE.C functionality implementation has time complexity of O(1). Even the time management subsystems, algorithms for which in traditional OSes have complexity of O(n*n) or O(n*log(n),  n – the number of software timers being used.

2. The architecture of OS being developed assumes that load balancing functions are carried out to user-level process. The RiDE.C scheduler does not solve the task of balancing, because it cannot be solved qualitatively enough without taking into account the peculiarities of specific application.

3. The RiDE.C scheduler was designed to provide good execution conditions for interactive tasks (at DS they are tasks controlling data exchange), as well as for tasks with large computational time. Optimizing the work of first ones, the scheduler tracks task groups, which occupy processor for a long time, and lowers their interactivity level. Supporting the second ones, the scheduler reprograms hardware timer to provide processor-bounded tasks with long intervals of uninterrupted work. Both types of tasks in many traditional OSes are interrupted equally frequently, and user can get unfair long amount of processor time for her/his application, because only the individual behaviors of tasks forming the application are analyzed.

4. Only two actions with r-semaphores are defined by RiDE.C API as system calls. Access to all other microkernell functionality is defined by API as protocol over RiDE.P, that together with property ST allows to flexibly adjust access to microkernel. The tasks working with microkernel on some remote node of system, as well as the tasks having no control over microkernel running the local for tasks node are standard for OS being developed. Such capability is important element in the dataflow based model of parallel programming for nonuniform DS, which was proposed earlier.

5.The RiDE.C API prescribe to allocate and to tune data structures for microkernel at the external user level manager and to begin their usage at the microkernel itself after simple registration. Such functions as “create task” or “create r-semaphore” are absent, because they demand to work with memory at the microkernel level leading to difficulties when virtual memory is used. This approach does not lower the general system security (the memory manager is always trusted component), but allows to make microkernel simpler and, what is more important for big computations, opens access to states of tasks and r-semaphores connecting them from user level. That, in its turn, leads to simplification of the implementation of orthogonal persistence machinery: checkpoints, task migration between nodes of DS. Also that allows to run load balancers specialized for concrete applications at the user level.

By present uniprocessor version of microkernel has been implemented. The work on drivers providing task interaction in multiprocessor systems and the work on drivers providing access to modern hardware timers are carried out.


А также другие работы, которые могут Вас заинтересовать

20565. Національне питання в Радянській Україні в 60-х першій половині 80-х років. Дисидентський рух і його придушення 52.5 KB
  Через самвидав громадськість України СРСР закордону познайомилася з творами І. Так починався в СРСР рух який згодом одержав назву правозахисного й охопив переважно інтелігенцію. Метою правозахисного руху було: захист прав людини і прав народів СРСР боротьба проти русифікації боротьба за незалежну Україну та національне відродження. Першою в СРСР легальною організацією що виступила на захист прав людини була ініціативна група захисту прав людини в СРСР до якої належав харків'янин Г.
20566. Курс на перебудову: плани та реальності його здійснення в Україні 43.5 KB
  Перш ніж горбачовські реформи дійшли до України тут сталася катастрофа глобального значення: 26 квітня 1986 р. Величезна радіоактивна хмара незмірне більша ніж хіросимська покрила багато районів України Росії Білорусії а згодом поширилася на землі Польщі та Скандинавії. Компартію України очолив С. Постали Українська республіканська партія Демократична партія України партія зелених та ін.
20567. Проголошення незалежності України. Розпад СРСР 38 KB
  Проголошення незалежності України. Прийняття Верховною Радою УРСР _Декларації про державний суверенітет України Криза союзних структур політичне протиборство погіршення економічної ситуації зростання національної самосвідомості неухильно посилювали потяг до суверенності відновлення незалежної української держави. було ухвалено закон про економічну незалежність України. Консерватори в союзних структурах активно протидіяли зростанню суверенності й самостійності національних республік у тому числі й України.
20568. Визнання Української держави світовим співтовариством. Міжнародне співробітництво незалежної України. Взаємодія з членами СНД 66 KB
  Міжнародне співробітництво незалежної України. Швидке визнання державної незалежності України десятками країн світу певною мірою породжувало ілюзію того що труднощі пов'язані з перехідним періодом будуть розв'язані безболісно і в короткий термін. Політичні партії і рухи України обстоювали різні нерідко полярні позиції в питаннях зовнішньої політики. Основним документом який визначав принципові засади розбудови державотворчих процесів у тому числі в сфері зовнішньої політики став Акт проголошення незалежності України прийнятий 24 серпня...
20569. Відродження української національної свідомості у першій половині XIX ст 40 KB
  24 березня 1847 року за участь у КирилоМефодіївському товаристві заарештований і засланий солдатом до Орської фортеці Оренбурзького окремого корпусу. КирилоМефодіївське товариство Твори молодого поета згуртували навколо нього університетську молодь. Прагнення звільнити народ від кріпацтва і привело їх до участі в КирилоМефодіївському товаристві 1845 1847 назване на честь слов'янських просвітителів Кирила і Мефодія створенню якого сприяло загальне духовне піднесення українського народу. Соціальний склад КирилоМефодіївського...
20571. Проведення реформи 1861 року в російській Україні, її особливості й наслідки 42.5 KB
  За реформою на кріпосних селян поширювалися економічні права вільних осіб тобто вони отримали право купувати нерухомість займатися торгівлею і промислами тощо. селяни не могли відмовитися від наділу що означало примусове прикріплення їх до землі.Після проведення реформи 220 тис. селян України залишалися безземельними майже 100 тис.
20572. Реформи в Російській імперії в 60 - 70-х рр. 19 ст. та впровадження на Україні 30 KB
  Олександр II підписав Маніфест про скасування кріпосництва і Положення про селян звільнених від кріпосної залежності. Селяникріпаки що доти були власністю поміщиків отримували особисту свободу. Селянам дозволялося без сплати мита торгувати відкривати фабрики та різні промисли підприємства займатися ремеслом за місцем проживання вступати до гільдій і торговельних організацій. Вона надавалася общині або селянському двору подвірне господарство за числом ревізьких душ які мали право на наділи.
20573. Соціально-економічний розвиток українських земель в другій половині 19 - на початку 20 ст 38.5 KB
  Соціальноекономічний розвиток українських земель в другій половині 19 на початку 20 ст.Котляревського Марка Вовчка та інших українських письменників. тут почав виходити перший у царській Росії український часопис Основа що опублікував твори українських письменників. Громадівці всіляко пропагували культ козацтва волелюбних запорожців та гайдамаків які на їхню думку символізували прагнення українських мас.