Есть вопрос?
Зайди на форум

Поиск:

Denix: русификация Ubuntu и кодеки :: RSS:: Скачать книги Колисниченко в PDF

Англо-русский словарь компьютерных терминов (Д. Колисниченко)

A  B  C  D  E  F  G  H  I  K  L  M  N  O  P  Q  R  S  T  V  W  X  Y  Z 

укрпочта отслеживание посылок перевод денег график отключения света в Кировограде график отключения счета в Киеве график отключения света в Одессе (zip)

Книга Д. Колисниченко Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.

6.4. Организация памяти в защищенном режиме

6.4.1. Общая информация. Введение в сегментную организацию памяти

Первое, что меняется при переходе в защищенный режим - это организация памяти. В защищенном режиме есть две модели организации памяти: сегментная (segmentation) и страничная (paging). Пока поговорим об этих моделях в общем, а потом рассмотрим каждую модель подробнее.

Сегментация памяти позволяет разделить адресное пространство процессора (ту память, которую видит процессор) на блоки кода, данных и стека, то есть изолировать выполняющиеся программы друг от друга. Благодаря сегментной организации памяти и возможна многозадачность. Страничная модель более сложная и громоздкая, но у нее намного больше возможностей и именно эту модель использует Windows.

Интересно, что в процессоре нет ни одного бита в управляющих регистрах, отвечающего за явное переключение между моделями организации памяти. Скажем так - сегментация присутствует всегда. А вот если мы хотим использовать страничную организацию, то нам нужно установить 31-ый бит (флаг PG) регистра CR0.

Как уже было отмечено двумя абзацами выше, сегментация - это просто механизм разделения адресного пространства процессора на отдельные, защищенные друг от друга сегменты. Сегмент может содержать код, данные, стек, а также системные структуры данных (TSS, LDT).

Выходит, что вся память разделена на группы сегментов. У каждой группы есть свой владелец - программа. Если какая-нибудь программа попытается обратиться к сегменту другой программы, процессор сразу же сгенерирует исключение (прерывание) #GP (General Protection, general-protection exception), в ответ на которое операционная система должна завершить программу-нарушителя. Это вы уже знаете.

Чтобы обратиться к любому байту в любом сегменте памяти мы должны знать его логический адрес. Логический адрес состоит из селектора (selector) и смещения (offset). Если вы программировали на Ассемблере, то уже догадались, что логический адрес - это всего-навсего дальний указатель (я тут пугаю вас новыми терминами). Если же вы никогда не программировали на Ассемблере, забудьте, что я только что сказал.

Селектор - это ничто иное, как уникальный идентификатор сегмента (читайте - адрес сегмента, хотя это будет несколько неточно). "Уникальный" означает, что у каждого сегмента свой собственный селектор. Смещение - это адрес того самого байта относительно начала сегмента (селектора). Думаю, тут все просто. Зная селектор и смещение, мы можем получить линейный, то есть реальный, адрес байта памяти.

Примечание. Сейчас нужно прояснить один момент. Мы знаем, что есть физический адрес байта в памяти. Надеюсь, что это такое, объяснять не нужно. Только что мы узнали, что есть логический адрес и линейный адрес. И при этом было сказано, что линейный адрес - это реальный, то есть физический, адрес байта памяти. Запомните - "линейный адрес" и "физический адрес" - это не синонимы. Да, линейный адрес совпадает с физическим адресом, но только в случае сегментной адресации, а не страничной!

Мы уже знаем, что такое селектор и смещение, но нам нужно познакомиться с еще одним очень важным термином - дескриптор.

Перед тем, как обратиться к какому-нибудь адресу памяти, программа должна определить набор сегментов, через которые она сможет "добраться" к памяти. Сегмент задается структурой данных, которая называется дескриптором. Размер этой структуры - 8 байт. Дескриптор содержит всю необходимую системе информацию о сегменте. Все дескрипторы хранятся в специальной области памяти - GDT (Global Descriptor Table) - глобальной таблице дескрипторов. О ней мы еще поговорим, а пока не будем на ней останавливаться.

