| RSS



Меню

Bookmark and Share


Календарь
«  Апрель 2008  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
282930

Статистика
Ваш IP: 3.149.214.28
Вы используете: v





Сейчас на сайте:

Тех поддержка ->

Облако тэгов
ОС видио Tor Обратная сторона антенна 4.6 php libc rand() эксплоит Windows Server 2008 FreeBSD Jail Elastix QIP Virtual chroot Limit kernel proc sysctl Tune freeBSD bridge Boot LiveCD Disk Bluetooth GEO game DirectX emulator Python Shell червь Conficker вирус троян лаборатория касперского пиратство Apple iPhone Microsoft twitter социальная сеть анонимность лицензия Open Source уязвимость MySQL база данных Закон Франция Пират Skype мобильный Deutsche Telekom хакер trend micro кибератака Германия робот Персональные данные Ноутбук Интернет китай цензура windows vista acer Linux патент браузер Firefox Internet Explorer Opera Safari Intel Oracle патч Банкомат IBM США Dell Ford MAC контроль Internet кибербезопасность приговор Mozilla Chrome безопасность Госдума СМИ Windows 8 взлом Пентагон Украина Facebook Cisco Cloud Windows XP нетбук торрент музыка Биометрический Nokia Hardware Manager ФБР IP-адрес sms RSA java Google Captcha Symantec Спам Антивирус тест Anti-Malware Windows 7 операционная система windows провайдер авторское право rapidshare UNIX свиной грипп шантаж Дети ipod копирайт McAfee HTTPS icann студент Норвегия New York Times YouTube Warner Music КНДР Ubuntu AMD ATI касперский Россия РФ сервер хостинг Wi-Fi суд пароль блог фишинг одноклассники Медведев контрафакт мошенник sony Gps по JavaScript Хакеры Yahoo фас компьютер софт Минкомсвязи Сбой мошенничество Доктор ВЕб Вконтакте ie8 исходный код МВД фильтр порнография свобода слова казахстан Autodesk сисадмин Gmail кредитная карта LiveJournal шифрование Deep Purple банк HTML5 Нанотехнологии wikipedia выборы DNS bind KaZaA Android Basic атака Mac OS X домен ФСБ прокуратура уголовное дело ICQ Sophos Google Voice ошибка DARPA военные сайт турция конференция спамер Полиция Koobface Великобритания IRC белоруссия Грузия Bittorrent Европа Dr.WEB Linux Mint Билл Гейтс спецслужбы Royal Bank of Scotland смартфон Canonical F-Secure Symbian фильм Microsoft Office Новая Зеландия Adobe Австралия IDC Internet Explorer 9 iPad Ирландия поиск GOOGLE EARTH МТС Реклама слежка Mandriva BSD Zeus личные данные eset avast Avira G Data Software защита Defcon виртуализация dll LibreOffice Черный список BlackBerry индия Москва DVD социальные сети flash player paypal BitDefender email сертификат honda MasterCard Anonymous технологии IPv6 Ассанж Оптоволокно передача данных арест Fedora Samsung Иск Apache учетная запись iTunes исследование Cert Санкт-Петербург McDonald's SOPA PIPA Bioshock Infinite: Burial at Sea - ico Megaupload CES hotfile отчет приложение Инвестиции платформа DRM DDoS-атака роскомнадзор

Главная » 2008 » Апрель » 8 » Microsoft Singularity: первый шаг в будущее
13:54
Microsoft Singularity: первый шаг в будущее

Введение

Многие уже наслышаны о супер мега проекте от Microsoft - новой операционной системе Singularity. Microsoft решила с нуля попробовать написать ОСь используя "безопасное программирование", которое на корню будет пресекать баги различного рода. Для этого решили использовать "безопасные" языки программирования C#, Sing#, ну и кое-где си и ассемблер. Так вот, совсем недавно были открыты исходники первых наработок этой операционной системы и в этой статье я расскажу как можно скомпилировать эти самые исходники и запустить всё это дело на виртуальной машине.

Прежде чем присутпить к работе скажу несколько слов об Singularity. Главной особенностью операционки является модель SIP (Software-Isolated Process). Каждый процесс изолирован друг от друга, но сообщения между ними могут передаваться посредством двунаправленных, строго типизированных высокоуровневых каналов. Подробнее можно прочитать вот тут.

Что нужно?

Как утверждает сама Microsoft, необходима машина с 1,5 гектарами свободного места для исходников и будущих бинирников, плюс 512 Мб ОЗУ. Теперь что касается ПО. Сами исходники Singularity качаем вот отсюда. Забираем последний билд, на момент написания стати это 6709. Интересной особенностью является то, что есть возможность отладки ядра операционной системы, поэтому будет не лишне проинсталлировать комплект утилит для этого дела, всё это добро забираем отсюда. Т.к. ОСь завязана на Framework'e, то и его необходимо будет поставить, если конечно же он у вас уже не стоит. Работать всё будет на виртуальной машине, поэтому ставим ещё систему виртуализации Microsoft Virtual PC 2007. Тем, кто уже сталкивался с виртуальными ОС, наверняка знаком такой продукт как VMware - это тоже самое, только от Microsoft. Если ещё будет желание попробовать написать первые программы или вири и тем самым прославиться, то ещё нужно поставить Microsoft Visual Studio 2005 или Microsoft Visual Studio 2008. На этом всё, больше нам ничего не понадобится.

Компилируем

Итак, самое интересное. Распаковываем скачанные исходники и запускаем командный файл configure.cmd.


После этого на рабочем столе появится ярлычёк Singularity RDK 1.1. Это наша шел среда для конфигурирования и собственно компилирования всех составляющих новой операционной системы. Запускаем шел через ярлык или, если вы ярый ненавистник ярлыков на рабочем столе, то идём в папку base и запускаем setenv.cmd.


Помимо него в папке base существуют следующие подпапки:

  • Applications - тут примеры исходничов под Singularity. Много интересного, различные примеры работы с сетью и прочее.
  • Boot - Исходники загрузчика преимущественно на си плюх плюх и асме.\
  • Build - Тут куча компиляторов, библиотек, тулз.
  • Contracts - тут какие-то определения класов.
  • Distro - Файлы проектов. Сюда упадут бинарники для запуска после компиляции операционки.
  • Drivers - Исходники драйверов. Интересно то, что дрова написаны исключительно на C# и Sing#.
  • Interfaces - Определения интерфейсов.
  • Kernel - Эх, само ядро с CLR компонентами, а в папке Native с неуправляемым кодом.
  • Libraries - Исходники библиотек.
  • Options - Файлы конфигурации.
  • Services - Исходники служб.
  • Windows - Исходники утилит для старта на Windows.

Идём дальше - заходим в папку Distro. Тут нам предоставляется выбор какой билд мы хотим получить. В зависимости от взятого проекта мы получим соответствующие билды. Для выбора нам предоставляются: Tiny, Small, BVT, SPECweb99 или World. Разница между ними следующая:

  • Проект Tiny предусматривает сборку только ядра, менеджера тома и самой командной строки - самый лёгенький проект;
  • Проект Small - всё что включает в себя Tiny, плюс сетевой стек;
  • Проект BVT - сделаю предположение, что это адбевиатера от build verification test т.е. приёмочное тестирование. Это одно из стадий тестирования программного обеспечения, которое призвано бегло пробежаться по продукту и дать оценку, готово ли оно для тестирования вообще. Если посмотреть во внутрь проекта, то можно увидеть, что здесь уже намного больше объявлено компонентов для сборки. Компоненты распределены по группам: Apps, Benchmarks, Tests, Drivers и Services. Изходя из списка уже можно представить, что попадёт в сборку;
  • Проект SPECweb99 - SPECweb99 - это набор тестов для www серверов для оценки на сколько хорошо система будет показывать себя как сервер в сети. Как ни странно, в этом проекте добавлен компонент SpecWeb99 specific ну и добавилось парочка драйверов;
  • Проект World - здесь всё просто, в сборку попадает всё, что написали.

Выбираем понравившийся нам проект и даём следующую команду нашему шелу (без скобочек) "msb Distro\имя_проекта.proj".

Пример:

msb Distro\World.proj

Ждём несколько минут пока сбилдится проект. Tiny.proj собирается за пару минут, а вот сборка проекта World.proj может занять около часа. По окончании выполняемой операции должна появится надпись "Build Succeeded.", говорящая о том, что всё прошло успешно и путь к лог файлику, просмотрев который можно увидеть все произведённые операции. А результатом операции стало появление в корне новой папки - base.obj.

Теперь по поводу необычной команды msb. Это просто командный файлик, который лежит в папке Build. Он запускает утилиту msbuild.exe, которая исталируется вместе со вторым Framework'ом, msbuild.exe - это компилятор для командной строки по типу make в unix системах. Подробнее о msbuild пожно почитать вот тут. В процессе сборки порадовала надпись "Found 2 processors.", говорящая о том, что уже эта достаточно сырая версия умеет работать с многопроцессорными системами.

Идём дальше, теперь удалим все ненужные сборочные файлы командой msb /t:Clean Distro\имя_проекта.proj.

Пример:

msb /t:Clean Distro\World.proj

Они могут достаточно много места занимать на диске (до гектара), так что лучше их убить.

Запускаем.

Singularity поддерживает несколько видов загруки - Network и с накопителей CD-Rom, FAT Hard Disk и USB. Для того, что бы можно было использовать Network загрузку, необходимо добавить новое сетевое соединение. Делается это следующим образом:

  1. Заходим в панель управления и жмем Add Hardware -> Next.
  2. В появившемся окне выбираем Yes, I have already connected the hardware -> Next.
  3. Далее в самом низу вибираем Add a new hardware device -> Next.
  4. Install the hardware that I manually select from a list (Advanced) -> Next.
  5. Из списка выбираем Network adapters -> Next.
  6. В качестве сетевого адаптера выбираем Microsoft Loopback Adapter -> Next -> Next ->Finish.

Теперь необходимо сконфигурировать наш новый сетевой адаптер.

  1. Вызываем свойство (Properties) "Сетевого окружения" (Network Connections), видим там Наш Microsoft Loopback Adapter. Переименовываем его в Loopback.
  2. Теперь заходим в свойства (Properties) сетевого адапетра Loopback.
  3. На вкладке General в самом низу выбираем Internet Protocol (TCP/IP), делее заходим во свойства (Properties).
  4. Выбираем "Использовать следующий IP адрес" (Use the following IP address) и вводим 10.99.99.1 для IP адреса и 255.255.255.0 для маски подсети (Subnet mask). Первичные и вторичные ДНС сервера оставляем пустыми. Нажимаем кнопку ок.
  5. Переходим на вкладку Advanced, в разделе Windows Firewall нажимаем кнопку Settings... и переходим на вкладку Exceptions.
  6. Нажимаем кнопку Add Port… , и добавляем 2 параметра с именем DHCP, номер UDP порта 67 и так же добавляем TFTP c UDP портом 69. Эти протоколы будут использоваться для загрузки Singularity.

Далее заходим в папку boot и копируем в корневую папку файл pxe.vmc с новым именем. Это файл виртуальной машины Microsoft Virtual PC 2007 в которой будет определён способ загрузки ОС. Или же просто выполняем следующую команду - copy boot\pxe.vmc singularity.vmc. Далее, выполняем команду - boottest.cmd mypc.vmc. Будет запущен ISO образ из папки base.obj\Distros, который был сгенерирован до этого. Для запуска в дебаг режиме выполняем команду - dbg.cmd /pipe & boottest.cmd mypc.vmc.

Можно попробовать запустить сетевую загрузку.



Делается это с помощью ключика /net. Используем следующим образом - boottest.cmd /net mypc.vmc. Такая загрузка будет происходить на порядок дольше по сравнению с загрузкой с ISO образа. После окончания загрузки ядра мы может увидеть командную строку. Да да, никаких окошечек :) Иксов пока ещё не написали. Набираем help и видим список доступных команд.

Интересна команда bvt, которая тестирует множество компонентов.


Тестирование будет проходить достаточно долго, так что запасаемся терпением и бегло читаем лог. Вот в принципе и всё.

Удачной работы.

P.S.: Технологическая сингулярность в футурологии — гипотетический взрывоподобный рост скорости научно-технического прогресса, предположительно следующий из создания искусственного интеллекта и самовоспроизводящихся машин, интеграции человека с вычислительными машинами либо значительного увеличения возможностей человеческого мозга за счёт биотехнологий. По некоторым прогнозам, технологическая сингулярность может наступить уже около 2030 года. Сторонники теории технологической сингулярности считают, что если возникнет принципиально отличный от человеческого разум (постчеловек), дальнейшую судьбу цивилизации невозможно предсказать, опираясь на человеческое (социальное) поведение.





Категория: | Просмотров: 2417 | Добавил: aka_kludge | Теги: | Рейтинг: 0.0/0
Всего комментариев: 0
Главная
...
На службе : дней

04:52
Обновить


Пользователи
aka_kludge
qwerty
LeadyTOR
aka_Atlantis
AdHErENt
mAss
Sissutr
hiss
DrBio
tHick

Поиск

Архив записей


Copyright tHR - TeAM 2025 г. admin: aka_kludge (ICQ:334449009) Moderator's: LeadyTOR, ... Яндекс.Метрика