Огромный размер кнопки ползунка полосы прокрутки Debian Mate Desktop Eclipse

Copy on Write реализован на основе implicit interrupt, сгенерированногоMMU(Блоком управления памятью ). Примеры причин ошибки страницы следующие.

page faultтакже является неявным прерыванием, сгенерированным MMU, но оба они НЕ одинаковы. Ниже приведены некоторые причины ошибки страницы.

Недопустимый доступ к памяти:Ошибка page faultвозникает, когда страница, требуемая пользовательским процессом, отсутствует в памяти. Page faultможет произойти, если процесс хочет получить доступ к виртуальному адресу, который ему не выделен (, широко известный какsegmentation fault). Или это может произойти, если страница выгружена.

Копирование при записи:Одной из причин для page faultявляется Copy On write. Во время системного вызова fork ()ОС выделяет одну и ту же память как для дочернего, так и для родительского и помечает память как прочитанную -. Это экономит огромный штраф за копирование. Предположим, что ребенок вызывает execсразу после fork. Если бы копирование при записи не использовалось, вся скопированная страница была бы сброшена во время exec. Когда родитель или ребенок пытаются писать на этой странице, возникает ошибка страницы. Затем ОС выделяет новую страницу и снимает ограничения только для чтения -.

Копирование по требованию:Другой причиной для page faultявляется copy on demand. Когда пользовательский процесс запрашивает новую страницу в своем диапазоне виртуальных адресов, ОС может выделить виртуальный адрес без выделения соответствующего ему физического адреса. Когда процесс пытается получить доступ к этой странице, он генерирует ошибку страницы. Затем ОС выделяет физическую страницу, соответствующую виртуальной странице.

Таким образом, сбой страницы может НЕ требовать выделения новой страницы(в случае, когда она генерируется из-за ошибки ). Но если ошибка страницы требует новой страницы, страница поступает из того же пула страниц, из которого страница поступает в копию сервера при записи.

Реализация

mallocне связана с copy on write.

ПРИМЕЧАНИЕ Операционная система может работать без Copy on Writeи Copy on Demand. Хотя это не будет хорошо работать.Но page faultмеханизм необходим ОС для поддержки `подкачки'

1
07.01.2021, 12:40
1 ответ

Проблема, кажется, существует только с шаговыми кнопками, которые на самом деле не нужны в моем случае. Их можно отключить, и панель выглядит нормально.

См. некоторые нерешенные отчеты об ошибках gtk, которые могут быть связаны:Нерешенная ошибка ширины кнопки шаговика Gtk

Следующий комментарий заставил задуматься об отключении кнопок:

Still an issue for GTK2. But less of one for GTK3 since high contrast and adwaita don't use stepper buttons by default. However, if you have a theme with steppers this is still present in 3.

GtkTheme Справочник по отключению степперных кнопок:GtkTheming

Это дает мне планку меньшего размера. Цвет тоже можно поменять, я думаю.

/* Disable steppers as the width is not conforming to the slider width and looks strange in apps like eclipse (SWT) */
scrollbar {
  -GtkScrollbar-has-backward-stepper: 0;
  -GtkScrollbar-has-forward-stepper: 0;
}

scrollbar slider {
  /* Size of the slider */
  min-width: 6px;
  min-height: 6px;
  border-radius: 6px;
  -GtkRange-slider-width: 6;
  -GtkRange-stepper-size: 6;
  -GtkRange-stepper-spacing: 0;
  -GtkRange-trough-border: 1;
  -GtkRange-arrow-displacement-x: 0;
  -GtkRange-arrow-displacement-y: 0;
}

Sliders smaller

1
18.03.2021, 22:37

Теги

Похожие вопросы