Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
#1

Написание собственной ОС, Антивируса и компилятора - C (СИ)

17.10.2014, 13:01. Просмотров 2281. Ответов 44
Метки нет (Все метки)

Привет всем. решили с друзьями изучить C и написать собственную ОС(на подобии KolibriOS на асме), написать под нее свой антивирус,компилятор(в дальнейшем задумывалась разработка собственного эзотерического языка) и, возможно, браузера ну и драйверов,куда без них. Так вот. Помогите советом/направьте на путь истинный:
1. Что почитать для освоения C?(в данный момент читаем книгу Как программировать на C за авторством Дейтелов)
2. Что почитать для реализации выше описанного функционала?
3. Что почитать касательно разработки собственного эзотерического языка(может кто сталкивался/создавал сам)?

Буду благодарен за советы и наставления
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2014, 13:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Написание собственной ОС, Антивируса и компилятора (C (СИ)):

Написание собственной функции
Упрощенная задача из книги Дейтла. За стоянку до 3-х часов парковочный гараж...

На каком языке объясняется написание компилятора в книге?
Скачал книгу Дракона, Читал пока не пришел к вопросу, НА КАКОМ ЯЗЫКЕ...

Вывод массива из собственной функции
Ребят, такая проблема, допустим, у меня совя функция, которая записывает в...

Написание собственной ОС
Доброго времени суток! Задался вопросом написать свою ОС на каком-либо языке...

Написание собственной процедуры
Конечно чуствуется очень глупый вопрос задам, но всеже нужно... Дан оператор...

Написание собственной поисковой системы
Вот решили с другом написать поисковую систему типо рамблера. Но для начала...

44
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,436
Записей в блоге: 30
19.10.2014, 22:21 #21
Цитата Сообщение от castorsky Посмотреть сообщение
В качестве учебной задача годная
В теории да. На практике я согласен с постом #16, потому что данные товарищи ну никак не входят в категорию людей, которые сумеют довести сие дело хотя бы до 10% от задуманного
0
Catstail
Модератор
23531 / 11641 / 2034
Регистрация: 12.02.2012
Сообщений: 18,981
20.10.2014, 11:05 #22
Мое глубокое убеждение состоит в том, что гасить инициативу (особенно людей молодых) - нехорошо... Но оценить объем работ все же следует. Он весьма велик. Начинать следует с инструментария. Если процессор совсем новый - нужен ассемблер, и С (т.к. все писать на ассемблере будет тяжело). Затем, нужно понимать, что входит в операционную систему (менеджер памяти, диспетчер процессов, загрузчик и т.д.). Потом решить главный вопрос: графику встраивать в ядро (как Win) или пусть графические оболочки грузятся из отд. библиотек (как Unix/Linux).
Ну, и т.д. А потом подумать о компиляторах хотя бы самых популярных языков. Браузер - отдельная статья.

Успехов!...
1
Boleon
Guardian of Asgaard
372 / 315 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
20.10.2014, 11:15 #23
Цитата Сообщение от aekuznecov Посмотреть сообщение
т.к. подруга пишет вирусы сама)
Давай пруф. Скинь мне хотя бы один её "вирус" на email: darkrduk.goatahl@gmail.com

