Страничная память

Страничная память — способ организации виртуальной памяти, при котором виртуальные адреса отображаются на физические постранично. Для 32-битной архитектуры x86 минимальный размер страницы равен 4096 байт.[1]

Поддержка такого режима присутствует в большинстве 32-битных и 64-битных процессоров. Такой режим является классическим для почти всех современных ОС, в том числе Windows и семейства UNIX. Широкое использование такого режима началось с процессора VAX и ОС VMS с конца 1970-х годов (по некоторым сведениям, первая реализация). В семействе x86 поддержка появилась с поколения 386, оно же первое 32-битное поколение.

Решаемые задачи

  • поддержка изоляции процессов и защиты памяти путём создания своего собственного виртуального адресного пространства для каждого процесса
  • поддержка изоляции области ядра от кода пользовательского режима
  • поддержка памяти «только для чтения» и неисполняемой памяти
  • поддержка отгрузки давно не используемых страниц в область подкачки на диске
  • поддержка отображённых в память файлов, в том числе загрузочных модулей
  • поддержка разделяемой между процессами памяти, в том числе с копированием-по-записи для экономии физических страниц
  • поддержка системного вызова fork() в ОС семейства UNIX

Концепции

Адрес, используемый в машинном коде, то есть значение указателя, называется «виртуальный адрес».

Адрес, выставляемый процессором на шину, называется «линейный адрес» (который позже преобразуется в физический).

Запись таблицы страниц обычно содержит в себе следующую информацию:

  • флаг «страница отображена»
  • физический адрес
  • флаг «страница доступна из режима пользователя». При неустановке данного флага страница доступна только из режима ядра.
  • флаг «страница доступна только на чтение». В некоторых случаях используется только для режима пользователя, то есть в режиме ядра все страницы всегда доступны на запись.
  • флаг «страница недоступна на исполнение».
  • режим использования кэша для страницы. Влияет на тип шинных транзакций, инициируемых процессором при обращении через данную запись. Особенно часто используется для видеопамяти (комбинированная запись) и для отображенных в память регистров устройств (полное отсутствие кэширования).

Число записей в одной таблице ограничено и зависит от размера записи и размера страницы. Используется многоуровневая организация таблиц, часто 2 или 3 уровня, иногда 4 уровня (для 64-разрядных архитектур).

В случае 2 уровней используется «каталог» страниц, в котором хранятся записи, указывающие на физические адреса таблиц страниц. В таблицах содержатся записи, указывающие на страницы данных.

При использовании 3-уровневой организации добавляется надкаталог, хранящий записи, указывающие на несколько каталогов.

Старшие биты виртуального адреса указывают на номер записи в каталоге, средние — номер записи в таблице, младшие (адрес внутри страницы) попадают в физический адрес без трансляции.

Формат записей таблиц (Page Table Entry, PTE), их размер, размер страницы и организация таблиц зависит от типа процессора, а иногда и от режима его работы.

Исторически x86 использует 32-битные PTE, 32-битные виртуальные адреса, 4-КБ страницы, 1024 записи в таблице, двухуровневые таблицы. Старшие 10 битов виртуального адреса — номер записи в каталоге, следующие 10 — номер записи в таблице, младшие 12 — адрес внутри страницы.

Начиная с Pentium Pro, процессор поддерживает страницы размером 4 МБ. Однако, чтобы система и программы, запущенные в ней, могли использовать страницы такого размера, технология 4-МБ страниц (hugepages) должна быть соответствующим образом активирована, а приложение настроено на использование страниц такого размера.

Процессор x86 в режиме PAE (Physical Address Extension) и в режиме x86_64 (long mode) использует 64-битные PTE (из них реально задействованы не все биты физического адреса, от 36 в PAE до 48 в некоторых x86_64), 32-битные виртуальные адреса, 4-КБ страницы, 512 записей в таблице, трёхуровневые таблицы с четырьмя каталогами и четырьмя записями в надкаталоге. Старшие 2 бита виртуального адреса — номер записи в надкаталоге, следующие 9 — в каталоге, следующие 9 — в таблице. Физический адрес каталога или же надкаталога загружен в один из управляющих регистров процессора.

При использовании PAE вместо 4-МБ больших страниц используются двухмегабайтные. См. также PSE.

