Study concluded the first phase

1, description of the structure and functions of the computer.

 Computer hardware and software consists of two major components:

Hardware is divided into input and output sections, an input section such as a keyboard and mouse belongs, and belongs to the display output section. Hardware mainly includes a CPU, a memory RAM (also known as Random Access Memory) and a ROM (Read Only Memory), a hard disk, CD-ROM, and a display, etc., by the operator in which the CPU and controller, the RAM is used to store data temporarily running transmitted to the CPU, the controller calculates the control by the CPU, then transmitted to RAM; ROM is a BOSI microarrays, on-board computer starts to be read is provided inside the display data is displayed.

In turn, system software and software should be software components, such as WINDOWS is the system software, OFFOICE is the application software, the application software systems rely on software to run on this platform.

 2, the kernel function and effect described

 The kernel is the core of an operating system, is the most basic part of the operating system. It is responsible for process management system, memory, device drivers, and network file systems, determines the performance and stability of the system. It is to provide part of the software for many applications secure access to computer hardware, which access is limited, and the kernel decide at what time a program on how long a part of the hardware operation. Operate directly on the hardware is very complex, so the kernel typically provides a hardware abstraction method to complete these operations. Hardware abstraction hides the complexity, provides a simple to use software and hardware, unified interface to make programming easier. A kernel is not a complete operating system. For example, an operating system called Linux, or GNU / Linux operating system based on Linux kernel intact.  

Core role

Process management: the kernel is responsible for creating and destroying processes, and process them in touch with the outside world (input and output), communications between different processes (through signals, between the pipes, or interprocess communication primitives) is a function of the whole system is essential , also handled by the kernel. In addition, the scheduler, the process of how to share control CPU, is part of the process management. More generally, the kernel process management activities to achieve a more abstract processes on a single or a few CPU.

Memory management: the computer's memory is a major resource, processing strategy it uses the system performance is critical. For each kernel all processes have established a virtual address space on the limited available resources. The different parts of the kernel memory management subsystem to interact through a set of function calls, from simple malloc / free for the more complex functions.

File Management: Linux file system concept largely based; almost anything in Linux can be regarded as a file. Kernel established a structured file system on top of unstructured hardware, the result is very much abstract file application throughout the system. Further, Linux file systems support multiple types, that is, different physical media data organization. For example, the disk can be formatted into a standard Linux ext3 file system, FAT file system commonly used, or several other file systems.

Management driving: Almost every system operation are finally mapped to a physical device, in addition to the processor, memory and very little other entity, any control by all devices specific to the addressed devices related operations code to. These codes called device drivers. The kernel must be embedded in the driving system for each peripheral appearing, from the hard disk drives and tape drives to the keyboard.

Network management: network must be managed by the operating system, because most network operations are not specific to one process: access to the system message is asynchronous events. Packets must be collected before a certain process to take over, identification, distribution, system is responsible for delivering data packets between the program and the network interface, it must control the execution of the program according to the network activity of the program. In addition, all the routing and address resolution issues are implemented in the kernel.

 3, according to the series listed common Linux distributions and describe connections and differences between the different releases.

 Moderators have the following three Linux distributions: Debian, Slackware, Redhat

(1) Debian :( way communities operate)

   1) .Ubuntu: Debian-based development of open source Linux operating system, mainly for desktops and servers;

   2) .Linux Mint: Linux distribution based on Debian and Ubuntu, desktop systems dedicated to individual users daily work easier to use, more efficient, and the goal is to provide a more complete experience instantly available.

(2)Sackware

   1) .Suse: a secondary development based on Slackware Linux, mainly for commercial desktops, servers.  

   2) .SLES (SUSE Linux Enterprise Server (SLES): Enterprise Server operating system, Microsoft is the only system compatible with the Linux operating system.

  3) .OpenSUSE: a suse evolved, aims to promote the widespread use linux, mainly for the desktop environment, the user interface is very beautiful, and good performance.

(3)Redhat

  1) .rhel (red hat enterprise Linux): Red Hat's announcement of a business user-oriented Linux operating system. Mainly used for early versions of the desktop environment, free of charge:

   2) .Fedora: After termination issued based on Red Hat Linux, Red Hat plans to replace Fedora Red Hat Linux applications in the field of personal, while the other issue of Red Hat Enterprise Linux to replace Red Hat Linux applications in the field of business. Fedora functionality for the user, it is a full-featured, free operating system updates fast, while the sponsor Red Hat company, it is a lot of new technology test platform is considered the available technology will eventually be added to Red Hat Enterprise Linux in. Fedora release a new version about every six months.

  3) .Centos: Based on Red hat Linux can provide enterprise-class Linux distributions are free to use the source code. Each version of Centos will get years of support (by way of security updates). The new version of Centos issued once every two years, and each version of Centos regularly (about 6 months) updated to support new hardware. In this way, the establishment of a safe, low-maintenance, stable, high predictability and reproducible Linux environment.

