Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Статьи по сетям

Стр. 5 из 39      1<< 2 3 4 5 6 7 8>> 39

Модули памяти. Контроль четности. Коды коррекции ошибок.

Статья добавлена: 28.06.2021 Категория: Статьи по сетям

Модули памяти. Контроль четности. Коды коррекции ошибок. Для повышения отказоустойчивости систем необходимы механизмы определения и, возможно, исправления ошибок в памяти ПК. В основном для повышения отказоустойчивости в современных компьютерах применяются следующие методы: - контроль четности; - коды коррекции ошибок (ECC). Системы без контроля четности вообще не обеспечивают отказоустойчивости данных. Единственная причина, по которой они используются, - их минимальная базовая стоимость. При этом, в отличие от других технологий (ECC и контроль четности), не требуется дополнительная оперативная память. Байт данных с контролем четности включает в себя 9, а не 8 бит, поэтому стоимость памяти с контролем четности выше примерно на 12%. Кроме того, контроллеры памяти, не требующие логических мостов для подсчета данных четности или ECC, обладают упрощенной внутренней архитектурой. Портативные системы, для которых вопрос минимального энергопотребления особенно важен, выигрывают от уменьшенного энергопотребления памяти благодаря использованию меньшего количества микросхем DRAM. И наконец, шина данных памяти без контроля четности имеет меньшую разрядность, что выражается в сокращении количества буферов данных. Статистическая вероятность возникновения ошибок памяти в современных настольных компьютерах составляет примерно одну ошибку в несколько месяцев. При этом количество ошибок зависит от объема и типа используемой памяти. Подобный уровень ошибок может быть приемлемым для обычных компьютеров, не используемых для работы с важными приложениями.

Логический интерфейс NVM Express.

Статья добавлена: 17.06.2021 Категория: Статьи по сетям

Логический интерфейс NVM Express. Техническая проработка NVMe началась во второй половине 2009 года. Спецификации NVMe были разработаны "NVM Express Workgroup", в которую входило более 90 компаний. Первая версия NVMe 1.0 была издана 1 марта 2011 года, а версия 1.1 - 11 октября 2012 года. В версии 1.1 были добавлены многопутевой ввод-вывод и возможность проведения DMA-операций по множеству адресов с фрагментами произвольной длины (arbitrary-length scatter-gather I/O). Из-за изначальной фокусировки на корпоративных применениях стандарт NVMe 1.1 получил название "Enterprise NVMHCI". Обновление базовой спецификации NVMe, версия 1.0e, вышла в январе 2013 года. Первые контроллеры SSD, реализующие NVMe, были выпущены Integrated Device Technology в августе 2012 года (89HF16P04AG3 и 89HF32P08AG3). Первый твердотельный диск с NVMe, XS1715 для корпоративных применений был анонсирован в июле 2013 года, по заявлениям Samsung, он обеспечивал чтение на скоростях 3 ГБайт/с. В ноябре 2013 года LSI SandForce выпустила контроллер SF3700 с NVMe, показавшие скорости последовательных обращений в 1,8 ГБайт/с и 80-150 тысяч IOPS на случайных обращениях при использовании физического интерфейса PCI Express 2.0Ч4. На Consumer Electronics Show 2014 компания Kingston представила потребительский продукт HyperX Predator на этом контроллере. В июне 2014 Intel представила свои первые линейки корпоративных накопителей с NVM Express: DC P3700, DC P3600, DC P3500. Логический интерфейс NVM Express был разработан с нуля, с учетом низких задержек и высокого параллелизма твердотельных SSD-накопителей с интерфейсом PCI Express, а также широкой распространенности многоядерных процессоров. NVMe позволяет повысить производительность за счет более полного использования параллелизма устройств и программного обеспечения. Накопители, использующие NVM Express, могут представлять собой полноразмерные карты расширения PCI Express либо устройства SATA Express. Спецификация M.2 (ранее известная как NGFF) для компактных накопителей также поддерживает NVM Express в качестве одного из логических интерфейсов.

Технология HT (Hyper-Threading).

Статья добавлена: 03.06.2021 Категория: Статьи по сетям

Технология HT (Hyper-Threading). Корпорация Intel реализовала технологию Hyper-Threading (НТ) еще в микроархитектуре Intel NetBurst (для процессоров Intel Pentium 4 и Intel Xeon) как инновационный способ обеспечения более высокой степени параллелизма на уровне потоков в процессорах для массовых систем. Но эта технология ограничена одним ядром, более эффективно использующим имеющиеся ресурсы для обеспечения лучшей поддержки многопоточности транзакций. Технология Hyper-Threading позволяет одному физическому процессору вести себя по отношению к операционной системе как два виртуальных процессора, поэтому Hyper-Threading обеспечивает более эффективную многозадачность и меньшее время отклика системы. Пользователи за счет улучшенной производительности могут выполнять несколько приложений одновременно, например, запустить игру и в фоновом режиме выполнять проверку на вирусы или кодирование видео. Технология HT означает более эффективное использование ресурсов процессора, более высокую пропускную способность и улучшенную производительность. Ключевое преимущество HT - ее способность выделять и перераспределять ресурсы процессора приложениям в тот момент, когда эти ресурсы им нужны. Используя способность многопоточных приложений исполнять разные потоки вычислений параллельно, технология HT повышает эффективность работы процессора, позволяя ему исполнять большее число инструкций за то же время. Технология HT стала предшественницей двухъядерных и многоядерных процессоров. Технология многопоточности Hyper-Threading была создана корпорацией Intel в целях повышения производительности и эффективности серверных систем.

Структуры диска GPT (MBOOT-защитный MBR, Оглавление, Массив разделов).

Статья добавлена: 19.05.2021 Категория: Статьи по сетям

Структуры диска GPT (MBOOT-защитный MBR, Оглавление, Массив разделов). GPT использует современную систему адресации логических блоков (LBA) вместо применявшейся в MBR адресации «Цилиндр — Головка — Сектор» (CHS). Доставшаяся по наследству MBR со всей своей информацией содержится в блоке LBA 0, Оглавление GPT — в блоке LBA 1. В оглавлении содержится адрес блока, где начинается сама таблица разделов, обычно это следующий блок — LBA 2. В случае 64-битной версии ОС Microsoft Windows NT, за таблицей разделов зарезервировано 16384 байт (при использовании сектора размером 512 байт это будет 32 сектора), так что первым используемым сектором каждого жёсткого диска в ней будет блок LBA 34. Кроме того, GPT обеспечивает дублирование — оглавление и таблица разделов записаны как в начале, так и в конце диска. Теоретически, GPT позволяет создавать разделы диска размером до 9,4 ЗБ (9,4 x 1021 байт), в то время как MBR может работать только до 2,2 ТБ (2,2 x 1012 байт). Защитный MBR. В таблице разделов защитного MBR (рис. 1) определён только один раздел с кодом системы EEh, покрывающий собой весь диск. Поле начала этого раздела в формате CHS задаёт цилиндр 0, головку 0 и сектор 2 (первый сектор соответствует самой MBR), поле начала в формате LBA — сектор 1. Поля конца соответствуют последнему сектору физического диска, а если его ёмкость превосходит предел, допускаемый традиционной таблицей разделов, то они содержат значения FFFFFFh для адреса в формате CHS и FFFFFFFFh для адреса в формате LBA. Оглавление GPT. Оглавление (GPT заголовок) расположен в LBA 1. Длина заголовка в будущем может увеличиться, однако он никогда не превысит размер одного физического сектора диска. Для увеличения надёжности хранения данных и устойчивости к сбоям предусмотрена резервная копия заголовка GPT, она хранится в последнем секторе диска. Обе копии заголовка имеют ссылки друг на друга. Оглавление таблицы разделов (рис. 2) указывает те логические блоки на диске, которые могут быть задействованы пользователем (англ. the usable blocks). Оно также указывает число и размер записей данных о разделах, составляющих таблицу разделов. Так на машине с установленной 64-битной ОС Microsoft Windows Server 2003, зарезервировано 128 (80h) записей данных о разделах, каждая запись длиной 128 (80h) байт. Таким образом возможно создание 128 разделов на диске. Оглавление содержит GUID (англ. Globally Unique IDentifier — Глобально Уникальный Идентификатор) диска. В оглавлении также содержится его собственный размер и местоположение (всегда блок LBA 1), а также размер и местоположение вторичного (запасного) оглавления и таблицы разделов, которые всегда размещаются в последних секторах диска. Важно, что оно также содержит контрольную сумму CRC32 для себя и для таблицы разделов. Эти контрольные суммы проверяются процессами EFI при загрузке машины. Из-за проверок контрольных сумм недопустима и бессмысленна модификация содержимого GPT в шестнадцатеричных редакторах (табл.1). Всякое редактирование нарушит соответствие содержания контрольным суммам, после чего EFI перезапишет первичный GPT вторичным. Если же оба GPT будут содержать неверные контрольные суммы, доступ к диску станет невозможным. Поля FirstUsableLBA и LastUsableLBA определяют область диска, доступную для размещения в ней разделов. За пределами этой области находятся лишь структуры данных UEFI, предназначенные для управления разделами, то есть: - MBR, - заголовок GPT, - и массив разделов GPT.

Успех, удача, неудача, причины (мнения древних мудрецов).

Статья добавлена: 17.05.2021 Категория: Статьи по сетям

Успех, удача, неудача, причины (мнения древних мудрецов). Успех - это результат решимости, упорства, опыта, энергии, уверенности в себе и такта. Успех – это переход от преодоления одной неудачи к преодолению другой с нарастающим энтузиазмом. Поражение – это когда ты с ним смирился, но если ты с ним не смирился – то это лишь временная неудача. Только та победа является истинной, когда никто не чувствует себя побежденным (Будда). Высокая прибыль - это награда за риск, нововведения, усовершенствования, умную и творческую работу. Ни одна работа, ни одно дело не могут привести к успеху, если они не удовлетворяют чью-то потребность. Если потребность мала, то и успехи будут невелики, если потребность велика, то и отдача будет такой же большой, а чувство удовлетворения и желание сделать еще больше - просто огромными. Успех предприятия - ценная и важная задача для всех сотрудников фирмы. Мы ставим задачу преуспевать, а не вести борьбу за выживание. Успехом можно считать только результаты! Быстрый успех - это удача. Удача вещь капризная, когда она придет и уйдет никто не может сказать! Успех настоящий - это результат умного, упорного труда с расчетом на перспективу. Настоящий успех рождает благополучие многих людей. Предприятия разоряются, рушатся потому что «гниют» изнутри, а руководители и сотрудники (на чьем счету нет никаких конкретных упущений) приводят свою фирму к катастрофе всем, чего они не удосужились сделать для того, чтобы руководить и работать мощно, ярко, быстро вести свой коллектив к четко поставленной цели. Если фирма не заботится о своей репутации, то за нее это сделают другие, причем обязательно выставят ее не в самом лучшем виде. Бизнес - это бурлящий океан и пускаться в плавание по нему на ветхом суденышке со случайными людьми, с необученной командой, без припасов, с неопытным капитаном - это пустое и опасное занятие, которое наверняка плохо кончится. Многие считают, что самое важное в бизнесе - это выбор правильного направления, но прежде чем спорить и определять какой путь избрать в бизнесе, неплохо бы посмотреть с кем и на чем собираются ехать по этому пути. Возможно обветшалая и скрипучая «повозка» совсем не годится для поездок. В пылу споров, о том, что делать и куда двигаться все позабыли о своей «старой телеге», которая давно развалилась стоя на обочине!

Облачные вычисления.

Статья добавлена: 12.05.2021 Категория: Статьи по сетям

Облачные вычисления. Термин «cloud computing» - в переводе означает «облачные вычисления» или «облачная обработка данных». В новейших веяниях и направлениях информационных технологий количество новых и не очень понятных терминов особенно велико. Стороннему наблюдателю часто бывает сложно разобраться, в том, что скрывается за каким то из новомодных слов и словосочетаний, рожденных в лингвистической кузнице ИТ. Термин «облачные вычисления» зародился еще в 1960 году, но обрел актуальность только с лавинообразным развитием Интернета, вместе с ростом скоростей и эволюцией браузеров. Облачные вычисления - это способ предоставления вычислительной мощности на расстоянии. Среди концепций «cloud computing» самой распространенной является SaaS (Software as a Service - программное обеспечение как услуга), когда приложение выполняется не на локальном компьютере пользователя, а на сервере компании-провайдера услуги, а доступ к нему осуществляется через Интернет. Благодаря такой схеме пользователю нет надобности в обладании мощным компьютером, а Google не нужно тратить деньги на производство упаковки, штамповку дисков и поиск каналов сбыта. Теоретически, вычислительные мощности, к которым может получить доступ обычный человек при помощи cloud computing, безграничны. Чтобы конкретизировать определение «облачных вычислений», специалисты этой области часто используют термин SEAP (Service-Enabled Application Platform - платформа с поддержкой приложений как услуг), они предсказывали, что к 2013-2015 годам облачные вычисления станут наиболее предпочтительным способом реализации ИТ-услуг в большинстве крупнейших предприятий мира. В самом начале облачные вычисления предлагалось использовать в качестве Интернет-служб системы управления предприятием и взаимоотношениями с клиентами (ERP и CRM), почтовые серверы, программы для коллективной работы над документами и другое типичное бизнес-ПО. То есть фактически cloud computing позволяет переложить на Интернет классические обязанности локальной технической инфраструктуры компании. А вместе с обязанностями, естественно, перекладывается и головная боль по поводу ее организации, поддержки и развития. Все, что требуется от предприятия, перешедшего на облачные вычисления, — это высокоскоростной канал для подключения к Интернету, набор клиентских компьютеров для эксплуатации удаленных ресурсов и весьма скромная сумма денег для оплаты услуг соответствующих звеньев облачной системы служб. Поскольку при таких раскладах компания не покупает свою ИТ-инфраструктуру, а лишь берет ее в аренду, инвестиции в проект оказываются ощутимо меньшими, нежели при классической организации бизнеса. Такой вариант заманчив прежде всего для малых и средних компаний, особенно в условиях кризисной экономики.

Физическая и виртуальная память.

Статья добавлена: 22.04.2021 Категория: Статьи по сетям

Физическая и виртуальная память. При выполнении программы мы имеем дело с физической оперативной памятью (ОП), собственно с которой и работает процессор, извлекая из нее команды и данные и помещая в нее результаты вычислений. Физическая память представляет собой упорядоченное множество ячеек реально существующей оперативной памяти, и все они пронумерованы, то есть к каждой из них можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической памяти ограниченно и имеет свой фиксированный объем. Процессор в своей работе извлекает команды и данные из физической оперативной памяти, данные из внешней памяти (винчестера, CD) непосредственно на обработку в процессор попасть не могут. Системное программное обеспечение должно связать каждое указанное пользователем символьное имя с физической ячейкой памяти, то есть осуществить отображение пространства имен на физическую память компьютера. В общем случае это отображение осуществляется в два этапа: сначала системой программирования, а затем операционной системой (OC). Это второе отображение осуществляется с помощью соответствующих аппаратных средств процессора - подсистемы управления памятью, которая использует дополнительную информацию, подготавливаемую и обрабатываемую операционной системой. Между этими этапами обращения к памяти имеют форму виртуального адреса. При этом можно сказать, что множество всех допустимых значений виртуального адреса для некоторой программы определяет ее виртуальное адресное пространство, или виртуальную память. Виртуальное адресное пространство программы зависит, прежде всего, от архитектуры процессора и от системы программирования и практически не зависит от объема реальной физической памяти компьютера. Можно еще сказать, что адреса команд и переменных в машинной программе, подготовленной к выполнению системой программирования, как раз и являются виртуальными адресами. При программировании на языках высокого уровня программист обращается к памяти с помощью логических имен. Имена переменных, входных точек составляют пространство имен. Процессор работает только с физической оперативной памятью, которая достаточно дорога и имеет большие, но не всегда достаточные размеры. Когда задача попадает на обработку, то перед ОС встает задача привязать символическое имя задачи с конкретной ячейкой ОП. Так, система программирования, в данном случае транслятор Ассемблера, присваивает каждому символическому имени адрес относительно начала сегмента, а операционная система в сегментные регистры заносит адреса начала сегментов и, при их сложении, получается физический адрес памяти расположения элемента с данным символическим именем. Когда программа прошла этапы трансляции и редактирования, она приобрела двоичный вид. Все символические имена имеют двоичные адреса от какого-то нулевого значения, но они не указывают на конкретные ячейки памяти. В этом случае говорят, что символические имена, команды имеют виртуальный адрес. А когда операционная система соизволит запустить программу на выполнение, применив какую-то дисциплину обслуживания заданий, она каждому виртуальному адресу присвоит конкретный физический адрес оперативной памяти.

GUID типов разделов (файловых систем) дисков GPT.

Статья добавлена: 16.04.2021 Категория: Статьи по сетям

GUID типов разделов (файловых систем) дисков GPT. По стандарту UEFI каждая файловая система получает свой GUID (16 байтов), однозначно ее идентифицирующий. Разработчики ОС для своих файловых систем формируют собственные коды GUID. Порядок записи байтов в написаниях GUID является little-endian. К примеру, GUID системного раздела EFI записан как: C12A7328-F81F-11D2-BA4B-00A0C93EC93B, что соответствует последовательности 16 байтов: 28732AC1-1FF8- D211-BA4B-00A0C93EC93B. Обратите внимание, что байты пишутся задом наперед только в первых трех блоках: C12A7328 - F81F - 11D2. Стандарт UEFI определяет следующие GUID типов разделов:

SIM-карта - идентификационный модуль абонента.

Статья добавлена: 15.04.2021 Категория: Статьи по сетям

SIM-карта - идентификационный модуль абонента. SIM-карта - идентификационный модуль абонента, применяемый в мобильной связи. SIM-карты (рис. 1) применяются в сетях GSM. В сетях 1G идентификацию абонента в сети проводили по заводскому номеру сотового телефона — ESN (Electronic Serial Number). Таким образом, как сотовый телефон, так и абонент идентифицировались единым кодом. Такой подход порождал полную зависимость номера абонента и пакета предоставляемых ему услуг от конкретного экземпляра телефона. Поменяв сотовый телефон (включая случаи поломки и кражи телефона), абонент был вынужден обращаться в офис оператора для того, чтобы телефон перепрограммировали и его серийный номер внесли в базу данных оператора, что некоторые операторы делали платно. Очевидно, что более удобна идентификация абонента, независимая от телефона. В стандарте GSM было предложено разделить идентификацию абонента (с помощью SIM-карты) и оборудования (для этого используется IMEI — международный идентификатор мобильного оборудования). GSM SIM-карта является разновидностью обычной ISO 7816 смарткарты. Стандарт на специфические особенности карты для GSM SIM устанавливает Европейский институт телекоммуникационных стандартов, документы GSM 11.11, GSM 11.14 и GSM 11.19. Современные карты имеют возможность исполнения приложений на карте, в связи с чем поддерживают функциональность JavaCard. В связи с попытками интегрировать RFID технологии в сотовые телефоны SIM-карты предлагают оснащать также вторым физическим интерфейсом Single Wire Protocol для прямой связи с микросхемой физического уровня NFC. Основная функция SIM-карты — хранение идентификационной информации об аккаунте, что позволяет абоненту легко и быстро менять сотовые аппараты, не меняя при этом свой аккаунт, а просто переставив свою SIM-карту в другой телефон. Для этого SIM-карта включает в себя микропроцессор с ПО и данные с ключами идентификации карты (IMSI, Ki и т. д.), записываемые в карту на этапе её производства, используемые на этапе идентификации карты (и абонента) сетью GSM. Также SIM-карта может хранить дополнительную информацию, например телефонную книжку абонента, списки входящих/исходящих телефонных номеров, текст SMS-сообщений. В современных телефонах чаще всего эти данные не записываются на SIM-карту, а хранятся в памяти телефона, поскольку SIM-карта имеет достаточно жёсткие ограничения на формат и объём хранимых на ней данных. SIM-карта содержит микросхему памяти, поддерживающую шифрование.

Компьютерная сеть (ликбез).

Статья добавлена: 14.04.2021 Категория: Статьи по сетям

Компьютерная сеть (ликбез). Сеть (network) — это группа из двух или более компьютеров, которые предоставляют совместный доступ к своим аппаратным или программным ресурсам. Сеть может быть небольшой и состоять из двух компьютеров, которые совместно используют принтер и установленный на одном из них накопитель CDROM, или же огромной как Internet — самая большая сеть в мире. Совместный доступ означает, что каждый компьютер предоставляет свои ресурсы другому компьютеру (одному или нескольким), однако при этом сам управляет этими ресурсами. Таким образом, устройство, переключающее управление принтером между разными компьютерами, не может быть квалифицировано как сетевое. Именно переключатель обрабатывает задания на печать, и ни один из компьютеров не знает, когда другой должен печатать. Кроме того, задания на печать не могут пересекаться. В сети совместно используемым принтером можно управлять с удаленного компьютера, а он может принимать задания на печать от разных компьютеров, сохраняя их на жестком диске сервера. Пользователи могут менять порядок выполнения заданий, могут их задерживать или отменять. Доступ к устройствам может закрываться с помощью паролей, чего нельзя реализовать, используя переключатель. В принципе по сети можно предоставить доступ к любому устройству хранения или ввода-вывода, однако чаще всего доступ предоставляется к таким устройствам: - принтеры; - дисковые накопители; - оптические накопители (CD/DVDROM, CDR, CDRW и др.); - модемы; - факсы; - ленточные устройства резервного копирования; - сканеры. Накопители, отдельные папки или даже файлы можно открыть для других пользователей сети. Сеть не только позволяет снизить расходы на оборудование, открывая доступ к дорогим принтерам и прочим периферийным устройствам, но обладает рядом других преимуществ. Доступ к программному обеспечению и файлам данных может предоставляться нескольким пользователям. Существует возможность принимать и отправлять электронную почту. Специальное программное обеспечение позволяет нескольким пользователям вносить изменения в один документ. Программы удаленного управления могут быть использованы для разрешения проблем или для обучения новых пользователей. Одно соединение Internet может совместно использоваться несколькими пользователями. Существует несколько типов сетей: от двух соединенных компьютеров, до сетей, объединяющих офисы компании в разных городах.

Аппаратный интерфейс Thunderbolt (ликбез).

Статья добавлена: 18.03.2021 Категория: Статьи по сетям

Аппаратный интерфейс Thunderbolt (ликбез). Thunderbolt (с англ. — «раскат грома») — аппаратный интерфейс, ранее известный как Light Peak, разработанный компанией Intel в сотрудничестве с Apple. Служит для подключения различных периферийных устройств к компьютеру с максимальными скоростями передачи данных около 10 Гбит/с по медному проводу и 20 Гбит/с при использовании оптического кабеля. Thunderbolt комбинирует интерфейсы PCI Express (PCIe) и DisplayPort (DP) в одном кабеле. Допускается подключение к одному порту до шести периферийных устройств путём их объединения в цепочку.

Интерфейс SATA Express, M2 (NGFF).

Статья добавлена: 12.03.2021 Категория: Статьи по сетям

Интерфейс SATA Express, M2 (NGFF). Современные тенденции развития таковы, что шина PCI Express должна вскоре прийти на смену интерфейсу SATA 6 Гбит/с повсеместно – это уже было заложено в версии спецификации SATA 3.2. Дальнейшее развитие SATA предполагает, что SSD для настольных систем сохранят своё привычное исполнение, но будут подключаться по специальному интерфейсу SATA Express, который введёт в обращение новый тип разъёмов и кабелей. При этом SATA Express объединяет два интерфейса SATA 6 Гбит/с (они нужны для обратной совместимости со старыми накопителями) и несколько линий PCI Express. Порты SATA Express первого поколения, которые могут присутствовать в настоящее время на материнских платах еще на базе набора логики Intel Z97, предполагают использование двух линий PCI Express второго поколения, что означает рост пиковой пропускной способности современной реализации SATA Express до 1 Гбайт/с. Второй, предусмотренный спецификацией вариант подключения накопителей по шине PCI Express – это специализированные слоты M.2 (также известные как NGFF), ориентированные в первую очередь на мобильные применения. Такие слоты, имеющие сравнительно небольшой размер, и потому идеально подходящие для тонких и ультратонких ноутбуков, объединяют : - один интерфейс SATA 6 Гбит/с; - и несколько линий PCI Express.

Стр. 5 из 39      1<< 2 3 4 5 6 7 8>> 39

Лицензия