Kernel WINDOWS system

I. Introduction

EmbeddedSystems is a computer system that integrates the operating system and functional software into the computer hardware system according to the application requirements, so as to realize the integration of software and hardware. The kernel system appeared in the late 1960s. Originally used to control electromechanical telephone exchanges, it has been widely used in industrial manufacturing, process control, communication, instruments, meters, automobiles, ships, aviation, aerospace, military equipment, consumer goods and many other fields. The number of kernel systems far exceeds all kinds of general-purpose computer systems: the annual output of core CPUs in computer systems is about 2 billion, of which more than 80% are used in various kernel systems with strong specificity.

Generally speaking, all special software and hardware systems with microprocessors can be called kernel systems. Compared with the general computing platform, the kernel system often has the characteristics of single function, small size, low power consumption, high reliability, good tailoring, high integration of software and hardware, and relatively low computing power. For many years, there is no operating system in kernel devices, mainly for two reasons: first, washing machines, microwave ovens, refrigerators and other devices only need a simple control program to manage a limited number of buttons and indicator lights, without using an operating system; Secondly, it often has limited hardware resources, which is not enough to support an operating system.

But with the development of hardware, the kernel system becomes more and more complex, and many functions are gradually added to the initial control program, and many of these functions can be provided by the operating system. Therefore, in the late 1970s, the embedded operating system appeared, which greatly simplified the design of application programs, effectively ensured the quality of software and shortened the development cycle. Simple ES generally does not use an operating system and only contains some control processes. However, with the increasing complexity of the kernel operating system, simple process control can no longer meet the requirements of the system, so it is necessary to consider using the operating system as system software. Therefore, the kernel operating system came into being.

With the wide application of EOS, the industry has launched some successful EOS products. To sum up, EOS should have the following characteristics: compact, real-time, detachable, code solidified, weak interaction, strong stability and unified interface. At present, the most widely used EOS products are: Vxwork, QNX, PalmOS, WindowsCE, pSOS, HopenOS (independently developed by Case Group in China) and so on. Among them, Vxwork has the widest application and the highest market share. Its outstanding feature is strong real-time performance (priority preemption and rotation scheduling). In addition, its reliability and expansibility are quite good. QNX is a highly scalable system, with a kernel of less than one trillion, a real-time POSIX environment and a complete window system. In contrast, MicrosoftWinCE has a huge kernel and its real-time performance is not satisfactory. However, due to the friendly user interface of Windows series, the familiar API of programmers, and the binding with IE, Office and other applications, it is gradually gaining more market share. Compared with these commercial operating systems, WINDOWS attracts more and more attention.

Second, the kernel window overview

WINDOWS is a mature and stable network operating system. Implanting WINDOWS into kernel devices has many advantages. First of all, the source code of WINDOWS is open, and anyone can acquire and modify it to develop their own products. Secondly, Lirmx can be customized, and its minimum system kernel is only about 134kB. The core program of a Chinese system and graphical user interface can also be less than 1MB, which is equally stable. In addition, it is compatible with most Unix systems, and the development and transplantation of application programs are quite easy. At the same time, because of its good portability, people have successfully made WINDOWS run on hundreds of hardware platforms.

But WINDOWS is not specially designed for real-time applications, so if you want to run WINDOWS in a kernel system that requires high real-time, you must add real-time software modules to it. The kernel space where these modules run is the part of the operating system to realize process scheduling, interrupt handling and program execution, so the wrong code may destroy the operating system, thus affecting the reliability and stability of the whole system. Many advantages of WINDOWS still make it widely used in the kernel field, and a considerable number of kernel WINDOWS systems have appeared. Representative ones are: uCWINDOWS, ETWINDOWS, ThinWINDOWS, LOAF, etc. ETWINDOWS is usually used in small industrial computers, especially PC/ 104 module. ThinWINDOWS targets dedicated camera servers, X- 10 controllers, MP3 players and other similar kernel applications. LOAF is the abbreviation of WINDOWSOnAFloppy, which runs on the 386 platform.

Third, the advantages of WINDOWS as a kernel operating system.

The advantages of WINDOWS as a kernel operating system are as follows:

