Jobs: Anna Vorobyova, a leading developer of virtual machines from Parallels
Workplaces / / December 27, 2019
Girls excel in the typically male occupations, and this fact has long ceased to be perceived as a social phenomenon. Today heroine Categories Anna Vorobyova It can give a hundred points to any male IT professional. She - a leading developer of one of the key components of the virtual machines in the company Parallels. It's time to figure out how it works in the field of system programming and whether there is, in her opinion, the place the girls in teams of software engineers.
What do you do at work?
I - a leading developer of core-team in the company Parallels. Core-team deals with the creation and improvement of the so-called virtual machine monitor - a central component of the virtualization hypervisor in the entire range of Parallels products. It is in the monitor creates an illusory processor, memory, all devices.
I agree, it is somewhat atypical employment for women. During my career in IT should thank their parents - they really cared about the future for their offspring entirely humanitarian. But already in institutions (MESI), I faced real IT-fanatics who were willing to talk all day long about the device operating system. Two of the most advanced children went to Parallels, when she was very young company. They are so fun to tell the level of problems to be solved and the atmosphere in the team, that their stories will ultimately help make the choice of employment.
Continuous drive is hardly possible in the work. The software engineer's work - is no exception. It happens as creative ups and periods of creative apathy. But in general, virtualization and cloud computing do not give a miss. In this industry, always something going on, you need to meet these new challenges. In addition, we are constantly improving their code, their technology, all the while learning something. Especially a lot of offer trips to international conferences.
Our virtual machine monitor common to the entire line of products with hypervisor virtualization - Parallels Desktop, Parallels Workstation, Parallels Server. In fact the monitor - it is such a micro operating system that lives by its own rules, with its own memory allocators, deferred calls, timers, and synchronization. And while the monitor completely visible to the host operating system - the application accesses the driver, the driver begins work, and - and then the magic! - We have in the monitor, not the operating system. Actually, this magical switch contexts with all his versatility on the bare assembly - a reason for my professional pride. He, there is still much improved virtual machine density per unit of equipment in the server product Parallels Server Bare Metal. We were there this memory twists that pleasure to look at.
During the search for optimal solutions work Virtual Machine Monitor I have to dig very deep into the core operating system. Learn about this OS developers, they'll probably be very surprised. Hard to believe, but even in systems from Apple from time to time there are errors. When we first sportirovali our famous among "makovodov» Parallels Desktop (PD) on a 64-bit application, Mac OS The host became itself completely randomly reboot or hang to death. Search error dropped me - probably due to a combination of my responsibility and the general complexity of the task. Diagnosis at such kinds of "fall" does not remain, so I myself wool standard "64-bit" problem.
After long research it was found out, MacOS that for 64-bit processes can use the wrong data, relying on a cached copy. Operating system when switching to 64-bit process is not completely overloaded all the CPU registers (for those who are in the subject, it is about the GS and FS). The processor runs at cached values. And our virtual machine monitor at work (just at that magical switch) restores all the registers, including incorrect. The data in these registers were so critical to the OS, that she could not even draw a message about a critical error kernel (kernel panic), recursively calling the error handler. PD Updating, relying on the fact that they are correct. To its credit, Apple is worth noting that they quickly respond to bugs, and in Lion-e (less than a year), the problem was fixed.
How does your workplace?
My workplace can be described as a harmonious combination of many "piece of iron" and packs of green tea. I love tea, and an impressive fleet of vehicles - is a harsh industrial necessity. Virtualization from Parallels - a cross-platform product, therefore, build and test prototypes of new versions account for the variegated equipment.
What is the "iron" use?
On a large table (and under it) live:
Two desktop - one on the processor Intel, and the other - on an AMD processor.
MacPro server.
Laptop MacBook.
On the "iron" systems set a zoo - and MacOS X, Windows and different bit different versions, and various Linux versions.
By gland in general and in particular to gadgets, I was indifferent to the last trip to the WWDC (Apple Developer Conference), which is hopelessly in love with the iPhone. By the way, my copy of device - captured. I won it in a bet with a professional co-founder of Parallels, and now chairman of the board Sergey Belousov. Once we were sitting in a restaurant. And could not remember the name of one of the recently introduced epplovskih technologies. Sergey google, chuckled and said, "So, who's first remember that and iPhone». Each had three attempts. I first thought. A technology called FaceTime.
What software use?
At the local "iron" set pieces 8-10 a variety of operating systems. OS images - countless. And they are not worse than nothing, by the way. Soft in my most specific - compilers, debuggers, different integrated development environment (IDE), disassemblers, profilers, DebugKit-s. Of the favorite tools is to provide disassembler IDA. In the Parallels, in addition, a wide range of instruments of its development. We collect guest and monitor dumps, conducting performance counters, logs, history, and now finish your debugger. Programming requires a systematic approach to troubleshooting.
Is there a dream configuration?
Their dreams of "iron" afraid even to sound - so fast they come true :) General wishes to "iron" - a little more logical CPU (16), more memory (8 GB). But more critical all the quality features of processor - the fresher the processor, the more it new "toys» - EPT, Unrestricted, VT-D, TXT. Well, smart hard disk. Everything else in the most modern "irons" I generally satisfied.