This document is an e-bulletin from Assist Social Capital containing 8 articles and 2 events related to social capital. The articles discuss how building social capital through community engagement can promote prosperity, the relationship between social capital and economic growth, and how social media has impacted the global economy. The events promote social capital opportunities in rural areas and training on measuring social capital networks.
This document summarizes support infrastructure for social entrepreneurs in Scotland. It discusses how Senscot believes social enterprises can enhance society by promoting social capital. It outlines the types of social enterprises and legal structures they can take, and provides examples of successful social enterprises. It also describes the journey of developing support networks for social entrepreneurs in Scotland over the past decade through organizations like Senscot, Scotland Unltd, and social enterprise networks.
This document is an e-bulletin from Assist Social Capital containing 8 articles and 2 events related to social capital. The articles discuss how building social capital through community engagement can promote prosperity, the relationship between social capital and economic growth, and how social media has impacted the global economy. The events promote social capital opportunities in rural areas and training on measuring social capital networks.
This document summarizes support infrastructure for social entrepreneurs in Scotland. It discusses how Senscot believes social enterprises can enhance society by promoting social capital. It outlines the types of social enterprises and legal structures they can take, and provides examples of successful social enterprises. It also describes the journey of developing support networks for social entrepreneurs in Scotland over the past decade through organizations like Senscot, Scotland Unltd, and social enterprise networks.
The document discusses a community learning program at the National Media Museum in Bradford, UK that helps older adults learn digital skills. It provides details on two courses: "Your Life Online" which teaches basic Internet skills to those over 55, and "Develop Your Online Presence" for artists wanting to promote their work online. Feedback indicates that attendees were enthusiastic learners who regularly attended the 10 week courses and most completed the programs. The document also reflects on lessons learned, like keeping group sizes small and repeating topics.
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
Создание и развитие отечественной платформы с открытым программным кодом для ...ARCCN
Доклад в рамках Международной конференции «Управление сетями электросвязи. Программно-конфигурируемые сети и виртуализация сетевых функций – SDN&NFV Russia 2016».
Обратная разработка бинарных форматов с помощью Kaitai StructPositive Hack Days
Ведущий: Михаил Якшин
В докладе будут рассмотрены современные подходы к обратной разработке бинарных файлов: с чего начинают, что хотят получить на выходе, какими инструментами традиционно пользуются. Будет продемонстрирован новый проект— Kaitai Struct, представляющий собой инструментарий для декларативного описания бинарных структур данных с выводом результата в виде готовых библиотек на языках C++, Java, JavaScript, Python и Ruby. Несколько практических примеров использования обратной разработки помогут участникам лучше ознакомиться с проблематикой.
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"Fwdays
- как ошибка выбора идентификатора пользователя, обнаруженная после запуска проекта, чуть не стоила 2 лет разработки
- как мы боролись с перегруженным mysql когда даже включение binlog убивает сервер
- почистил партицию mysql под нагрузкой - получи мертвый сервер
- как верстальщик поменял верстку серча и уложил продукт на 4 часа
- ошибка в ядре php которая привела даунтайм на несколько часов
- как незнание особенностей работы GC у redis обошлось в $50к чистой прибыли
- добавлением или удалением серверов из пула memcached инвалидировали весь кэш (кривые настройки php клиента Memcache/Memcached)
- как поправив тест потерять 2 миллиона пользовательских писем
- как релиз одного проекта крэшил хелсчеки соседнего проекта
- самый большой фейл с системами очередей и статистикой: ивенты терялись годами
The document summarizes the differences between Flash and HTML5 technologies for creating interactive charts and graphs. It discusses browser support for HTML5 technologies like SVG, Canvas, and JavaScript across various browsers. It also provides examples of DOM manipulation in SVG using JavaScript and event handling. The document mentions that AnyChart is a JavaScript library for creating charts with over 800 classes and 80,000 lines of code. It recommends using the Google Closure library and tools for JavaScript development. Finally, it poses some limitations of HTML5 compared to Flash and asks if anyone has any other questions.
IE9 and IE10 are focused on supporting HTML5 natively in Windows. The document discusses demos of real-world HTML5 applications running in IE9, patterns for progressing the web forward through standards support and community engagement, and emerging technologies being prototyped in the HTML5 Labs site and early previews of IE10 capabilities like CSS3 gradients and layout modes. Users are encouraged to take advantage of IE9 today, experiment with HTML5 Labs, and provide feedback on early looks at IE10.
The document discusses the Block Element Modifier (BEM) methodology for organizing CSS and HTML code into independent reusable components. It provides examples of applying BEM to structure a logo block, its elements, and modifiers. BEM tools can be used to generate file structures for blocks and automatically import all CSS. The methodology aims to improve code reusability, separation of concerns, and enable specialist work between developers.
краткий, неполный и в основном неверный обзор сетевой подсистемы в Windows. алексей пахунов. зал 2
1. Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com 1 Краткий, неполный и, в основном, неверный обзор. :-)
2. Обо мне. Senior SDE в команде eXtreme Computing Group (XCG), Microsoft Research. Специализация: низкоуровневое и системное программирование; разработка драйверов и компонентов ядра Windows. 3 года в команде Windows Kernel: Wow64 и поддержка AVX. Мой блог: http://blog.not-a-kernel-guy.com. 2
3. Содержание. Архитектура стека TCP/IP. Путь данных вверх и вниз. Настройки и аппаратное ускорение. Фильтры и мониторинг трафика. 3
5. Архитектура стека TCP/IP. 5 Applications API RPC Windows Networking Windows Internet API Windows Sockets NetBIOS Support HTTP Server API User mode Kernel mode afd.sys netbt.sys Winsock Kernel http.sys TCP/UDP IP ICMP IP Forwarding/Filtering ARP Internet Layer NDIS Wrapper Network Interface Layer NDIS WAN Miniport Wrapper ATM Ethernet Wi-Fi ISDN PPTP … …
6. Стек драйверовв NDIS 6.0. Отдельный стек над каждым сетевым адаптером. Многопортовые сетевые адаптеры могут запросить отдельный стек для каждого порта. Сетевой адаптер может привязывается к нескольким протоколам. Фильтры устанавливаются отдельно над каждым сетевым адаптером. 6 Protocol 1 Protocol 2 Filter Module 1 Filter Module 3 Filter Module 2 Filter Module 4 Miniport Adapter 1 Miniport Adapter 2
7. Промежуточные драйверы. Промежуточный драйвер объединяет два стека в один. Верхний стек видит виртуальный сетевой адаптер. Нижний стек привязывается к промежуточному драйверу как к протоколу. 7 Protocol Binding Filter Modules Intermediate Driver Filter Modules Virtual Miniport Protocol Edge Miniport Adapter
8. Программные интерфейсы. Winsock (send/recv, WSASend/WSARecv). Winsock Kernel (WskSend/WskReceive). IP Helper. RPC (RpcXxx). WNet (WNetXxx). WinInet (InternetXxx). WinHTTP (WinHttpXxx). HTTP Server API (HttpXXX). 8
10. Обработка принятых пакетов (IP). Сетевой адаптер проверяет целостность пакета и генерирует прерывание. Драйвер адаптера передает его выше по стеку. IP проверяет целостность IP заголовка, восстанавливает пакет из фрагментов, перенаправляет пакет согласно таблице маршрутизации. TCP/UDP проверяет целостность данных пакета, запрашивает повторную передачу и копирует данные в буфер приложенияили драйвера:recv(connection, buffer, length, 0); 10
11. Передача данных (TCP). Приложение указывает на данные для передачи: send(connection, buffer, length, 0); TCP формирует заголовки пакета (или нескольких пакетов). IP формирует свои заголовки и разбивает пакеты на фрагменты, если необходимо. Драйвер адаптера ставит пакеты в очередь, настраивает DMA и запускает передачу пакетов. Сетевой адаптер генерирует прерывание по окончанию передачи. Драйвер адаптера возвращает буферы их владельцу. 11
12. Как пакеты хранятся в памяти? Каждый пакет описывается списком буферов (NET_BUFFER). Буфер может располагаться в несмежных физических страницах. Между уровнями передаются указатели. Данные пакета копируются только один раз. 12 NET_BUFFER Data MDL MDL MDL Next Next Next [3] [1] [2] Data Data
13. Прямой доступ в память (DMA). Сетевой адаптер поддерживает очереди буферов. Несколько очередей для приёма и передачи. Драйвер отвечает за выделение памяти, вставляет буферы в очередь и удаляет их оттуда. Сетевой адаптер сохраняет принятые данные вподготовленные драйвером буфера. Дескрипторы указывают сетевому адаптеру как нужно «склеивать» пакеты из нескольких буферов. 13 Сетевой адаптер Data Buffer Buffer Buffer Next Next Next … … … Data Data
14. Прерывания в Windows. Уровни прерываний (IRQL): PASSIVE_LEVEL – обычный код; используются приоритеты потоков. DISPATCH_LEVEL– планировщик потоков и подкачка страниц приостановлены. DIRQLs – прерывания от менее приоритетных устройств заблокированы. Прерывание обрабатывается в два этапа: Обработчик прерывания должен выполнить минимум работы максимально быстро. Отложенный обработчик (DPC) выполняет оставшуюся работу. IRQL нельзя произвольно понижать. Каждое из ядер может находится на своем уровне прерываний. 14
15. Прерывания в NDIS. Основные прерывания: пакет принят и передан. Обработка принятых пакетов проходит на DISPATCH_LEVEL. Любой драйвер в стеке имеет право передать обработку в рабочий поток (PASSIVE_LEVEL). Исходящие пакеты формируются на PASSIVE_LEVEL. Любой драйвер в стеке имеет правоповысить IRQL до DISPATCH_LEVEL. 15
16. Уведомление приложений. Все операции ввода-вывода асинхронны. Синхронные send()и recv()эмулируются. Уведомление об окончании операции доставляется одним из стандартных способов: APC, установка события, IO completion port, threadpool, опрос OVERLAPPED. Драйверы, работающие через Winsock Kernel, используют IRP (I/O Request Packet). 16
18. Аппаратное ускорение. MAC и VLAN фильтры на сетевом адаптере. Регулирование частоты прерываний (Interrupt Moderation). Выгрузка вычислений на сетевой адаптер: Вычисление и проверка контрольных сумм (Checksum Offloading). TCP сегментация (Large Send Offloading). TCP Chimney Offloading. Обработка принятых пакетов на нескольких процессорах (Receive-Side Scaling). Поддержка виртуализации. 18
19. Вкладка «Advanced». Описывается в .INF файле драйвера. NDIS определяет стандартные параметры. …но отображаемые названия параметров все равно берутся из .INF файла. 19 Настройка сетевого адаптера (1).
21. Настройка TCP/IP. Доступные через реестр параметры TCP/IP описаны в TechNet и множестве других источников. HKLMYSTEMurrentControlSetervicescpiparameters: Адреса. Размер окна TCP. Маршрутизация. Лимиты. ... 21
23. NDIS фильтры. Делятся на следящие и модифицирующие фильтры. Перехватывают и пакеты, и управляющие OID запросы. Иными словами – полностью контролируют нижнюю часть стека. Загружаются для всех адаптеров данного типа. Перехватываемые функции конфигурируются для отдельно для каждого адаптера. 23
24. Расширение отладчика !ndiskd. Расширение !ndiskd: Входит в состав Windows Debugging Tools. Дружественно к неподготовленному пользователю. Показывает детальную информацию об адаптерах, фильтрах и протоколах. Требует подключения ядерного отладчика. Достаточно локального подключения. 24
25. Это проще, чем кажеться... Приостановите BitLocker. “bcdedit /debug on”. После перезагрузки: “windbg.exe -kl”. Убедитесь в корректности “.sympath”. “!ndiskd.help”. 25
26. Архитектура WFP. 26 Приложения Anti-virus callout KM Filter Engine TCP/IP стек Stream layer shim Stream layer Parental control callout ALE shim ALE layer IDS callout TCP/UDP shim Transport layer WFP – Windows Filtering Platform. NAT callout IPv4/IPv6 shim IP layer IPSec callout Сетевой адаптер
27. Основные элементы WFP. Shims: Стек TCP/IP определяет несколько ключевых точек, где происходит фильтрация трафика. Filters: Ко входящему и исходящему трафику применяется набор правил, задающий действия, применяемые к данным. Layers: Фильтры групприрутся по уровням и подуровням. Каждый уровень определяет свой набор полей для фильтрации. Порядок применения фильтров однозначно определён. Callouts: Фильтр может принять решение о глубокой инспекции пакета. 27
28. Архитектура IPsec. 28 Запрос на обмен ключами BFE IKE/AuthIP Приложения IPSec layers User mode Kernel mode Настройка фильтров TCP/IP стек ALE layer Фильтрация соединений и авторизация Добавление SA Запрос на обмен ключами Transport layer Фильтрация пакетов IP layer Шифрование
29. Мониторинг WFP. Aудит: Конфигурация WFP. Отброшенные/пропущенные пакеты, соединения, операции с сокетами. Обмен ключами и отброшенные пакеты в IPsec. Конфигурация WFP доступна через Win32 API. 29
Кроме того, обработчик прерывания выполняется в контексте произвольного потока.
Здесь нужно рассказать про NDIS Interrupt Throttling.
Рассказать, как передается offloading информация между драйверами в стеке.TCP & UDP Checksum Offloading разный для IPv4 & IPv6.Поддержка виртуализации.Сетевой адаптер с поддержкой Virtual Machine Queue (VMQ) умеет:Фильтровать пакеты по адресу назначения и тегу VLAN до копирования данных пакета в память.Копировать данные пакета напрямую в память гостевой ОС.Сигнализировать приход пакетов, предназначенных разным виртуальными машинам, разным процессорам.
Следует помнить, однако, что возможность сделать не означает того, что это следует делать.
"C:\\Program Files\\Debugging Tools for Windows (x64)\\windbg.exe" -kl -y SRV*c:\\symbols*http://msdl.microsoft.com/download/symbols
Вот здесь приводится гораздо более детальная схема: http://msdn.microsoft.com/en-us/library/aa366509(v=VS.85).aspxUser mode часть вообще не показана.ALE - Application Layer Enforcement.IDS – Intrusion Detection Systems.