В архитектуре x86_64 возможно использовать страницы размером 4 килобайта (4096 байтов), 2 мегабайта, и (в некоторых AMD64) 1 гигабайт.

Если обращение к памяти не может быть оттранслировано через TLB, то микрокод процессора обращается к таблицам страниц и пытается загрузить PTE оттуда в TLB. Если и после такой попытки сохранились проблемы, то процессор исполняет специальное прерывание, называемое «отказ страницы» (page fault). Обработчик этого прерывания находится в подсистеме виртуальной памяти ядра ОС.

Некоторые процессоры (MIPS) не имеют обращающегося к таблице микрокода, и генерируют отказ страницы сразу после неудачи поиска в TLB, обращение к таблице и её интерпретация возлагаются уже на обработчик отказа страницы. Это лишает таблицы страниц требования соответствовать жёстко заданному на уровне аппаратуры формату.

Причины отказа страницы (page fault):

  • не существует таблицы, отображающей данный регион,
  • PTE не имеет взведённого флага «страница отображена»,
  • попытка обратиться из пользовательского режима к странице «только для ядра»,
  • попытка записи в страницу «только для чтения»,
  • попытка исполнения кода из страницы «исполнение запрещено».

Обработчик отказов в ядре может загрузить нужную страницу из файла или же из области подкачки (см. свопинг), может создать доступную на запись копию страницы «только для чтения», а может и возбудить исключительную ситуацию (в терминах UNIX — сигнал SIGSEGV) в данном процессе.

Каждый процесс имеет свой собственный набор таблиц страниц. Регистр «каталог страниц» перегружается при каждом переключении контекста процесса. Также необходимо сбросить ту часть TLB, которая относится к данному процессу.

В большинстве случаев ядро ОС помещается в то же адресное пространство, что и процессы, для него резервируются верхние 1—2 гигабайта 32-битного адресного пространства каждого процесса. Это делается с целью избежать переключения таблиц страниц при входе в ядро и выходе из него. Страницы ядра помечаются как недоступные для кода режима пользователя.

Память региона ядра часто совершенно одинакова для всех процессов, однако некоторые подрегионы региона ядра (например, регион Windows, где находится подсистема графики и драйвер видео) могут быть различными для разных групп процессов (сессий).

Так как память ядра одинакова у всех процессов, соответствующие ей TLB не нужно перегружать после переключения процесса. Для этой оптимизации x86 поддерживает флаг «глобальный» у PTE.

Отображаемые в память файлы

Обработчик отказа страницы в ядре способен прочитать данную страницу из файла.

Это приводит к возможности лёгкой реализации отображенных в память файлов. Концептуально это то же, что выделение памяти и чтение в неё отрезка файла, с той разницей, что чтение осуществляется неявно «по требованию», выраженному отказом страницы при попытке обращения к ней.

Вторым преимуществом такого подхода является — в случае отображения «только для чтения» — разделение одной и той же физической памяти между всеми процессами, отображающими данный файл (выделенная же память своя у каждого процесса).

Третьим преимуществом является возможность «забывания» (discard) некоторых отображенных страниц без выгрузки их в область подкачки, обязательной для выделенной памяти. В случае повторной потребности в странице она может быть быстро загружена из файла снова.

Четвёртым преимуществом является неиспользование дискового кэша в этом режиме, что означает экономию на копировании данных из кэша в запрошенный регион. Преимущества дискового кэша, оптимизирующего операции небольшого размера, а также повторное чтение одних и тех же данных, полностью исчезают при чтениях целых страниц и тем более их групп, недостаток же в виде обязательного лишнего копирования — сохраняется.

Отображаемые в память файлы используется в ОС Windows, а также ОС семейства UNIX, для загрузки исполняемых модулей и динамических библиотек. Они же используются утилитой GNU grep для чтения входящего файла, а также для загрузки шрифтов в ряде графических подсистем.

Страничная и сегментная виртуальная память

Огромным достоинством страничной виртуальной памяти по сравнению с сегментной является отсутствие «ближних» и «дальних» указателей.

