Бездисковая загрузка по технологии iSCSI на базе ОС Windows. Виндовс технологии


Технология Windows Presentation Foundation

Отметим, что приложение допускает другую организацию. Вместо настройки объекта класса Window можно создать наследник этого класса и выполнить настройку в конструкторе наследника или в специальном методе:

// наследник класса Window, описывающий пользовательское окно public class MainWindow : Window

{

public MainWindow()

{

Title = "WPF Program"; Content = "Hello, world";

}

}

В Visual Studio приложениям WPF соответствует отдельный шаблон проекта. Этот шаблон ориентирован на использование XAML, поэтому в случае однооконного приложения будет создан следующий набор файлов:

–файл MainWindow.xaml.csна языке C# и MainWindow.xamlна языке XAML

описывают класс MainWindow, являющийся наследником классаWindow;

–файлы App.xaml.cs иApp.xaml описывают классApp, наследник класса

Application.

Ниже приведён файл MainWindow.xaml для простейшего окна:

<Window x:Class="WpfApplication.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="WPF Program"Height="250"Width="400">

<!--содержимое окна-->Hello, world

</Window>

Visual Studio выполняет компиляцию проекта, созданного по шаблону WPF, в два этапа. Вначале для каждого файла XAML генерируется два файла, сохраняемых в подкаталогах obj\Debug илиobj\Release (в зависимости от цели компиляции):

1.файл с расширением *.baml (BAML-файл)– двоичное представлениеXAML-файла,внедряемое в сборку в виде ресурса;

2.файл с расширением *.g.cs – разделяемый класс, который соответствуетXAML-описанию.Этот класс содержит поля для всех именованных элементов XAML и реализацию методаInitializeComponent(), загружающегоBAML-дан-ные из ресурсов сборки. Кроме этого, класс содержит метод, подключающий все обработчики событий.

На втором этапе сгенерированные файлы компилируются вместе с исходными файлами C# в единую сборку (рис. 2).

studfiles.net

Бездисковая загрузка по технологии iSCSI на базе ОС Windows / Хабр

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

Предпосылкой к изучению данного вопроса стало наличие в сети компьютера, с вышедшем из строя дисковым накопителем. Необходимо было запустить на данном ПК «полноценную» 64-битную операционную систему Windows 7 без использования Linux-сервера, ограничившись только имеющимися в локальной сети Windows системами. Приводимые в данном посте программные продукты распространяются бесплатно и могут работать как на серверных, так и на пользовательских версиях Windows.

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

  • iSCSI (англ. Internet Small Computer System Interface) — протокол, который базируется на TCP/IP и разработан для установления взаимодействия и управления системами хранения данных, серверами и клиентами;
  • iSCSI Target: (Цель iSCSI) — программа или аппаратный контроллер (HBA), осуществляющие эмуляцию диска и выполняющие запросы iSCSI;
  • iSCSI Initiator: (Инициатор iSCSI) — клиентская программа или аппаратный контроллер, который взаимодействует с iSCSI Target;
  • IQN: (iSCSI Qualified Name) — уникальный идентификатор (имя) iSCSI Target’a или iSCSI Initiator’а;
  • LUN: (Logical Unit Number) — адрес блочного устройства в диапазоне 0-127;
  • DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла) — сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP;
  • TFTP (англ. Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций.

Введение

Современные операционные системы Windows 7, Windows Server 2008 и всё, что старше, умеют подключаться напрямую на iSCSI target. Проблема только в том, как инициализировать удаленное блочное устройство при включении ПК.

Вспомним, что почти все современные сетевые карты умеют загружаться по технологии PXE. А вот с iSCSI дружат в основном только дорогостоящие серверные сетевые карты, например Intel. Однако, существует как минимум два open source проекта gPXE и iPXE позволяющий при загрузке ПК подключаться iSCSI устройствам. Последний, к слову, форк первого, с немного доработанной системой вывода ошибок и дополнительными опциями.

Есть много способов, как загружаться через gPXE и iPXE. В данном посте мы будем рассматривать загрузку с использованием iPXE и подключением для него необходимых скриптов в процессе загрузки.

Суть такова — при запуске компьютера сетевая карта получает необходимые настройки через DHCP сервер и загружает PXELINUX. Далее загрузчик PXELINUX подключает необходимый скрипт и загружает iPXE, который, в свою очередь, выступает iSCSI инициатором и передает управление диску. До момента инициализации блочного устройства передачу файлов по сети обеспечивает протокол TFTP.

Для чего мы загружаем PXELINUX?

Некоторые могут спросить — а для чего загружать PXELINUX? Во первых, через PXELINUX загрузчик iPXE получает необходимый скрипт для инициализации нужного iSCSI target-а. Во вторых, чтобы можно было построить удобное меню с выбором различных вариантов загрузки. В третьих, если в сети существует несколько бездисковых рабочих станций, то нужно чтобы каждый ПК подключался «к своему» iSCSI-диску и не имел доступа к «чужим» дискам, а значит их нужно как то отделять друг от друга, например, по MAC-адресам. Для этих целей будет использоваться двухстадийная загрузка с использованием PXELINUX.

Но обо всем по порядку. Начнем с установки и настройки в системе Windows необходимого софта для реализации DHCP, TFTP и iSCSI Target-а. Для этого я использовал бесплатно распространяемые программные продукты Tftpd32 и StarWind Virtual SAN. Программа Tftpd32 используется как в роли DHCP сервера, так и в роли TFTP сервера, ну а StarWind Virtual SAN соответственно будет использоваться в роли iSCSI target-а. Скачать данные программы можно на сайте разработчиков, ссылки которых указанны в их названиях. Для скачивание программы StarWind Virtual SAN необходимо будет выбрать на сайте Free версию программы и пройти процесс регистрации, с указанием корпоративного почтового адреса. На указанный вами почтовый адрес придет лицензионный ключ и ссылка на скачивание самой программы.

Настройка программы Tftpd32

Данная программа довольно простая и интуитивно понятная, поэтому приведу просто скриншоты своих настроек:

На вкладке «GLOBAL» у меня отмечены галочкой сервисы TFTP Server, Syslog Server и DHCP Server. На вкладке TFTP в поле Base Directory указана точка, которая означать, что в качестве корневой директорией будет использоваться папка, куда установлена сама программа Tftpd32. На вкладке DHCP в поле Boot File указан название загружаемого файла, которую мы рассмотрим дальше в настройках PXELINUX. На вкладке SYSLOG настройки не требуются.

Цель iSCSI. Настройка программы StarWind Virtual SAN

При установке программа никаких настроек не запрашивает, единственное может дополнительно запустить установку .NET Framework 4, если она еще не установлена в системе. После установки программа запускает свои службы и сразу готова к работе. На рабочем столе создается ярлык StarWind Management Console для управления.

Открываем StarWind Management Console, жмем кнопку Add Server и создаем новый сервер с IP-адресом 192.168.0.1. Имеющийся по умолчанию сервер с IP-адресом 127.0.0.1 можно удалить. Далее выбираем созданный нами сервер и нажимаем ссылку Add Target. В появившемся окне можем указать свое название IQN цели, активировав галочку Target Name. В частности я указал iqn.2014-11.home:win7-64bit. Далее выбираем созданный нами Target и нажимаем ссылку Add Device. В появившейся окне выбираем Hard Disk Device, далее выбираем Virtual Disk, указываем расположение и объем создаваемого диска, задаем объем и параметры кэширования, и создаем дисковое устройство нажатием кнопки Create.

В итоге получаем настроенный и готовый к работе iSCSI Target, имеющий следующий вид:

При необходимости мы можем создавать необходимое количество iSCSI Target-ов и на каждый из них подключить необходимое количество iSCSI дисков. А также обеспечить безопасности доступа к iSCSI Target-ам с использованием CHAP-аутентификации клиентов, нажав по ссылке Add Permission.

Настройка PXELINUX

PXELINUX входит в комплект программ syslinux. Поэтому идем на сайт www.syslinux.org/wiki/index.php/Download, нажимаем на ссылку Download и загружаем zip архив с набором загрузчиков syslinux. Открываем загруженный архивный файл и распаковываем файлы pxelinux.0 из директории core и menu.c32 из директории com32/menu. Файл pxelinux.0 является загрузчиком, который передается клиентскому ПК DHCP сервером, а файл menu.c32 отвечает за построение загрузочного меню. Распакованные файлы размещаем в папку, куда установлена программа Tftpd32 (куда указывает путь в поле Base Directory в настройках TFTP).

В папке программы Tftpd32 создаем вложенную папку pxelinux.cfg, а в нем создаем файл default следующего содержания:default menu.c32 gfxmenu /erdpxe prompt 0

MENU TITLE Boot Menu (select the OS to boot) MENU AUTOBOOT Windows 7 64bit in # seconds TIMEOUT 50 TOTALTIMEOUT 3000

LABEL Windows 7 64bit MENU DEFAULT KERNEL IPXE.KRN INITRD win7.ipxe

Думаю излишнем писать подробный комментарий к данному файлу, рассмотрим только две последние строчки: KERNEL IPXE.KRN — указывает на ядро iPXE, которую нужно загрузить. INITRD win7.ipxe — указывает на файл скрипта с параметрами iPXE

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

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

При получении файла конфигурации от TFTP сервера клиент ищет подходящую для себя в следующем порядке:pxelinux.cfg/01-88-99-aa-bb-cc-dd pxelinux.cfg/C0A800FE pxelinux.cfg/C0A800F pxelinux.cfg/C0A800 pxelinux.cfg/C0A80 pxelinux.cfg/C0A8 pxelinux.cfg/C0A pxelinux.cfg/C0 pxelinux.cfg/С И если ничего подходящего нет — pxelinux.cfg/default

Здесь pxelinux.cfg — сама папка с файлами конфигурации. 01-88-99-aa-bb-cc-dd — файл с названием МАС-адрес клиента, в нижнем регистре, разделенный тире, с префиксом 01-.

Соответственно, для каждой бездисковой рабочей станции нам нужно написать «свое» загрузочное меню и разместить в папке pxelinux.cfg с названием файла 01-mac-адрес клиента, в нижнем регистре. Содержимое этих файлов может отличаться, к примеру, только последней строчкой INITRD win7.ipxe.

Инициатор iSCSI. Настройка iPXE

Итак, далее идем на сайт ipxe.org/download и загружаем iso-образ iPXE загрузчика. Из загруженного iso-образа вытаскиваем файл IPXE.KRN и сохраняем его в папке программы Tftpd32.

В этой же папке создаем файл win7.ipxe следующего содержания:#!ipxe dhcp net0 set keep-san 1 #login sanboot iscsi:192.168.0.1::::iqn.2014-11.home:win7-64bit

Строка dhcp net0 данного скрипта указывает, что необходимо получить настройки через DHCP сервер в сети.

Строка set keep-san 1 указывает, что подключение к iSCSI Target-у необходимо сохранить даже если загрузка с данного устройства не удалась (этот параметр необходим, когда нужно устанавливать операционную систему с накопителей CD/DVD).

Если в iSCSI Target настроена CHAP-аутентификации клиентов, то нужно раскомментировать строку #login, которая будет выводит форму для ввода логина и пароля.

Последняя строка непосредственно подключает указанный iSCSI Target, инициализирует удаленный диск и передает процесс дальнейшей загрузки на данное устройство. Синтаксис подключения будет таким iscsi:<Айпи iSCSI target>:::::<IQN цели>.

Добавление дополнительных пунктов в загрузочное менюЕсли мы хотим добавить в загрузочное меню еще один пункт, например, для загрузки ОС Windws 8.1, то создаем в StarWind Virtual SAN новый Target с указанием IQN цели iqn.2014-11.home:windows8.1, добавляем в него новое дисковое устройство iSCSI, а затем в файле pxelinux.cfg/default добавляем к примеру такие строчки:LABEL Windows 8.1 KERNEL IPXE.KRN INITRD win8.1.ipxe

Ну и далее создаем файл win8.1.ipxe следующего содержания:#!ipxe dhcp net0 set keep-san 1 #login sanboot iscsi:192.168.0.1::::iqn.2014-11.home:windows8.1

Установка ОС Windows 7

Перед началом установки Windows 7 на бездисковую станцию открываем его BIOS и настраиваем порядок опроса загрузочных устройств следующим образом: 1) Hard Disk 2) Network 3) CD/DVD 4) остальные устройства

Если на ПК имеется установленный жесткий диск, то на время установки Windows его желательно отключить, чтобы компьютер не пытался с него загружаться.

Далее размещаем в приводе CD/DVD установочный диск Windows 7 и перезагружаем компьютер.

Первым делом мы должны увидеть запуск загрузки через PXE. Если этого не произошло то снова заходим в BIOS и разрешаем загрузку компьютера через сетевой адаптер.

Далее на экране появиться загрузочное меню PXELINUX. Если этого не произошло проверяем, запущена ли на другом компьютере программа Tftpd32, правильно ли она настроена и не блокирует ли его работу firewall-ы, антивирусы или другие программы.

После выбора необходимого пункта загрузочного меню PXELINUX мы должны увидеть запуск iPXE. В процессе инициализации iPXE должны промелькнут надписи: Registered as BIOS drive 0x80 Booting from BIOS drive 0x80 Это значит, что ПК удачно подключился к iSCSi диску.

Затем мы увидим ошибку загрузки через iSCSi диск, после чего компьютер перейдет к опросу следующего загрузочного устройства и запустит установка Windows 7 с привода CD/DVD. При этом подключение к iSCSi диску останется активным — за это отвечает указанная в скрипте строчка set keep-san 1.

Для тех, у кого не запускается установка Windows с привода CD/DVDBIOS некоторых компьютеров, после неудачной попытки загрузки с iPXE, останавливает процесс запуска. Соответственно дальнейшая загрузка установщика Windows с привода CD/DVD не происходит. Такое поведение было замечено, например, на ноутбуках компании Hewlett-Packard. В подобных случаях спасает загрузка с использованием gPXE. Для этого: 1) открываем страницу сайта rom-o-matic.net/gpxe/gpxe-git/gpxe.git/contrib/rom-o-matic/build.php, 2) в поле Choose an output format выбираем пункт PXE bootstrap loader keep [Keep PXE stack method 1] (.kpxe), 3) в самом нижнем поле Embedded Script вводим три строчки нашего скрипта: dhcp net0 set keep-san 1 sanboot iscsi:192.168.0.1::::iqn.2014-11.home:win7-64bit 4) сохраняем загрузчик gPXE в папку программы Tftpd32 и прописываем название файла на сервере DHCP в поле Boot File, 5) устанавливаем ОС Windows и обратно прописываем название файла pxelinux.0 на сервере DHCP в поле Boot File.

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

Если получили сообщение о невозможности установки Windows на выбранный дискИногда на этапе выбора дискового устройства можно получить сообщение о невозможности установки Windows на выбранный диск и просьбу проверить, включен ли в BIOS контроллер этого диска.

В этом случае первым делом проверьте в BIOS порядок опроса загрузочных устройств. Жесткий диск должен находиться на первой позиции, даже если на компьютере физически не установлен дисковый накопитель. Если проблема не исчезла, то попробуйте в BIOS-е включать/выключать SATA контроллер, менять режим его работы IDE, ACHI, либо подключить реальный диск на время установки, но установку проводить на iSCSI диск.

После выбора дискового устройства начнется установка Windows 7. Дальше никаких трудностей возникнуть не должно. После установки мы получаем «полноценную» операционную систему Windows 7, работающей на iSCSI диске.

Установка ОС Windows (альтернативный метод)

Не знаю кому как, но мне лично не представляется удобным для каждого установочного образа Windows записывать DVD диск. Мне привычнее распаковать содержимое установочного диска и запустить установку Windows с жесткого диска. К тому же с жесткого диска операционная система устанавливается быстрее.

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

Если коротко, то создаем на iSCSI диске небольшой «активный» раздел, копируем туда содержимое установочного диска Windows, и затем настраиваем MBR, для загрузки с диска установщика Windows. Подробности под спойлером.

Альтернативный метод установки ОС WindowsИтак, откроем на рабочей Windows системе Панель управления — Администрирование — Инициатор iSCSI. Появиться окно «Свойства: Инициантор iSCSI».

Переходим на вкладку «Обнаружение» и нажимаем кнопку «Обнаружить портал...». В открывшемся окне вводим IP-адрес нашей цели iSCSI — 192.168.0.1 и нажимаем ОК. Далее переходим обратно на вкладку «Конечные объекты» и увидим все цели с идентификаторами IQN. Выбираем в списке нужную цель и нажимаем кнопку «Подключить». Откроется еще одно окно требующий нашего подтверждения, где также нажимаем ОК. Если в открывшемся окне оставить галочку «Добавить это подключение в список предпочитаемых конечных объектов» то указанная цель будет автоматически подключаться к системе при каждой загрузке.

Открываем оснастку «Управление компьютером» и переходим на вкладку «Управление дисками». Тут мы увидим, что в нашей системе появилось еще одно дисковое устройство. Создаем на этом диске «Основной раздел», указав размер диска чуть больше размера нашего установочного образа. Далее форматируем под файловую систему NTFS, подключаем любую букву диска и делаем раздел «активным».

Откроем необходимый образ установочного диска программой UltraISO или WinRar и распакуем содержимое образа на созданный в предыдущем пункте раздел диска. Важно, чтобы после распаковки на диске оставалось как минимум 100Мб свободного места (Для Windows 8 рекомендуется 350Мб свободного места). Если свободного места недостаточно, то расширяем выбранный раздел в оснастке «Управление дисками».

Затем скачиваем из интернета программу BOOTICE и запускаем (ссылки приводить не буду, сами сможете найти без труда). В программе выбираем нужный нам диск из раскрывающегося списка. В моем случае HD6:

Далее нажимаем кнопку «Process MBR» и откроется следующее окно:

В данном окне выбираем последний пункт «Windows NT 5.x / 6.x MBR» и нажимаем кнопку «Install/Config». На диске будет настроен MBR, загружающий стандартный загрузчик bootmgr из активного раздела диска.

Далее можно загружаться на бездисковом ПК с данного iSCSI-диска и сходу устанавливать ОС WIndows. Установка Windows запуститься автоматически.

Но рассмотрим еще один момент. Если мы хотим сделать данный раздел скрытым от пользователей и недоступным для операционной системы, то запускаем командную строку от имени администратора и набираем следующие команды:

Diskpart List disk Sel disk x (вместо x подставляем номер нужного диска, список которых выводит предыдущая команда) Sel part 1 (при необходимости список разделов можно посмотреть командой List part) Remove Set id=27

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

Надеюсь данная статья будет вам полезна. Всем удачи!

Ссылки на литературу:

habr.com

Безопасность Windows. Технология SEHOP | Windows для системных администраторов

В этой статье поговорим о технологии защиты Windows под названием SEHOP, позволяющей усложнить задачу злоумышленнику, решившему взломать вашу систему. Технология SEHOP —  Structured Exception Handler Overwrite Protection (защита от перезаписи обработчика структурных исключений) – это антиэксплоитная технология, предназначенная для блокировки достаточно часто используемой методики взлома систем Windows- SEH overwrite.

Попробуем вкратце разобраться, что же такое технология SEH. SEH — Structured Exception Handling (структурная обработка исключений) – механизм в ОС Microsoft Windows, который позволяет приложениям получать управление при возникновении программных и аппаратных исключений, таких как выполненные запрещенных инструкций, деление на ноль, нарушение доступа к памяти и т.д, и обрабатывать эти ошибки  самостоятельно без использования операционной системы. Технология SEH позволяет программистам контролировать обработку исключений, а также является отладочным средством. В том случае, если исключение не обработано, приложение аварийно завершается и пользователь видит знакомое окно с ошибкой «Программа выполнила недопустимую операцию и будет закрыта».

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

Технология, используемая хакерами для перезаписи обработчиков  SEH называется Structure Exception Handler (SEH) overwrite . С помощью SEH overwrite атакующий может передать  управление на вредоносный код, который внедрен через любую доступную уязвимость (обычно через переполнение буфера).Взлом через SEH

В Windows Server 2003 существовала специальная технология защиты от переполнения буфера, функционирующая именно на основе SEH (таким образом, реализуются и многие другие зашиты этого типа). Хакер, перехватив SEH-обработчик и заменив его своим, обходит данную технологию защиты, которая просто не срабатывает.

Для борьбы с SEH overwrite Microsoft в 2009 году работало специальную технологию SEHOP. Данная технология была внедрена Windows Vista SP1, Windows Server 2008 и все последующие версии Windows. Однако по – умолчанию SEHOP включен только на серверных платформах (Windows Server 2008/2008 R2/2012).

Механизм защиты от перезаписи обработчика структурных исключений применяется во время работы программы. Это означает, что он позволяет защитить приложения независимо от того, были ли они скомпилированы с использованием современных средств защиты, таких как /SAFESEH, или без них. Кроме того, стоит отметить, что 64 битный код не подвержен данному типу атаки, т.е. SEHOP защищает только 32-х битные приложения, включая те, что выполняются под Wow64 на 64-х битных системах.

На клиентских платформах SEHOP выключен из-за несовместимости с некоторыми версиями клиентского ПО. Стоит отметить, что все современное ПО пишется с учетом особенностей архитектуры SEHOP, так что для повышения безопасности вашей системы Windows SEHOP следует включить. В том случае, если после активации этого механизма защиты начнут появляться различные ошибки в прикладном ПО, увы – оно не совместимо с системой защиты от перезаписи SEH. В этом случае, попытайтесь отказаться от несовместимого ПО (или обновить его на более свежую версию, отключить SEHOP для отдельного процесса или для всех).

Как активировать  SEHOP в Windows для всех приложений

Включить технологию защиты SEHOP можно с помощью модификации реестра (напомним, что в Windows Server 2012/ 2008 R2/ 2008 эта функция уже активирована)

  1. Откройте редактор реестра regedit.exe
  2. Перейдите в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel
  3. Найдите ключ DisableExceptionChainValidation, если он отсутствует – создайте его (тип — Dword, имя – DisableExceptionChainValidation)
  4. Задайте ключу DisableExceptionChainValidation значение 0 (включить SEHOP). Включить SEHOP в Windows
  5. Закройте редактор реестра и перезагрузите ПК

В том случае, если после перезагрузки перестанет работать часть программ, попробуйте обновить их, и если и это не поможет, отключите SEHOP, для этого задайте ключу  DisableExceptionChainValidation  значение 1.

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

SEHOP для отдельного процесса

Чтобы отключить SEHOP для отдельного процесса, откройте редактор реестра и перейдите в ветку:

  • Для 32-битной Windows HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
  • Для 64-битной Windows HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

Внутри ветки Image File Execution Options создайте новую ветку с именем процесса, для которого вы хотите создать исключение SEHOP (например, skype.exe). Внутри данного раздела создайте новый ключ DisableExceptionChainValidation и задайте ему значение 1 (тем самым вы отключите  SEHOP для процесса skype.exe).

Отключить sehop для конкретного процесса

Значение 0 – включить SEHOP для процесса.

winitpro.ru

Некоторые технологии Microsoft для программистов / Хабр

Некоторые технологии, программные интерфейсы, протоколы и спецификации произведённые в недрах Microsoft.

Это не всё, конечно, даже из этой программистской категории. А есть ещё различные аббревиатуры и названия просто для разных частей Windows и т. п., но то не так интересно.

OLE — технология связывания и внедрения объектов в другие документы и объекты.OLE Automation — механизм межпроцесорного вхаимодействия, основанный на COM; для использования в скриптовых языках. aka AutomationActiveX — ребрэндинг OLECOM (Component Object Model) — обеспечивает межпроцессорное взаимодействие между объектами написанными на разных языкахCOM+ — улучшена поддержка потоков, etcDCOM — позволяет COM-компонентам взаимодействовать друг с другом по сетиVBX (Visual Basic Extension) — стали ненужны благодаря…OCX (OLE custom controls) — элементы интерфейса на основе OLE

Ещё пятьсот → CDO (Collaboration Data Objects) — доступ к Global Address List и другим объектам на сервере, в дополнение к содержимому письменных ящиков и папок. aka OLE Messaging aka Active Messaging

WCF (Windows Communication Foundation) — коммуникация между процессами. Часть .NET.DDE (Dynamic Data Exchange) — коммуникация между процессами

ASP (Active Server Pages)ASP.NETVBVBAVBScriptJScriptJScript.NETJ#C#.NETCLR

IWA (Integrated Windows Authentication) aka NT Authentication aka NTLM Authentication aka Domain authentication aka Windows Integrated Authentication aka Windows NT Challenge/Response authentication aka Windows AuthenticationNTLM (NT LAN Manager) — протокол сетевой аутентификацииSSPI (Security Support Provider Interface) — API используемый Windows'ами для выполнения разных секурных операций, таких как аутентификация.

Windows Sockets APILSP (Layered Service Provider, англ. многоуровневый поставщик услуг) — технология Windows sockets версии 2.0, позволяющая пользователю подключать собственные DLL-библиотеки для обработки вызовов Winsock API.SPI (Service Provider Interface)

AD (Active Directory) aka NTDS (NT Directory Service)FSMO (Flexible single master operation) — какая-то фича Active DirectoryADAM (Active Directory Application Mode) — простая имплементация AD aka AD LDS (Lightweight Directory Services)

Мультимедиа

DirectX — общее название для группы технологийMDX (Managed DirectX) — API для доступа к DirectX из .NETDirect3D — 3D-графика, знамоDirectX GraphicsDirectDraw — производительный рендеринг 2D-графикиDirectPlay — игра по сетиDirectSound — работа со звукомDirectMusic — надстройка над DirectSoundDirectInput — джойстики, там…DirectSound3D (DS3D)DirectShow — API для работы с мультимедиа aka ActiveMovieDirectSetup — поддержка инсталяции DirectXDMO (DirectX Media Objects) — фильтры наподобии тех что в DirectShowACM (Audio Compression Manager) — мультимедиа-фреймворк, работает с кодекамиVideo for Windows — фреймворк для проигрывания видео; заменён DirectShow'ом aka VCM (Video Compression Manager),WinG — ускорение графики в первых Windows <B>DCI — the same shit? XNA (XNA is Not an Acronym) — предшественник DirectX

GDI — работаем с графикойGDI+ — продолжениеWIC (Windows Imaging Component) — API для работы с изоюражениями.WCS (Windows Color System) — подсистема и API в Vista для работы с цветомCITE (Color Infrastructure and Translation Engine)

MF (Media Foundation) — замена для DirectShow, Windows Media SDK, DirectX Media Objects (DMOs) и всех других мультимедийных APIs таких как Audio Compression Manager (ACM) и Video for Windows (VfW).

ASF (Advanced Systems Format) — потоковый аудио- и видео-формат aka Advanced Streaming Format aka Active Streaming Format

Active ScriptingActiveX ScriptingWSH (Windows Script Host) — автоматизация жития в Windows

WDM (Windows Driver Model) — API для написания драйверовVxD (virtual xxx driver) — предшественникWDF (Windows Driver Foundation) — API для создания драйверов начиная с Windows 2000KMDF (Kernel-Mode Driver Framework) — API для создания драйверов в режиме ядраUMDF (User-Mode Driver Framework) — создаём драйверы для Vista+WDDM (Windows Display Driver Model) — архитектура для драйверов видеокарт начиная с Vista aka WVDDM

DLL (Dynamic Link Library)DDI

FATNTFS

MSRPC (Microsoft Remote Procedure Call)

Windows DNA (Windows Distributed interNet Applications Architecture) — общее название для набора технологий, таких как ActiveX, Dynamic HTML (DHTML) и COM. Уже не используется.

MFC — ОО-прослойка над WINAPI aka AFX (Application Framework Extensions)WTL (Windows Template Library) — альтернатива MFC из недр Microsoft'а же!ATL (Active Template Library) — упрощает создание COM-объектов; в некотором роде — более легковесная альтернатива MFC.

MSXML (Microsoft XML Core Services) — создаём родные XML-based Windows-приложения с VBScript, etc

WMI (Windows Management Instrumentation)WIA (Windows Image Acquisition) — API для работы с перифериейWPD (Windows Portable Devices)

WPF (Windows Presentation Foundation) aka AvalonXAML (Extensible Application Markup Language) — язык для описания структуры в WPFWF (Windows Workflow Foundation) — технология для определения, выполнения и управления рабочими процессами.WinFX —?

MAPI (Messaging API)RAPI (Remote Application Programming Interface)SAPI (Speech Application Programming Interface)TAPI (Telephony Application Programming Interface)

Базы данных

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

ADO (ActiveX Data Objects) — преемник RDO и DAO — интерфейс программирования приложений для доступа к данным, разработанный компанией Microsoft (MS Access, MS SQL Server) и основанный на технологии компонентов ActiveX. ADO позволяет представлять данные из разнообразных источников (реляционных баз данных, текстовых файлов и т. д.) в объектно-ориентированном виде.ADO.NET — evolutionary improvement over traditional ADO for creating distributed, data-sharing applications.RDO (Remote Data Objects) — технология доступа к базам данныхDAO (Data Access Objects) — технология доступа к данным aka VT ObjectsSQLXML — allowed Microsoft's relational database to be viewed by XPath and allowed data to viewable as an XML file.MDAC (Microsoft Data Access Components) — совокупность технологий компании Microsoft организованных в систему, которая позволяет программистам получить унифицированный и достаточно полный способ разработки приложений для доступа фактически к любым видам данных.

MDAC related:

ADOMD (ADO Multi-Dimensional) is to be used with multidimensional data providers such as Microsoft OLAP Provider, also known as Microsoft Analysis Services Provider.ADOX (ADO Extensions for DDL and Security) enable the creation and modification of definitions of a database, table, index, or stored procedure.SQLOLEDB (Microsoft OLE DB Provider for SQL Server) supports access to Microsoft SQL Server.SQLODBC (Microsoft SQL Server ODBC Driver) enables access to Microsoft SQL Server.MSDASQL (The Microsoft OLE DB Provider for ODBC) is a technology that allows applications that are built on OLEDB and ADO (which uses OLEDB internally) to access data sources through an ODBC driver.MSDADS (Microsoft OLE DB Provider for Data Shaping) — you can create hierarchical relationships between keys, fields, or rowsets in an application.JRO (Jet Replication Objects) — used within ADO with Jet (*.mdb) databases to create and compress Jet Databases (.mdb’s) and perform Jet Replication Management.

RDS (Remote Data Services) — technology used in conjunction with ActiveX Data Objects (ADO) that allowed the retrieval of a set of data from a database server, which the client then altered in some way and then sent back to the server for further processing. aka ADC (Advanced Data Connector)

ESE (Extensible Storage Engine) — реализация ISAM (Индексно-Последовательный Метода Доступа, способ хранения данных для быстрого доступа к ним, by IBM) aka JET BlueJET RedJET (Joint Engine Technology) aka Microsoft JET EngineMicrosoft Jet Database Engine — database engine on which several Microsoft products were built.

MSDE (Microsoft SQL Server Desktop Engine) — система управления реляционными БД. Урезанная версия Microsoft SQL Server 7.0. aka Microsoft Data Engine aka Microsoft Desktop Engine

habr.com

Технология Windows To Go

Приветствую,всех читателей интернет ресурса WindowsFan.Ru!!!

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

Технология Windows To Go

Если вы домашний пользователь и надеетесь таким оставаться и впредь, то это вас вряд ли заинтересует, хотя… Знать об этом хотя бы в общем было бы полезно.

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

Их предлагается разогнать по домам, где они будут работать в единой виртуальной офисной среде. Таким образом, возрастет общая доля промышленных серверов и облачных технологий, что вполне понятно. Возникнет потребность мобильного перемещения со своей собственной настроенной средой, которая не будет зависеть от того, где и как вы ее используете. Это и называется Windows To Go.

В переводе на язык примеров это выглядит так. К примеру, пижон Вася установил себе Windows8.1, где постоянно что-то ломает и заражается вирусами. А даунгрейдер Петя из службы техподдержки не выносит линейку 8.x на дух, поклявшись в вечной верности Windows 7.

Ему там, вообще, удобнее работается. А если он куда-то выезжает по вопросу восстановления системы или помощи, то каждый раз испытывает дискомфорт: чужая система, чужие программы, нехватка любимых утилит для упрощения работы… Вот если бы упаковать рабочую версию своей системы на флешку, чтобы загружаться с нее! Об этом и идет речь.

Современную Windows 8 сегодня рекомендуется переносить либо на флешках с объемом 32 Гб, либо на жестких дисках формата SSD. Главное тут, чтобы доступ был быстрее, поэтому для USB накопителей лучше выбирать те, что поддерживают протокол 3.0. Но это не обязательное требование. Важно то, что по умолчанию с флешки или подключенного винчестера будет загружаться именно ваша настроенная и готовая к привычной работе среда.

При этом много внимания уделено защите и безопасности. Так, из этой среды вы не сможете изменять данные на жестком диске гостевого компьютера. Отключится также сервис Windows Store, так как там существует привязка ПО к компьютеру, а не диску. Запускаться система будет под парольной защитой.

Но Интернет будет работать как обычно. Спрашивается: а как же чинить чужой компьютер, если нет доступа к его дискам? Ответ: доступ можно включить, имея права администратора. В общем, включить можно все, если постараться и покопаться в настройках.

Идея отличная. Конечно, уповать на будущее корпоративных систем в России как-то неестественно. Остается еще не совсем понятным вопрос о том, как сможет работать настроенная система с чужим железом. Если для LCD мониторов смена обстановки ничем не грозит, то как можно будет организовать звук, поддержку принтеров и других устройств, которые имеют различные драйверы?

Впрочем, даже без этого идея приводит в восторг. Жалко только, что это будет касаться только Windows 7/8, а вот носить с собой Windows XP или 9.x не получится.

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

windowsfan.ru

Продукты и технологии Microsoft

Высокую доступность виртуальных машин (ВМ) Hyper-V можно обеспечить разными способами. Один из таких способов, Hyper-V Replica, позволяет реплицировать критические для бизнеса компании ВМ в другое физическое расположение, например, в резервный ЦОД. В этом случае мы реализуем катастрофоустойчивое решение, и даже потеря всего ЦОД-а не приведет к потере ВМ. Но много ли компаний могут позволить себе…

  Давайте представим себе довольно распространенный на сегодняшний день сценарий. В корпоративной сети развернуто некоторое количество бизнес-приложений. Эти приложения опубликованы для доступа снаружи по HTTPS. Мобильные сотрудники компании, находясь за пределами корпоративной сети, хотят подключаться к этим приложениям со своих личных планшетов, работающих под Windows, iOS или Android. Эти устройства либо невозможно включить в домен,…

В декабре прошлого года из состояния preview в состояние коммерческой доступности перешел сервис Microsoft Azure RemoteApp. По сути RemoteApp позволяет любой организации очень быстро развернуть инфраструктуру терминальных серверов и опубликовать на ней корпоративные приложения для удаленного доступа через RDP. Только эта инфраструктура строится не на локальных серверах и СХД организации, а на базе виртуальных машин…

Несколько дней назад вместе с Windows 10 Technical Preview for Enterprise стала доступна для загрузки и предварительная версия нового сервера – Windows Server Technical Preview. На фоне «десятки» последнее событие оказалось менее заметным, но отнюдь не менее значимым. Даже в этой довольно ранней сборке можно найти много новых возможностей. И далее мы поговорим о наиболее…

По аналогии с дайджестомматериалов по Windows Server 2012/R2 свожу воедино все, что накопилось по System Center. Сюда же добавил те посты по гибридному облаку, которые так и или иначе затрагивают компоненты System Center и/или сервера.   Общие вопросы Обзор новых возможностей System Center 2012 SP1 Облако растет и мужает — или новинки System Center Vitrual…

  В нескольких предыдущих постах, посвященных технологии виртуализации сети (Hyper-V Network Virtualization, HNV), я рассказал об архитектуре, настройках, а также новых возможностях HNV в Windows Server 2012 R2. Сегодня речь пойдет о, пожалуй, самой сложной теме – построении HNV-шлюза на базе Windows Server 2012 R2 для предоставления виртуализованным сетевым сегментам доступа во внешний мир. Будет…

А вот и записи Jump Start от 22 апреля “Обеспечение безопасности и высокой доступности виртуальных машин”. Напомню, что третий и последний Jump Start серии состоится 20 мая. Подключайтесь!

Рабочая неделя после длинных праздников началась ударно. Опубликованы записи мероприятия Jump Start “Настройка хостов виртуализации” от 8 апреля . Материалы доступны в виде курса на портале MVA. К концу недели ожидаем публикацию материалов от 22 апреля.

  Накопилась уже внушительная пачка материалов по Windows Server 2012 и Windows Server 2012 R2. Решил для удобства свести все ссылки в один пост. Надеюсь, будет полезно. Общие вопросы Что нового в Windows Server 2012 R2? GUI, не GUI — или как включить и отключить графический интерфейс в Windows Server 2012 Hyper-V Новые возможности Hyper-V…

Периодически мне необходимо подключаться через VPN к моей домашней сети. Чаще всего для проведения демонстраций во время выступлений или проведения тренингов. Реже, чтобы достать определенные файлы или «посмотреть», что там с дочкиным планшетом. Подключаюсь либо с рабочего компьютера, либо со своего планшета. И там, и там Windows 8.1, а в этой версии появилась очень интересная…

blogs.technet.microsoft.com

Windows Embedded – технологии для современного мира

Александр Кузнецов

Журнал Автоматизация в промышленности

№3 2012

Мир встраиваемых систем быстро эволюционирует. Многие современные встраиваемые компьютеры по вычислительной мощности уже сопоставимы с ПК, произведенными несколько лет назад. Интеллектуальные устройства могут иметь развитые графические и мультимедийные возможности, поддерживать ресурсоемкие приложения, обрабатывать большие объемы данных. Встраиваемые системы все чаще обладают развитыми коммуникациями – от съемных накопителей данных до беспроводной связи, что позволяет использовать их для сбора и передачи данных в самых разных сферах – на транспорте, в медицине, торговле, промышленной автоматизации, потребительской электронике и др. В повседневной жизни мы активно пользуемся встраиваемыми системами – совершаем платежи с помощью терминалов, приобретаем товары в киосках самообслуживания, получаем информацию в интерактивных справочных системах, просматриваем видеоролики и рекламу на цифровых вывесках, не говоря о смартфонах, портативных плеерах и других персональных устройствах. Автомобильные информационно-развлекательные системы и цифровые панели интегрируют в себе такие разнородные данные, как показатели приборов, прогноз погоды в месте назначения и загруженный из Internet трек-лист альбома, воспроизводимого в медиаплеере.

Широкая востребованность и активное развитие встраиваемых систем обусловлены, с одной стороны, растущими ожиданиями их потребителей, и, с другой – стремлением компаний использовать потенциал встраиваемых компьютеров для усовершенствования производственных процессов, обслуживания клиентов, мониторинга и других задач. Конкуренция между производителями интеллектуальных устройств стимулирует оптимизацию разработки последних: производителю нужен приемлемый баланс между стоимостью программной и аппаратной платформ для устройств, затратами на разработку ПО, а также на обслуживание и модернизацию устройств в долгосрочной перспективе. Существенную роль в этом балансе играет встраиваемая ОС – она определяет множество статей расходов, связанных с созданием устройства. Вот несколько факторов, влияющих на выбор ОС производителем встраиваемых систем:

  • Популярность у разработчиков. Чем больше программистов отдают предпочтение данной ОС, тем проще собрать квалифицированную команду для реализации проекта на её основе.
  • Развитость поддержки оборудования. Решение проблем программно-аппаратной совместимости – трудоемкая задача, требующая высококвалифицированных специалистов, поэтому сведение этих проблем к минимуму (а в идеале – к нулю) способно существенно сократить проектные расходы.
  • Интеграция с инфраструктурными технологиями прикладного уровня. Усложнение ПО интеллектуальных устройств стимулирует стандартизацию их графических и коммуникационных сред, подсистем управления устройствами, средств повышения безопасности, управления конфигурациями и др. Возможность обеспечить требуемую инфраструктуру при помощи готовых решений существенно ускоряет и удешевляет разработку устройства.
  • Простота освоения. Встраиваемые ОС поставляются с инструментами разработки целевых устройств. Если цикл разработки встраиваемого ПО с помощью этих инструментов состоит из несложных процедур, то специалисты экономят время на их изучение.

Компания Microsoft работает на рынке встраиваемых систем с середины 1990-х годов и предлагает спектр решений, отвечающих жестким требованиям современных разработчиков интеллектуальных устройств. В основе этих решений лежат операционные системы Windows Embedded, которые делятся на пять семейств: Standard, Compact, POSReady, Server и Enterprise. ОС Server и Enterprise технически идентичны «настольным» и серверным ОС компании Microsoft и отличаются от них лишь особыми условиями лицензирования, поэтому основное внимание будет сконцентрировано на семействах Standard, Compact и POSReady.

Windows Embedded Standard – операционные системы на базе настольных ОС Windows XP Professional и Windows 7 Ultimate. Драйверы и приложения «настольных» ОС работают в Windows Embedded Standard без каких-либо модификаций, что позволяет в полной мере использовать и существующее ПО, и опыт Windows-разработчиков для написания новых программ. Для специфических задач, связанных с созданием встраиваемых систем, в Windows Embedded Standard предусмотрены функции под общим названием Embedded Enabling Features (EEF, специализированные возможности для встраивания). Эти функции позволяют загружать ОС с USB-накопителей, CD-ROM, Compact Flash и по сети, блокировать появление диалоговых окон, системных сообщений и нежелательных приложений, перехватывать запись данных на носители, не вызывая ошибок в программах, создавать бесконсольные устройства и получать удалённый доступ к ним. Новейшая операционная система Windows Embedded Standard 7 поддерживает широкий спектр технологий, используемых в «настольной» ОС Windows 7. Функции Multitouch и распознавания жестов, технологии Windows Aero и Silverlight 4.0 дают возможность создавать пользовательские интерфейсы с сенсорными экранами и развитыми мультимедийными возможностями. Технологии виртуализации и удаленного доступа к рабочему столу (Virtual Desktop Infrastructure, Remote Desktop Protocol 7.0 с технологией RemoteFX) позволяют строить клиент-серверные системы, где тонкие клиенты имеют полноценный доступ к серверным периферийным устройствам и графическим функциям. Интеграция с Active Directory, поддержка System Center Configuration Manager (SCCM) и Windows Server Update Services (WSUS) дает возможность развертывать обновления для Windows и собственного ПО, а также обеспечивать единообразие настроек устройств в распределенной среде. Процедуры создания, поддержки и клонирования образов штатными средствами Standard 7 не отличаются сложностью – к примеру, авторизованный курс Microsoft по разработке устройств на Windows Embedded Standard 7 позволяет изучить многие их аспекты всего за 2 дня.

Операционные системы Windows Embedded Compact (также известные как CE) поддерживают процессорные архитектуры x86, ARM, MIPS и SH-4, жесткое реальное время и позволяют создавать образы целевых систем размером от нескольких сотен килобайт (типичный размер образа составляет несколько мегабайт). Новейшая ОС Windows Embedded Compact 7 является эффективной платформой для современных компактных интеллектуальных устройств. Для создания развитых пользовательских интерфейсов она предоставляет технологии multitouch и распознавания жестов, Windows Embedded Silverlight Tools, а также Adobe Flash 10.1 с возможностью отображения флеш-содержимого без графических элементов браузера. Коммуникационные средства включают в себя готовые сетевые протоколы (сотовая связь, Bluetooth, Wi-Fi, SNMP), а для повышения информационной безопасности доступны технологии Kerberos, NTLM, а также криптографические службы. Поддержка аппаратных платформ в Windows Embedded Compact 7 обеспечивается с помощью штатного набора готовых BSP и драйверов, большая часть которых поставляется вместе с исходными кодами, существенно упрощающими их модификацию. Инструментарий разработчика под названием Platform Builder интегрируется в среду Visual Studio 2008 SP1 и включает в себя средства удалённой работы с устройством, анализа поведения и тестирования системы, а также разработки приложений на основе технологии .NET Compact Framework.

Операционные системы Windows Embedded POSReady оптимизированы для разработки и эксплуатации устройств в сфере обслуживания и торговли, и их основная цель – обеспечить максимально быстрый вывод точки обслуживания на рынок. Инструменты разработки в этих ОС замещены средствами установки и конфигурирования ПО, что значительно упрощает и удешевляет создание и поддержку мелкосерийных систем, состоящих из готовых программных модулей. Одна из ключевых возможностей ОС Windows Embedded POSReady – среда POS for .NET для создания приложений, абстрагированных от конкретных периферийных устройств. Кроме того, в состав Windows Embedded POSReady входят некоторые EEF-технологии. На сегодняшний день новейшей ОС в семействе POSReady является Windows Embedded POSReady 7, основанная на возможностях Windows 7.

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

Полный текст статьи

Александр Кузнецов - Руководитель направления образовательных проектов

ООО «Кварта Технологии», г. Москва,

[email protected]arta.com

Журнал Автоматизация в промышленности

№3 2012

www.quarta-embedded.ru