(4) Other releases:

   1) .Gentoo: linux-based free operating system based on the free Linux operating system, it can be automatically optimized and customized for just about any application or need. Extreme configurability, performance and a top-notch user and developer community are all hallmarks of the Gentoo experience, Gentoo philosophy is freedom and choice. Thanks to a technology called Portage, Gentoo can become an ideal secure server, development workstation, professional desktop, gaming system, embedded solution or something else - whatever you need it to be, what it can become . Because of its near-unlimited adaptability, call Gentoo a meta-distribution.

   2) .Aech Linux (also known as Arch): with simplicity as a lightweight Linux distribution design concept. The development team adhering to the simple, elegant, and is designed to minimize the code.

Links and differences between different releases:
Contact: All distributions are using the Linux kernel; both need to follow the GNU GPL agreement; all distributions has its own version, the version is basically the same format conventions (the major version number. minor version number release number. revision number).
Difference: the essential difference between releases, that inheritance consisting of different versions of the kernel, libraries, the program. Different releases almost takes a different package manager (SLES, Fedora, openSUSE, centos , RHEL use rmp package management system, including files in RPM extension; Ubuntu series, Debian series based DPKG package management system, the package file to deb extension.

 4 difference, describing common open source license (GPL, LGPL, BSD, Apache, etc.) as well as open source license

 BSD open source license: BSD open source license agreement is to give the user a lot of freedom. Basically users can "do whatever they want", you can freely use, modify the source code can also be modified code as open source or proprietary software re-release.

                          But "do whatever they want," the premise that when you publish using the BSD protocol code, or the code based on BSD license places to do secondary development of their own products, need to meet three conditions:

                          1) If the re-released product contains the source code, you must have the original BSD license code in the source code. 

                          2) If the re-release only a binary library / software, you need to include the original BSD license code in the document libraries and copyright notices / software.

                          3) can not do with the marketing of open source code / agency name and the name of the original product.

BSD code that encourage code sharing, but the need to respect the copyright of the author of the code. BSD By allowing users to modify and redistribute the code, also allows the use or development of commercial software distribution and sales on the BSD code, so it is an integrated business-friendly agreement. And many of the companies in the selection of products when they are open source BSD protocol of choice, because you can completely control these third-party code can be modified or secondary development when necessary.

Apache Licence 2.0: Apache Licence protocol is well-known non-profit organization open source Apache used. The agreement is similar to BSD and also encourage code sharing and respect the original author copyright, also allows code changes, then released (as open source or commercial software).

                         Conditions need to be met and BSD also similar:

                        1) Users need to code an Apache Licence

                        2) If you modify the code, you need to be modified in the file description.

                       3) extending in the code (code and source code modifications derived) is required with the original code protocol, trademarks, instructions and other patent statement contained in the original OF predetermined required.

                      4) If the re-released product contains a Notice document, the document required in the Notice with Apache Licence. You can add your own license in the Notice, but not the performance of the Apache Licence to change the constitution.

                     Apache Licence also licensed for commercial use friendly. Users can also modify the code as needed to meet the needs and as open source or commercial product launches / sales.

GPL: GPL license agreement and BSD, Apache Licence and so encourage code reuse is very different. The starting point of the GPL open source code / free use and reference / modification / derivative code open source / free, but not allowed to modify the code and derived as a closed-source commercial software distribution and sales. This is why we can use a variety of free linux, including a variety of by individuals, organizations, and commercial software free software developed by commercial companies on the linux and linux.

         The main content of the GPL is to simply use ( "use" refers to the class library reference, the revised code or derivative of this code) GPL agreement in a software product, the software product must also be GPL license must also be both open source and free . This is called "contagious." The GPL products as a separate product without any problems, you can also enjoy free advantage.

         Due to the stringent requirements of the use of the GPL GPL library of software products must use the GPL, GPL agreement for the use of open source, commercial software or code division confidentiality requirement is not suitable for integration / adoption as the basis for the development of libraries and secondary .

Other details are similar when re-released as GPL requires accompanying agreements and BSD / Apache and so on.

LGPL: LGPL is a GPL is designed for use primarily open source libraries agreement. And the use of any software requirements GPL / modify / GPL-derived library must use different protocols GPL. LGPL allow commercial software library reference (link) mode without using the open source code library LGPL commercial software. This makes use of the LGPL open source code can be used as a reference library and publish and sell commercial software.

        However, if the code changes the LGPL or derivatized, all the modified code, the code involves additional code modifications and derived portions must use the LGPL. Thus the LGPL open source code is very suitable as a third-party commercial software libraries are referenced, but not for those who want to the LGPL code base, and derived by modifying the way to do secondary development of business software used.

       GPL / LGPL are the original author of protecting intellectual property rights, prevent people from copying and use of open-source development of similar products.

MIT: MIT and BSD is as wide as the range of the license agreement, the authors want to retain the copyright, without any restrictions other words, you must include a statement of the original license agreement in your distro, no matter you are in binary. or to publish the source code released.

MPL: MPL is short for The Mozilla Public License, the software license is the beginning of 1998 Netscape's Mozilla open source software project team for its design. The most important reason is the emergence of MPL license, Netscape Company believes that the GPL is not a good balance between the interests of developers the source code and the need for them to use the source code available. Compared with the well-known GPL license and BSD licenses, MPL in many aspects of the agreed rights and obligations and they are the same (since they are in line with the open source software licenses OSIA identified).

          In contrast, there are several significant differences MPL:

  • Although MPL requires modifications to the MPL license issued by the source code should be a way out sublicense MPL licenses, to ensure that others can share the source code under the terms of the MPL. However, MPL license in the definition of "publication" is "as source code released documents", which means that MPL allows a business plus an interface on their existing source code library, in addition to the source interface program Code-licensing in the form of MPL license, the source code library source code compulsory license out the way you can not MPL license. These, to learn from others on the behavior of the source code used in its own commercial software development left a gap.
  • Paragraph 7 of Article 3 MPL license allows source code licensees will MPL license obtained through other types of code with their own mix to get their own software program.
  • Attitude toward software patents, MPL licenses like the GPL license as clearly expressed their opposition software patents, but it clearly requires the provider does not provide the source code of the source code has been subject to patent protection (unless he himself is the patentee, and in writing to the public free license source code), nor in the source code license to open-source license application form and then go to the source code and related patents.
  • Definition of the source code: In the MPL (1.1 version) license, the definition of the source code is: "refers to the source code form of the work for making modifications choose to take top priority, which includes: all the source code for all modules , together with associated interface definition, plus control and installation of the executable compiled 'original' (description of 'Script'), or is not significantly different from the original source code and the source code is to be selected source contributors can be obtained from the public domain program code. "
  • MPL licenses Article 3 have special provisions is a modification to the source code is described, that is, requiring all publishers then had to have a special file to have a description of the procedures to modify the source code and modify the way in time.

 5, description of the Linux philosophy, and according to their own understanding of its explanatory description.

 Linux's philosophy:

        1. All documents are: almost all the resources all abstract as a file, including hardware devices, communication interface, and so on.

        2. From the many single-function programs: a program can only do one thing, and do a good job, a combination of a small program to complete complex tasks.

        3. Try to avoid interaction with the user: Target (easy to programmatically automate tasks)

        4. Save the text file configuration information. 

6, description linux directory structure and naming convention Directory Structure

bin: to store basic command library ordinary users can use, that basic binary.

boot: storing static files and start the relevant documents, including the kernel.

dev: storage equipment.

etc: storage system configuration.

lib: storage shared library.

lib64: store the 64-bit shared libraries.

home: ordinary store the user's home directory.

root: Administrator home directory.

media: When using the mount point, to mount the device.

mnt: When using a mount point, usually the administrator to manually mount.

opt: third-party application store software packages.

sbin: program manager with the store.

srv: Data storage services use.

tmp: temporary data storage.

usr: the directory structure of the second layer, which store a lot more than the same root directory of the directory, store most applications.

var: variable data storage, logging, website data, ftp data.

lost + found: ext4 file system only have the directory, file storage system failure due to the path of confusion.

misc: Miscellaneous storage, CD-ROM can also be used to achieve automatic loading.

proc: virtual directory, the contents stored in the content, not the hard drive.

sys: storage hardware related information

selinux: store selinux security policy.

run: CentOS7 increased directory.

Guess you like

Origin www.cnblogs.com/yurong001122/p/11107296.html