Наличие таких концепций в программировании уменьшает применимость арифметики указателей и приводит к огромным проблемам с переносимостью кода с/на такие архитектуры. Так, например, значительная часть ПО с открытым кодом изначально разрабатывалась для бессегментных 32-битных платформ со страничной памятью и не может быть перенесена на сегментные архитектуры без серьёзной переработки.

Кроме того, сегментные архитектуры имеют тяжелейшую проблему SS != DS, широко известную в начале 1990-х годов в программировании под 16-битные версии Windows. Эта проблема приводит к затруднениям в реализации динамических библиотек, ибо они имеют свой собственный DS, и SS текущего процесса, что приводит к невозможности использования «ближних» указателей в них. Также наличие своего собственного DS в библиотеках требует устанавливающих правильное значение DS заплаток (MakeProcInstance) для обратных вызовов из библиотеки в вызвавшее приложение.

Виртуальная память и дисковый кэш

Основная статья: Страничный кэш[англ.]

Поддержка файлов, отображенных в память, требует поддержки ядром ОС структуры «совокупность физических страниц, содержащих в себе отрезки данного файла». Отображение файла в память делается путём заполнения входов таблиц ссылками на страницы данной структуры.

Совершенно очевидно, что данная структура является уже готовым дисковым кэшем. Использование её в качестве кэша также решает проблему когерентности файла, доступного через read/write, и его же, отображённого в память.

Таким образом, пути кэшированного ввода-вывода в дисковый файл (FsRtlCopyRead в Windows и аналогичная ей generic_file_read() в Linux) реализуются как копирования данных в физические страницы, отображенные на файл.

Такая организация кэша является единственной в Windows, эта ОС вообще не имеет классического блочного кэша диска. Метаданные файловых систем кэшируются путём создания лже-файлов (IoCreateStreamFileObject) и создания страничного кэша для них.

Соображения безопасности

Первоначально архитектура x86 не имела флага «страница недоступна на исполнение» (NX).

Поддержка данного флага появилась в архитектуре x86 как часть режима PAE (Physical Address Extension) в поколении Pentium 4, под большим давлением со стороны специалистов по безопасности (см. архивы NTBugTraq). Установка данного флага на страницах стека и кучи (heap) позволяет реализовать аппаратно защиту от исполнения данных, что делает невозможной работу многих разновидностей вредоносного ПО, в том числе, например, злонамеренную эксплуатацию многих брешей в Internet Explorer (брешь декабря 2008 года, см. MS knowledge base, не может быть задействована в случае включенной DEP).

Поддержка PAE в Windows, дающая возможность включения защиты от исполнения данных, появилась в Windows 2000, она включена по умолчанию в серверных версиях Windows и отключена в клиентских.

Поддержка памяти свыше 4 ГБ в Windows

Устройства PCI, в том числе память видеоплаты, обычно поддерживают только 32-битные адреса. Следовательно, им должны быть выданы физические адреса ниже отметки 4 ГБ. Эта «апертура» уменьшает объём видимой физической памяти ниже отметки 4 ГБ до примерно 3,2 ГБ. Остальная часть физической памяти переотображается контроллером выше отметки 4 ГБ.

Для любого обращения к памяти свыше отметки 4 ГБ (то есть более чем примерно 3,2 ГБ) требуется поддержка контроллером (то есть северным мостом чипсета) такой конфигурации. Современные чипсеты (например, Intel G33) такую поддержку имеют.

Также требуется настройка BIOS под названием memory remapping, отображающая регион [3,2...4] на [4...4,8].

Процессор x86 вне режима PAE использует 32-битные PTE и физические адреса, то есть ему не доступно ничего, находящееся выше отметки 4 ГБ (см. также PSE-36 об одном из вариантов обхода данного ограничения). Таким образом, для использования памяти более, чем примерно 3,2 ГБ в ОС она должна поддерживать PAE. Для Windows — это опция загрузки, для Linux — опция построения ядра.

Кроме того, Microsoft принудительно отключила поддержку физических адресов выше 4 ГБ по политико-маркетинговым соображениям в следующих ОС:

  • 32-битная Windows XP,
  • 32-битный Windows Server 2003 Web Edition,
  • 32-битная Windows Vista (подключение поддержки требует набора команд в командной строке: «BCDEdit /set PAE forceenable», «BCDEdit /set nolowmem on»).

