Пользователь
Информация
- В рейтинге
- 2 135-й
- Откуда
- Петропавловск, Северо-Казахстанская обл., Казахстан
- Зарегистрирован
- Активность
Специализация
Software Developer, Embedded Software Engineer
Pure C
Assembler
X86 asm
Win32 API
Visual Basic
MySQL
Git
OOP
Electronics Development
Reverse development
Присоединяюсь к вашей скорби и негодованию, шлю лучи добра.
Да что угодно, контроллер станка какого-нибудь.
К кому вы обращаетесь? К переводчику статьи?
Нет, базовый адрес сегмента — это линейный адрес, а не физический. Они не тождественны в общем случае, и только если бит PG в CR0 выключен, линейный адрес будет численно равен физическому.
Но главное, что поскольку это именно линейный адрес, сегмент может быть и как угодно фрагментирован в физпамяти, а сточки зрения кода это будет непрерывный блок.
Нет, не хранит. В реальном режиме он хранит индекс параграфа физпамяти, к которому будет приплюсовано смещение.
В защищенном режиме он хранит селектор, который состоит из битовых полей, отдельные биты которого задают индекс дескриптора сегмента в глобальной/локальной таблице дескрипторов.
Но, что это интересно, в исходном ошибочном утверждении таки есть доля правды: с введением защищенного режима у сегментных регистров появилась невидимая пользователю теневая часть, в которую процессор заносит базу, лимит, атрибуты доступа соответствующего сегмента, чтобы затем при каждом обращении к сегменту не читать эту информацию из GDT/LDT. То есть это такой кеш для текущего элемента GDT/LDT.
Чего это частично? По мере развития 8086/80186/80286/80386/80486/80586 от сегментов никто не отказывался и их функциональность никак не урезал. Наоборот, появились регистры FS и GS.
Это только в amd64 решили рубить с плеча, потому что парадигма поменялась: раньше инновации в области процессорных архитектур мотивировали системных арограммистов на интересные решения в системном софте, а теперь тупо спрос рождает предложения.
Как раз таки не страдает, в отличие от архитектур с flat-моделью памяти. Вот единое адресное пространство процесса очень легко фрагментировать микровыделениями, так, что свободно будет 80%, но нельзя будет выделить непрерывный блок, размером хотя бы 20% от суммарного объема свободной части АП.
А вот с сегментами такой проблемы нет, она есть только на уровне фрагментации линейного адресного пространства. Ах, если бы инженеры Intel сделали PDBR не в составе CR3, а в составе дескриптора сегмента... в этом случае проблема фрагментации была бы решена на корню.
Но и без этого, фрагментацию линейного адресного пространства можно было бы решить дефрагментацией: блоки данных можно было в нужные моменты времени сдвигать/раздвигать в линейном АП, чтобы устранить или расширить гэпы. При этом даже копирование данных не пришлось бы делать: достаточно править PDE/PTE, меняя трансляцию линейных адресов в PFN-ы.
В любом случае, для прикладного кода, который оперирует только селекторами, переезд содержимого сегмента в линейном АП вообще никак не останется замеченным: селектор тот же, смещения те же.
А вот с фрагментацией плоского АП сделать нельзя абсолютно ничего: нельзя разрозненные блоки памяти сдвинуть вместе, потому что программа держит миллион адресов, указывающих внутрь этих блоков, и все они станут недействительными.
Не попробую, потому что не существует плагина под мою IDE
Я не представяю, как АИ-помощник может помочь. Он должен разбираться в предметной оласти, а откуда ему это знать. Для этого мой код полностью будет сливаться провайдеру АИ-сеовиса?
Я думал это шутка, что кто-то вместо написания кода доверяет задачу нейросетям.
Ну гениально же! Лучшего выбора и сделать было нельзя. Но мне кажется создатели этого языка, подарка судьбы для продавцов курсов, недостаточно преисполнились в своем дзене
Вместо if нужно было использовать символ ?, а вместо else — символ /.
Возможно мы увидим это в каком-нибудь ином новорожденном языке, например, языке Udaff. Курсы по которому будут рекламировать из каждой дырки.
Часовые перекомпиляции — признак неверной организации проекта.
Поставил статье минус за то, что «-менеджер» в заголовке и первом предложении пропущен, и при этом пропущен не по нелепой случайности, а целенаправленно.
Терпеть не могу, когда отгрызают куски слов и издеваются над семантикой текста, например, когда вместо «климат-контроль» (контроль климата) пишут «климат».
Paging канонично переводить как «страничная организация памяти», а не как «разбиение на страницы».
Кликбейт такой кликбейт.
Графика скорее да, звук нет, GPIO естественно.
Эх, хау-ту-шка.
Я бы с удовольствием почитал статью о «матане», который заставляет звук звучать так, словно он доносится сверху, сзади, а ее просто слева.
Не могу заранее очертить. Границы хотелок — это 386й или 486й процессор, точнее совместимый с ним.
Вопрос не в том, как бы подешевле получить эмулятор дос-среды, вопрос в том, как бы подешевле получить x86-одноплатник (для любых других задач, а не только упомянутой в статье цели).
Ну где же одноплатники с x86-процессором?
Откуда в VGA сигналы Pr-Y-Pb?
С блобом это так не будет работать, все что стоит справа от blob: это просто ничего не значащая строка, уникально идентифицирующая блоб, а сам блоб — это объект, который создается клиентским кодом (JS) и сам же этот код волен записывать в блоб произвольные данные, таким образом никакого запроса к серверу при использовании блоба нет вообще.
По крайней мере так я понимаю, хотя я вышел из веб-разработки до того, как был изобретен блоб.
Другое дело, что у меня подход с блобом не используется инстаграммом (хотя когда-то в прошлом я помню, что блобы использовались), а используется прямое указание URL картинки или видео.
Возможно, разгадке в том, что я пользуюсь строй версией браузера, и для нее инстаграм использует более традиционные подходы.
Я делаю ПКМ по стори и жму «Показать код». Открываются инструменты разработчика, вкладка с DOM-деревом, кликнутый элемент выделен.
Задача найти ближайший DOM-элемент типа
<img>или<video>, в зависимости от типа истрии. Он будет накрыт дивом, чтобы заблокировать контекстное меню, поэтому смотрим выше дива, находим нужный элемент, смотрим у него атрибутsrcи готово.Можно просто удалить из дерева прозрачные перекрывающие дивы, блокирующие контекстное меню, а потом кликнуть правой кнопкой и выбрать «Сохранить объект как...».
Да вроде бы пока сториз скачивается классическим путем.