Профиль пользователя заблокирован сроком «навсегда» без указания причины
Контакты

Наибольший вклад в теги

Все теги (22)

Лучшие ответы пользователя

Все ответы (37)
  • На сколько фрагментация памяти замедляет работу системы и приложения?

    Aquarius-Michael
    @Aquarius-Michael
    Программист и железячник
    Влияние фрагментации памяти на производительность хорошо выражено в тех системах, где существуют значительные задержки доступа к памяти прежде, чем выполнять чтение и запись. Поэтому для жёстких дисков и существует служба дефрагментации. А для памяти типа ОЗУ это делать ненужно и вредно. Потому что процессору придётся снова сбрасывать свой кэш преобразования адресов. А это уйдёт куда больше времени. Потому что с точки зрения преобразования адресов фрагментации памяти нет. То есть каждая задача видит память не замусоренной и линейной. Да и страничная организация памяти позволяет программистам жить лучше. Другое дело - сегментная организация памяти. Но они давно не используются. Сборщики мусора занимаются несколько другими задачами. Их задача - очистить память от неиспользуемых объектов в течение такого-то времени, чтобы потом не возникла проблема доступностью памяти для различных операций. Иначе произойдёт утечка памяти. Но они не занимаются дефрагментацией.
    Ответ написан
    6 комментариев
  • Какую выбрать мышку среди данных моделей?

    Aquarius-Michael
    @Aquarius-Michael
    Программист и железячник
    Надо пробовать ещё по руке. А то может случиться, что мышь для вас либо мала, либо велика.
    Ответ написан
    Комментировать
  • Создание графической оболочки для ОС?

    Aquarius-Michael
    @Aquarius-Michael
    Программист и железячник
    Мне кажется, что вам нужно понять, как работает сам пользовательский интерфейс. Тут должны быть базовые шаблоны, классы и вызовы. Всё-таки окна и любой элемент пользовательского интерфейса это тоже всего рода отдельные приложения, активно взаимодействующие с ядром другого приложения. Попробуйте изучить все поведения элементов из Visual Studio. Там они очень хорошо описаны и сделать хотя бы базовый набор исходя из полученного изучения. Например, окно имеет определённый набор кода, чтобы отрисовывать на экране дисплея, где могут быть вызовы на события, изменения свойств и так далее. И ещё вам надо в первую очередь поработать с кадровым буфером (framebuffer). Без него никак нельзя. Все графические механизмы проходят перерисовку через этот буфер. В общем, для начала вам надо поработать с кадровым буфером. И выводить через него на экран монитора.
    То, что вы делаете, это очень даже хорошо. Важно не останавливаться и сохранять интерес к этому делу. Шаг за шагов вы можете достичь большего. Москва же не сразу строилась.
    Ответ написан
    Комментировать
  • Почему в USB 3.0 10 жил? Какой минимум контактов для USB 3.1?

    Aquarius-Michael
    @Aquarius-Michael
    Программист и железячник
    88197bc46d89432b8eba330b4cd6982c.PNGЭто нужно для разъёмов B-типа, а также micro. USB 3.1 Типа С предусматривает возможность зеркального подключения (чтобы не было суперпозиции при подключении) и плюс дополнительные линии, поэтому и кажется, что там больше.
    ee72291378704e3dad8c718b9db71ce5.PNG
    Ответ написан
    33 комментария
  • В режиме совместимости 32 бит у современных ОС игнорируется сегментная адресация?

    Aquarius-Michael
    @Aquarius-Michael
    Программист и железячник
    1. Да, современные операционные системы игнорируют сегментную организацию в пользу плоской модели памяти, разбитой на страницы. Но оставили пару сегментов для виртуальных машин. Этим дело и ограничивается. Сегментная организация памяти была хороша в те времена, когда нужно адресовать память больше, чем позволяет 16-разрядный процессор. К тому же плоская модель память удобней и проще для переносимости приложений в различные архитектуры.
    2. PE -- это, по сути, структура самой программы при загрузке, указывает операционной системе, что и куда размещать в памяти и что подгрузить. Что-то вроде таблицы трансляций.ae48911f15de4bf69ff19d90dd786df2.jpg
    В Linux используется ELF-формат, если не ошибаюсь.
    3. Для гарантированной работы приложения в системе обычно используют соглашения и рекомендации. В 32-разрядной системе ещё можно получить к ним доступ. Но лучше их не трогать. Так как никто не знает последствия. Но на уровне системного программирования знание может быть очень полезным, особенно в сфере безопасности. А вот в 64-разрядной системе они выключены кроме пары сегментных регистров для контекста.
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (7)