OSDev

для всех
Текущее время: 28 мар 2024, 11:13

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




Начать новую тему Ответить на тему  [ Сообщений: 190 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19  След.
Автор Сообщение
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 27 сен 2016, 00:10 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Сделал ещё исправление. Чтобы драйвер мыши запускался нормально, мне приходилось загружать его перед драйвером клавиатуры. Проблема оказалась в том, что команды управления мышью возвращают через порт 0x60 коды ответа, и если порт клавиатуры не заблокирован, то они попадают в буфер клавиатуры, а драйвер клавиатуры от непонятных ему кодов зависал. Поэтому надо перед настройкой мыши отправлять команду "выключение первого порта PS/2" 0xAD в порт 0x64. И ещё на время настройки мыши желательно запретить прерывание клавиатуры в PIC или APIC.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 01 окт 2016, 21:45 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Обнаружил, что установка загрузчика на диск с помощью SetupWin перестала работать. Выпустил исправленную версию системы.
Проблема возникла с новой версией MinGW 5.3.0-2, там ошибка в заголовочном файле ntdddisk.h
строка с ошибкой
Код:
#define IOCTL_DISK_BASE            FILE_TYPE_DISK
должна быть
#define IOCTL_DISK_BASE            FILE_DEVICE_DISK


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 09 окт 2016, 02:17 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Курсор мыши отображён. Окнам отправляются сообщения WM_MOUSEMOVED, WM_LBUTTONDOWN и т.п. Ни каких элементов управления пока нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 14 окт 2016, 23:57 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Сделана поддержка колёсика мыши и 2 дополнительных кнопок для WheelMouse и IntelliMouse.
Для проверки, при вращении колёсика, на экране печатаются символы + и -. Это только в окне выбора режима экрана. К этому окну можно вернуться по Ctrl+Alt+Esc.
В процедуре настройки мыши сделана доработка. Оказалось, что после отправки команд к мыши, перед чтением ответа надо делать паузу 20мс. Невнимательно читал спецификацию :-(
https://yadi.sk/d/RJ_W8nEqctQuJ


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 09 ноя 2016, 11:47 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
По поводу разделением кода системы на ядерную и пользовательскую части для защиты от хакерских атак и случайных ошибок программ.
Проблема в том, что пользователю часто надо выполнять манипуляции с объектами (драйверами, файлами, спрайтами и т.п.) используя вызовы ядерных процедур. Предположим для этого используется текстовый командный скрипт. В процессе его исполнения происходит множество системных вызовов с затратами на переходные процессы. Очевидно, что имеет смысл поместить интерпретатор на уровень ядра, а пользователь через один системный вызов передаёт только указатель на буфер команд, и получает результат всей программы.
В ядро можно поместить разные интерпретаторы, типа Shell, Bash, .Net, Mono, Ruby, серверы SQL и т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 10 ноя 2016, 21:59 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Ага и получить WIN 98 КОТОРАЯ РАЗ В 1 час зависала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 11 ноя 2016, 00:06 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Падало часто там, где компьютеры глючными были и вирусов полный диск.
А чего в Win98 запускалось с привилегиями ядра? Мне кажется, почти ничего. Это как раз в Win2000 начали всё переносить в ядро, и система стала работать лучше.
На уровне ядра - тоже защищённый режим. Для отлова ошибочных операций вполне достаточный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 25 янв 2017, 18:41 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
У меня есть предположение, что в Windows-7 и выше, программы запущенные "от имени Администратора" выполняются в защищённом режиме. Кто-нибудь может подтвердить или опровергнуть этот факт? Написать тестовоую программу дело не простое, многие системные инструкции Windows может сэмулировать даже в пользовательском режиме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 25 янв 2017, 20:33 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Не понял что надо подтвердить? А что опровергнуть?

Любая эмуляция приводит к замедлению. Так что меряется по RDTSC. Если работаем под виртуализацией, то RDTSC будет иметь дискретность в мкс. В нормальном режиме десятки или единицы наносекунд.
Но до интерпретации команд они не скатываются так как это через чур медленно. А VMMCALL будем считать исключением которое подтверждает правило.

С каждой новой версий ОС прав у администратора всё меньше и меньше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 25 янв 2017, 20:53 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Извиняюсь, неправильно сформулировал вопрос. В смысле, в привилегированном, режиме ядра.
Механизм защиты пользовательских программ от "администраторских" привилегий похоже что аппаратный. Когда программа работает на пользовательском уровне, то обращения к привилегированным функциям вызывает исключение, а когда код работает на том же уровне, то всё работает без исключений. Фактически, программы запущенные от имени Администратора полностью контролируют систему.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 190 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19  След.

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


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

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


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

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