1, which can be applied to various hardware platforms. WINDOWS has been ported to a variety of hardware platforms, which is very attractive for R&D projects with limited funds and time. After the prototype is developed on the standard platform, it can be transplanted to specific hardware, which speeds up the development process of software and hardware. WINDOWS uses a unified framework to manage hardware, and the change from one hardware platform to another has nothing to do with the upper application. WINDOWS can be configured at will, without any license or business partnership, and the source code can be obtained for free. This makes it possible to adopt WINDOWS as the operating system without any copyright disputes. Undoubtedly, this will save a lot of development costs. It has built-in network support, but at present, the kernel system has higher and higher requirements for network support. The high modularity of WINDOWS makes it very easy to add parts.

2.WINDOWS is a universal operating system similar to Unix, which is based on the kernel, has complete memory access control and supports a large number of hardware (including X86, Alpha, ARM and Motorola). The source code of the program is all open, and anyone can modify and publish it under the GNUGeneralPublicLicense. In this way, developers can customize the operating system to meet their special needs.

3.WINDOWS has perfect development tools familiar to Unix users, and almost all Unix system application software has been transplanted to WINDOWS. WINDOWS also provides a powerful network function, with a variety of optional window managers (XWindows). Its powerful language compilers, such as GCC and C, can also be easily obtained, which are not only mature and perfect, but also convenient to use.

Fourthly, the establishment of kernel window.

A complete kernel WINDOWS solution should include kernel WINDOWS operating system kernel, running environment, graphical interface and application software. Due to the special requirements of kernel devices, the kernel, environment and GUI in kernel WINDOWS solution are quite different from those in standard WINDOWS. The main challenge is how to realize high-quality real-time task scheduling, graphic display, network communication and other functions in narrow FLASH, ROM and memory.

1, thin kernel

WINDOWS kernel has its own structural system, among which process management, memory management and file system are its three most basic subsystems. Figure 1 simply shows its framework. User processes can directly access kernel resources through system calls or function libraries. Because the WINDOWS kernel has such a structure, we should pay attention to the coordination between subsystems when modifying the kernel.

Kernel WINDOWS kernel is generally cut from the standard WINDOWS kernel. Users can configure the system according to their own needs and eliminate unnecessary service functions, file systems and device drivers. After cutting and compressing, the system kernel is generally only about 300k, which is very suitable for kernel devices. Unlike standard windows, kernel windows must be launched from FLASH or rom. The standard WINDOWS startup code realizes system initialization and starts the kernel from floppy disk and hard disk O disk. Kernel windows are generally stored in FLASH or ROM, and standard LILO cannot boot. In systems that support direct boot from FLASH devices, such as uCWINDOWS of Huaheng Company, the boot program mainly completes the initialization of hardware system and the decompression and migration of operating system. In systems that do not support direct booting from flash memory, flash memory devices can only be used as non-boot disks. At this point, you can first load a small operating system, such as kernel DOS, from the hard disk or floppy disk, and then execute the "Loadlin" loader to boot the kernel window from FLASH.

The modification of standard window is mainly the modification of virtual memory and scheduler. Because the standard WINDOWS system uses virtual memory management to run multiple processes at the same time, the CPU time allocated to each process to be run is limited, and the utilization efficiency of resources is low. In this way, for kernel systems with high real-time requirements, real-time tasks often require CPU to have high burst processing ability, that is, it needs high processing efficiency at some time, so it is necessary to shield the virtual memory management mechanism of the kernel. A kernel system without hard disk devices does not need virtual memory management. Kernel applications with strong real-time requirements can be realized by modifying the task scheduling module, mainly by adding many switching points to the kernel and device drivers. At this point, the system detects whether there is an unprocessed emergency interrupt, and if there is, it deprives the kernel of running and handles the interrupt in time. A better way to realize real-time service is to add a real-time kernel to the standard WINDOWS kernel. The standard WINDOWS kernel runs on the real-time kernel as a task, and the strong real-time task also runs directly on the real-time kernel, such as RT-WINDOWS.

The file system is very important for the kernel WINDOWS operating system. However, standard WINDOWS supports a large number of file systems, so in order to meet the normal operation needs of the system, all but one can be deleted, and the original setting options can be used to delete. The general kernel device file system mainly adopts RamDisk technology and network file system technology. RamDisk can reside in flash memory and be loaded into memory at runtime.

2. Simplify the operating environment