Добавлено через 1 минуту
ЗЫ
больше чем уверен, что тема создана для стёба, не более
0
Catstail
Модератор
23531 / 11641 / 2034
Регистрация: 12.02.2012
Сообщений: 18,981
20.10.2014, 11:22 #24
Цитата Сообщение от Darkrduk Посмотреть сообщение
для стёба, не более
- не факт.
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,436
Записей в блоге: 30
20.10.2014, 12:15 #25
Цитата Сообщение от Catstail Посмотреть сообщение
Мое глубокое убеждение состоит в том, что гасить инициативу (особенно людей молодых) - нехорошо...
А по мне так лучше изначально направить энергию на подъёмные дела и не тратить впустую кучу времени на сферических коней в вакууме. А с учётом того, что товарищи не умеют пользоваться поиском для элементарных вещей, то им вообще не рекомендуется заниматься чем-то серьёзным. Пусть для начала "выучат Си и ассемблер" (взял в кавычки, потому что всегда содрогаюсь от сочетания слов типа "выучил Си", которые часто появляются на форуме). Если у них от одного слова погаснет инициатива, значит вся инициатива находится на уровне "горячая ж..", "наполеоновские планы" и т.п.
0
Catstail
Модератор
23531 / 11641 / 2034
Регистрация: 12.02.2012
Сообщений: 18,981
20.10.2014, 12:21 #26
Цитата Сообщение от Evg Посмотреть сообщение
А по мне так лучше изначально направить энергию на подъёмные дела
- дорогой Evg! Элементарная психология утверждает, что если кто-то чего-то хочет, то доказывать ему, что он неправ и нужно на самом деле направить усилия в другом направлении - пустое дело...
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,436
Записей в блоге: 30
20.10.2014, 12:28 #27
А я никому ничего не доказываю. Я просто общаюсь с людьми в этой теме, причём даже не с ТС'ом (ТС'ами)
0
_Ivana
3232 / 1860 / 235
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
20.10.2014, 13:21 #28
Забавная ситуация - все участники дискуссии сходятся во мнении относительно адекватности ТС, но при этом разделились мнения относительно того - стОит или не стОит Я тоже считаю что стОит, хоть и не получится. Как в том анекдоте про разные подходы разных врачей - злые говорят - надо ампутировать, а добрые - выпей таблеток, сами отвалятся
0
castorsky
1973 / 1076 / 87
Регистрация: 29.11.2013
Сообщений: 3,354
20.10.2014, 13:22 #29
Цитата Сообщение от Evg Посмотреть сообщение
В теории да. На практике я согласен с постом #16
Как Вы толкуете понятие "в теории"? Я утверждаю что задача в качестве учебной несет полезную нагрузку: позволяет освоить новые нужные для профессии навыки. Т.е. именно практически закрепить теоретические знания в виде учебной работы.
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,436
Записей в блоге: 30
20.10.2014, 13:29 #30
Цитата Сообщение от castorsky Посмотреть сообщение
Как Вы толкуете понятие "в теории"? Я утверждаю что задача в качестве учебной несет полезную нагрузку: позволяет освоить новые нужные для профессии навыки. Т.е. именно практически закрепить теоретические знания в виде учебной работы.
С постановкой задачи в том виде, как описал ты, я согласен на 100%. Но в теоретической постановке, когда задача ставится перед людьми, которые смогут хотя бы взяться за такую задачу. На практике мы имеем людей, которые за такую задачу взяться не смогут. Ты можешь возразить, что я пытаюсь ставить диагноз по телефону и будешь, в общем-то, прав. Но я уже (лично) повидал много подобных "горячих ж..." (в том числе и с гораздо более высоким скиллом) и конкретно в данном случае я готов поставить диагноз по тому, какими словами написан первый пост в данной теме
0
_Ivana
3232 / 1860 / 235
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
20.10.2014, 13:49 #31
Одному парню в Древней Греции тоже все хором говорили, что он не полетит, что видали и более скилловых и те не летали А он не слушал и правильно делал.

ЗЫ и Evg, зря вы так отозвались о нашей "недоООС" - она вполне решает стоящие перед ней задачи и не претендует на "порвать весь мир". Но претендует на "легкую, быструю и занимающую мало памяти", что нам было важнее. И была приведена только в качестве контрпримера категоричному утверждению Убежденный, чтобы показать, что под термином ООС можно понимать широкий спектр программ.

Добавлено через 4 минуты
ЗЗЫ перепутал с прямым углом - не ООС (отрицательная обратная связь, оговорка по Фрейду ) а ОС - "палка, на которой вертится Земля"
0
aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
20.10.2014, 13:50  [ТС] #32
Я вполне адекватный Просто решили написать свою ОС в качестве именно учебной задачи, как заметил castorsky. И да, у меня иногда бывают проблемы с поиском информации в интернете, поэтому я и решил задать вопрос на форуме. Пусть он и кажется нелепым/глупым/стебом, но я попросил помощи, т.к. она действительно нужна
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,436
Записей в блоге: 30
20.10.2014, 14:02 #33
Цитата Сообщение от _Ivana Посмотреть сообщение
И была приведена только в качестве контрпримера категоричному утверждению Убежденный, чтобы показать, что под термином ООС можно понимать широкий спектр программ
Я, честно говоря, так и не понял, в чём выражается контрпримерность твоего примера с написанием собственной специализированной ОС. Убеждённый ничего не говорил про невозможность самому написать ОС (недоос, прототип ос, облегчённую ос, неважно как назвать). Он всего лишь выразил здоровый скепсис в адрес конкретно ТС'а (ТС'ов), в чём я с ним полностью солидарен

