Secret Microsoft Windows, Linux subsystem staff development of the whole process

August 2016, I joined Microsoft from the Computer Science and Technology University of Virginia graduate, Microsoft's entire career for the Linux development tools. In fact, I hardly use the Linux operating system only college, most of the programming is written in C ++. I was learning experience does not seem suitable for Microsoft, but Microsoft is doing to catch up with the reform of enterprises, all operating systems are important, including Linux. Microsoft's first job is to add Linux SQL database development team, the team invited me to play a previous Linux experience it. I just graduated, hearing their own development experience can bring value to the team, I really feel flattered. A few years ago, Microsoft SQL Server just want to develop a joke on Linux, but by 2016, this idea has become a reality. Shortly after they released the first version, I joined the team, and is committed to improving the management tools for SQL Server - especially managing Linux servers and applications. To SQL Server running on Linux, the Linux operating system needs to work to design a command-line tool. I had the pleasure of SQL Server for the Linux version of the GUI design tool, has just started using the Visual Studio Code (now called Azure Data Studio Code), it is not the operating system limit, it can be used for all types of SQL Server development.

In the first year I learned a lot from Microsoft, processes and methods including project management, how to combine technology and business practice thinking.

             

August 2017, I joined the Linux subsystem of Windows (Windows Subsystem for Linux, referred WSL) research and development team, and served as project manager. I first heard WSL is at Microsoft Build Conference of 2016 on, when it was declared a "Bash on Ubuntu on Windows".

At that time Channel9 was released quickly became popular, and covered the many other reports on the Build site. "Wall Street Journal" reporter Kevin Gallo (Kevin Gallo) to Build Assembly made a short video presentation, although only occupies the entire keynote speech of two minutes, but the audience and the media are very excited. Channel9 team was worried that huge traffic WSL video is not DDoS attacks. Microsoft in the Windows system running Ubuntu caused a great sensation. Windows Console team is the first to identify customer needs and team WSL. When they go to customer research, again and again, people want to hear something similar Bash on Windows. The final team realized:? Now lets Bash itself runs on Windows, why develop something similar Bash it in fact create Windows subsystem for Linux is not easy to do. Team needs to have in-depth knowledge of the Windows kernel, but also a technical study called Pico process of Microsoft. Just Interestingly, Pico process for achieving SQL Server technology on Linux. Simply put, WSL make Linux compiled binary files on the Windows NT kernel operation possible, without recompiling the application or virtual machine.

Ubuntu is a Linux version of WSL in the first available. We contacted the beginning Canonical's developer to see if they are willing to help. They are very enthusiastic about the idea WSL and later Ubuntu can be used in Windows store (Windows Store) in. Multiple Linux version of the application exists in the Windows Store (at least six), is not that interesting, how much their own app stores have you seen other operating systems?

             

We write code that is compatible with the Linux kernel system calls (syscall), the Linux kernel process with the underlying Windows connected. Approximately 340 Linux system calls, the problem is to realize which system call? As with all operating system versions, the new system calls will be added with the new operating system versions, but in order to maintain backward compatibility, will not remove the old call. Syscall had emerged a wave of wave, WSL team also started in-depth understanding of what syscall user needs.

To achieve what syscalls, we must first understand what people will use it. The main purpose is to Build announcement WSL want people to use and provide feedback. Anyone can be obtained by WSL Windows internal procedures. Perhaps you think that only Windows enthusiasts will be interested in the internal procedures, but now there are more than 10 million subscribers, who are interested in various things, such as games, Bluetooth and WSL. For Windows running Bash interest are Web developers, they try to build a Web application running on a Linux server, Bash can be a series of commands. In addition, if you are looking for help to build Web applications, such as Stack Overflow, most of its sample code runs only on Linux - and you're on Windows development machine, which people feel helpless. For Web developers, had migrated to Mac and macOS, run the code in there.

In the early WSL enter Windows, an active user of WSL managed to get XEyes as a GUI application that runs in the WSL and X11. XEyes do it is draw a cartoon eyes on the screen with the mouse pointer turn. Upon successful demonstration, all social media are boiling!

             

We think a lot of methods to collect user feedback. Who WSL set up a UserVoice site above it has collected hundreds of thousands of ideas and vote. Considering the WSL's first audience is the Web developer, so I find it very GitHub role. But WSL is not an open source project - to place a non-open source project on GitHub open source seems very strange. Finally, we decided to create a special forum to discuss relevant issues and feedback on GitHub, so far we have received thousands of questions about the WSL.

On the WSL GitHub repo will submit tens of thousands of problems, and WSL team will review each question, through analysis and evaluation and then decide what to do. If you need to write new code to implement a feature or fix an issue, then the task will be added to the WSL project plan, the development cycle can be as short as a few weeks. In this way, people want WSL functions or problems encountered by UserVoice or GitHub has been effectively resolved quickly build a key part of WSL community but also the entire project creation process. When I WSL as a project manager, my goal is to go beyond the beta version of WSL. People complain about most is compatibility and performance. In my opinion these good question, it only shows that they are serious in our products, because in the early products we may only care about some major aspects of the system. Therefore, in order to let people with WSL do more, faster, and we have a lot of work to do.

With the expansion and improvement of WSL functions, we will WSL with other developers and system developers - not just limited to the development of Microsoft ecosystem. When we participate in such activities PyCon and OSCON, where the developers are very surprised to see Microsoft employees. When we told them on Microsoft development tools running Linux, they are skeptical. Then I spot demonstrates SQL Server, WSL and Visual Studio code.

             

To reassure them, I let them try. When these developers are starting to run their own commands, scripts and code, always excited response: "Wait, this is actually Linux is how you do it I will not know how it's cool.??."

WSL for complaints about compatibility and performance, we have solved this problem in a new version --WSL 2. It provides a Linux kernel and performance in Windows enhanced 20x. Today, WSL has passed beta testing and upgrade to version 2. You can learn more on the announcement blog.

I also worked with Microsoft's other team, hope WSL well combined with other products. For example, Visual Studio Code, it is Node.js JavaScript and most popular text editor. Using Visual Studio code developers can benefit from the WSL. The main advantage is that the running Node.js code WSL in debugging easier. Developers can write Linux versions of Node.js on Windows computers running WSL and debugging.

       

When we provide such functionality as Node.js, C ++, Python and other languages ​​have similar needs. I became fascinated by this integration, which brings a whole new experience for Linux developers. I now proceed to Visual Studio Remote Development c ++ code, we will line c ++ extensions WSL at this year's PyCon.

Although I work at Microsoft is not long, but I'm excited for Linux development tools - and then IDES from the database to the operating system. I am willing to continue to spread the love of Linux, and allows developers to create the world are satisfied with the tool. 

Guess you like

Origin www.cnblogs.com/vector11248/p/11348951.html