Самодельные ОСи: зачем это нужно?
Подозреваю, что скоро ОСи на ASM скоро отомрут (да они уже отстают лет на 15), поскольку архитектура современных ПК меняется так, что просто жуть, а для реализации боее-менее полноценной DOS-совместимой ОС знания одного ASМ и таблицы прерываний недостаточно.
Кто что думает по этому поводу?
Что значит "Linux-совместимые" ?
ОС пишутся не только под ПК, а ниша для ПК уже заполнена.
Архитектура ПК не меняется. Меняется реализация, архитектура развивается, но она не меняется.
Операцио́нная систе́ма, ОС (англ. operating system) — базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.
Из определения следует, что базовый уровень ОС должен быть написан на языке транслируемом в код "родной" для железа. Для современных ПК таковыми являются языки нижнего и среднего уровня. Для некоторых других устройств таковыми являются языки более высокого уровня, например Java для устройств с hw java-машиной.
Отсюда следует, что наиболее применимыми языками для написания ОС для ПК остаются asm и c/c++.
Написание ОС для ПК, например, на C# на данный момент невозможно, т.к. нет аппаратной поддержки байт-кода (MSIL).
...
Кто что думает по этому поводу?[/QUOTE]Один из модераторов сказал когда-то, что оси лучше писать не для всего, а специальные, вроде Cisco IOS. Вот мне как раз и странно, что на этом форуме никто не задаётся подобными задачами. Да и Бог бы с ними, с маршрутизаторами. Вообще не видно здесь интересных идей, а только что-то вроде попыток подражания Гейтсу и Торвальдсу. оно, конечно, здорово, но незачем. Не лучше ли писать какой-то узко-специальный продукт, зато лучший в своей узкой специальности?
Чем бы дитя не тешилось.
Парадокс в том, что всеми движут одни и те же мотивы. И самое забавное, что идея, ради чего сыр-бор, по сути своей верна. Все мы недовольны существующими ОС. "Компьютер успешно решает проблемы, не существовавшие до появления компьютера" (c) не помню. Я лично с теплотой вспоминаю о временах DOS, когда систему было легко контролировать и тиражировать.
Для появления прогрессивной ОС нужны прогрессивные технологии, ныне не наблюдаемые. Поэтому, чем бы дитя не тешилось.
Надо. Хочется - пиши по-тихому. Не стоит доводить до самоудовлетворения.
[QUOTE=Sanila_san]По мне? Польщён премного. :)[/QUOTE]
Имел в виду всех горе-осеписателей.
Точно! Sanila_san, полностью согласен! А ещё поют: Я променял девичий смех на голос лектора занудный на этот ... физтех, на ... город Долгопрудный. И вот я думаю иногда, а не променялся ли я?
из мгу. на физтех меня тоже не взяли:( хотя тоже мечтал и даже трижды сдавать ездил. (Коршунов - казёл.) вобщем, жму руку, коллега.
[/QUOTE]
Видимо, ты не понимаешь, что такое ОС.
Специально для тебя повторяю цитату:
Операцио́нная систе́ма, ОС (англ. operating system) — базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.
Как комплекс обеспечивающий управление аппаратными средствами может быть аппаратно-независимым? :)
[QUOTE=3A3-968M]
Единственное, что всё таки придётся писать на ASM, это виртуальные машины для вышеперечисленных сред.
[/QUOTE]
Это и будет ОС. :)
Специально для тебя повторяю цитату:
Как комплекс обеспечивающий управление аппаратными средствами может быть аппаратно-независимым? :)
Это и будет ОС. :)[/quote]
Узко мыслишь. Помимо написаных кем-то определений нужно и самому мысль развивать. На Java есть ОС между прочим(видать только у меня во сне:)
Я не отрицаю, что некоторая высокоуровневая функциональность может быть написана на ЯВУ, но это значит, что ОС будет иметь смешанный характер, а основа её (HAL) будет все так же аппаратнозависимой.
Какое отношение имеет "написанное кем-то определение" к развитию собственных мыслей? Если в процессе развития своих мыслей ты подменяешь/изменяешь определение, лежащее в основе размышления, то загоняешь сам себя в тупик.
Чтож, есть возможность исправиться: приведи своё определение ОС. Каким целям служит ОС, если не предоставление боле высокоуровнего интерфейса к аппаратным средствам?
Про ОС на Java я уже писал, жаль, что опять приходиться повторяться:
[QUOTE=Green]
Из определения следует, что базовый уровень ОС должен быть написан на языке транслируемом в код "родной" для железа. Для современных ПК таковыми являются языки нижнего и среднего уровня. Для некоторых других устройств таковыми являются языки более высокого уровня, например Java для устройств с hw java-машиной.
[/QUOTE]
Тут, Green, ты, к сожалению, неправ. Я уже не первый год занимаюсь проблематикой разработки систем в управляемом коде. Когда-то и мой проект увидит свет.
На Java или .NET, естественно, ОС не напишешь - при их проектировании сделано достаточно концептуальных промахов, чтобы сделать это невозможным. Однако, разработка переносимой ОС в управляемом коде ведется уже не первый год, и не только мной. Про Singularity от Microsoft слышал? Фишка в том, в этом проекте нельзя отступать от духа и буквы научного подхода, идти на компромиссы - система получается медленной, сложной в эксплуатации и поддержке.
Спорить дальше не буду, скажу только, что тот, кому первому удастся найти разумный компромисс между наукой и реализацией, сделает переворот в ИТ, по уровню аналогичный переходу от распределения цилиндров и секторов к файлам. Давно пора, мы уже серьезно отстаём.
Судя по приведенной цитате, в том, что при обсуждении чего либо надо определиться с терминологией и не отходить от неё в процессе обсуждения, как бы не развивали собственные мысли. Если мы говорим об ОС, то это ОС, а не ОС + shell.
Разве это не так?
Или же я не прав в том, что ОС на своем нижнем уровне напрямую работает с оборудованием, что является её основной целью (исходя из определения), и по-этому должна быть написана на этом уровне на языке транслируемом в код понятный этому оборудованию?
Лично я спорить больше по этому моменту не хочу и не буду, нет в этом практического (научного) момента.
Работает.
[QUOTE=Green]что является её основной целью (исходя из определения)[/QUOTE]
Нет. Переосмысление целей ОС - превращение оборудования из цели в средство. Суть современной ОС не в работе с оборудованием, а в создании благоприятной среды для решения задач - под этим может подразумеваться и пользователь, и программы, явные и неявные. Пример современной ОС - встраиваемая система.
[QUOTE=Green]должна быть написана на этом уровне на языке транслируемом в код понятный этому оборудованию?[/QUOTE]
Язык не определяет код. Сегодня просто так сложилось, потому что в ИТ еще много догм.
Терминология и стереотипы - разные вещи.
Вот мы тут спорим, спорим...
И я чувствую, что спорим то о разных вещах, предложил определиться в терминах, чтоб ПОНИМАТЬ О ЧЕМ СПОР, а не путать теплое с мягким. Так вы наехали, что я не думаю своей головой, привожу устаревшие определения, и продолжаете спорить по сути НЕ О ЧЕМ, т.к. моё определение вы отвергли, а своего не предложили.
Давайте продолжим спор: я буду утверждать, что ОС бывают положительные и отрицательные, и что положительные ОС приводят к разносу системы, а отрицательные - к апериодическим процессам, что ОС вообще не имеет никакого отношения к программированию и компьютерам. И попробуйте меня в этом переубедить не расставляя рамок, не определяя терминов, "отойдя от стереотипа".
Эффект будет абсолютно тем же, что и сейчас: каждый будет втолковывать свои мысли исходя из своего понимания термина, вместо того чтобы определиться для начала О ЧЕМ СОБСТВЕННО РЕЧЬ.
сообразительных тоже не нашлось ? )) надо было пойти к доске и мелом накалякать "DOS" ))
Вот мы тут спорим, спорим...
И я чувствую, что спорим то о разных вещах, предложил определиться в терминах, чтоб ПОНИМАТЬ О ЧЕМ СПОР, а не путать теплое с мягким. Так вы наехали, что я не думаю своей головой, привожу устаревшие определения, и продолжаете спорить по сути НЕ О ЧЕМ, т.к. моё определение вы отвергли, а своего не предложили.
Давайте продолжим спор: я буду утверждать, что ОС бывают положительные и отрицательные, и что положительные ОС приводят к разносу системы, а отрицательные - к апериодическим процессам, что ОС вообще не имеет никакого отношения к программированию и компьютерам. И попробуйте меня в этом переубедить не расставляя рамок, не определяя терминов, "отойдя от стереотипа".
Эффект будет абсолютно тем же, что и сейчас: каждый будет втолковывать свои мысли исходя из своего понимания термина, вместо того чтобы определиться для начала О ЧЕМ СОБСТВЕННО РЕЧЬ.[/QUOTE]
Давайте сделаем более современное определение .
Например : ос - програмный продукт обеспечивающий наиболее эффективное использование ресурсов ПК прикладными прогами наиболее удобным способом .
Ну как ?)
Википедия:
Операцио́нная систе́ма, ОС (англ. operating system) — базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.
как пример - таже прошивка во встроенном компе . может не быть как харда , так и клавы с монитором .