Поддержка физических адресов выше 4 ГБ имеется в следующих версиях:

  • всe 64-битные версии,
  • 32-битная Windows Vista SP1 (поддержка включена по умолчанию, но её подключение нередко может требовать набора команд в командной строке),
  • 32-битный Windows Server 2003, отличный от Web Edition,
  • 32-битный Windows Server 2008.

Таким образом, для того, чтобы использовать память выше 3,2 ГБ в Windows, нужны:

  • поддержка чипсетом,
  • правильные настройки BIOS,
  • правильная версия Windows,
  • правильная опция загрузки (с поддержкой PAE),
  • поддержка 36-битного адресного пространства драйверами устройств.

Тем не менее, даже в «урезанной» версии Windows, не поддерживающей адреса выше 4 ГБ, имеет смысл всегда использовать PAE, ибо (см. выше) защита от исполнения данных (DEP) тоже требует PAE. При включении PAE может перестать работать небольшая часть ПО, например, эмулятор Windows Mobile. Согласно официальной версии Microsoft, введение 4 ГБ ограничения адресного пространства связано с отсутствующей или плохой поддержкой 36-битного адресного пространства некоторыми драйверами устройств, это следует иметь в виду, по причине аппаратных ограничений или неподходящих драйверов невозможно подключить PAE на версиях, имеющих поддержку физических адресов выше 4 ГБ. Возможность включения или выключения PAE не зависит от драйверов, но, если драйвер какого-то старого PCI оборудования не поддерживает правильно физические адреса, не умещающиеся в 32 бита, то данное устройство будет работать неверно и может привести к зависанию всего компьютера.

См. также

Примечания

  1. Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3 (3A, 3B, 3C & 3D): System Programming Guide (декабрь 2016). Дата обращения: 21 декабря 2019. Архивировано 19 мая 2020 года. (англ.)

Ссылки

Read other articles:

Customs agency of the UK's Sovereign Base Areas This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (March 2015) (Learn how and when to remove this template message) Sovereign Base Areas Customs and ImmigrationHeadquartersSBAA, Episkopi GarrisonFiscal OfficerJames CoatesHead Customs & ImmigrationAdam Chatfield HM Revenue &...

 

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Liga Mahasiswa – berita · surat kabar · buku · cendekiawan · JSTOR Artikel ini mungkin mengandung riset asli. Anda dapat membantu memperbaikinya dengan memastikan pernyataan yang dibuat dan menambahkan r...

 

Brassicales Alliaria petiolata Klasifikasi ilmiah Kerajaan: Plantae Divisi: Magnoliophyta Kelas: Magnoliopsida Ordo: Brassicales Famili lihat teks. Brassicales atau Capparales adalah salah satu ordo tumbuhan berbunga yang termasuk dalam klad euRosidae II, Rosidae, core Eudikotil, Eudikotil (Sistem klasifikasi APG II). Suku/famili Menurut sistem APG II, bangsa ini mencakup suku-suku sebagai berikut. Suku Akaniaceae Suku Bataceae (semak toleran garam dari Amerika dan Australasia) Suku Brassica...

Kamboja Artikel ini adalah bagian dari seri Politik dan KetatanegaraanKerajaan Kamboja Monarki Raja Norodom Sihamoni Dewan Takhta Wangsa Norodom Wangsa Sisowath (1904–41) Pemerintahan Perdana Menteri (daftar) Hun Sen Wakil Perdana Menteri Sar Kheng Tea Banh Hor Namhong Men Sam An Bin Chhin Yim Chhaily Kong Sam Ol Kabinet Parlemen Senat Presiden: Say Chhum Majelis Nasional Presiden: Heng Samrin Pemilihan umum Komite Pemilihan Umum Nasional Pemilihan umum terakhir Majelis Nasional: 20132018 S...

 

Alisea Airlines (IATA: F2, ICAO: BBG, dan Panggilan: ) merupakan sebuah maskapai penerbangan sewaan yang berbasis di Italia dan didirikan tahun 1999. Operasinya dimulai pada 2002 dengan penerbangan sewaan dari Milan menuju Cagliari menggunakan sebuah Boeing 737-300 yang disewa dari Islandsflug. Terdapat juga sebuah ATR 42 dalam armadanya. Pesawat itu digunakan untuk membuka rute dari Palermo menuju Lampedusa bulan Desember 2003, tetapi penerbangan tersebut dibatalkan setelah beberapa minggu....

 