6.4.2. Сегментация памяти. Дескриптор

В предыдущем пункте мы познакомились с дескриптором. Дескриптор - это 8-байтная (64-битная) структура, описывающая сегмент. Формат дескриптора изображен на рисунке 6.1, а описание полей дескриптора приведено в таблице 6.1.

Рис. 6.1. Формат дескриптора

Таблица 6.1. Формат дескриптора

Биты

Поле

Описание

0-15

Предел, биты 0-15

Предел сегмента - это предельное значение смещения (offset) в сегменте. Поле содержит первые 15 битов предела.

16-31

Адрес сегмента, биты 0-15

Адрес сегмента (он же базовый адрес) - 32-разрядный адрес области памяти, с которой начинается сегмент. В этом поле хранится 16 битов адреса (с номерами от 0 до 15)

32-39

Адрес сегмента, биты 16-23

Биты 16-23 адреса сегмента

40

Флаг A (Accessed)

Бит доступа. Показывает, был ли произведен доступ к сегменту. Если процессор обращался к этому сегменту для чтения или записи, то бит будет установлен в 1. В противном случае бит равен 0. Бит доступа устанавливается процессором, а сбрасывается операционной системой. Процессор не может сбросить бит. После создания нового сегмента бит А = 0, поскольку обращений к сегменту еще не было

41-43

Тип сегмента

Поле размером 3 бита. Определяет тип сегмента и права доступа к сегменты (см. таблицу 6.2)

44

Флаг S (System)

Обозначает системный объект. Если бит сброшен (0), то сегмент является системным, если установлен (1), то обычным - сегментом кода или данных

45, 46

DPL

DPL (Descriptor Privilege Level) - дескриптор уровня привилегий. А это и есть номер кольца. Это двухбайтное поле может содержать значения от 0 до 3

47

Флаг P (Present)

Флаг присутствия сегмента. Если флаг установлен, то сегмент есть в оперативной памяти, если сброшен, то сегмент выгружен на диск. Используется при реализации механизма виртуальной памяти

48-51

Предел, биты 16-19

Оставшиеся биты предела сегмента

52

Флаг U (User)

Пользовательский бит. Не используется процессором. Программа может устанавливать его на свое усмотрение

53

Флаг X (reserved)

Зарезервированный бит. Intel не рекомендует его использовать, поскольку он может понадобится для будущих моделей процессоров

54

Флаг D (Default size)

Размер операндов по умолчанию. Если бит сброшен (0), то сегмент 16-разрядный. Если установлен (1), то сегмент - 32-разрядный.

55

Флаг G (Granularity)

Гранулярность сегмента. Задает единицу измерения сегмента. Если флаг сброшен, то сегмент измеряется в байтах, если установлен, то - в страницах (1 страница = 4 Кб)

56-63

Адрес сегмента, биты 24-31

Оставшиеся биты адреса сегмента

В следующей таблице представлена расшифровка поля Тип сегмента:

Таблица 6.2. Поле тип

Бит 11

Бит 10

Бит 9

Тип

Права доступа

0

0

0

Данные

Только чтение

0

0

1

Данные

Чтение и запись

0

1

0

Данные

Только чтение, расширяется вниз

0

1

1

Данные

Чтение и запись, расширяется вниз

1

0

0

Код

Только выполнение

1

0

1

Код

Только выполнение

1

1

0

Код

Только выполнение, согласованный (согласованные сегменты мы не будем рассматривать)

1

1

1

Код

Выполнение и считывание, согласованный

6.4.3. Таблицы дескрипторов

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

Сам же дескриптор может находиться в трех таблицах:

Все эти таблицы находятся в оперативной памяти. Их формированием занимается операционная система, а не процессор. В этом пункте мы рассмотри первые две таблицы, а о третьей таблице у нас будет отдельный разговор.

Таблица GDT

У каждой операционной системы есть одна таблица GDT. Данная таблица используется всеми процессами - ведь они хранят там свои дескрипторы.

