OSDev

для всех
Текущее время: 03 май 2024, 14:36

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




Начать новую тему Ответить на тему  [ Сообщений: 190 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 19  След.
Автор Сообщение
 Заголовок сообщения: Re^5: Express OS
СообщениеДобавлено: 26 июн 2009, 01:34 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Ещё проблема слежения за языком ввода усугубляется многооконным интерфейсом, а именно сохранением текущего языка в каждом отдельном окне. Тоесть, пользователь должен помнить не просто язык который он выбрал сейчас, а язык каждого окна. При переходах с окна на окно пользователь не трогает кнопку переключения языка, пишет текст, а тут "опаньки", язык другой. Значёк в трее казалось бы должен помочь, но... в трее значёк красиво стоит только на чистой, только что установленной системе. После установки нескольких программ, в трее уже не просто значёк, а куча-мала, причём индикатор клавиатуры без фиксированного места, его надо ещё поискать. Его поиск среди 10 значков может затянуться на долго. В общем, всё очень плохо.
Кстати, я цветной курсор уже реализовал в своей поделке
http://code.google.com/p/express-os/downloads/list


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

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Наконец-то принято принципиальное решение. До сегодняшнего дня объектная модель COM использовалась в "пилотном", тоесть пробном режиме. Теперь решено, что система будет базироваться именно на COM. Но это решение не налагает ни каких ограничений на другие компоненты ОС. Например, на более низком уровне может существовать POSIX API, а на более верхнем может работать платформа .Net, Mono, Web движки или другие библиотеки. Универсальности COM достаточно, чтобы любые библиотеки на любых уровнях могли использовать его интерфейсы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re^6: Express OS
СообщениеДобавлено: 26 июн 2009, 18:18 

Зарегистрирован: 27 апр 2007, 22:51
Сообщения: 75
Пост про переключение языков напоминает проблему, которая была придумана после того, как придумано ее решение... То есть тебе понравилось решение, поэтому ты придумал проблему...

в XP/Viste языковая панель имеет вполне определенное место (и это место можно менять), и у каждого окна свой язык, при переходе на другое, язык меняется на тот который там использовался в последний раз... Вот это мне кажется очень удачным решением, так как переключаясь между допустим студией и квипом не надо менять раскладку (а в макоси это надо делать постоянно, вот счас допечатаю включу ХКод и опять надо переключать раскладку)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 28 июн 2009, 20:36 
pushkoff, какая разница, где стоит языковая панель? Пользователь при печати сморит на курсор, а не на языковую панель. Ладно, посторюсь, что это вообще не решение чего-то там, это просто как бы сказать улучшение, красивость, и ничего более. Проблемы нет.


Вернуться к началу
  
 
 Заголовок сообщения: Re: Express OS
СообщениеДобавлено: 13 янв 2010, 17:43 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
В многопроцессорной синхронизации я мало понимаю. Есть вопрос. После установки флага занятости некого ресурса с помощью xchg [lock],1, достаточно ли при освобожении ресурса обнулить флаг простой записью нуля командой mov [lock],0, или нужны другие синхронизирующие операции? Вообще-то у меня работает и так.


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

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
chizh писал(а):
В многопроцессорной синхронизации я мало понимаю. Есть вопрос. После установки флага занятости некого ресурса с помощью xchg [lock],1, достаточно ли при освобожении ресурса обнулить флаг простой записью нуля командой mov [lock],0, или нужны другие синхронизирующие операции? Вообще-то у меня работает и так.
Да, хотя в многопроцессорной синхронизации я тоже мало понимаю :)

Edited. В смысле достаточно.


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

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
chizh писал(а):
В многопроцессорной синхронизации я мало понимаю. Есть вопрос. После установки флага занятости некого ресурса с помощью xchg [lock],1, достаточно ли при освобожении ресурса обнулить флаг простой записью нуля командой mov [lock],0, или нужны другие синхронизирующие операции? Вообще-то у меня работает и так.


Достаточно, но с одним ограничением: переменная lock (лучше, хтати, её так не называть, чтобы не путать с префиксом) должна быть выровнена по естественной границе. Т.е. если это двойное слово (4 байта), то она должна располагаться по 4-байтовой границе, и т.п. Для байтовой, есно, пофиг, где она лежит. Причина здесь в том, чтобы MOV обеспечил атомарный доступ (запись сразу во все байты, занимаемые переменной), что гарантируется только при правильном выравнивании.


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

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Да, больше байта в общем-то и не нужно. Другое дело битовые поля... (bt*)


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

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
SII, с выравниванием понятно. Ещё Intel рекомедует выравнивать на 128 байт для скорости.
Я кажется понял суть вопроса. На многоядерном процессоре используется единый кэш первого уровня для всех ядер, поэтому там нет преград для обмена кэшированной информацией между ядрами. Вот почему у меня работает без проблем. А на системах с физически разными процессорами, кэши первого уровня физически разделены, и там его нужно обходить с помощью некэшированных страниц (у страниц есть такой атрибут запрета кэширования).


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

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
chizh писал(а):
SII, с выравниванием понятно. Ещё Intel рекомедует выравнивать на 128 байт для скорости.
Я кажется понял суть вопроса. На многоядерном процессоре используется единый кэш первого уровня для всех ядер, поэтому там нет преград для обмена кэшированной информацией между ядрами. Вот почему у меня работает без проблем. А на системах с физически разными процессорами, кэши первого уровня физически разделены, и там его нужно обходить с помощью некэшированных страниц (у страниц есть такой атрибут запрета кэширования).


О кэше представление неверное в корне ;) У каждого ядра свой личный кэш первого уровня, кэши второго и третьего могут быть как общими, так и индивидуальными, ну и так далее. Это, вообще говоря, зависит от модели процессора (например, у Core 2 Quad на каждую пару ядер приходится общие 6 Мбайт кэша третьего уровня, поэтому в сумме объём получается 12 Мбайт, но это "нечестно" из-за разделения; а вот у Core i7 8 Мбайт кэша третьего уровня, но он общий для всех ядер независимо от их числа, и в этом случае 8 Мбайт оказывается лучше, чем 12 у Core 2). Кроме того, у процессоров ИА-32 предусматриваются аппаратные механизмы обеспечения когерентности кэшей (отсутствующие в большинстве других архитектур), так что запрет кэширования не требуется, а вот некоторые другие пляски с бубнами могут быть нужны. В общем, это надо внимательно вникать в определённые разделы руководства...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 190 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 19  След.

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


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

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


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

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