Design of Embedded Network Memory Based on Linux

Source: Internet
Author: User
Tags network function
Linux-based embedded network Memory Design-general Linux technology-Linux programming and kernel information. The following is a detailed description. With the rapid development of modern information society, various types of data also grow exponentially. How can we access and manage these data more effectively, conveniently, and completely, it has become a concern. The emergence of new network storage technology has given people a good solution. It connects storage devices directly to the network and serves as a thin network client device to provide network storage services for users, the development of Web technology also provides technical support for convenient and reliable management.

   1. Hardware Design

In addition to the CPU unit, the implementation of network memory mainly includes two parts: I/O interface and memory interface. The following CPU-centric interface describes the main functions of these two interfaces.

① I/O interface. This refers to the interface between CPU and Ethernet (Ethernet interface ). It uses PCI to connect to the Ethernet. It is a channel for accessing the LAN (Local Area Network) and is responsible for sending or receiving packets on the Network throughout the system.

② Memory interface. There are two aspects: one is the RAM interface, which mainly stores data and adopts the PCI interface; the other is the Flash interface, which mainly stores the operating system and application software and connects to the CPU in the form of a parallel port.

③ Disk redundancy array card (RAID) interface. Including the CPU interface and disk array interface. The disk array is mainly used to store network user data. The CPU manages the disk array through the disk array, allowing certain redundancy to ensure the security of user data.

   2 Software Design

An appropriate operating system should be selected throughout the software design. The entire operating system requires a small size, strong network functions, suitable for cutting, can be embedded into Flash, and has network management and disk management functions. To meet these requirements, we chose the Linux operating system as the software platform and reduced its kernel to implement the Embedded Network memory function. The entire software implementation can be divided into the following parts.

   2.1 Linux kernel reduction

(1) Linux kernel Introduction


The Linux kernel consists of five parts: process scheduling, memory management, virtual file system, network interface, and inter-process communication. Process Scheduling controls the process's access to the CPU. The scheduler uses a policy to ensure that all processes can access the CPU fairly and ensure that the kernel can perform necessary hardware operations at any time. Memory Management is responsible for managing the system's physical memory to securely share the computer's memory with multiple processes. In addition, memory management supports Virtual Memory, allowing the process to use a memory address space larger than the actual physical memory, the unused memory address space is exported to the file system and imported back to the physical memory when needed. The Virtual File System abstracts various devices into a public interface, shielding the details of various hardware devices. Network Interfaces enable access to various network standard network hardware. The inter-process communication subsystem implements multiple communication mechanisms between processes in the system.

   (2) Linux Kernel configuration

The Linux kernel uses a single-block structure to dynamically load and uninstall modules. The system uses the dynamic loading and uninstallation functions of the kernel module to flexibly add new components to the kernel or uninstall kernel components that are no longer needed. Therefore, in the specific implementation process, you can reduce the size of the kernel for the features to be implemented. According to the hardware implementation diagram of network memory, the hardware interfaces of the entire system only include PCI and IDE interfaces. During Linux Kernel configuration, Floppy, SMP, MTRR, SCSI, and all Block devices and Character devices can be removed, leaving only old IDE devices and PCI. In addition, the file system occupies a considerable proportion in the kernel. VFS simplifies the design of the file system, and Buffer cache and Directory cache increase the system efficiency; however, these are not very useful for embedded systems and can be removed. The kernel will be reduced by about 20 KB, or the entire VFS will be skipped and the file system will be directly written as a Driver type, in this way, the file system can be reduced from 230KB to about 50KB. Network protocol support is essential when you configure the Linux kernel. Currently, most networks are based on the TCP/IP protocol, and the operating system used by the workstation is Windows or Linux. Therefore, the network function must be implemented, to achieve file sharing on different platforms, you should choose to support TCP/IP, NFS, and Samba protocols.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.