В памяти GDT организована линейно, а не в виде сегмента. Начало таблицы хранится в регистре GDTR. GDTR - это такой же регистр, как и EAX, EIP, только он используется не для хранения произвольных данных, а для хранения фиксированного числа - адреса начала GDT.

Регистр GDTR 48-битный: 32 бита занимает линейный базовый адрес, а 16 - для предела таблицы (для хранения ее максимального размера + 1 байт). Вы должны правильно понимать значение поля предел. Если предел равен 0, то на самом деле GDTR занимает в памяти 1 байт. Если предел равен N, то размер GDTR в памяти - N+1 байт.

Загрузить (установить)/считать значения регистра GDTR можно с помощью команд LGDT/SGDT. По умолчанию (сразу после включения или холодной перезагрузки) база GDT равна 0, а предел - FFFFh. Теперь займемся математикой. Мы знаем, что дескриптор занимает в памяти 8 байт. FFFF в десятичной системе равно 65535. Разделим 65535 div 8 = 8191 дескриптор. Получается, в таблице GDT может хранится 8192 дескрипторов (один зарезервирован для нулевого, нумерация начинается с 0, 8192 = 0..8191)

Первый дескриптор в GDT называется "нулевым дескриптором". Он не используется. При обращении к этому дескриптору процессор генерирует #GP. Поэтому, когда вы доберетесь до высот GDT, никогда не обращайтесь к этому дескриптору.

Таблица LDT

LDT - необязательная таблица. Она может присутствовать, а может и не присутствовать. При желании можно создать очень много LDT-таблиц, а GDT будет только одна. Каждый процесс может иметь свою собственную таблицу  LDT. В то же время несколько процессов могут использовать одну и ту же LDT.

В отличие от GDT, LDT - это сегмент. Поскольку LDT является сегментом, то где-то должен быть ее регистр. Правильно, он хранится в GDT.

У таблицы LDT, как и у GDT, есть свой регистр - LDTR. Он содержит следующую информацию:

Для манипулирования этим регистром используются инструкции LLDT и SLDT. При включении питания (холодной перезагрузке) поле адреса в LDTR устанавливается в 0, а лимит - в FFFFh.

Для идентификации сегмента используется 16-битная структура данных, которая называется селектором. Селектор храниться в сегментном регистре CS. Селектор указывает не на сам сегмент памяти, а на его дескриптор в таблице дескрипторов.

Как же процессор формирует адрес? Сейчас попробуем это выяснить. Представим, что сейчас выполняется какой-то код в памяти. Код - это просто последовательность инструкций. Где именно находится та или иная инструкция мы не знаем. На нее просто указывает CS:EIP. Но ведь в CS:EIP находится абстрактный адрес. Наша задача - определить линейный адрес в памяти по адресу в CS:EIP. В регистре CS есть поле "Индекс" (биты 0-15, это и есть селектор). В этом поле содержится информация о местоположении нужного дескриптора в таблице дескрипторов. Мы уже знаем дескриптор, следовательно можно добраться и до сегмента. Но нам этого не нужно делать. Нам нужно посмотреть в дескрипторе адрес базы сегмента. Потом нужно сложить его с EIP и мы получим линейный адрес инструкции в памяти (напомню, что при сегментной организации памяти линейный адрес совпадает с физическим). Схемы вычисления линейного адреса инструкции представлена на рисунке 6.2.

Рис. 6.2. Преобразование логического адреса в линейный

Еще раз повторим: из CS извлекается селектор. По селектору находим нужный дескриптор в таблице дескриптора. Дескриптор содержит всю информацию о сегменте, в том числе и адрес базы. Складываем адрес базы и смещение, которое хранится в EIP и получаем линейный адрес. Думаю, тут все не очень сложно, правда?

Вот теперь у нас есть все основания перейти к следующей модели адресации памяти - к страничной адресации.

6.4.4. Страничная адресация

Мы знаем, что существует два типа адресации - сегментная и страничная. С сегментной мы только что разобрались. Также было сказано, как можно переключиться на страничную адресацию. В принципе, нам это знать и не нужно - ведь переключением занимается операционная система. Но есть один интересный момент. Сначала операционная система переключается в защищенный режим. Следовательно, тип адресации у нас сегментный. Большинство современных операционных систем используют страничную адресацию, поэтому после переключения в защищенный режим операционная система переходит на страничную адресацию памяти. Возникает вопрос: куда же девается сегментная адресация, точнее ее структуры? Так вот, все структуры сегментной адресации остаются на своих местах. Единственное, на чем отражается страничная адресация, так это в переводе линейного адреса в физический. Ведь при сегментной адресации линейный адрес совпадает с физическим, а вот при страничной адресации ситуация несколько иная. С этим нам и предстоит разобраться.

Для того чтобы все осознать, нам нужно вспомнить, что такое логический, линейный и физический адреса. Логический адрес - это абстрактный адрес. Он ничего нам не сообщает. В CS:EIP хранится именно логический адрес. Если использовать его "сырым", то что он может нам сообщить? Правильно, ничего. Когда мы обработаем этот адрес - извлечем селектор, по нему узнаем дескриптор и т.д. (см. выше). Вот только тогда мы узнаем линейный адрес. Если у нас сегментная адресация, то этот же адрес и является физическим. Физический адрес можно ставить сразу на шину адреса безо всяких преобразований. Это означает, что при сегментной адресации процессор без каких-либо преобразований передает на шину адреса линейный адрес.

В случае со страничной адресацией линейный адрес не совпадает с физическим. Мы имеем дело с виртуальной памятью. Процессор делит все адресное пространство на страницы фиксированного размера - по 4 Кб, 2 Мб или 4 Мб. Страницы, в свою очередь, отображаются в физической памяти ли на диске. Программа (процесс) работает с логическими адресами, процессор переводит его в линейный, а затем - в физический. Если страницы с таким физическим адресом нет в оперативной (физической) памяти, то возникает исключение #PF (Page Fault). Обработчик исключения #PF должен оперативно исправить ситуацию - подгрузить недостающую страницу с жесткого диска. Если же нет памяти (ну нету куда подгружать), он должен выгрузить ненужную (неиспользуемую в данный момент) страницу на диск, а на ее место - загрузить необходимую в данный момент страницу. Загрузка осуществляется из области подкачки. В Windows - это своп-файл (файл подкачки), в Linux областью подкачки может быть раздел подкачки, а может - обычный своп-файл.

С этим разобрались, теперь двигаемся дальше. Еще страничная адресация отличается от сегментной тем, что у всех страниц фиксированный размер, который выбирается заранее. А вот размеры сегмента могут изменяться.

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

Обратите внимание: большую часть "грязной" работы по преобразованию адресов и кэшированию страниц выполняет сам процессор - ни операционная система, ни руткит. Кстати, нужно сказать пару слов о кэшировании страниц. Страницы, к которым обращается процессор, кэшируются в буфере с ассоциативной выборкой (TLB - Table Lookaside Buffer). Точнее в буфере сохраняются не полностью страницы, а информация, необходимая для оперативного доступа к ним. Сам буфер находится в процессоре.

Для вас, как для разработчика руткита, нужно знать, что в TLB вы можете кое-что изменить, если вам это понадобится. Для изменения TLB используется инструкция INVLPG (это инструкция языка Ассемблера, не C). Ясно, что для этого нужно быть на нулевом кольце. Мы на этом останавливаться подробно не будем - когда вам понадобится эта инструкция, вы уже не будете нуждаться в этой книге.

Непосредственно в процессоре страничная организация управляется тремя флагами:

Наверное, у вас уже появилась идея в случае обнаружения отладчика или программы обнаружения руткита сбросить флаг PG...

Каталоги и таблицы страниц

В сегментной адресации мы имели дело с таблицами дескрипторов. В страничной адресации появились новые структуры данных:

Теперь разберем, что есть что. Со страницей понятно - это основная структура при страничной адресации. Каталог и таблица страниц используются при трансляции адресов. Если мы в режиме PSE (в режиме расширенных страниц), то для трансляции адресов используется только каталог страниц. Указатель на каталог страниц используется только при 36-битной адресации (в режиме PAE).

Рассмотрим, на что влияют те или иные флаги:

Таблица 6.3. Влияние флагов на размер страниц (P/S) и разрядность физического адреса (A/S)

PG (CR0)

PAE (CR4)

PSE (CR4)

PSE-36

PS (PDE)

P/S

A/S

0

-

-

-

-

-

-

1

0

0

-

-

4 Кб

32

1

0

1

-

0

4 Кб

32

1

0

1

0

1

4 Мб

32

1

0

1

1

1

4 Мб

36

1

1

-

-

0

4 Кб

36

1

1

-

-

1

2 Мб

36

При страничной адресации обычно используются три наиболее популярных способа адресации:

Рассмотрим самую простую, 32-разрядную линейную адресную трансляцию (размер страницы равен 4 Кб).

Задача следующая: по линейному адресу получить физический адрес. Линейный адрес состоит из индекса каталога страниц, индекса таблицы страниц и смещения, то есть реального местоположения адресуемого байта на странице (рис. 6.3.)

Рис. 6.3. Структура линейного адреса

Алгоритм нахождения страницы следующий:

Рис. 6.4. Алгоритм нахождения страницы памяти (линейная адресная трансляция)

Напомню, что если искомой страницы нет в физической памяти, процессор генерирует исключение #PF, а обработчик этого исключения подгружает нужную страницу из области подкачки.

Трансляция адреса в случае с расширенными страницами (2 и 4 Мб) немного упрощается за счет того, что не используется таблица страниц. Линейный адрес в этом случае состоит всего из двух частей - индекса каталога и смещения. Остальной принцип такой же: из CR3 извлекается база каталога страниц, по индексу каталога находится нужная запись PDE, по ней определяет страница, а конечный адрес объекта определяется за счет смещения (рис 6.5).

Рис. 6.5. Линейна адресная трансляция (страница 4 Мб)

Элементы PDE и PTE

Если вы еще не забыли, то PDE - это элемент (запись) каталога страниц, а PTE - элемент таблицы страниц. Рассмотрим структуры элементов PDE и PTE.

Рис. 6.6. Структура элементов PDE и PTE

В поле "Адрес базы таблицы" храниться адрес базы таблицы страниц. Описание других полей приведено в таблице 6.4

Таблица 6.4. Описание полей элементов PDE и PTE

Поле

Описание

Поле без названия

Доступно программисту и может использоваться по его усмотрению

G

Глобальная страница. Впервые появилось в процессорах Pentium Pro. Если этот флаг установлен, то страница является глобальной. Если страница глобальная и установлен PGE флаг в регистре CR4, то соответствующие странице элементы каталога и таблицы страниц никогда не будут удалены из кэша TLB. Обычно глобальными являются страницы, содержащие код ядра и структуры ядра - "святые святых".

PS

Размер страницы. Если флаг сброшен (0), то размер страницы составляет 4 Кб, элемент каталога страниц указывает на таблицу страниц. Если же флаг установлен (1), то страница имеет размер 4 Мб (при 32-х битной адресации) или 2 Мб (если используется EPA), элемент каталога страниц указывает на саму страницу, поскольку таблица страниц вообще не используется.

PAT

Индекс таблицы атрибутов страниц. PAT (Page Attribute Table) - это таблица, расширяющая архитектуру IA-32. Относится к MTRR-регистрам. Для нас она не очень важна, поэтому не будем в нее особо вникать. Если вам интересно, то этот флаг относительно молодой - впервые появился на Pentium III (также есть в PIV и Xeon), в более "древних" процессорах данный флаг всегда равен 0.

D

"Грязный" (Dirty) бит. Показывает, была ли произведена запись в страницу. Если используются страницы размером 4 Кб, данный бит игнорируется. 

A

Бит доступа. Устанавливается при обращении к странице. Если бит равен 0, это означает, что к странице не было доступа с момента ее загрузки в память. Данный бит устанавливается самим процессором

