OSDev

для всех
Текущее время: 09 май 2024, 06:16

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: 27 фев 2010, 20:51 

Зарегистрирован: 27 фев 2010, 19:53
Сообщения: 6
Добрый день!
Встала задача организовать для студентов лабу по курсу «Операционные системы», мне нужна операционная система с простейшей структурой:
  • Вся система грузится с помощью GRUB, дабы не морочиться с переходом в защищенный режим, чтением диска и прочими неприятностями, будет достаточно рассказать, что делает GRUB, а кто заинтересуется — пусть сам пощупает.
  • Основное ядро написано на Си, на Ассемблере только начальная инициализация таблицы дескрипторов и прочего.
  • Процессы жостко закодированы в ядре, в виде Сишных функций (что-то вроде, void proc1() { ... };).

В данный момент я пытаюсь реализовать ее самостоятельно, но опыта в этом деле у меня маловато. Подскажите мне такую операционную системочку или поделитесь своими любыми соображениями по этому поводу. Может, кто посоветует что-нибудь дельное касательно самой лабы? Буду очень признателен!
Спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 фев 2010, 22:27 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
По поводу лабы у меня лично соображение самое что ни на есть флудерастическое: эта лаба нафиг не нужна. ОС -- слишком сложная и объёмная тема, чтобы одна-две лабы хоть что-то могли бы дать, ведь даже чисто теоретический курс займёт никак не меньше семестра -- и то это будет "галопом по европам".

А Миникс не смотрели? Она ж создавалась с учебными целями, так что, возможно, пойдёт, хотя она и сложней этой. В то же время она является иллюстрацией к, наверное, самой популярной ныне книге по осям, что является плюсом...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 фев 2010, 23:09 

Зарегистрирован: 27 фев 2010, 19:53
Сообщения: 6
Меня тоже порядком беспокоит, не замахнулся ли я на незамахуемое :).
Цель лабы — донести до студентов, что существует такая штука как lowlevel программирование, показать ту атмосферу, в которой разрабатывается ОС, а так же инициировать некий ВАУ-импульс для самостоятельного изучения.
Я хочу показать примитивную ОС и попутно рассказать, что на самом деле эта ОС — полная лажа и так никто не пишет, а пишут так (тут уже показать на пальцах).
По поводу Minix — честно говоря, не осилил пока, да и слишком сложная она для одной лабы, на ней с алгоритмами хорошо экспериментировать, наверно. Книжку я тоже читал. От «Современных операционных систем» она не сильно отличается, конкретики там мало, больше теории :(.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 фев 2010, 23:27 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Ну, дело отчасти в том, что конкретика будет неизбежно завязана на какую-то из реально используемых осей, а они все (ну, почти все) уж слишком сложные, а посему для изучения подходят плохо. Кроме того, лично моё мнение -- хорошо разобраться в предмете вообще на теоретическом уровне важнее, чем практически разобрать что-то конкретное, поскольку хорошему "теоретику" обычно не составляет труда подстроиться под любую конкретную реализацию, а вот у "зацикленного" на определённом решении часто мозги клинит, и до них с трудом доходит, что известное им решение -- не только не единственно возможное, но нередко и не самое лучшее (по крайней мере, лучшее не для каждого случая).

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 фев 2010, 01:32 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Есть такой цикл электронных книг "Библиотека системного программиста
© Александр Фролов, Григорий Фролов, 1991-1997". Вам нужен том 6, название "Защищенный режим процессоров Intel 80286/80386/80486". К нему прилагается рабочая программа для запуска из ДОС с двумя задачами защищённого режима. В интернете найти не проблема.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 фев 2010, 11:39 

Зарегистрирован: 27 фев 2010, 19:53
Сообщения: 6
Эту книжку я листал, читал конкретно про принципы защищенного режима, сегодня посмотрю поглубже. Спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 мар 2010, 22:29 

Зарегистрирован: 03 мар 2010, 22:25
Сообщения: 3
Собственно разрабатываю ось, есть версия, в которой процессы в ядре. Только там много лишнего кода. Если интересно -- http://sf.net/projects/logoros. Рекомендую самую раннюю версию, т.к. там меньше лишнего кода, зато в последней больше комментариев ;)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 мар 2010, 22:53 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
vkosvk писал(а):
Собственно разрабатываю ось


А я уж думал, что Изя давно всё :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 мар 2010, 22:59 

Зарегистрирован: 03 мар 2010, 22:25
Сообщения: 3
Не, год назад начал всё сначала, почитал манов, сделал всё как следует ;) Скоро закончу l-core (ядро) до приемлемого состояния и буду виртуальную машину писать...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 мар 2010, 00:53 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Ну, я думаю, что и эта попытка будет неудачной, однако при должной настойчивости с 4-5 раза получится действительно не просто работоспособная вещь, но ещё и допускающая дальнейшее развитие :) Впрочем, могёт быть, что ошибаюсь: сужу-то по собственному опыту, а я реально въехал в то, как следует делать ось, годам к 20 (программированием с 13 занимаюсь, с 15 уже работал программистом, но, пока неплохо пару реальных систем не изучил, было лишь представление, что должно делаться, но не было понимания, как именно это надо делать в комплексе).


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 107


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB