LINUX.ORG.RU

Избранные сообщения sched

Загрузка ОС, MBR

Форум — Talks

Нашел статью про MBR: Здесь Так вот, функция MBR — «переход» в тот раздел жёсткого диска, с которого следует исполнять «дальнейший код» (непосредственно загрузчик ОС - GRUB или windows-загрузчик ?): 1) Произошла загрузка MBR в память:

 * BIOS проводит начальную инициализацию оборудования («железа»)
   
 * BIOS определяет, с какого устройства производить дальнейшую загрузку: дискета, флеш-накопитель, жёсткий диск и т. д. (выбор устройства зависит от версии и от настроек BIOS)

 * BIOS считывает один сектор (512 байт), который находится по адресу: «цилиндр 0, головка 0, сектор 1», и помещает его в область памяти по адресу 0000:7c00
   
 * BIOS проверяет, что этот сектор оканчивается сигнатурой 55ААh

 * BIOS передаёт управление по адресу 0000:7c00 (то есть сектору MBR)

Выбор загрузочного раздела и проверка целостности MBR:

* MBR копирует себя с адреса 0000:7c00 на адрес 0000:0600 (освобождая место для будущей загрузки уже собственно загрузчика ОС)

* MBR просматривает по очереди все записи о разделах и ищет первую запись об «активном» (== «загрузочном») разделе (то есть ищет раздел, отмеченный как 80h)

* В случае успеха (раздел, помеченный как 80h — найден) MBR запоминает номер этого раздела

    [если просмотрены все 4 записи и не найден раздел, помеченный как 80h, то вызывается INT 18h. Это возвращает управление обратно в BIOS, что может приводить либо к загрузке BASIC, либо к повторной попытке загрузить систему с диска, либо к перезагрузке компьютера — в зависимости от версии и реализации BIOS]


* MBR просматривает все оставшиеся записи и проверяет, что это единственный активный раздел (что больше разделов, помеченных 80h, на данном физическом диске не существует)

    [если находятся другие разделы, помеченные 80h, то MBR выводит сообщение об ошибке (обычно это что-то типа «Invalid partition table»), после чего система зависает в бесконечном цикле, из которого можно выйти только перезагрузкой компьютера]


* MBR проверяет, что в данном поле для всех 4-х разделов нет иных значений, кроме «00h» и «80h»

    [если находятся разделы, помеченные значением, отличным от 00h или 80h, то MBR выводит сообщение об ошибке («Invalid partition table»), система зависает, требуется перезагрузка компьютера]

На этом заканчивается проверка MBR и начинается подготовка к загрузке ОС:


* MBR считывает первый сектор логического диска, помеченного как «загрузочный» и помещает этот сектор по адресу 0000:7c00

Собственно вопросы:

  • Если у меня несколько ОС на разных разделах, следовательно несколько загрузочных разделов, помеченных как 80h? (или пометка 80h относится к загрузочному разделу с системой «загрузка по умолчанию»?).
  • С момента «MBR считывает первый сектор логического диска, помеченного как «загрузочный» и помещает этот сектор по адресу 0000:7c00» и «MBR передает управление по адресу 0000:7c00 (то есть загрузочному сектору выбранного логического раздела диска)» в память грузится Grub или загрузчик windows ? Но вначале при включении компьютера первое, что в вижу на жкране монитора - Grub.

Так как все происходит ? Заранее благодарен за ответы!

thunriv
()

OpenSUSE не хочет дружить

Форум — Linux-install

После того, как арч скатился в уг, ищу ему замен. Решил что лучше opensuse не найти, но она просто не ставится, установщик просто зависает, раньше при установке какого-то пакета, на 30%, сейчас просто при запуске установщика. Я прожег уже 3 диска на минимальной скорости. md5 совпадают, но просто ничего не работает. Так ни разу не установилась еще. В чем могут быть причины такого? Прожигал на разных компьютерах.

Chubakur
()

Язык программирования D

Форум — General

http://www.books.ru/books/yazyk-programmirovaniya-d-827252/?show=1

Вышел перевод книги Александреску «The D Programming Language», который, надеюсь, послужит популяризации языка в Этой Стране. Кто-нибудь уже читал? Как качество издания/перевода?

 ,

