Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Незнайка
26 / 11 / 2
Регистрация: 14.10.2016
Сообщений: 373
Записей в блоге: 2

В каких программах пишут ОС?

20.04.2017, 23:42. Показов 1560. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Знаю, вопрос туповатый, но в Гоголе я ничего не нашёл. Он меня не понимает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2017, 23:42
Ответы с готовыми решениями:

На каких программах сделаны фильмы?
На каких программах сделаны современные фильмы? Если знаете пишите: название фильма и программы которые были использованы при его создание....

НА КАКИЙ ПРОГРАММАХ ПИШУТ DELPHI (ДЛЯ СОЗДАНИЕ ПРИЛОЖЕНИЕ)
НА КАКИЙ ПРОГРАММАХ ПИШУТ DELPHI (ДЛЯ СОЗДАНИЕ ПРИЛОЖЕНИЕ)

Зачем new пишут и в каких случаях ?
//var array = new Array(3, 7, 12, true, 4.5, "some string", true);//массив var array =Array(3, 7, 12, true, 4.5, "some string", true);...

16
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
21.04.2017, 21:30
Цитата Сообщение от mkostoevr Посмотреть сообщение
В каких программах пишут ОС?
В текстовых редакторах и/или IDE.

Цитата Сообщение от mkostoevr Посмотреть сообщение
но в Гоголе я ничего не нашёл.
Оставьте Николая Васильевича в покое!
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
21.04.2017, 21:35
Если Вы Имеете В Виду Языки Программирования - Ассемблер, Си, никто и ничто не мешает делать это на других языках.
трудозатраты будут разные, и выхлоп (производительность) тоже.
Цитата Сообщение от mkostoevr Посмотреть сообщение
в Гоголе я ничего не нашёл. Он меня не понимает
я бы на месте Гоголя Вас тоже не понял.
0
Заблокирован
22.04.2017, 14:11
Но наверняка же есть какие-то специальные приблуды для разработки ОС уровня венды?
Не верю я что венду писали в нотепаде
0
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8532 / 3375 / 105
Регистрация: 24.05.2011
Сообщений: 14,609
Записей в блоге: 8
23.04.2017, 00:07
Цитата Сообщение от mkostoevr Посмотреть сообщение
В каких программах пишут ОС?
Элементарно, Ватсон!
Как и другие масштабные программные проекты, любая ОС состоит из множества компонентов. Это отдельные программы - ядро ОС (kernel), графическая подсистема, файловая подсистема, набор драйверов оборудования, стек TCP/IP и многое другое.
В виндовсе, например, функцию ядра системы выполняют NTOSKRNL.EXE и NTDLL.DLL. А всё остальное крутится уже на них.
В линухах - vmlinuz и initrd.img. И всё остальное так же крутится на основе этих компонентов.
Собственно, во всех случаях - это исполняемые бинарные файлы.
По сути - те же программы, как и прикладные, только на них указывает вектор в загрузчике и они в память загружаются первыми изо всего, из чего состоит ОС.
Всё остальное - запускается этими двумя (в обоих случаях) компонентами по списку в конфиге(ах).
Таким образом, получается, что создание любой ОС сводится к написанию программы, внутри которой будет организовываться основа системы, а всё остальное - можно прикрутить снаружи.
Написание такой программы можно осуществить в любой понравившейся вам среде разработки - если нравится майкровская студия - бога ради, она отлично подойдёт! Нравится работать в MonoDevelop и вы хотите оставаться независимым и свободным? Да пожалуйста!
Для компонентов требующих особо быстрого исполнения и применения Ассемблеров - также есть свои среды разработки - майкровский MASM, борландовский TASM и куча других. Для отладки так же есть, например, отличная штука SASM - там и писать проги можно, и искать баги.
Для того, чтобы написанный вами код превратился в исполняемый файл, вам потребуется компиллятор. В больших и серьёзных проектах он нередко встроен в среду разработки, которая при этом уже является этаким "комбайном" - написал, откомпиллировал, запустил - почти как у Александра Македонского: "Пришёл, увидел, победил." А во время компилляции, компиллятор ещё постоянно будет выкидывать ошибки и варнинги типа: "В 42 строке ошибка в переменной"
Собственно, это и есть весь процесс кодинга.

Главнее, при разработке OS, как ни странно вам это может показаться, ещё до похождения в IDE расписать всю архитектуру вашей будущей OS на бумаге - нарисовать в буквальном смысле что где как и с чем будет взаимодействовать, определить общую архитектуру системы, зарезервировать файловые пути и переменные, расписать имена и назначение файлов и т.д. В общем, - продумать все мелочи архитектурного и структурного построения системы. Впрочем, это всё точно так же, как и в любом другом крупномасштабном проекте.

