"Для начала объясните мне, что такое "операционная среда"." ------------------------------- вернее "оперирующая" среда, а не "операционная". Правильный перевод слова operating - оперирующий, т.е. приводящий в действие.
Совокупность программулек, обеспечивающих управление ресурсами компа, раздачей полномочий процессам (другим программулькам) по доступу к ресурсам компа
" "BIOS не является операционной средой" Ой, а как же тогда работает загрузчик операционки? " ------------------------------ Причём тут загрузчик операционки ?
БИОС проверяет аппаратуру согласно программке, "зашитой" в микросхеме, а операционка "загружается" исполнением файла с определённого места на диске - загрузочной области диска
Совокупность программулек, обеспечивающих управление ресурсами компа, раздачей полномочий процессам (другим программулькам) по доступу к ресурсам компа
Это "операционная система".
А теперь внимание: драйверы начинают работу до того, как в системе появляются процессы. Поэтому Ваше мнение "драйвер это программка, выполняющаяся в операционной среде" (с уточнениями о значении этих терминов) совершенно ложно.
Причём тут загрузчик операционки ?
Смотрим внимательно:
Загрузчик операционки загружает ядро и прочую хрень. Загружает с диска (или по сети - тут это без разницы).
Чтобы обратиться к диску (или к сети) - в RAM или в ROM д.б. программа, знающая, как работать с данным конкретным HDC+HDD.
Эта программа и есть драйвер. Причём этот драйвер должен работать тогда, когда в системе нет не только процессов, но даже и ядра - т.е. некому распределять ресурсы. Да собственно, их распределять незачем - практически нет желающих их получить. А те, которые есть - распределяют их кооперативным способом.
БИОС проверяет аппаратуру согласно программке, "зашитой" в микросхеме
Не только, очень даже не только. При использовании DOS - BIOS работал на протяжении всей работы компьютера, до выключения.
Чтобы диалог был продуктивным, мне надо понять, что Вы знаете, а чего не знаете. Знаете ли Вы, какие функции выполнял BIOS уже после загрузки DOS?
а операционка "загружается" исполнением файла с определённого места на диске - загрузочной области диска
У меня складывается чёткое ощущение, что Вы не понимаете смысл слова "загрузка/загружается".
Где именно находится "загрузочная область диска"? Это фиксированное место, или для разных операционок оно может меняться?
Допустим, у меня на компьютере (на одном диске, в разных разделах) установлены DOS, W'XP и Linux с возможностью выбора операционки при старте. Где в этом случае находится "загрузочная область диска"?
"Загрузочная область диска" - это один сектор или много? Если много - то где содержится их список? Как список секторов передаётся на диск?
"Понимает" ли диск разницу между загрузкой операционки и штатным режимом работы? Может, в стандарте IDE/ATA/SATA/SCSI есть какие-то функции, относящиеся только к загрузке, которые не нужны в штатном режиме работы? Пруф есть?
"А теперь внимание: драйверы начинают работу до того, как в системе появляются процессы." -------------------- а теперь внимание, что такое процесс и откуда они "появляются" ? А теперь усильте внимание - от сырости или от запуска исполняемого файла в оперативной памяти, запрошенной исполняемым файлом и выделенной (ещё усильте внимание) чем ?
"Процесс" - это запущенная программа. В современных операционках, которые пошли по дурацкой схеме загрузки с диска, процессы обычно действительно появляются от запуска программы, которая лежит в файле, а файл лежит на диске. Хотя в Unix процесс появляется от выполнения системного вызова fork(), а потом программа, исполняемая в процессе, заменяется файлом - это делает системный вызов exec().
Итак, вернёмся к вопросу о том, что "драйверы начинают работу до того, как в системе появляются процессы". У Вас есть опровержения?
Обратите внимание: чтобы запустить процесс из файла, лежащего на диске, надо обратиться к диску. А это значит, что драйвер диска уже должен работать. Но я выдвигаю более сильный тезис: загрузка ядра требует обращения к диску, т.е. наличия работающего драйвера.
no subject
Date: 2017-02-28 12:32 am (UTC)-------------------------------
вернее "оперирующая" среда, а не "операционная". Правильный перевод слова operating - оперирующий, т.е. приводящий в действие.
Совокупность программулек, обеспечивающих управление ресурсами компа, раздачей полномочий процессам (другим программулькам) по доступу к ресурсам компа
" "BIOS не является операционной средой"
Ой, а как же тогда работает загрузчик операционки? "
------------------------------
Причём тут загрузчик операционки ?
БИОС проверяет аппаратуру согласно программке, "зашитой" в микросхеме,
а операционка "загружается" исполнением файла с определённого места на диске - загрузочной области диска
no subject
Date: 2017-02-28 05:16 pm (UTC)А теперь внимание: драйверы начинают работу до того, как в системе появляются процессы. Поэтому Ваше мнение "драйвер это программка, выполняющаяся в операционной среде" (с уточнениями о значении этих терминов) совершенно ложно.
Смотрим внимательно:
Не только, очень даже не только. При использовании DOS - BIOS работал на протяжении всей работы компьютера, до выключения.
Чтобы диалог был продуктивным, мне надо понять, что Вы знаете, а чего не знаете. Знаете ли Вы, какие функции выполнял BIOS уже после загрузки DOS?
У меня складывается чёткое ощущение, что Вы не понимаете смысл слова "загрузка/загружается".
Где именно находится "загрузочная область диска"? Это фиксированное место, или для разных операционок оно может меняться?
Допустим, у меня на компьютере (на одном диске, в разных разделах) установлены DOS, W'XP и Linux с возможностью выбора операционки при старте. Где в этом случае находится "загрузочная область диска"?
"Загрузочная область диска" - это один сектор или много? Если много - то где содержится их список? Как список секторов передаётся на диск?
"Понимает" ли диск разницу между загрузкой операционки и штатным режимом работы? Может, в стандарте IDE/ATA/SATA/SCSI есть какие-то функции, относящиеся только к загрузке, которые не нужны в штатном режиме работы? Пруф есть?
no subject
Date: 2017-03-03 11:20 pm (UTC)--------------------
а теперь внимание, что такое процесс и откуда они "появляются" ? А теперь усильте внимание - от сырости или от запуска исполняемого файла в оперативной памяти, запрошенной исполняемым файлом и выделенной (ещё усильте внимание) чем ?
no subject
Date: 2017-03-04 01:39 am (UTC)Хотя в Unix процесс появляется от выполнения системного вызова fork(), а потом программа, исполняемая в процессе, заменяется файлом - это делает системный вызов exec().
Итак, вернёмся к вопросу о том, что "драйверы начинают работу до того, как в системе появляются процессы". У Вас есть опровержения?
Обратите внимание: чтобы запустить процесс из файла, лежащего на диске, надо обратиться к диску. А это значит, что драйвер диска уже должен работать.
Но я выдвигаю более сильный тезис: загрузка ядра требует обращения к диску, т.е. наличия работающего драйвера.