The usual running environment of WINDOWS refers to the infrastructure for users to run any application, which mainly includes the function library and the basic command set. The standard WINDOWS system provides users with static and dynamic function libraries. The static function library is directly linked to the user application when the application is generated. Dynamic libraries are linked only when the application is running. Because the kernel system applications are generally pre-generated on the development platform, the kernel system only needs to provide dynamic function libraries to the applications. The function libraries needed by WINDOWS applications mainly include C library, math library, thread library, encryption library, network communication library and so on. The most basic is glib, the runtime of c language. This library mainly completes basic input and output, memory access and file processing. A standard glib library needs about 1200kB of storage space. Considering that the kernel WINDOWS kernel is often very small and this runtime is too large, we have done some streamlining work. There are two methods: (1), using static connection method and not using runtime dynamic connection at all; (2) Simplify the function of this library.

On the desktop system, using dynamic connection can bring many benefits. Using dynamic link library, applications can be separated from the update and upgrade of function library, which is convenient for maintenance and allows multiple programs running at the same time to enjoy a piece of code. However, in the kernel system, the possibility of multiple programs being parallel is very small, and the maintenance of programs, especially the maintenance and update of library functions, is not common. At this time, the advantages of using static connection are extremely obvious. Because static connection can only connect the parts used in the library to the program. In the case of few applications (less than 5), static connection can achieve better results. In order to meet the needs of future expansion, we also adopt the second method, which simplifies the contents of library functions and only keeps some basic functions. The other method is to adopt other C language runtime libraries. But these libraries have a great impact on compatibility.

The basic command set is also the basis of running user applications, which mainly includes initialization process init, terminal get Getty, Shell and basic commands. The startup process of the kernel system may be different from that of standard WINDOWS, such as skipping the login process and starting the GUI directly. This requires modifying init, getty, etc. Due to the capacity problem, the standard WINDOWS command set cannot be directly applied to the kernel environment. At present, there are two main solutions to the small command set: integration method and assembly method. The integration method reduces the overall volume of the command set by integrating the public parts, and is implemented in C, which has good platform portability. Assembly method uses assembly programming to reduce the size of each command, which can make the size very small but its platform portability is poor.

3. GUI under the kernel window.

GUI plays an increasingly important role in kernel system or real-time system, such as PDA, DVD player, WAP mobile phone and so on. All these require a complete and beautiful graphical user interface. The basic requirements of these systems for GUI include: (1), light weight and few resources; (2) high performance; (3) high reliability; (4) Configurable. These have also become important indicators to evaluate the kernel system. At present, the GUIs on kernel WINDOWS mainly include winCE, MicroWindow, compact XWindow and MiniGUI (one of the free software that is well done in China). Xfree86 of standard WINDOWS cannot run in the kernel environment because of its huge size and high requirements for the running environment. Kernel GUI mainly achieves the purpose of small size and less resources by reducing functions and performance. At present, there are mainly two GUI environments on kernel WINDOWS: X class and win32 class. Class x GUI is divided into server and client. The server provides mouse and keyboard processing and display functions, the client is a user application, and the server and the client communicate with X protocol through the socket interface. Using this method is very beneficial to remote network graphic service, and clients and services can realize X protocol and graphic display through the network. Typical X-type GUI includes MicroWindow, compact X-XWindow, etc. The GUI of win32 class has no client and server, and each task is independent. The switching and event distribution between any tasks are handled by special management tasks. WiCE and MiniGUI are GUI similar to win32 class.

Five, several popular kernel WINDOWS systems.

In addition to the field of intelligent digital terminals, WINDOWS has broad application prospects in mobile computing platforms, intelligent industrial control, financial terminal systems, and even military fields. These windows are collectively referred to as "kernel windows".

1、RT-WINDOWS

This is the kernel WINDOWS operating system developed by Mexico Institute of Technology. Up to now, RT-WINDOWS has been successfully applied in a wide range of fields, such as space data collection of the space shuttle, measurement and control of scientific instruments and film stunt image processing. RT-WINDOWS developers did not rewrite the kernel of WINDOWS according to the characteristics of real-time operating system, because it was a huge workload and it was difficult to guarantee compatibility. Therefore, RT-WINDOWS proposes a sophisticated kernel, which takes the standard WINDOWS kernel as a process of the real-time kernel and schedules it together with the real-time process of users. This makes little changes to the WINDOWS kernel and makes full use of the rich software resources under WINDOWS.

2、uCWINDOWS