PCD

Флаг кэширования. Если данный флаг установлен, то кэширование данной страницы запрещено, если сброшен (0), то страницу можно кэшировать

PWT

Флаг сквозной записи (write-through). Если флаг установлен, то разрешена сквозная запись (один из видов кэширования). Флаг игнорируется, если установлен флаг PCD (запрет кэширования)

U/S

Флаг задает привилегии пользователя/супервизора. Если флаг сброшен, страница доступна только супервизора, если установлен, то страница доступна для пользователя и супервизора.

R/W

Флаг управления чтением/записью. Если сброшен, то страница доступна только для чтения, если установлен, то страница доступна как для чтения, так и для записи

P

Флаг присутствия. Если установлен (1), то страница находится в оперативной памяти, если сброшен, то страницу нужно подгрузить из области подкачки

На главную

Мне нравится!

Сегодня: 16/01

Именинники:  Андрюха aka host

Последние посты форума

Интересная картинка

Samsung Galaxy J2 Prime (SM-G532F)

дааа

Обучение PHP-программированию

Новый дизайн сайта

Возвращение на динамическую страницу сайта

С Новым Годом!

Бесплатный хостинг, SSL сертификат, не ограниченно

капец погода в ноябре у нас

Посоветуйте хостинг

флэшмобы

вот люди где живут... экстрим

авто-дилеры

Программы для Linux

книга Командная строка Linux и автоматизация рутинных задач

Совет:

Книги Д. Колисниченко:

Linux

Самоучитель Linux openSUSE 11Самоучитель Linux openSUSE 11
Книга предназначена для домашнего и офисного начинающего пользователя Linux и по-может ему самостоятельно установить и настроить операционную систему openSUSE 11, разработанную в соответствии со всеми принципами Open Source.                                                                             

Mac OS X Lion. Руководство пользователя (PDF)Mac OS X Lion. Руководство пользователя (PDF)
Эта книга — практическое руководство по использованию компьютеров компании Apple с операционной системой Mac OS X Lion. В ней рассказывается, как работать в этой ОС, какие возможности она предоставляет пользователю, как ее правильно настроить. Рассмо                                                   

Linux. От новичка к профессионалу. 3-е изд.Linux. От новичка к профессионалу. 3-е изд.
Книга ориентирована на "среднего" и квалифицированного пользователя Linux и поможет ему самостоятельно настроить и оптимизировать эту операционную систему. Даны ответы на все вопросы, возникающие при работе с Linux: от установки и настройки этой ОС д                                                   

PHP

HTML 5 & CSS 3 - практическо програмиране за начинаещиHTML 5 & CSS 3 - практическо програмиране за начинаещи
Тази книга ще ви научи как да прилагате на практика HTML 5 и CSS 3 и да се възползвате от богатите възможности, предлагани в новите уеб стандарти. Изданието е предназначено за всеки, който е решил да се възползва от съвременните технологии за уеб диз                                                   

Самоучитель PHP 4/5Самоучитель PHP 4/5
Моя первая книга по PHP, на базе которой была написана книга Самоучитель PHP5 (НиТ). Давно распродана и не поддерживается                                                                                                                                                                                    

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

Интернет/CMS

Самоучитель Joomla!Самоучитель Joomla!
Книга ориентирована как на обычных пользователей Интернета, которым нужно в кратчайшие сроки построить свой сайт, так и на разработчиков, которые заинтересованы в создании собственных расширений и шаблонов для популярной системы управления контентом                                                   

Блоги: создание, раскрутка, заработокБлоги: создание, раскрутка, заработок
Эта книга — практическое руководство по созданию и продвижению блога, его раскрутке и популяризации, а также превращению в инструмент, приносящий реальные доходы.                                                                                                                                           

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

Компьютер/Windows

Windows 8. Настройка, работа, администрированиеWindows 8. Настройка, работа, администрирование
Книга предназначена всем пользователям, желающим начать работу с новой версией операционной системы компании Microsoft - Windows 8. Подробно описаны особенности установки, настройки и восстановления системы, а также методы повышения ее производительн                                                   

Самоучитель Microsoft Windows 10Самоучитель Microsoft Windows 10
Вас интересует новейшая версия Windows - Windows 10? Тогда эта книга для вас. Она содержит необходимые и достаточные сведения для реальной работы с программой. Описаны как базовые функции, так и основные новинки Windows 10                                                                               

Нетбук для экономныхНетбук для экономных
Книга предназначена в первую очередь для экономных пользователей. Упор делается на выбор недорогого нетбука и бесплатных программ.                                                                                                                                                                           

Сети

Самоучитель системного администратора. 4-е изд.Самоучитель системного администратора. 4-е изд.
Изложены основные задачи системного администрирования, описаны базовые протоколы, даны рекомендации по выбору оборудования и проведению ежедневных рутинных операций. Подробно раскрыты технологии, используемые при построении информационных систем, опи                                                   

Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.
Книга о настройке сети в Windows (98,NT,XP) и Linux. Является превосходным практическим руководством по созданию и обслуживанию компьютерных сетей.                                                                                                                                                          

Беспроводная сеть дома и в офисеБеспроводная сеть дома и в офисе
Книга поможет начинающему администратору домашней или офисной сети в кратчайшие сроки развернуть, настроить или модернизировать беспроводную сеть. Отличный выбор для построения сети SOHO                                                                                                                   

Безопасность

Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.
-                                                                                                                                                                                                                                                                                                            

Анонимность и безопасность в Интернете. От Анонимность и безопасность в Интернете. От "чайника" к пользователю
Простым и понятным языком рассказано, как скрыть свое местонахождение и IP-адрес, используя анонимные сети Tor и I2P, посетить заблокированные администратором сайты, защитить личную переписку от посторонних глаз                                                                                          

Автомобили

150 ситуаций на дороге, которые должен уметь решать каждый водила150 ситуаций на дороге, которые должен уметь решать каждый водила
Опытный инструктор кратко и четко расскажет, что следует делать водителю в 150 самых различных ситуациях на дороге, которые могут опустошить ваш кошелек, испортить нервы или здоровье                                                                                                                       

Что делать, чтобы не надули в автосервисе. Советы и рекомендацииЧто делать, чтобы не надули в автосервисе. Советы и рекомендации
Вы недавно приобрели автомобиль или уже имеете водительский стаж, но при этом особо не вникаете в устройство автомобиля?                                                                                                                                                                                     

Что делать, чтобы не надули в автосервисе. Советы и рекомендацииЧто делать, чтобы не надули в автосервисе. Советы и рекомендации
Вы недавно приобрели автомобиль или уже имеете водительский стаж, но при этом особо не вникаете в устройство автомобиля?                                                                                                                                                                                     

Переводные книги

Переводные книгиПереводные книги
Данные книги были переведены мною на русский язык (с английского и чешского). Надеюсь качество перевода вам понравится!                                                                                                                                                                                      

Android

Планшет и смартфон на базе Android для ваших родителей, 2-е изд.Планшет и смартфон на базе Android для ваших родителей, 2-е изд.
Книга знакомит читателя с мобильными устройствами на базе Android. Она написана простым и понятным языком для людей среднего и старшего возраста                                                                                                                                                             

Безопасный Android: защищаем свои деньги и данные от кражиБезопасный Android: защищаем свои деньги и данные от кражи
Рассмотрены различные способы обеспечения безопасности Android-устройств: шифрование персональной информации, хранящейся на устройстве, шифрование передаваемых данных, VPN-соединения, анонимизация трафика                                                                                             

Планшет и смартфон на базе Android для ваших родителейПланшет и смартфон на базе Android для ваших родителей
Книга рассчитана на людей среднего и старшего возраста. Она поможет освоить современный «карманный компьютер» на базе Android, в котором все новое и "не так, как в Windows". Доступным языком описывается, как включить и выключить смартфон и т.д.                                                         

Статьи

Rambler's Top100