Jobs: Anna Vorobyova, um desenvolvedor líder de máquinas virtuais a partir Parallels
Empregos / / December 27, 2019
Meninas destacar em profissões tipicamente masculinas, e este fato há muito deixou de ser percebida como um fenômeno social. Hoje heroína Categorias Anna Vorobyova Ele pode dar uma centena de pontos a qualquer profissional de TI masculino. Ela - um desenvolvedor líder de um dos principais componentes das máquinas virtuais na empresa Parallels. É hora de descobrir como ele funciona no campo da programação do sistema e se há, em sua opinião, o lugar as meninas em equipes de engenheiros de software.
O que você faz no trabalho?
I - um desenvolvedor líder de core-equipe nos Parallels empresa. Core-equipe lida com a criação e melhoria do monitor de máquina virtual chamada - um componente central do hypervisor de virtualização em toda a gama de produtos Parallels. É no monitor cria um processador ilusória, memória, todos os dispositivos.
Concordo, é um pouco emprego atípico para as mulheres. Durante a minha carreira em TI deveria agradecer seus pais - eles realmente se preocupava com o futuro de sua prole inteiramente humanitária. Mas já em instituições (MESI), eu enfrentei reais de TI fanáticos que estavam dispostos a falar o dia todo sobre o sistema operacional do dispositivo. Dois dos mais crianças avançadas foi a Parallels, quando ela era empresa muito jovem. Eles são tão divertido para dizer o nível de problemas a serem resolvidos e a atmosfera na equipe, que suas histórias acabará por ajudar a fazer a escolha de emprego.
unidade contínua é quase impossível na obra. O trabalho do engenheiro de software - não é excepção. Isso acontece como ups criativas e períodos de apatia criativa. Mas, em geral, virtualização e computação em nuvem não dar uma falta. Nesta indústria, sempre alguma coisa acontecendo, você precisa enfrentar estes novos desafios. Além disso, estamos constantemente a melhorar o seu código, sua tecnologia, toda a coisa ao mesmo tempo aprender. Especialmente um monte de oferecer viagens para conferências internacionais.
Nosso monitor de máquina comum virtual para toda a linha de produtos de virtualização hypervisor - Parallels Desktop, Parallels Workstation, o Parallels Server. Na verdade o monitor - é um tal sistema operacional micro que a vida por suas próprias regras, com sua própria alocadores de memória, chamadas diferidos, temporizadores e de sincronização. E enquanto o monitor completamente visível para o sistema operacional hospedeiro - o aplicativo acessa o motorista, o motorista começa a trabalhar, e - e, em seguida, a magia! - Temos no monitor, não o sistema operacional. Na verdade, este switch mágicas contextos com toda sua versatilidade na montagem nua - uma razão para o meu orgulho profissional. Ele, ainda é muito melhor densidade de máquina virtual por unidade de equipamento no produto de servidor Parallels Servidor Bare Metal. Nós estávamos lá este torções de memória que o prazer para olhar.
Durante a busca de soluções óptimas trabalhar Virtual Machine Monitor eu tenho que cavar muito profundamente no núcleo do sistema operacional. Saiba mais sobre esta desenvolvedores do sistema operacional, que provavelmente vai ser muito surpreendido. Difícil de acreditar, mas mesmo em sistemas da Apple de vez em quando há erros. Quando nós primeiro sportirovali nosso famoso entre "makovodov» Parallels Desktop (PD) em um aplicativo de 64 bits, Mac OS O anfitrião tornou-se reiniciar de forma completamente aleatória ou pendurar a morte. Busca de erro caiu-me - provavelmente devido a uma combinação de minha responsabilidade ea complexidade geral da tarefa. Diagnóstico em tais tipos de "queda" não permanece, então eu me padrão lã problema "64-bit".
Depois de longa pesquisa verificou-se, MacOS que, para processos de 64 bits pode usar os dados errados, contando com uma cópia em cache. sistema operacional quando se muda para processo de 64 bits não está completamente sobrecarregada todos os registros de CPU (para aqueles que estão no assunto, é sobre a GS e FS). O processador roda a valores em cache. E o nosso monitor de máquina virtual no trabalho (apenas no que a chave mágica) restaura todos os registros, incluindo incorreta. Os dados desses registros eram tão críticos para o sistema operacional, que ela não poderia mesmo desenhar uma mensagem sobre a crítica do kernel erro (kernel panic), recursivamente chamar o manipulador de erro. PD Atualização, contando com o fato de que eles estão corretos. Para seu crédito, a Apple é importante notar que eles respondem rapidamente a erros, e em Lion-e (menos de um ano), o problema foi corrigido.
Como o seu local de trabalho?
Meu local de trabalho pode ser descrito como uma combinação harmoniosa de "pedaço de ferro" muitos e embalagens de chá verde. Eu amo o chá e uma impressionante frota de veículos - é uma necessidade industrial dura. Virtualização da Parallels - um produto multi-plataforma, portanto, construir e testar protótipos de novas versões representam o equipamento variegada.
Qual é o uso de "ferro"?
Sobre uma grande mesa (e sob ele) ao vivo:
Dois desktop - um no processador Intel, e os outros - em um processador AMD.
servidor MacPro.
MacBook Laptop.
Sobre o "ferro" sistemas definir um zoológico - e MacOS X, Windows e diferentes versões bit diferentes, e várias versões do Linux.
Por glândula em geral e em particular para gadgets, eu era indiferente para a última viagem para a WWDC (Apple Developer Conference), que é perdidamente apaixonado com o iPhone. By the way, minha cópia do dispositivo - capturado. Ganhei-o em uma aposta com um co-fundador profissional do Parallels, e agora presidente do conselho Sergey Belousov. Uma vez que estávamos sentados em um restaurante. E não conseguia lembrar o nome de uma das tecnologias epplovskih recentemente introduzidas. Sergey google, riu e disse: "Então, quem é o primeiro lembrar que e iPhone». Cada um tinha três tentativas. Primeiro pensei. A tecnologia chamada FaceTime.
O uso de software?
No "ferro" conjunto de peças locais 8-10 uma variedade de sistemas operacionais. imagens do SO - incontáveis. E eles não são piores do que nada, pelo caminho. Macio na minha mais específico - compiladores, depuradores, diferente ambiente de desenvolvimento integrado (IDE), disassemblers, profilers, DebugKit-s. Das ferramentas favoritas é fornecer desmontador IDA. Nos Parallels, além disso, uma ampla gama de instrumentos do seu desenvolvimento. Nós coletamos hóspedes e monitor de lixeiras, a realização de contadores de desempenho, logs, história, e agora terminar o seu depurador. Programação requer uma abordagem sistemática para solução de problemas.
Existe uma configuração de sonho?
Seus sonhos de "ferro", mesmo com medo de som - tão rápido que eles se tornem realidade :) geral deseja "ferro" - um pouco de CPU mais lógico (16), mais memória (8 GB). Mas mais crítico toda a qualidade recursos do processador - o mais fresco do processador, mais novos "brinquedos» - EPT, sem restrições, VT-D, TXT. Bem, disco rígido inteligente. Tudo o resto na maioria dos "ferros" modernas I geralmente satisfeitos.