Выбор, на каких ЯП всё это реализовывать, конечно хоть и не первоочередной, но всё же очень важный аспект: неважно на каком ЯП реализуете свой проект лично вы, важно, чтобы внутри вашего проекта поддерживалось как можно больше других языков - ведь после того, как вы завершите и зарелизите ваш проект, придут другие, которые захотят изменить его к лучшему - добавить приложения, возможно, где-то переработать некоторые оригинальные ваши компоненты и вообще - внести свой посильный вклад. Нужно добиться такой ситуации, когда для них это станет легко доступно и возможно при использовании их привычных средств работы - их привычного языка программирования, их собственных способностей и навыков. Иначе - ваш проект будет мертворождённым и не сможет развиваться, а написать весь спектр компонентов для использования их любым простопользователем в одно лицо - просто нереально. Не в силу того, даже, что это колоссальный объём работы, а в силу того, что у отдельных пользователей всегда есть собственные запросы и собственные нужды. И вы предугадать все возможные варианты использования вашей ОС просто никогда не сможете. Поэтому нужно изначально дать конечным пользователям возможность разработки приложений самостоятельно.
Сюда также входит практически обязательное написание собственного компиллятора и используемых для приложений библиотек. Впрочем, этот вопрос решается в стадии проектирования и библиотеки пишутся сразу после написания ядра - именно, опираясь на них, и должна работать вся система, кроме собственно ядра (кстати да, ядро при этом тоже может юзать некоторую часть библиотек для поддержания собственной функциональности - это называется гибридным ядром).

В общем и целом, писать свою ОС можно в любом текстовом редакторе - достаточно, чтобы редактор поддерживал подсветку синтаксиса, в любом IDE на ваш вкус. Ведь главное - не "в чём" делать, а "как" и "что" делать.
Дерзайте! И да пребудет с вами сила!
0
24.04.2017, 08:50

Не по теме:

NeoMatrix, браво! :bravo:
просто обожаю ваши такие посты. :)

0
Заблокирован
24.04.2017, 19:35
NeoMatrix, а что Вы сказать-то хотели?
0
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8532 / 3375 / 105
Регистрация: 24.05.2011
Сообщений: 14,609
Записей в блоге: 8
24.04.2017, 21:09
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
а что Вы сказать-то хотели?
Что хотел - то и сказал.
Ответ на вопрос: "В каких программах пишут ОС?"
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
наверняка же есть какие-то специальные приблуды для разработки ОС уровня венды?
Да, есть. Называются они по-разному: "интегрированная среда разработки ПО" или "IDE". Также широко используются специально для этого разработанные текстовые редакторы, хотя никто не запрещает для разработки юзать и обычный блокнот (Notepad.exe), и другие обычные текстовые редакторы с дополнениями, плагинами или без таковых. Во многих обычных текстовых редакторах имеется возможность включить подсветку синтаксиса, включить автоотступы, нумерацию строк и прочие фишки, заметно упрощающие (по крайней мере, визуализирующие) поиск синтаксических ошибок в коде на большинстве используемых языков.
Вот возьмём, к примеру VIM (vi) или EMACS - эти два инструмента изначально и задумывались для профессионалов для написания исходников, но в процессе разработки обросли ещё уймой фич и ништяков и тем самым кое в чём стали напоминать самостоятельные ОС.

Если вы не хотите использовать какую-либо из интегрированных сред (QtCreator, VisualStudio, Eclipse, MonoDevelop и пр.), а предпочитаете, допустим, vi или вообще Gedit, то после написания текстового файла кода, вам нужно будет скормить его компиллятору и получить из него уже готовый бинарный исполняемый файл.
И так нужно сделать будет с каждым новым создаваемым модулем вашего проекта, будь то ОС или новый продвинутый видеоредактор, музыкальный плеер или браузер, CAD или система навигации , файл-сервер или БД для логистики грузов...

Суть как бы в том, что не имеет разницы, каким инструментом вы собираетесь воспользоваться - и в том и в любом случае имеются собственные плюсы и минусы: для использования IDE плюсами будут - удобство разработки и отладки, автоподсветка ошибок и вообще все примочки в одном месте, но минусы - возможное ограничение проекта лицензиями, ограничение используемыми библиотеками программ и уже ранее созданными кем-то компонентами с собственными лицензиями, для использования тандема текст-редактор + компиллятор плюсы - велосипедить можешь как угодно и сколько хочешь, абсолютно невзирая на EULA, но таки минусами сразу записывай - бОльшую трудоёмкость и отсутствие встроенных подсказок и автодополнения. Зато можешь создать нечто такое, до чего никогда не додумался никто и никто тебе в этом не помеха!

В принципе, если уж совсем-совсем мсье знает толк в извращениях, то не грех воспользоваться и HEX-editor'ами. - там сразу можно писать в байт-код - почти то же самое, как наши бабушки компостировали перфоленты и перфокарты.

Хочу подытожить: в принципе, если у вас есть хорошая задумка и хоть-какие-то наработки в проекте, да хотя бы в виде проектной документации (или даже в предпроектной!!!), то дерзайте, продвигайтесь и продвигайте - оно вернётся вам сторицей. А выбор конкретного инструмента для кодинга - не самое главное в этом деле мероприятие, хоть и не самое последнее тоже (в связи с лицензиями, хотя бы).
Если вы затрудняетесь с выбором конкретной IDE, но в целом уже неплохо кодите в редакторе и у вас получается скомпиллировать код в бинарь, то вам следует задавать несколько другой вопрос: "какая IDE мне больше подойдёт при вот %таких% и %таких% параметрах?".
А впрочем и лучше - читайте доки по конкретным IDE и делайте свой выбор сами.