Добавлено через 5 минут
Цитата Сообщение от aekuznecov Посмотреть сообщение
но я попросил помощи, т.к. она действительно нужна
Вопрос ведь в том, что считать помощью. Когда вопрос ставится в виде "прочитал описание такого-то алгоритма и не могу понять вот такой-то момент" это одно. А когда вопрос ставится в виде "я сам ничего не умею, скажите мне, где прочитать такой-то алгоритм, а ещё лучше, объясните мне его принцип работы" - это совсем другое

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

1. Научите работать топором и молотком.
2. Дайте мне чертёж эйфелевой башни, и я построю её, пользуясь своим умением работать топором и молотком
1
aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
20.10.2014, 14:07  [ТС] #34
Evg, это я понимаю)) Да и скептицизм большинства мне тоже понятен)) Просто хотелось услышать совета в плане того, какую литературу стоит прочесть, чтобы изучить тот или иной аспект предмета данной темы)
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,436
Записей в блоге: 30
20.10.2014, 14:08 #35
Ни из одной книги ты не сможешь внятно прочувствовать всю глубину задницы, в которую вы хотите залезть. А уж когда нет большого практического опыта - и подавно
1
aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
20.10.2014, 14:11  [ТС] #36
Это понятно, что без практики и с одной теорией там будет туговато, но мы хотели делать это не прям здесь и сейчас, а в течение продолжительного времени, нарабатывая по ходу получения практического опыта, подкрепляющего теоретические знания
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,436
Записей в блоге: 30
20.10.2014, 14:16 #37
Цитата Сообщение от aekuznecov Посмотреть сообщение
но мы хотели делать это не прям здесь и сейчас, а в течение продолжительного времени
Точно так же можно рассчитывать в течение времени построить эйфелеву башню. Но пока ты в реальности не сделаешь сотню матрёшек, десятки табуреток и скворечников, желательно ещё одноэтажный дом, то браться за эйфелеву башню нет даже смысла. Потому что с уровня нулевого скилла проблема выглядит так, как нужно только иметь уровень мастерства по работе с топором и молотком. И лишь после многолетней практики начнёшь понимать, что на самом деле нужно понимать физику, математику, сопрамат и чёрт-те сколько других знаний, потому что топор и молоток - это всего лишь инструменты, а эйфелева башня держится на совсем других науках
0
aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
20.10.2014, 14:24  [ТС] #38
Evg, я Вас прекрасно понимаю) можете что-нибудь посоветовать про
Цитата Сообщение от Evg Посмотреть сообщение
сотню матрёшек, десятки табуреток и скворечников
?

Добавлено через 2 минуты
Evg, хотя бы не литературу, а то ПО, которое в дальнейшем может понадобиться для ОС?
0
Evg
Эксперт CАвтор FAQ
18938 / 6899 / 513
Регистрация: 30.03.2009
Сообщений: 19,436
Записей в блоге: 30
20.10.2014, 14:29 #39
Мой совет - на несколько лет забудь про написание ОС, компилятора и прочего системного софта. Просто научись для начала программировать, научись работать с файлами, с потоками, с устройствами. Научись понимать, что относится к языку программирования, что относится к библиотечной поддержке, что относится к поддержке со стороны операционной системы. Пойми на уровне подсознания бредовость вопросов типа "как на языке Си узнать, сколько процессоров установлено в системе"
2
aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
20.10.2014, 14:35  [ТС] #40
Evg, хорошо)) спасибо за совет))
0
20.10.2014, 14:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2014, 14:35
Привет! Вот еще темы с решениями:

Написание компилятора на C++
Хочу написать компилятор на С++ под свой язык. Ни в одной книге не описывается,...

Написание простого компилятора
Хотел бы попробовать написать простенький компилятор, но не знаю с чего начать,...

Написание компилятора на паскале
Помогите написать компилятор на паскале. Для проверки одной строчки паскаля....

Написание простого компилятора
Пишу простой компилятор использующего грамматику Pascal Реализую проверки...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru