Многопроцессорность, преемптивность и верхняя память
Многопроцессорность, преемптивность и верхняя память
Может показаться неправильным включать поддержку симметричной многопроцессорности, возможность вытеснения процессов в режиме ядра и работу с верхней памятью в вопросы переносимости. В конце концов, это не особенности аппаратной платформы, которые влияют на операционную систему, а функции ядра Linux, которые по многом не зависят от аппаратной платформы. Тем не менее для этих функций существуют важные конфигурационные параметры, которые необходимо учитывать при разработке кода. Программировать всегда необходимо под SMP, с поддержкой преемптивности и с использованием верхней памяти, чтобы код был безопасным всегда, при любых конфигурациях. Необходимо всегда соблюдать следующие правила.
• Всегда необходимо учитывать, что код может выполняться на SMP-системе и использовать соответствующие блокировки.
• Всегда необходимо учитывать, что код может выполняться при включенной преемптивности ядра, поэтому необходимо всегда использовать необходимые блокировки и операции для управления преемптивностью.
• Всегда необходимо учитывать, что код может выполняться на системе с поддержкой верхней памяти (непостоянно отображаемая память) и при необходимости использовать функцию kmap().
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Верхняя и нижняя половины
Верхняя и нижняя половины Ясно, что два указанных требования о том, что обработчик прерывания должен выполняться быстро и, в дополнение к этому, выполнять много работы, являются противоречивыми. В связи с конфликтными требованиями, обработчик прерываний разбивается на
Симметричная многопроцессорность
Симметричная многопроцессорность Один из самых простых (самый дешевый) способ улучшить аппаратную эффективность: поместить больше чем один CPU на плате. Когда такое сделано, могут быть два варианта: либо CPU берут различные работы (асимметричная многопроцессорная
R.12.5 Свободная память
R.12.5 Свободная память Когда создается объект с помощью операции new, для получения свободной памяти вызывается (неявно) функция operator new() (§R.5.3.3).Если функция operator new() не может выполнить запрос, она возвращает 0.В классе X функция X::operator new() является статическим членом, даже если
7.2.6.6. Общая память
7.2.6.6. Общая память Тогда как два процесса, использующие для информационного обмена сокеты, могут выполняться на различных машинах (и в действительности могут быть разделены Internet-соединением, "огибающим" половину планеты), общая память (shared memory) требует, чтобы поставщики и
7.2.6.6. Общая память
7.2.6.6. Общая память Тогда как два процесса, использующие для информационного обмена сокеты, могут выполняться на различных машинах (и в действительности могут быть разделены Internet-соединением, "огибающим" половину планеты), общая память (shared memory) требует, чтобы поставщики и
Память
Память HeapSize Функция HeapSize возвращает размер блока памяти, выделенного из кучи функциями HeapAlloc или HeapReAlloc , в байтах. DWORD HeapSize ( HANDLE hHeap , // дескориптор кучи DWORD dwFlags , // контрольные флаги размера кучи LPCVOID lpMem // указатель на память, чей размер возвращается ); Параметры hHeap -
7.2.4 Свободная Память
7.2.4 Свободная Память Операция new создает объект типа имя_типа (см. #8.7), к которому он применен. Время жизни объекта, созданного с пмощью new, не ограничено областью видимости, в которой он создан. Операция new возвращает указатель на созданный ей объект. Когда объект является
8.5.8 Свободная Память
8.5.8 Свободная Память Когда с помощью операции new создается классовый объект, то для получения необходимой памяти конструктор будет (неяно) использовать operator new (#7.1). Конструктор может осществить свое собственное резервирование памяти посредством присваивания указателю
Флеш-память
Флеш-память Флеш-память («флешка») – еще один представитель семейства устройств внешней памяти. В отличие от описанных в этой главе устройств, во «флешках» ничего не вращается и не двигается. Это значительно снижает энергозатраты при записи и считывании информации,
Оперативная память
Оперативная память Оперативная память – одно из устройств, от объема и скорости работы которого зависит быстродействие всего компьютера. Ее задача – своевременное предоставление процессору необходимой информации.Наиболее популярны модули памяти DDR2 SDRAM
Память и накопители
Память и накопители Главный навык, который необходим детям XXI века, – способность работать с огромными объемами информации. Цифровые снимки, базы данных, мультимедийные энциклопедии, не говоря уже о бескрайних просторах Интернета, – все это требует умения быстро
Оперативная память
Оперативная память Из предыдущего раздела должно быть понятно, что процессор – это устройство, обрабатывающее данные, которые хранятся в памяти. В этом разделе главы мы поговорим об одном из типов компьютерной памяти – оперативной памяти, или ОЗУ[4] (рис. 3.2). Рис. 3.2.
СОФТЕРРА: Память на лица, или Лица на память
СОФТЕРРА: Память на лица, или Лица на память Автор: Алексей КлимовВышла девятая версия ACDSee. Судя по объему нововведений, это не «Девятый вал» Айвазовского [Иван Айвазовский, «Девятый вал». 1850 г] и даже не «9 рота» Бондарчука [Федор Бондарчук, «9 рота». 2005 г]. Поэтому в обзоре
4. Память
4. Память Когда вы читаете эту книгу, идете по переполненной улице, слушаете симфонию, успокаиваете плачущего ребенка, ваш мозг набит пространственными и временными паттернами от всех ваших органов чувств. Мир это океан постоянно меняющихся паттернов, которые приходят,
Память завтрашнего дня
Память завтрашнего дня Автор: Олег НечайОпубликовано 18 апреля 2012 годаКомпьютерные накопители на основе микросхем флэш-памяти, получившие название SSD (Solid State Drive, то есть "твёрдотельный привод"), появились на массовым рынке всего лишь в середине "нулевых" годов. При этом их