vvviperrr
()

&a[1] или a+1

Форум — Development

Всегда считал что правильнее &a[1]. Я не прав?

 , ,

LinuxUser
()

[C][образование] Нужна критика программы курса про Си

Форум — Development

Хотелось бы увидеть желающих предметно покритиковать программу курса про Си для профильной специальности.

Рабочая версия программы: http://dev.iu7.bmstu.ru/trac/workbook_c_iu7/wiki/plan

Особенно интересует мнение по: http://dev.iu7.bmstu.ru/trac/workbook_c_iu7/wiki/plan#Лабораторныеработы

 ,

sv75
()

Вышла очередная референсная реализация компиляторов языков D1 и D2

Новости — Open Source
Группа Open Source

10 июля стала доступна для загрузки очередная референсная реализация компиляторов языков D1 и D2. Как повелось с предыдущего выпуска, готовы пакеты для Ubuntu, Fedora, и openSUSE, как 32-х, так и 64-хбитные.

Некоторые нововведения:

  • введены атрибуты @safe, @property, сделан автоматический интерфейс для @safe, pure, nothrow;
  • В inline assembler добавлена поддержка инструкций SSSE3;
  • добавлены новые предупреждения о свойствах, подлежащих удалению, часть свойств объявлены удалёнными;
  • расширены ядро языка и стандартная библиотека, в частности, добавлены core.sys.posix.netdb, td.array.uninitializedArray, std.array.minimallyInitializedArray;
  • часть функций, в первую очередь в модулях std.string и std.uni, была переименована для соответствия с разработанными правилами именования, старые названия частично сохранены для совместимости, но будут удалены из последующих версий;
  • добавлена возможность использовать логические переменные в качестве ключей в ассоциативных массивах, ранее с этою целью можно было использовать только целые числа и строки.

Авторы также рапортуют об устранении 127 ошибок различной природы.

Подробный список изменений можно посмотреть на официальном сайте.

>>> Подробности

 ,

Vudod
()

Inspiron N7110

Форум — Linux-install

Купил сей ноут. Не устанавливается ни opensuse ни ubuntu. Виснет в самом начале установки. Сначала грешил, что м.б. suse такая, оказалось и ubuntu тоже не хочет. Пробовал 32 разрядную - не хочет. Что делать? (

mugs
()

Попытка реинтеграции компилятора D в состав GCC

Новости — GNU's Not Unix
Группа GNU's Not Unix

Как можно заключить из сообщений в рассылке разработчиков gcc, к версии gcc 4.8 будет предпринята попытка официально ввести в состав gcc gdc — свободную реализацию компилятора языка D (digitalmars D).

D позиционируется как «системный язык программирования высокого уровня» и предоставляет как высокоуровневые возможности, включая присущие динамическим языкам, так и позволяет при необходимости задействовать характерные для системного программирования низкоуровневые особенности, включая ручное управление памятью. В известной степени D можно считать наследником C++, избавленным от неоднозначностей.

Так, средства метапрограммирования имеют ясный синтаксис и не порождают нечитаемых сообщений об ошибках. Язык поддерживает концепцию модулей. Скорость компиляции и сборки кода настолько высока, что D можно использовать вместо интерпретируемых языков (скрипты).

D не накладывает жёстких парадигменных ограничений и позволяет записывать код в обобщённом, объектно-ориентированном, функциональном и процедурном стилях, а так же их комбинации. Штатно предоставляются полные средства интроспекции. Дополнительно компилятор несёт в себе нечто вроде интерпретатора языка, позволяющего динамически добавлять/изменять методы во время исполнения.

Имеются средства прямого вызова функций, реализованных на языках C и C++.

В целом, D представляется интересным для программирующих пользователей, нуждающихся в современных выразительных средствах, но не имеющих возможности изучать все особые случаи C++.

Свободно доступен референсный компилятор dmd, однако он предназначен, скорее, для исследовательских целей. Появление штатного фронтенда D в наборе gcc позволяет надеяться на переход от чисто экспериментального применения этого интересного и мощного языка к широкому внедрению.

>>> Подробности

 , ,

glebiao
()