Open-source operating system
(Evaluation on the development of operating systems in China)
Lu shouqun, chairman of the China Open-Source Software Promotion Alliance
The difficulty of developing a successful Operating System
Operating system development is a very difficult task. To develop a successful operating system, you must organize a professional team with strong strength and rich experience, and invest a lot of money. Taking Microsoft's Windows Vista operating system as an example, Microsoft organized a development team of 5000 people and invested $9 billion, which lasted six years and was not successful, even Microsoft admitted that it had released a failed version. In the 1980s S, IBM had struggled to develop the OS-2 operating system.
Some units in China underestimate the complexity and difficulty of operating system development. With dozens of people or one or two hundred developers (with weak technical strength and no experience), they have little investment, after two or three years of work, they launched an operating system that claimed to be "completely self-developed". Some people threatened to "get rid of open source and create their own". Their success was very low in reliability.
"Open source-based" brings opportunities for Operating System Development
Open source provides opportunities for developing operating systems. The advent of transparent and open-source operating systems has made it possible for developers who are ignorant of the internal architecture of the Operating System (and cannot gain a deep understanding of it) to gain an opportunity to understand the operating system architecture, they also made a leap in this area. The open-source operating system can save a lot of manpower, material resources, financial resources and time for development work, allows operating system developers to stand on the shoulders of giants. Therefore, developing an open-source operating system is undoubtedly a correct development path.
In recent years, many Linux kernel-based operating systems, such as Android, WebOS, and meego, have been developed based on the Linux kernel.
The premise of accepting the national nuclear high-Foundation special cost subsidy is that the basic software must be developed independently. As mentioned above, the development of operating systems in China should adopt open source-based methods. Some people have doubts: is open-source and independent ?! To clarify and handle this problem, you must analyze the operating system architecture.
Operating System Architecture
The operating system architecture consists of the base layer, middleware layer, user experience layer, and independently configured software modules, such as the security module.
The underlying layer mainly refers to its kernel. For the middleware layer, from the developer's perspective, it mainly refers to the development environment and runtime environment (development environment and runtime environment). From the user's perspective, it mainly refers to various functional modules or application framework. The user experience layer (UE = UI + applicaions) consists of the user interface and various applications. Therefore, the operating system is a system consisting of multiple layers of architecture, multi-protocol, and many components.
General trunk kernel and dedicated branch Kernel
Many operating systems are developed based on the Linux kernel. The Linux Foundation (Linux community) is responsible for the development, release, and maintenance of the "Linux kernel" official (official) or Major General versions. For Linux kernel-based operating system developers, you can select a Linux kernel version as the kernel of their own operating system. If you want to modify the main version to form your own branch kernel version, the modified part must be promptly fed back to the maintenance manager of the main version to obtain their approval for the modification and register it in the main Linux kernel, eventually, this branch kernel version became a member of the Linux kernel family.
Android is a Linux kernel-based operating system. During the development of the Android operating system, the Google Android development team moved some driver modules configured in the Linux Kernel out of the Linux kernel, they also redefined and added some functional modules (such as the power management module), which once caused a conflict of views between the Linux community and Google's Android development team, however, the agreement was finally reached through negotiation. The above case shows that Google must obtain the approval from the maintenance manager of the main Linux kernel and register it when modifying the main "Linux kernel" to its own branch "android kernel, make "android kernel" part of "Linux kernel.
Partially created in Middleware
The development environment in the middleware layer mainly includes: (1) Editor, compiler, dynamic Runtime Library, (2) graphic interface development tools and graphics library, (3) multi-language environment support, (4) communication protocol stack, (5) database and supporting tools, (6) a variety of practical libraries, (7) Test, migration, and release tool chains. Various functional modules or application architectures in the middleware layer, such as various communication (COMMS), Internet services (Internet SVCs), video services (visual SVCs), and media services (Media SVCs) categories, data MGMT, device SVCs, and rersonal SVCs.
The Android operating system platform consists of 185 software components and 19 open-source license protocols that they comply with. In all open-source license protocols, the open source license agreement for apach2, which is followed by the middleware platform, is also an open source license agreement officially approved by the Open Source Promotion Association (OSI, and the restricted mutual open source license agreement (reciprocal) signed by civil society ).
It must be noted that if you want to develop an Android-based operating system without modifying the android kernel, the android development team should allow developers to develop their own security modules, user experience (including user interfaces and various applications), and allow users to customize them. In addition, developers should also be allowed to develop some functional modules (as well as the development environment) in the "Middleware" layer. These self-developed parts (which may be a small part) can be integrated with the open-source components introduced in the operating system (which may be the majority; because the operating system has a self-developed part (which can be open-source or closed-source), developers can maintain autonomy and controllability in the operating system they develop. The self-developed part in the user experience and middleware layer (or custom) can be viewed as a modification to the original Android open source software. These modifications do not need to be reported to the android Development Team for registration.
Expand User Experience
Different mobile terminal devices have different user experiences. To prevent excessive and scattered Android versions, Google once requested mobile devices equipped with Android operating systems to unify the user interface on its high-end applications, but it was subsequently rejected by everyone. Google Now opens source code to 31 tablet Manufacturers (partners) equipped with android3.0/3.1 (honeycomb, honey comb) and does not require unified user interfaces. These mobile device manufacturers can develop their own user interfaces and various applications for user experience.
Meego-Linux operating system vitality
The meego operating system was originally developed by the Linux foundation based on the integration of Intel moblin and Nokia maemo. Meego encountered a setback in its development: Nokia turned to abandon it, But meego did not fall down and continued to struggle.
What are the advantages of meego?
1. meego is open source.
Both meego and Android are open-source Linux kernel-based operating systems, but meego is a Linux development project and a Linux operating system. "Android kernel" is different from "Linux kernel". "meego kernel" is "Linux kernel", "android kernel" is the branch kernel, and "meego kernel" is the main kernel. Meego represents the mainstream Linux, and its development is naturally supported by the Linux community and global Linux volunteer developers.
2. QT is the development environment and architecture of meego.
QT is an excellent and rich development kit. It implements lgpl authorization and becomes a free software. Although QT is a subsidiary of Nokia, the development of QT support for meego has not been affected since intel and Nokia split up in meego cooperation.
3. meego's development platform is highly efficient
For example, compared with the Android platform, platform A has a Java Virtual Layer, which affects the running efficiency.
4. Have a strong development team
There are about 30 thousand developers in the Linux community, many of whom may be directed to meego development. Intel has about 200 developers related to meego, and QT has developers supporting meego.
5. Integrated many advanced technologies
Main Problems Existing in meego
1. urgently needed to build and expand the ecosystem
Intel (meego) is currently missing heavyweight partners to make their debut. The legendary LG, China Mobile, and ZTE (and Lenovo) occasionally sent some confusing information.
2. Accelerate the launch of high-performance and low-power mobile chips
The market competition for mobile terminal products is also related to the optimization of software and hardware matching. It seems that intel has accelerated the pace of introducing high-performance, low-power, and low-cost Mobile chips, but it will take effect until next year.
I encourage Chinese people to cooperate with meego to develop Linux kernel-based operating systems and pursue the perfect integration of open-source and self-developed operating systems.
Original address: http://blog.sina.com.cn/s/blog_4b8a02690100sctk.html? TJ = 1