UCWINDOWS is the main product of Lineo company and a model of open source kernel WINDOWS. UCWINDOWS is mainly designed for kernel systems where the target processor has no MMU(MemoryManagementUnit). It has been successfully ported to many platforms. Because there is no MMU, its multi-task implementation needs some skills. UCWINDOWS is an excellent version of kernel WINDOWS, which is the abbreviation of micro-control-WINDOWS. It inherits the excellent characteristics of the standard window, and has formed a highly optimized compact kernel window after miniaturization transformation in all aspects. Although small, it still retains most of the advantages of WINDOWS: stability, good portability, excellent network functions, full support for various file systems, and rich API standards. It has done a lot of miniaturization work for the kernel system, and now it supports a variety of CPU. The compiled target file can be controlled in the order of several hundred KB, and has been successfully transplanted to many platforms.

3、Embedix

Embedix is introduced by Luneo, one of the major manufacturers of kernel WINDOWS industry, and is a WINDOWS distribution redesigned according to the characteristics of kernel application system. Embedix provides more than 25 kinds of WINDOWS system services, including Web servers. The system requires at least 8MB of memory, 3 MB of ROM or flash memory. Embedix is based on WINDOWS2.2 kernel and has been successfully transplanted to Intelx86 and PowerPC processor series. Like other versions of WINDOWS, Embedix is provided free of charge. Luneo also released another important software product, which enables programs running on WindowsCE to run on Embedix. Luneo will also plan to launch Embedix's development and debugging toolkit and a browser based on graphical interface. It can be said that Embedix is a complete kernel WINDOWS solution.

4、XWINDOWS

XWINDOWS was launched by American Internet Tiger Company, and its main developer was Chen Yinghao. A few months after joining NetTiger, he developed a WINDOWS system based on XWINDOWS, claiming to be the smallest kernel in the world. The kernel is only 143KB, and it is decreasing. XWINDOWS kernel adopts the patented technology of "Super Character Set", which makes WINDOWS kernel not only compatible with standard character sets, but also covers the character sets of 12 countries and regions. Therefore, XWINDOWS has unique advantages in promoting the international application of WINDOWS.

5、

The WINDOWS operating system adopted by Agenda Company is the kernel of its new product "VR3PDA". It can provide a unified, standardized and open information and communication infrastructure across operating systems, and a complete platform to realize end-to-end solutions on this structure. The resource framework is open, so the common software structure can provide consistent services for all users. The platform takes users' eyes away from devices, platforms and networks, which leads to the emergence of a new information technology era. In, it is called customized information exchange (CIE), that is, the ability to provide and access "topic" information customized for each user's needs, no matter what equipment is used.

6、

Transmeta's operating system code is open, released under the GUN General License (GPL), and can be obtained immediately at http://http://midori. Transmeta, and the company has a company called "Plan". The name ""comes from the Japanese word "green"-Midori, which is used to reflect the environmental protection appearance of its WINDOWS operating system.

7. Red Flag Kernel Window

The kernel WINDOWS introduced by Hongqi Software Company of Beijing Academy of Sciences is a relatively good kernel operating system in China. At present, the open source kernel operating system Easyembeddos (EEOS) developed by Institute of Computing Technology of Chinese Academy of Sciences has also entered the practical stage. This kernel operating system mainly supports p-Java. On the one hand, the goal of the system is miniaturization, on the other hand, WINDOWS drivers and other modules can be reused. Relying on the powerful scientific research strength of the Institute of Computing Technology of Chinese Academy of Sciences, EEOS is expected to develop into a fully functional, stable and reliable domestic kernel operating system platform.

Ending of intransitive verbs

Because WINDOWS is an operating system with open source code, complete tool chain, strong network support and low cost, kernel WINDOWS has inherited these unique advantages since its birth, which has attracted more and more attention. According to the data of EvenData, it is estimated that the number of users using kernel WINDOWS will increase from 1 1% in 2006 to 27% in 2002, while Vxwork will only increase from 16% to 18% and WinCE will increase from 9% to10. In addition, in various application markets of kernel WINDOWS, communication (voice and data) ranks first, with sales of130,000 USD in 2000 and is expected to reach1260,000 USD in 2005. It can be predicted that the kernel window will occupy a strong position in the future kernel operating system for communication.

WINDOWS is a very popular operating system at present. It was originally written by LinusB. Torvolds, a college student at the University of Helsinki in Finland, is at 199 1. The iconic icon is a cute little penguin.

WINDOWS is a Unix-like system, and Linus wrote it to replace an operating system called Minix. Minix was written by a computer professor named AndrewTannebaum. At that time, because Unix was a commercial software, its source code could not be used for teaching. Professor Andrew wrote a system for teaching himself. most

The initial Minix can be installed on a floppy disk. Although the sparrow is small and complete, Minix has the characteristics of a universal operating system and is also compatible with Unix systems.

WINDOWS is a free operating system, users can get its source code for free and can modify it at will. It is free software under the protection of GPL(generalpublicense License), and there are several versions, such as China's RedHatWINDOWS, Slackware, XteamWINDOWS and so on.

WINDOWS has many functions and characteristics of Unix system and can be compatible with Unix, but it does not need to pay high fees for Unix. For example, a Unix programmer can use the Unix system at work, and he can use the WINDOWS system to do the same work at home without buying Unix again. You should know that the price of Unix is several times higher than that of common WINDOWS, which is far from the low price of Windows.

WINDOWS is also widely used. Sony's latest PS2 game console uses WINDOWS as the system software, which makes the PS2 a WINDOWS workstation. The digital technology synthesis of the famous movie Titanic was completed by using 100 WINDOWS servers.

On August 38, 2006540+007 17, WINDOWS released the latest version of WINDOWS2.4.9, which is also ten years.

Advantages of WINDOWS

WINDOWS is very popular because it has many attractions.

1, completely free

WINDOWS is a free operating system, users can get it through the network or other channels for free, and can modify its source code at will. This is beyond the reach of other operating systems. Because of this, countless programmers from all over the world have participated in the modification and writing of WINDOWS, and programmers can modify it according to their own interests and inspiration. This allows WINDOWS to absorb the essence of countless programmers and grow stronger.

2. Fully compatible with POSIX 1.0 standard.

This makes it possible to run common DOS and WINDOWS programs through corresponding simulators under Windows. This laid the foundation for users to switch from WINDOWS to Windows. When many users consider using WINDOWS, they all think about whether the common programs under Windows can run normally, which dispels their doubts.

3, multi-user, multi-task

WINDOWS supports multiple users, and each user has his own special permissions for his file device, which ensures that each user does not affect each other. Multitasking is the most important feature of computers now. WINDOWS allows multiple programs to run independently at the same time.

4. Good interface

WINDOWS has both a character interface and a graphical interface. In the character interface, users can input corresponding instructions through the keyboard to operate. It also provides an X-Windows system with a graphical interface similar to Windows, which users can operate with the mouse. In the X-WINDOWS environment, just like in WINDOWS, it can be said that it is a Windows version of Windows.

5. Rich network functions

The Internet is booming on the basis of Unix, and the network function of WINDOWS will certainly not be inferior. Its network function is closely connected with its kernel, and WINDOWS is superior to other operating systems in this respect. In WINDOWS, users can easily realize web browsing, file transfer, remote login and other network work. And can be used as a server to provide services such as WWW, FTP and email.

6. Safe, stable and reliable.

WINDOWS has taken many security technical measures, including access control for reading and writing, audit trail, core authorization and other technologies, all of which provide security. The network server needs to apply WINDOWS, which also requires high stability. In fact, WINDOWS is also excellent in this respect.

7. Support multiple platforms

WINDOWS can run on various hardware platforms, such as platforms with x86, 680x0, SPARC, Alpha and other processors. In addition, WINDOWS is a kernel operating system, which can run on PDA, set-top box or game machine. WINDOWS2.4 version 2.4 kernel released in June 2006, 5438+0 has been able to fully support Intel64-bit chip architecture. At the same time, WINDOWS also supports multiprocessor technology. Multiple processors work at the same time, which greatly improves the system performance.

Disadvantages of WINDOWS

Because in the current personal computer operating system industry, Microsoft's Windows system still occupies the majority share, and most software companies support Windows. This makes Windows have a variety of applications, while other operating systems are less. When changing the operating system, many users will consider whether the previous software can continue to be used and whether it will be inconvenient after changing the operating system. Although WINDOWS has DOS and Windows simulators, which can run some Windows programs, the Windows system is extremely complex, and the operating environment simulated by the simulator cannot be exactly the same as the real Windows environment, resulting in some software not running normally.

Many hardware devices also lack WINDOWS drivers, and many hardware manufacturers write WINDOWS versions only after launching Windows versions of drivers. However, some big hardware manufacturers have done a good job in this respect, and their WINDOWS drivers are generally launched in time.

Lack of software support is the biggest shortcoming of WINDOWS, but with the development of WINDOWS, more and more software vendors will support WINDOWS, and its application scope will be wider and wider. The future of this little penguin is very bright.