Консоль Window в седьмой версии подверглась интересным изменениям. До Windows 7 «ядро» консоли содержалось в процессе Csrss.exe (Client/Server Runtime Subsystem), который по соображениям безопасности не мог полностью использовать графическую оболочку. Это вызывало несколько проблем:

  • не всегда работал Drag&Drop в консоли,
  • темы оформления не применялись к окну консоли.

Давайте вспомним Windows XP:

Видно, что оформление отсутствует как у окна, так и у полос прокрутки.

В Windows Vista заголовки и границы всех окон стали отрисовываться с помощью нового DWM (Desktop Window Manager). Но оформления полос прокрутки нет, т.к. это внутренняя часть окна:

В Windows 7 часть реализации консоли, отвечающая за ввод-вывод, была вынесена в отдельный процесс, Conhost.exe:

Conhost.exe является прослойкой между cmd.exe (или другим приложением командной строки) и CSRSS. Это и позволяет полность применить темы оформления к окну консоли и использовать Drag&Drop:

Теги: , | Категории: Microsoft 13.01.2010 18:52 | Комментарии (0)

MinWin – минималистическая операционная система, состоящая лишь из ядра Windows и нескольких компонентов, таких как драйвера устройств, драйвера файловой системы, компоненты стека TCP/IP. В этот набор не входят графическая подсистема, аудио компоненты, оболочка, сервисы и т.д. Разрабатывать (отделать от остальных компонентов системы) начали одновременно с разработкой Висты.

MinWin это:

  • 150 файлов,
  • 25 Мб на диске,
  • 40 Мб в оперативной памяти.

MinWin, запущенная на виртуальной машине (в консоле видно работающий веб-сервер):

 

Надо понимать, что MinWin – это не какая-то редакция Windows, это часть Windows 7 (и Windows Server 2008R2), которая по отдельности доступна только разработчикам Microsoft.

Схематически отношения Windows и MinWin можно изобразить следующим образом: 

Как видно, чтобы выделить MinWin, пришлось переработать некоторые компоненты (разделить или объединить). Например, библиотека kernel32.dll разделилась на kernel32.dll и kernelbase.dll. А чтобы эти изменения не коснулись программ высших уровней, вызовы всех «удаленных» функций в старых Dll перенаправляются в библитеки от MinWin. Например:

  • Kernel32.dll → Kernelbase.dll
  • Advapi32.dll → Kernelbase.dll

Чтобы уменьшить количество физических Dll, которые необходимо загружать при старте, многие Dll в MinWin стали содержать в себе наборы функций из разных API, а это усложняло дальнейшую разработку системы. Чтобы избежать такой проблемы, наборы функций из родственных API были объединены в так называемые Виртуальные DLL (Virtual Dll).

Например: api-ms-win-core-errorhandling-l1-1-0.dll, где номера обозначают уровень иерархии в системе, мажорную и минорную версию. Схема отображения виртуальных Dll в физические хранится в Apisetschema.dll.

Все виртуальные Dll существуют физически, но не содержат в себе реализаций функций:

C:\Windows\System32>dir /a api* /B
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-delayload-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-fibers-l1-1-0.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-io-l1-1-0.dll
api-ms-win-core-libraryloader-l1-1-0.dll
api-ms-win-core-localization-l1-1-0.dll
api-ms-win-core-localregistry-l1-1-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-misc-l1-1-0.dll
api-ms-win-core-namedpipe-l1-1-0.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-threadpool-l1-1-0.dll
api-ms-win-core-ums-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-core-xstate-l1-1-0.dll
api-ms-win-security-base-l1-1-0.dll
api-ms-win-security-lsalookup-l1-1-0.dll
api-ms-win-security-sddl-l1-1-0.dll
api-ms-win-service-core-l1-1-0.dll
api-ms-win-service-management-l1-1-0.dll
api-ms-win-service-management-l2-1-0.dll
api-ms-win-service-winsvc-l1-1-0.dll

Теги: , | Категории: Microsoft 13.01.2010 18:31 | Комментарии (5)

18 ноября на конференции Microsoft Professional Developer (PDC) был анононсирован выход бета-версии Silverlight 4. Этот релиз предназначен для разработчиков, а значит, что пока еще нет плагина для конечных пользователей или лицензии «go-live».

Silverlight 4 и утилиты для разработки

Чтобы разрабатывать приложения на Silverlight 4 потребуются несколько утилит.  Вот ссылки на них:

Это полный список утилит, которые помогут познакомиться с Silverlight 4. Необходимый минимум из них это Visual Studio 2010 и Silverlight Tools

 

Полный список нововведений Silverlight 4 Beta

Ещё...

Теги: | Категории: Microsoft 19.11.2009 19:27 | Комментарии (2)

В июле я писал, как включить поддержку Intel VT на ноутбуках Sony Vaio. И вот в конце октября, перед выходом Windows 7, Sony выпустила официальные обновления биоса для своих компьютеров, включающих эту поддержку.

Обновления существуют для следующих серий:

Настольные ПК Vaio

  • VGC-JS Series
  • VGC-LN series
  • VGC-LV Series
  • VGC-RT Series

Ноутбуки Vaio

  • VGN-AW Series
  • VGN-CS Series
  • VGN-FW Series
  • VGN-NS Series
  • VGN-NW Series
  • VGN-P Series
  • VGN-SR Series
  • VGN-TT Series
  • VGN-Z Series

Скачать BIOS для своей модели, включающий Intel VT, можно с сайта support.vaio.sony.eu.

Установщик очень удобный, работает в любой версии Windows, не надо загружать никакой DOS с флешек. После обновления в настройках биоса появится пункт Enable Intel Virtualization Technology.

После этого можно наслаждаться виртуализацией, пользуясь XP Mode в Windows 7.

Теги: , , | Категории: Разное 24.10.2009 12:00 | Комментарии (0)

С сегодняшнего дня любой желающий может скачать вторую бета-версию Visual Studio 2010.  

Улучшения в Visual Studio 2010 и .NET 4

VS 2010 и .NET 4 несут в себе огромное количество улучшений и дополнений. Изменения затронули разработку в ASP.NET, WPF, WinForms, SharePoint, Silverlight, разработку многопоточных программ и облачное программирование. VS 2010 также содержит тысячи улучшений ядра IDE, редактора кода, поддержки языков, утилиты проектирования и тестирования ПО.

Team Foundation Server 2010 теперь очень прост в установке (требуется всего 20 минут, чтобы установить систему котроля кода, отслеживания ошибок и задач, и систему автоматической сборки), может быть установлен как на сервер в домене, так и на клиентскую машину, неподключенную к домену.

Версии Visual Studio 2010

Линейка VS 2010 была упрошена. Существуют 4 версии:

  • Visual Studio Express: Бесплатная среда разработки для Web, VB, C# и C++
  • Visual Studio 2010 Professional: Профессиональная среда разработки, которая может использоваться с Team Foundation Server. В пакет также включено 50 часов/месяц использования процессорного времени в Windows Azure.
  • Visual Studio 2010 Premium: Версия Premium включает возможности Professional и дополнительные утилиты разработки (расширенный профиллер и дебагер, анализатор кода), дополнительную поддержку баз данных, утилиту тестинования интерфейсов и другое. Прилагается 100 часов/месяц использования процессорного времени в Windows Azure.
  • Visual Studio 2010 Ultimate: Версия Ultimate включает Premium плюс расширенные возможности разработки, тестирования и проектирования, включая Intellitrace (исторический отладчик), UML, управление лабораториями тестирования и т.д. Прилагается 250 часов/месяц использования процессорного времени в Windows Azure.

Совместная работа с Visual Studio 2008

VS 2010 и .NET 4.0 могут быть установлены на одной машине с VS 2008 и .NET 3.5. Вы можете установить бета-версию VS 2010 и продолжать разработку в VS 2008.

Go-Live лицензия

.NET 4 и VS 2010 Beta 2 включает лицензию «go-live», которая позволяет использование бета-версии продуктов в коммерческих целях.

 

Теги: , | Категории: Microsoft 21.10.2009 12:35 | Комментарии (0)

При использовании XP Mode в Windows 7 возникает вопрос — а как пользоваться встроенными утилитами Windows XP в среде Windows 7, такими как Explorer, Media Player, командная строка, Internet Explorer?

Теоретически, для включения такой возможности, нужно лишь добавить ярлыки на эти программы в меню Пуска в Windows XP, и после этого они добавятся в меню Windows 7, откуда эти программы можно будет запускать. Но такой способ почему-то не всегда срабатывает.

Я сделал установщик, который добавляет иконки запуска наиболее популярных приложений в меню пуска в Windows XP. А поскольку это Windows Installer, то ярлыки сразу же появятся и в Windows 7.

Установка

  1. Включите Windows XP Mode
  2. Установите ProgramsIcons.msi (83 kb) внутри этой гостевой системы

В меню Windows XP добавятся значки запуска:

И автоматически в Windows 7, откуда и можно будет запускать:

 

В итоге

Windows Media Player 10, Internet Explorer 6, Explorer XP и Cmd в Windows 7:

Windows Media Player 10, Internet Explorer 6, Explorer XP и Cmd в Windows 7

Теги: , | Категории: Microsoft 08.10.2009 16:19 | Комментарии (0)
Информация для студентов ФПМИ. Ещё...
Теги: , , | Категории: Разное 30.09.2009 22:25 | Комментарии (5)

Сегодня был выпущен финальный релиз бесплатного антивируса — Microsoft ­Security Essentials.

Системные требования:

  • Windows XP (SP 2 или SP 3); Windows Vista (SP 0, SP 1 или SP 2); Windows 7
  • Для Windows XP – процессор 500 МГц или выше, 1 Гб ОЗУ или выше
  • Для Windows Vista и Windows 7 – процессор 1 ГГц или выше, 1 Гб ОЗУ или выше
  • 140 Мб свободного места на диске 

Руссой локализации пока, к сожалению, нет.

Дистрибутив антивируса имеет размер менее 5 Мб. Обновления антивирусных баз производится каждый день через Windows Update.

Я с начала лета был бета-тестером этого продукта, установил его на все свои компьютеры. Потери производительности я не заметил, всё работает отлично. Я очень доволен этим антивирусом :)

 

Теги: | Категории: Microsoft 29.09.2009 22:31 | Комментарии (1)

Windows Virtual PC – новая версия пакета виртуализации, разработанного специально для Windows 7.

Windows Virtual PC + XP Mode

Основные отличия от Virtual PC 2007:

  • Поддержка USB-устройств – можно использовать принтеры, сканеры, камеры в гостевых ОС
  • Поддержка многопоточности – можно запускать несколько виртуальных машин одновременно без потери производительности на многопроцессорных системах
  • Перенаправление смарт-карт – можно использовать смарт-карты в гостевых ОС
  • Интеграция с Windows Explorer – все виртуальные машины представлены в одной виртуальной папке (%USER%\Virtual Machines)
  • Windows XP Mode – пакет для Virtual PC, включающий в себя предустановленную лицензионную копию Windows XP SP3, которую можно использовать в качестве гостевой ОС
  • Виртуальные приложения – при использовании XP Mode можно работать с приложениями в гостевой ОС, как будто они запущены на вашем компьютере

Все эти нововведения я продемонстрирую ниже.

Ещё...

Теги: , , , , | Категории: Microsoft 29.09.2009 20:41 | Комментарии (11)

В ASP.NET 4, которая сейчас доступна в виде бета-версии, включены ряд изменений, улучшающих основные функции платформы. Опишу несколько из них:

 

Упрощение файла web.config

С каждой новой версией ASP.NET, начиная с первой и заканчивая версией 3.5, файл web.config, содержащий настройки веб- приложения, неумолимо рос. Происходило это из-за добавления новых расширений, таких как AJAX, роутинг и интеграция с IIS 7. Всё труднее было конфигурировать веб-приложение. Например, web.config этого сайта занимает 13 килобайт.

В .NET Framework 4 основные конфигурационные элементы были перемещены в файл machine.config, а приложения ASP.NET теперь наследуют эти настройки. Это позволяет сделать файл web.config совсем пустым или хранить в нём только несколько строк:

<?xml version="1.0"?>
<configuration>
 <system.web>
  <compilation targetFramework="4.0" />
 </system.web>
</configuration>

 

Гибкое кэширование

Начиная с ASP.NET 1.0 кеширование вывода позволяло разработчикам хранить сгенерированные страницы и элементы управления в оперативной памяти. При последующих веб-запросах ASP.NET мог выдать ответ быстрее за счет использования ранее сгенерированного содержимого. Однако, было одно ограничение — содержимое кэша всегда хранилось только в оперативной памяти, и на серверах с большой нагрузкой кэш конкурировал с памятью, необходимой для обработки других запросов.
ASP.NET 4 позволяет разработчику создать один или несколько собственных провайдеров кэша. «Output-cache providers» могут использовать любой механизм хранения HTML-содержимого. Это делает возможным создать провайдеры кэша с хранением данных как на локальных жестких дисках, так и на удаленных ресурсах – share, ftp, cloud.

Провайдеры кэша представляют собой классы типа System.Web.Caching.OutputCacheProvider. Разработчик может конфигурировать провайдер кэша в файле web.config, используя секцию providers элемента outputCache. Например:

<caching>
<outputCache defaultProvider="AspNetInternalProvider">
 <providers>
  <add name="DiskCache"
  type="Test.OutputCacheEx.DiskOutputCacheProvider, DiskCacheProvider"/>
 </providers>
</outputCache>
</caching>

По-умолчанию в ASP.NET 4 все HTTP-запросы, генерирующие страницы и элементы управления, используют кэш-провайдер оперативной памяти – AspNetInternalProvider. Разработчику лишь требуется изменить параметр defaultProvider элемента outputCache для выбора своего провайдера.

Конечно, можно использовать разные провайдеры кэша для разных элементов и страниц. Проще всего это сделать, дописав в коде страницы новый параметр providerName. Например:

<%@ OutputCache Duration="60" VaryByParam="None" providerName="DiskCache" %>

Кроме кэш-провайдеров в ASP.NET 4 разработчик может выбирать стратегию кэширования веб-приложений. Например, можно кэшировать «Топ 10» страниц сайта в памяти, в то время, как менее популярные страницы будут кэшироваться на диск.

Ещё...

Теги: , , | Категории: Microsoft 27.09.2009 14:01 | Комментарии (0)