Добавлено через 1 минуту
GbaLog-, спасибо!
0
Заблокирован
24.04.2017, 21:33
NeoMatrix, походу Вы не курсе и просто фантазируете

Добавлено через 5 минут
Цитата Сообщение от NeoMatrix Посмотреть сообщение
Суть как бы в том, что не имеет разницы, каким инструментом вы собираетесь воспользоваться
Ламер детектед.
Это все равно что сказать "не имеет значения чем Вы будете косить поле 12000 гектар: косой ручной или трактором с косилкой".
Существуют настолько сложные задачи что "врукопашную", без специальных тузлов их не решить даже теоретически
0
Незнайка
26 / 11 / 2
Регистрация: 14.10.2016
Сообщений: 373
Записей в блоге: 2
24.04.2017, 21:38  [ТС]
ИсмаилПркопенко, "даже теоретически"?

0
Заблокирован
24.04.2017, 21:38
NeoMatrix, Если Вы хотите в одиночку разработать ОС уровня венды, и хотите потратить на это не миллион человеко-лет, а всего 2-3 месяца, то выбор инструментария играет РЕШАЮЩУЮ роль в успехе данного предприятия
0
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8532 / 3375 / 105
Регистрация: 24.05.2011
Сообщений: 14,609
Записей в блоге: 8
24.04.2017, 21:41
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Ламер детектед.
А кто сказал, что я программист с офигительным опытом?
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
"не имеет значения чем Вы будете косить поле 12000 гектар: косой ручной или трактором с косилкой"
Действительно: разве имеет значение? Поле будет скошено и в том и в другом случае. разница в трудоёмкости и производительности. А конечный результат - накошенное сено - будет одинаковым.
Так и тут: можно делать и так и сяк - результат будет всё равно одинаков. А уж в одну пару рук вам косить простой косой, али нанять совхоз с тракторами и косилками - вопрос совершенно другого плана.
0
Заблокирован
24.04.2017, 21:43
Цитата Сообщение от NeoMatrix Посмотреть сообщение
Действительно: разве имеет значение? Поле будет скошено и в том и в другом случае.
Только в одном случае оно будет скошено за 2 дня, а в другом за 2000 лет.
Для Вас это не имеет значения?
Вы бессмертный?
0
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8532 / 3375 / 105
Регистрация: 24.05.2011
Сообщений: 14,609
Записей в блоге: 8
24.04.2017, 21:53
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Если Вы хотите в одиночку разработать ОС уровня венды, и хотите потратить на это не миллион человеко-лет, а всего 2-3 месяца
Кто сказал, что я хочу разработать ОС "с нуля" и "уровня венды"?
В одиночку за 2 - 3 месяца да хоть самолётом паши - не вспашешь. Особенно без наличия опыта и знаний.
Торвальдс написал всего-лишь одно ядро системы. А всё остальное к нему прикрутили позже - РМС постарался и всё сообщество.
В Редмонде тоже не один и не десять челов пишут ОСи и даже не "с нуля", а с использованием старых наработок. Иногда не просто "старых", а реально "древних", как динозавры. Просто перелицовывают на современный лад да и не один - три месяца большой командой девелоперов. Или вы думаете почему мягкомелкие до сих пор не открыли древние свои ВинМЕ и Вин98? Да просто потому, что частично что-то из них юзается и в Вин10.
0
Заблокирован
24.04.2017, 23:03
Цитата Сообщение от NeoMatrix Посмотреть сообщение
Или вы думаете почему мягкомелкие до сих пор не открыли древние свои ВинМЕ и Вин98?
Опомнился.
Уже даже исходники XP открыли
0
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8532 / 3375 / 105
Регистрация: 24.05.2011
Сообщений: 14,609
Записей в блоге: 8
24.04.2017, 23:18
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Уже даже исходники XP открыли
Пруф или не было!
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
25.04.2017, 23:39
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Уже даже исходники XP открыли
не было
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2017, 23:39
Помогаю со студенческими работами здесь

На каких языках программирования пишут back-end?
На каких языках программирования пишут back-end? И какие технологии(может фреймворки) используются?

Для каких целей язык Си? Что на нём пишут,какие программы?
Прошу прощения за столь дебильный вопрос. Язык Си я знаю,а для чего он и где применяется - нет. Сейчас изучаю шарп. Может ли Си понадобится...

В каких программах работаете вы?
добрый день вот решил позаниматься для расширения своего кругозора созданием веб страниц Скачал программу ADOBE DreamWeaver сs 3 и решил...

В каких программах можно работать с C#
Здравствуйте дорогие программисты, я хотел бы узнать - можно ли еще в каких то программах работать с языком C# ??? Кроме - Microsoft...

В каких программах создавать ER-диаграммы?
Желательно с рус. интерфейсом.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru