Лайфхакер
Лайфхакер
Лучшее
Новости
Жизнь
Рецепты
Здоровье
Кино
Технологии
Покупки
Лучшее
Новости
Жизнь
Рецепты
Здоровье
Кино
Технологии
Покупки
Бежим с Лайфхакером
Добрые новости
Стыдные вопросы
Есть мнение
Норм или стрём
Личный опыт
Объясняем за минуту
Сервисы
Рабочие места
7 июня 2011

Рабочие места: Анна Воробьева, ведущий разработчик виртуальных машин в компании Parallels

Фото автора Слава Баранский
Слава Баранский

Рабочие места: Анна Воробьева, ведущий разработчик виртуальных машин в компании Parallels

Девушки преуспевают в типично мужских занятиях, и этот факт уже давно перестал восприниматься как общественный феномен. Сегодняшняя героиня рубрики Анна Воробьева может дать сто очков вперед любому мужчине ИТ-профессионалу. Она – ведущий разработчик одного из ключевых компонентов виртуальных машин в компании Parallels. Самое время выяснить, как ей работается в области системного программирования и есть ли, на ее взгляд, место девушкам в командах софтверных инженеров.

Интервью с Анной Воробьёвой, ведущим разработчиком виртуальных машин в компании Parallels

Чем вы занимаетесь на работе?

Я – ведущий разработчик core-команды в компании Parallels. Core-команда занимается созданием и совершенствованием так называемого монитора виртуальной машины – центрального компонента виртуализации во всей линейке гипервизорных продуктов Parallels. Именно в мониторе создается иллюзорный процессор, память, все устройства.

Согласна, это несколько нетипичное занятие для девушки. За мою карьеру в IT следует благодарить родителей – они очень пеклись о будущем для своего вполне гуманитарного чада. Но уже в институте (в МЭСИ) я столкнулась настоящими IT-фанатиками, которые были готовы днями напролет говорить об устройстве операционных систем. Двое самых продвинутых ребят пошли в Parallels, когда она была совсем маленькой компанией. Они так увлекательно рассказывали об уровне решаемых задач и об атмосфере в коллективе, что их истории в конечном счете помогли сделать выбор места работы.

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

Наш монитор виртуальной машины общий для всей линейки продуктов с гипервизорной виртуализацией — Parallels Desktop, Parallels Workstation, Parallels Server. По сути монитор — это такая микро-операционная система, которая живет по своим правилам, со своими аллокаторами памяти, отложенными вызовами, таймерами и синхронизациями. И при этом монитор совершенно невидим для хостовой операционной системы — приложение обращается к драйверу, драйвер начинает работу и – а тут магия! — мы уже в мониторе, а не в операционной системе. Собственно, этот магический переключатель контекстов со всеми его универсальностями на голом ассемблере – повод для моей профессиональной гордости. Он, ну и еще сильно улучшенная плотность виртуальных машин на единицу оборудования в серверном продукте Parallels Server Bare Metal. Мы там такого с памятью наворотили, что любо-дорого посмотреть.

В ходе поиска оптимальных решений работы Virtual Machine Monitor мне приходится закапываться очень глубоко в ядро операционных систем. Узнай об этом разработчики ОС, они, наверное, очень бы удивились. Трудно поверить, но даже в системах от Apple время от времени бывают ошибки. Когда мы впервые спортировали наш известный среди «маководов» Parallels Desktop (PD) на 64-битное приложение, хостовая Mac OS стала сама по себе абсолютно хаотично перегружаться или повисать насмерть. Искать ошибку выпало мне — вероятно, в силу сочетания моей ответственности и общей трудоемкости задачи. Диагностики при таких видах «падений» не остается, поэтому я сама шерстила стандартные «64-битные» проблемы.

После длительных изысканий выяснилось, что MacOS для 64-битных процессов может использовать неверные данные, полагаясь на сохраненную копию. Операционная система при переключении на 64-битный процесс не полностью перегружала все регистры процессора (для тех, кто в теме, речь про GS и FS). Процессор работал на закэшированных значениях. А наш монитор виртуальной машины при работе (как раз при том магическом переключении) восстанавливал все регистры, в том числе и неверные. Данные в этих регистрах были настолько критичны для ОС, что она не могла даже нарисовать сообщение о критической ошибке ядра (kernel panic), рекурсивно вызывая обработчик ошибки. PD обновлял данные, полагаясь на то, что они корректные. К чести Apple стоит отметить, что они оперативно реагируют на баги, и уже в Lion‑е (меньше чем через год) проблему починили.

Как выглядит ваше рабочее место?

Мое рабочее место можно описать как гармоничное сочетание множества «железяк» и пачек зеленого чая. Чай я люблю, а внушительный парк техники — это суровая производственная необходимость. Виртуализация от Parallels — кросс-платформенный продукт, поэтому создавать и тестировать прототипы новых версий приходится на самом разношерстном оборудовании.

Есть ли место девушкам в технических специальностях?

Какое «железо» используете?

На большом столе (а также под ним) живут:

Два десктопа – один на процессоре Intel, а другой – на процессоре AMD.

Сервер MacPro.

Лэптоп MacBook.

На «железе» установлен целый зоопарк систем — и MacOS X, Windows разных разрядностей и разных версий, и всевозможные варианты Linux.

К железу вообще и к гаджетам в частности я была равнодушна до прошлой поездки на WWDC (Apple Developer Conference), где безнадежно влюбилась в iPhone. Кстати, мой экземпляр девайса – трофейный. Я выиграла его в ходе профессионального пари с сооснователем Parallels, а ныне председателем совета директоров Сергеем Белоусовым. Как-то раз мы сидели в ресторане. И никак не могли вспомнить название одной из недавно представленных эппловских технологий. Сергей погуглил, хмыкнул и сказал: «Так, кто первый вспомнит, тому и iPhone». У каждого было по три попытки. Первой вспомнила я. А технология называлась FaceTime.

Какое ПО используете?

На локальном «железе» установлено штук 8–10 самых разных операционных систем. Образов ОС — несчетное количество. И они ничем не хуже, между прочим. Софт у меня в большинстве специфический — компиляторы, отладчики, разные интегрированные среды разработки (IDE), дизассемблеры, профилировщики, DebugKit‑ы. Из любимых средств стоит выделить дизассемблер IDA. В Parallels, кроме того, широкий спектр инструментария своей разработки. Мы собираем гостевые и мониторные дампы, ведем счетчики производительности, логи, историю, вот сейчас доделываем свой дебаггер. Системное программирование требует системного подхода к поиску ошибки.

Железо и ОС ведущего разработчика виртуальных машин в компании Parallels

Есть ли конфигурация мечты?

Свои мечты о «железе» даже боюсь озвучивать — так быстро они сбываются :) Общее пожелание к «железу» — побольше логических CPU (от 16), побольше памяти (от 8 Гб). Но критичнее всего качество процессорных фич — чем свежее процессор, тем больше в нем новых «игрушек» — EPT, Unrestricted, VT‑D, TXT. Ну и шустрый жесткий диск. Все остальное в большинстве современных «железок» меня в общем и целом удовлетворяет.

Если нашли ошибку, выделите текст и нажмите Ctrl + Enter
Это интересно
Как сделать жизнь в своём районе комфортнее: 6 простых способов

Как сделать жизнь в своём районе комфортнее: 6 простых способов

ИГРА: Каким покупателем вас видят магазины

ИГРА: Каким покупателем вас видят магазины

Местные необычаи: какие блюда региональной кухни можно попробовать во «ВкусВилле»

Местные необычаи: какие блюда региональной кухни можно попробовать во «ВкусВилле»

Как обновить квартиру: 6 простых шагов к свободному пространству и уютному дому

Как обновить квартиру: 6 простых шагов к свободному пространству и уютному дому

Комментарии
Сергей Гоцуляк
07.06.11 15:13
Parallels - молодцы! А на столе что, допинг-чай?
Rustam Kulenov
07.06.11 16:32
На первой фотке стыдливо прячется бутылка коньяка. На второй фотке ее уже нет на столе:)
Слава Баранский
07.06.11 17:27
Рассчет был на то, что вы, затемнные красотой Анны, не заметите :)
Oleg Fomichov
07.06.11 19:33
ну да уж,как же коньяк то мимо пропустить? :)
Anna Vorobyeva
08.06.11 15:30
Олег, Рустам, это оливковое масло. Ничего интересного
Slava Baranskyi
08.06.11 22:24
:) поздно
smol
09.06.11 10:59
У меня на столе такой же Матэ стоит))
Leonid Frolov
09.06.11 11:06
Анне еще для плэйбоя нужно сняться, чтобы можно было постить громкие заголовки в духе "Модели Playboy кодят на ассемблере"
Anna Vorobyeva
09.06.11 11:54
Кхм. Альтернативный вариант: обучить модель плейбоя ассемблеру. Заголовки "Идет отбор преподавателей ассемблера для модели плейбоя". Думаю, количество желающих помочь девушке в обучении обеспечит коммерческий успех проекту.
Vitaliy Yanchuk
09.06.11 12:09
Еще и правильный ноутбук с правильной системой использует, просто умница
Taras Koval
11.06.11 01:40
Анечка, дай Боже тебе творческих успехов! Ты этого заслуживаешь. ;)
Dmitry Boldetsov
07.06.11 19:19
Класс и большой респект Анне! Прочел на одном дыхании. Давно не курсе событий системного программирования и был приятно удивлен, что есть спецы по "голому ассемблеру".
Юра Сухолотюк
07.06.11 21:26
спасибо было очень интересно почитать! А что там за чаи стоят??)
Anna Vorobyeva
08.06.11 15:34
Да Хуан Бао, Те Гуан Инь, Би Ло Чунь, Дань Цун, Уи Бань Тань, пуэр, кудин и далее. Да Хуан Бао особенно отлично настраивает на рабочий лад, Би Ло Чунь замечательно упорядочивает мысли
Slava Baranskyi
08.06.11 22:26
Анна, расскажите где покупать лучше чаи. Особенно интересно, если вы делаете это в интернете.
Anna Vorobyeva
09.06.11 11:42
Покупаю в Железном Фениксе, там свежие чаи
smol
09.06.11 11:01
по-моему он называется Да Хун Пао, и да он прекрасно настраивает на жизнь ;)
Alexander Shvetsov
08.06.11 13:34
Аня, респект тебе и уважуха +)
Anna Vorobyeva
08.06.11 15:29
Глупо и пошло, но это бутыль оливкового масла. Салаты на работе заправлять
vorobiev
09.06.11 19:59
Это скорее оригинально, чем глупо! Поздравляю с замечательной публикацией! Какими серьезными задачами ты сейчас стала заниматься! Ну и фотография тоже под стать репортажу солидно и весомо. Больших успехов в трудовой деятельности и поменьше ошибок ;-)
Stas Dashkovsky
13.06.11 12:13
Прекрасно выглядишь, Анна! Успехов и удач тебе!
Антон Зенин
11.09.11 16:05
Калабас на столе улыбнул :)
Антон Зенин
11.09.11 16:08
По поводу коньяка... ребят там по цвету видно что не коньяк, стыдно должно быть)
MAD DAD
29.04.14 13:35
Красивая очень Анна! Глаза, ох эти Прекрасные Глаза! Это не лесть но Зацепило)))

Новые комментарии

Аватар автора комментария
Александра54 минуты назад

0 / 0

Привет всем из Екатеринбурга👋 Праздничные выходные начала с пробежки по любимому городу. 5 км в удовольствие) Всех с Днём России, хорошего настроения и лёгких ног!
12 и 13 июня Лайфхакер проведёт онлайн-забег. Присоединяйтесь!
Аватар автора комментария
Рафаэль Галиев5 часов назад

+1 / 0

Не обязательно в ручную кладь. Прилетев на место, можно переложить топор из большого багажа в сумку-бананку, нарядиться в одноразовые тапочки, дождевик, взять мусорные пакеты. И идти на пляж.
11 не самых очевидных вещей, которые пригодятся в путешествии
Аватар автора комментария
Ольга Богданова10 часов назад

0 / 0

Как убрать красноту вокруг рта после косметолога???на ночь чтобы утром уйти на работу нормально?
Как хорошо выглядеть даже с самого дикого похмелья
Аватар автора комментария
Ольга Богданова10 часов назад

0 / 0

Девушка, спасайте пожалуйста
Как хорошо выглядеть даже с самого дикого похмелья
ИГРА: Каким покупателем вас видят магазины

ИГРА: Каким покупателем вас видят магазины

Лайфхакер
Информация
О проектеРубрикиРекламаРедакцияВакансииО компании
Подписка
TelegramВКонтактеTwitterViberYouTubeИнициалRSS
Правила
Пользовательское соглашениеПолитика обработки персональных данныхПравила применения рекомендательных технологийПравила сообществаСогласие на обработку персональных данныхСогласие для рекламных рассылокСогласие для информационной программы
18+Копирование материалов запрещено.
Издание может получать комиссию от покупки товаров, представленных в публикациях