ZiggiPop
@ZiggiPop
Linux Admin / Frontend Developer

Риалтаймовую ОС для изучения вопроса (и литературу)?

Как-то случайно получилось, что мой преподаватель ненавязчиво подталкивает меня к изучению операционных систем реального времени. Так как я заочник, то изучать вопрос мне придется самому, и поэтому я волен в выборе литературы и, собственно говоря, самой ОСи — спрашивать с меня будут результат, а не процесс. А результатом, что-то мне подсказывает, будет как минимум курсач.


Наверняка среди многочисленных специалистов Хабра имеется парочка профессионалов этой отрасли. Их я и прошу посоветовать мне литературу начального и среднего уровня об архитектуре, и заодно сабжевую операционную систему, для изучения, открытую и свободную, без индусского кода, желательно юникс-подобную, желательно с жестким риалтаймом, и такую, знания о которой могут пригодиться впоследствии в профессиональной деятельности. Заранее благодарен.
  • Вопрос задан
  • 5817 просмотров
Решения вопроса 1
Lincoln6Echo
@Lincoln6Echo
QNX без вариантов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 7
ipswitch
@ipswitch
IT-инженер
Из реально применимого — QNX и VxWorks.
По крайней мере, полученные знания могут реально пригодится.

Пара интересных примеров для «затравки» — QNX управляет разводными мостами в Петербурге и использовалась в качестве ОС в системе автоведения поездов метро СПБ. Про АЭС и насосные станции, а также тепловые пункты, скромно молчу =)
Ответ написан
init0
@init0
Старый моряк
Ванильное ядро с патчем PREEMPT RT, одобрено Линусом Торвальдсом и полностью подходит под все ваши условия.
Ответ написан
Комментировать
sam002
@sam002
Линуксойд, кодер, немного физик.
Очень популярна и много для чего сертифицирована VxWorks, имеющая кучу клонов, дополнений и модификаций. Максимально близка к linux ввиду широкого соблюдения Posix. Так же можно ориентироваться не на конкретную ОС, а на стандарт, тот же posix.1b (он же IEEE Std 1003.1b-1993)
Написанное справедливо, если конечная цель — опыт системного программирования в RT.
Ответ написан
hack2root
@hack2root
Могу посоветовать это:

art-linux.sourceforge.net/

#include <stdio.h>
#include <stdlib.h>
#include <sys/io.h>
#include <linux/art_task.h>

#define TRUE 1

#define KBD_PORT 0x61
#define SPK_BIT 0x02

main(int argc, char *argv[])
{
    int temp, hz, i;
    hz = atoi(argv[1]);
    ioperm(KBD_PORT, 1, TRUE);
    art_enter(ART_PRIO_MAX, ART_TASK_PERIODIC, 500000 / hz);
    for (i = 0; i < hz * 5; ++i) {
         art_wait();
         temp = inb(KBD_PORT);
         temp = (i & 1) ? temp | SPK_BIT : temp & ~SPK_BIT;
         outb(temp, KBD_PORT);
    }
    art_exit();
}


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <linux/art_task.h>

int main(int argc, char *argv[])
{
    art_prio_t prio;
    if (argc < 3 || (prio = atoi(argv[1])) < ART_PRIO_MIN ||
         prio > ART_PRIO_MAX) {
         fprintf(stderr, "usage: %s prio file arg .../n", argv[0]);
         return -1;
    }
    if (art_enter(prio, ART_TASK_RR, 0) == -1) {
         perror("art_enter");
         return -1;
    }
    if (execvp(argv[2], &argv[2]) == -1) {
         perror("execvp");
         return -1;
    }
    return 0;
}
Ответ написан
Комментировать
ZiggiPop
@ZiggiPop Автор вопроса
Linux Admin / Frontend Developer
Всем спасибо. После консультаций с преподавателем решено остановиться на QNX, не выпуская из виду Inferno. Вот такое двоякое решение.
Ответ написан
@basilcat
Операционной системы реального времени Portos.

Недавно диапазон приложений системы BlackBox Component Builder был значительно расширен за счет среды кросс-программирования Denia, которая является компонентной, расширающей BlackBox. Denia позволяет выполнять кросс-программирование на Компонентном Паскале для новой операционной системы реального времени Portos, которая тоже полностью реализована на Компонентном Паскале. Portos предназначен для встроенных систем и приложений с жесткими требованиям реального времени [hard real-time requirements], например, в робототехнике и промышленной автоматизации.
Источник:
delphimaster.net/view/15-1185282701/all

Но ти партос ни дениа нигде не нахожу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы