Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Четкое определение ОС?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
a9d
Здравствуйте.

Существует ли четкое определение, что есть ОС?
Какие признаки определяют, что это ОС а не программа?

Например очевидно, что всегда есть загрузчик. Он может быть очевиден или нет. Но даже в кооперативках, что-то должно запустить систему.
HAL должен присутствовать всегда? Например в RTOS да, а вот в коперативка уже непонятно.
Ядро? Это обязательный признак ОС? Есть проекты в которых есть диспетчер, но они себя не причисляют к ОС. Например protothread.
AlexandrY
Цитата(a9d @ Dec 28 2012, 19:48) *
Здравствуйте.

Существует ли четкое определение, что есть ОС?
Какие признаки определяют, что это ОС а не программа?

Например очевидно, что всегда есть загрузчик. Он может быть очевиден или нет. Но даже в кооперативках, что-то должно запустить систему.
HAL должен присутствовать всегда? Например в RTOS да, а вот в коперативка уже непонятно.
Ядро? Это обязательный признак ОС? Есть проекты в которых есть диспетчер, но они себя не причисляют к ОС. Например protothread.


А вот как быть с Андроидом или .NET MF которые сидят поверх ОС но и сами в свою очередь рулят процессами и потоками?
И зачем давать определение ОС?
Это титул. Как можно дать титулу определение? Его просто заслуживают. laughing.gif

Помню на заре юности у Микрочипа был аппнот который назывался в духе как реализовать RTOS на пике.
Там, если память не изменяет, был коротенький ассемблерный текст где вызывались в стиле Round-robin несколько процедурок.
После такого я тему копания определения RTOS для себя закрыл.
Т.е. шедуллеру(диспетчеру) достаточно быть у вас в мозгах и от этого просветления ваш код превращается в RTOS или OS автоматически wink.gif
a9d
У меня сложилось такое подозрение, что программе присваивает слово ОС разработчик. При этом неважно, что делает программа.
Mahagam
у меня критерий простой - если есть возможность в работающее устройство загрузить стороннюю программу, выполнить пользуясь сервисами ОС, и выгрузить - значит там ОС, самая настоящая. даже пусть однозадачная. а если запускаются только задачи собранные в одном образе - то это банальный менеджер задач. как бы его не называли.
вот FreeRTOS - никакая не ОС, а самая простая библиотечка многозадачности.
AlexandrY
Цитата(Mahagam @ Dec 29 2012, 11:19) *
у меня критерий простой - если есть возможность в работающее устройство загрузить стороннюю программу, выполнить пользуясь сервисами ОС, и выгрузить - значит там ОС, самая настоящая. даже пусть однозадачная. а если запускаются только задачи собранные в одном образе - то это банальный менеджер задач. как бы его не называли.
вот FreeRTOS - никакая не ОС, а самая простая библиотечка многозадачности.


Надо так понимать, что вы имеете в виду динамическое связывание.
Поскольку статическое связывание и соответственно загрузку сторонних программ во FreeRTOS сделать элементарно.
В принципе можно сделать и динамическое связывание под FreeRTOS, но только она станет после этого такой же жирной как линукс.
И кому она после этого будет нужна? biggrin.gif

Т.е. по сути вы сказали, что для микроконтроллеров без внешней RAM на пару метров жизни осей нет. crying.gif
Печально...

Mahagam
а оси и не нужны таким контроллерам.
есть у меня калькулятор. Ti-89, в нём живёт толстая ось (1.3 метра образ) с весьма богатым оконным гуем, с толстенным и всемогущим математическим API и интерпретатором классического бейсика. и эта ось позволяет запускать скомпилированные извне приложения как на си (нативное исполнение на m68k) так и написанные на этот самом бейсике с математическими расширениями. и хотя она однозадачная аки MS-DOS, но это самая настоящая ОС.

ну как можно считать простые таск-шедулеры осями, я не понимаю
AlexandrY
Цитата(Mahagam @ Dec 29 2012, 12:02) *
и хотя она однозадачная аки MS-DOS, но это самая настоящая ОС.

ну как можно считать простые таск-шедулеры осями, я не понимаю


Откуда данные, что ось в калькуляторе TI однозадачная?
Насколько сталкивался с другими их калькуляторами они любят использовать Nucleus Plus RTOS

Сама по себе Nucleus Plus не содержит никаких загрузчиков. Загрузчики это middleware.
Судя по описанию среды разработки для калькулятора там применяют тоже самое статическое связывание.
За это отвечает среда разработки, а не ось.


haker_fox
Ребята, Вам после неконца света занятся нечем?)))))) Ну что, жить кому-то легче, когда на поставленный вопрос будет найден ответ?)
Dubov
Цитата(AlexandrY @ Dec 29 2012, 12:43) *
...статическое связывание и соответственно загрузку сторонних программ во FreeRTOS сделать элементарно.



это как? что имеется ввиду?

Mahagam
QUOTE (AlexandrY @ Dec 29 2012, 14:25) *
Откуда данные, что ось в калькуляторе TI однозадачная?
Насколько сталкивался с другими их калькуляторами они любят использовать Nucleus Plus RTOS

Сама по себе Nucleus Plus не содержит никаких загрузчиков. Загрузчики это middleware.
Судя по описанию среды разработки для калькулятора там применяют тоже самое статическое связывание.
За это отвечает среда разработки, а не ось.

я сам писал под эту ось программку. про однозадачность сказано прямым текстом. нуклеус может быть в последних каких калькуляторах, но не в древнем TI-89.
IgorKossak
Цитата(haker_fox @ Dec 29 2012, 13:47) *
Ребята, Вам после неконца света занятся нечем?)))))) Ну что, жить кому-то легче, когда на поставленный вопрос будет найден ответ?)

Точно!
Поставлен риторический вопрос и любой ответ на вопрос подобной категории относится к единственно возможной категории - флуд.
a9d
Цитата
у меня критерий простой - если есть возможность в работающее устройство загрузить стороннюю программу, выполнить пользуясь сервисами ОС, и выгрузить - значит там ОС, самая настоящая. даже пусть однозадачная. а если запускаются только задачи собранные в одном образе - то это банальный менеджер задач. как бы его не называли.
вот FreeRTOS - никакая не ОС, а самая простая библиотечка многозадачности.


Если в будущем вся память станет энергонезависимой, то программы уже не будут загружаться. Они будут выполнятся напрямую с блока памяти.
Также по факту в больших ОС происходит тоже самое, что и в FreeRTOS. Просто задачи иногда загружаются и выгружаются.

В соседней теме идет разговор о нужности ОС. Эта темя получается бессмысленной. Если человек под ОС понимает цикл while и пару if в нем, то он подобный вопрос сочтет нелепым и будет говорить "Конечно нужна". Также и разговоры о надежности ОС не имеют смысла. Если народ в каждом if видит ОС.
mdmitry
Цитата(IgorKossak @ Dec 29 2012, 15:28) *
Точно!
Поставлен риторический вопрос и любой ответ на вопрос подобной категории относится к единственно возможной категории - флуд.

Есть такая фраза: Все определения произвольны.
Как задали аксиоматику, так и имеем последствия принятых определений. Вспомним геометрии Евклида и Лобачевского.
Rst7
QUOTE
Поставлен риторический вопрос и любой ответ на вопрос подобной категории относится к единственно возможной категории - флуд.


Moderator: Вот именно. Посему тему закрываем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.