|
|
  |
Четкое определение ОС? |
|
|
|
Dec 28 2012, 21:40
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(a9d @ Dec 28 2012, 19:48)  Здравствуйте.
Существует ли четкое определение, что есть ОС? Какие признаки определяют, что это ОС а не программа?
Например очевидно, что всегда есть загрузчик. Он может быть очевиден или нет. Но даже в кооперативках, что-то должно запустить систему. HAL должен присутствовать всегда? Например в RTOS да, а вот в коперативка уже непонятно. Ядро? Это обязательный признак ОС? Есть проекты в которых есть диспетчер, но они себя не причисляют к ОС. Например protothread. А вот как быть с Андроидом или .NET MF которые сидят поверх ОС но и сами в свою очередь рулят процессами и потоками? И зачем давать определение ОС? Это титул. Как можно дать титулу определение? Его просто заслуживают.  Помню на заре юности у Микрочипа был аппнот который назывался в духе как реализовать RTOS на пике. Там, если память не изменяет, был коротенький ассемблерный текст где вызывались в стиле Round-robin несколько процедурок. После такого я тему копания определения RTOS для себя закрыл. Т.е. шедуллеру(диспетчеру) достаточно быть у вас в мозгах и от этого просветления ваш код превращается в RTOS или OS автоматически
|
|
|
|
|
Dec 29 2012, 09:43
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Mahagam @ Dec 29 2012, 11:19)  у меня критерий простой - если есть возможность в работающее устройство загрузить стороннюю программу, выполнить пользуясь сервисами ОС, и выгрузить - значит там ОС, самая настоящая. даже пусть однозадачная. а если запускаются только задачи собранные в одном образе - то это банальный менеджер задач. как бы его не называли. вот FreeRTOS - никакая не ОС, а самая простая библиотечка многозадачности. Надо так понимать, что вы имеете в виду динамическое связывание. Поскольку статическое связывание и соответственно загрузку сторонних программ во FreeRTOS сделать элементарно. В принципе можно сделать и динамическое связывание под FreeRTOS, но только она станет после этого такой же жирной как линукс. И кому она после этого будет нужна? Т.е. по сути вы сказали, что для микроконтроллеров без внешней RAM на пару метров жизни осей нет. Печально...
|
|
|
|
|
Dec 29 2012, 11:25
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Mahagam @ Dec 29 2012, 12:02)  и хотя она однозадачная аки MS-DOS, но это самая настоящая ОС.
ну как можно считать простые таск-шедулеры осями, я не понимаю Откуда данные, что ось в калькуляторе TI однозадачная? Насколько сталкивался с другими их калькуляторами они любят использовать Nucleus Plus RTOS Сама по себе Nucleus Plus не содержит никаких загрузчиков. Загрузчики это middleware. Судя по описанию среды разработки для калькулятора там применяют тоже самое статическое связывание. За это отвечает среда разработки, а не ось.
|
|
|
|
|
Dec 29 2012, 11:47
|
Местный
  
Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052

|
Цитата(AlexandrY @ Dec 29 2012, 12:43)  ...статическое связывание и соответственно загрузку сторонних программ во FreeRTOS сделать элементарно. это как? что имеется ввиду?
|
|
|
|
|
Dec 29 2012, 12:05
|
Местный
  
Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240

|
QUOTE (AlexandrY @ Dec 29 2012, 14:25)  Откуда данные, что ось в калькуляторе TI однозадачная? Насколько сталкивался с другими их калькуляторами они любят использовать Nucleus Plus RTOS
Сама по себе Nucleus Plus не содержит никаких загрузчиков. Загрузчики это middleware. Судя по описанию среды разработки для калькулятора там применяют тоже самое статическое связывание. За это отвечает среда разработки, а не ось. я сам писал под эту ось программку. про однозадачность сказано прямым текстом. нуклеус может быть в последних каких калькуляторах, но не в древнем TI-89.
|
|
|
|
|
Dec 29 2012, 12:38
|
Местный
  
Группа: Участник
Сообщений: 312
Регистрация: 9-04-10
Пользователь №: 56 532

|
Цитата у меня критерий простой - если есть возможность в работающее устройство загрузить стороннюю программу, выполнить пользуясь сервисами ОС, и выгрузить - значит там ОС, самая настоящая. даже пусть однозадачная. а если запускаются только задачи собранные в одном образе - то это банальный менеджер задач. как бы его не называли. вот FreeRTOS - никакая не ОС, а самая простая библиотечка многозадачности. Если в будущем вся память станет энергонезависимой, то программы уже не будут загружаться. Они будут выполнятся напрямую с блока памяти. Также по факту в больших ОС происходит тоже самое, что и в FreeRTOS. Просто задачи иногда загружаются и выгружаются. В соседней теме идет разговор о нужности ОС. Эта темя получается бессмысленной. Если человек под ОС понимает цикл while и пару if в нем, то он подобный вопрос сочтет нелепым и будет говорить "Конечно нужна". Также и разговоры о надежности ОС не имеют смысла. Если народ в каждом if видит ОС.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|