Kapal pertahanan pesisir Jepang Etorofu pada tahun 1943 Tentang kelas Operator: Angkatan Laut Kekaisaran Jepang  Angkatan Laut Taiwan  Angkatan Laut TiongkokDidahului oleh:Kapal pertahanan pesisir kelas-ShimushuDigantikan oleh:Kapal pertahanan pesisir kelas-MikuraSelesai:14Hilang:8 Kapal pertahanan pesisir kelas-Etorofu (択捉型海防艦code: ja is deprecated , Etorofu-gata kaibōkan) adalah salah satu kelas kapal pertahanan pesisir yang dibangun Angkatan Laut Kekaisara...

Halftime show of the 2019 edition of the Super Bowl Super Bowl LIII halftime showDateFebruary 3, 2019LocationAtlanta, Georgia, U.S.VenueMercedes-Benz StadiumHeadlinerMaroon 5Special guests Travis Scott Big Boi SponsorPepsiDirectorHamish HamilitonProducerRicky KirshnerSuper Bowl halftime show chronology LII(2018) LIII(2019) LIV(2020) The Super Bowl LIII Halftime Show, officially known as the Pepsi Super Bowl LIII Halftime Show, took place on February 3, 2019, at Mercedes-Benz Stadium in Atlan...

 

Red MotionEP oleh AOABahasaKoreanDirilis14 Oktober 2013FormatMaxi single, Unduhan digitalDirekam2013GenreK-popDurasi7:17LabelFNC Entertainment Red Motion[1][2] adalah album singel keempat dari grup vokal wanita asal Korea Selatan AOA. Singel ini dirilis pada tanggal 14 Oktober 2013 oleh FNC Entertainment. Confused digunakan sebagai singel utama dari album ini. Referensi ^ Album Info. iTunes. Diakses tanggal 4 October 2015.  ^ AOA Single Album Vol. 4 - Red Motion. yesasia....

 

Aycomune Ay – Veduta LocalizzazioneStato Francia RegioneGrand Est Dipartimento Marna ArrondissementÉpernay CantoneÉpernay-1 TerritorioCoordinate49°03′N 4°00′E / 49.05°N 4°E49.05; 4 (Ay)Coordinate: 49°03′N 4°00′E / 49.05°N 4°E49.05; 4 (Ay) Altitudine76 m s.l.m. Superficie10,43 km² Abitanti4 172[1] (2009) Densità400 ab./km² Altre informazioniCod. postale51160 e 51150 Fuso orarioUTC+1 Codice INSEE510...

Railway station in West Yorkshire, England Not to be confused with Ford and Crossgates railway station in Shropshire. Cross GatesView of Cross Gates railway station taken from the road bridge November 2023General informationLocationCross Gates, City of LeedsEnglandCoordinates53°48′18″N 1°27′00″W / 53.805°N 1.450°W / 53.805; -1.450Grid referenceSE363344Managed byNorthernTransit authorityWest Yorkshire (Metro)Platforms2Other informationStation codeCRGFare zon...

 

Body of salt water off the coast of Kyūshū, Japan A NASA satellite image of the Ariake Sea in 2007 The Ariake Sea (有明海, Ariake-kai) is a body of salt water surrounded by Fukuoka, Saga, Nagasaki, and Kumamoto Prefectures, all of which lie on the island of Kyūshū in Japan. It is the largest bay in Kyūshū. Its deepest point is only about 50 meters (165 ft) deep, and extreme tides exceed 4 meters (13 ft), covering roughly 1,700 square kilometres (660 sq mi). Isahaya Bay...

 

2022 in jazzDecade2020s in jazzMusic2022 in musicStandardsList of jazz standardsSee also2021 in jazz – 2023 in jazz 2022 in music By location Africa Asia Canada China United Kingdom Japan Philippines South Korea United States By genre classical country heavy metal hip hop jazz Latin rhythm and blues rock By topic List of albums released Overview of the events of 2022 in jazz List of years in jazz … 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 20...

Rodolfo GonzagaRitratto di Rodolfo Gonzaga (artista ignoto del XVII secolo)Marchese di CastiglioneStemma In carica1586 –3 gennaio 1593 PredecessoreFerrante Gonzaga SuccessoreFrancesco Gonzaga Marchese di Castel GoffredoIn carica7 maggio 1592 –3 gennaio 1593 PredecessoreAlfonso Gonzaga SuccessoreVincenzo I Gonzaga NascitaCastiglione, 7 marzo 1569 MorteCastel Goffredo, 3 gennaio 1593 (23 anni) SepolturaCastiglione Luogo di sepolturaBasilica di San Sebastiano DinastiaGon...

 

Metropolitan Statistical Area in the United StatesKingsport–Bristol–BristolMetropolitan Statistical AreaKingsport–Bristol, TN–VABroad Street in Downtown KingsportJohnson City–Kingsport–Bristol, TN–VA CSA   Kingsport–Bristol, TN–VA MSA   Johnson City, TN MSA   Greeneville, TN µSA   Kingsport, TN   Johnson City, TN   Bristol, TN and Bristol, VA Country United StatesState Tennessee VirginiaCounty Tennessee: Hawk...

 

Public university in New Paltz, New York State University of New York at New PaltzFormer namesNew Paltz Classical School (1828–1833) New Paltz Academy (1833–1884)New Paltz Normal School (1885–1942)State Teachers College at New Paltz (1942–1959)State University College of Education at New Paltz (1959–1961)[1]State University of New York College of Arts and Science New Paltz (1961–1994)[2]TypePublic universityEstablished1828; 196 years ago (1828)Par...

American transportation company Pan Am Railways, Inc.Company typeSubsidiaryIndustryRail transportFounded1981 (as Guilford Transportation Industries)FounderTimothy MellonDefunctJune 1, 2022 as an independent companyFatePurchased by CSX CorporationSuccessorCSX TransportationHeadquartersNorth Billerica, Massachusetts, United States of AmericaArea servedNortheastKey peopleTimothy MellonDavid FinkDavid A. FinkNumber of employees750 (2011)ParentCSX Transportation (CSX Corporation)SubsidiariesBoston...

 

Vikram SarabhaiVikram SarabhaiLahir(1919-08-12)12 Agustus 1919[1][2]Ahmedabad, Kepresidenan Bombay, India BritaniaMeninggal30 Desember 1971(1971-12-30) (umur 52)Kastil Halcyon, Kovalam, Thiruvananthapuram, Kerala, IndiaTempat tinggalIndiaKebangsaanIndiaAlmamaterKolese Gujarat, Universitas CambridgeDikenal atasProgram ruang angkasa India Institut Manajemen India AhmedabadSuami/istriMrinalini Sarabhai (Hindi: मृणालिनी साराभाई) (penari klasik)A...

 

NetBeans IDEApache NetBeans 11 trong JDK 12.0.1 trên Arch LinuxThiết kế bởiRoman StaněkPhát triển bởiApache Software Foundation, Oracle CorporationPhiên bản ổn định11.1[1] / 22 tháng 7 năm 2019; 5 năm trước (2019-07-22)Bản xem thử11.2[2] / 21 tháng 7 năm 2019; 5 năm trước (2019-07-21) Kho mã nguồnNetBeans RepositoryViết bằngJavaHệ điều hànhWindows, macOS, Linux, Solaris; Có sẵn phiên bả...

King George VI and Queen Elizabeth visiting Winnipeg, as a part of the 1939 royal tour of Canada. The history of Winnipeg comprises its initial population of Aboriginal peoples through its settlement by Europeans to the present day. The first forts were built on the future site of Winnipeg in the 1700s, followed by the Selkirk Settlement in 1812. Winnipeg was incorporated as a city in 1873 and experienced dramatic growth in the late 19th and early 20th centuries. Following the end of World Wa...

 

Deserving of ridicule, absurd For other uses, see Mock, Mockery, and Ridiculous (disambiguation). To be ridiculous is to be something highly incongruous or inferior, sometimes deliberately so to make people laugh or get their attention, and sometimes unintendedly so as to be considered laughable and earn or provoke ridicule and derision. It comes from the 1540s Latin ridiculosus meaning laughable, from ridiculus meaning that which excites laughter, and from ridere meaning to laugh.[1]...