Не хотел засорять форум для начинающих, им и так тяжело. Возникло подозрение, что драйвера - принадлежность именно Windows : нужно ограничить приложения ring`a 3. Интересно, что в любой момент "удалённый" пользователь имеет доступ к ядру. Вспомните операции америкосов на востоке и что происходило там с компутерами. И почему тогда тем, кто собирается начать писать свою ось ( 90% начинающих : " Скажите пож., а что означает inc eax". Следующий вопрос - "Подскажите пож., с чего начинать - я хочу написать свою ось".) - советуют начинать с драйверов... Можно-ли сделать систему без них?
Ты чтоб постить минимум теории изучил бы Б...я сегодня столько флуда было завёрнутого под серьёзные вопросы! И ты туда же????????
wsd внятно напишите, что обосновывать. без ошибок грамматических желательно. ИМХО вас смутило высказывание
Veter Драйверы управляют работой внешних устройств. Как можно сделать ОС без управления устройствами, а?
В целом, Вы не правы, уважаемый SII. Поясню причину ошибки... Работой устройств управляет CPU и окружающая его инфраструктура (ОЗУ, шины, порты ввода-вывода). Вы управляете работой CPU за счет микрокода, внесенного в оперативную память. Если Ваш микрокод реализует алгоритм управления (протокол взаимодействия) данным устройством, значит Вы управляете этим устройством. Выводы: 1. для управления девайсом не обязательно использовать драйвера, достаточно скомпилировать Высокоуровневый код (с языка высокого уровня) управления портами ввода-вывода и загрузить его в работающий CPU. 2. Драйвера нужны совсем для другой цели- чтобы создать границы(зоны недоверия) между "всемогущим" админом, лопоухим юзером и ядром ОС (которое по идее живет само по себе и не доверяет никому, кроме своих личных драйверов==доверенных программ). Вот такое получается королевство недоверия друг к другу Понятное дело, что все это ИМХО.... и Вы можете не воспринимать мою точку зрения как и обычно ))
4apa 100% Согласен. Драйвер нужен для стандартизации запросов к устройству. Так как реализация самого алгоритма работы устройства может быть разной. А драйвер имеет стандартные запросы к устройству. И это облегчает жизнь ПРГРАММЕРАМ.
Вообщето вначале советоют начинать с загрузчика который будет грузить ядро. А дальше как само собой розумеется вытекает что нужен драйвер ввода с клавиотуры. Вывод на экран особо драйвера не требует так только одна процедура вывода. Так как так проще ядро отлаживать, развивать. После само собой требуется доступ к дискам отсюда драйвер дисковой подсистемы. И всем сразу хочется GUI тут нужен не столько драйвер сколько библеотека вывода приметивов. А после требуют мультимедию вывод звука тут нужен драйвер. На самом деле после загрузки ядра идет паролельное развитие ядра и всей остальной системы библеотек и драйверов. Кто-то делает акцент на драйвера кто-то на ядро. Собственно возможно и так что программа сама себе драйвер. Это уже из разряда экзоядерных ОС.
Вот - драйвера - не являются необходимыми в любой ос. Это просто форточки так сделаны - программы ринга 3 не имеют прав на работу с портами напрямую. Не уверен что Windows - лучшая во всех отношениях ос. Получается,что совет :" Начни с драйверов" можно перефразировать : "Ты, парень, му-ак. Не забивай себе голову - посмотри, как сделано в форточках, и делай так же." Не уверен , что Windows представляет собой квинтэссенцию завершающего этапа развития программерской мысли.
Да лан... Заюзай DPL3 прерывание и работай хоть в ринг0, из Код (Text): программы ринга 3 Главнейшая архитектурная правильность - то что процесс и драйвера хотябы в едином адресном пространстве находяться. Хотя в Висте уже все поломали, для того чтоб кодер мог обгемороиццо, обломаццо и убиццо ап кернелЪ (конечно, не 32dll).