Extracurricular expansion (2)

Unix System
Introduction
Unix is ​​an operating system that appeared in the early 1970s. In addition to being a network operating system, it can also be used as a stand-alone operating system. Unix has been widely used as a development platform and desktop operating system, and is currently mainly used in engineering applications and scientific computing.
Development history
UNIX system is a time-sharing system. The earliest UNIX system came out in 1970. Previously, there were only operating systems for batch jobs, and such systems were too slow for users who needed immediate responses. In the late 1960s, Kenneth Thompson and Dennis Ritchie both participated in the design of the interactive time-sharing system Multics, and the tool used to develop the system was CTSS. Both systems have had a major impact in the development of operating systems. On this basis, K. Thompson developed the UNIX system on a small computer in 1969 during the selective refinement and development of the existing technology at that time, and then put it into operation in 1970.
In 1973, Dennis Ritchie developed C language, used to rewrite the original UNIX written in assembly language, resulting in UNIX VersionV. In 1974, "The UNIX Time-Sharing System" co-written by Kenneth Thompson and Dennis Ritchie was published in the Communication of ACM, and officially disclosed the UNIX system to the outside world.
At that time, the PDP-11 series of small computers had been widely used all over the world. As soon as the UNIX system was developed, it was widely equipped on the PDP-11 series of computers in various universities in the United States, thus creating material conditions for the wide application of UNX.
In 1978, UNIX Version VI was released, and then used in 1979 for VAX-11 super minicomputer. In the future, various new versions have appeared continuously. AT & T published AT & T UNIX SystemII and UNIX SystemV in 1981 and 1983, respectively. The University of California, Berkeley has also published versions of UNIX BSD4.1, BSD4.2 and BSD4.3.
Now the users of UNIX system are increasing day by day, and the range of application is also expanding. Whether in various types of microcomputers, minicomputers, or medium and large computers, and in computer workstations or even personal computers, many are already equipped with UNIX systems. Not only the newly launched models are equipped with UNIX systems, but some manufacturers with a long history are also competing to match the original models with UNIX systems in order to open the market and win the market.
Features of unix operating system
UNIX system occupies an important position in the development history of computer operating system. It does continue to make fine, careful and selective inheritance and transformation of existing technologies, and it has developed in the overall design concept of the operating system to make it so successful. The main characteristics of the UNIX system are shown in the following aspects:
(1) The structure of the UNIX system is divided into two parts: the core program (kernel) and the peripheral program (shell), and the two organically combine to form a whole. The core part assumes the functions of various modules inside the system, namely processor and process management, storage management, device management and file system. The characteristics of the core program are elaborate design, concise and capable, and only need to occupy a small space and resident memory to ensure the efficient operation of the system. The peripheral part includes the system's user interface, system utility programs, and application programs. The user uses the computer through the peripheral programs.
(2) The UNIX system provides a good user interface, with features such as convenient use, complete functions, clear and flexible, easy to expand and modify. There are two forms of using the UNIX system: one is the operation command, that is, the shell language, which is the interface through which the user can interact with the system through the terminal; the other is the interface for the user program, which is not only in assembly language, but also in Provide services to users in C language.
(3) The file system of the UNIX system is a tree structure. It consists of a basic file system and if there are thousands of sub-file systems that can be loaded and unloaded, it can not only expand the file storage space, but also contribute to security and confidentiality.
(4) The UNIX system handles files, file directories and devices in a unified manner. It treats files as a stream of characters without any records for sequential or random access, and makes files, file directories, and devices have the same grammatical semantics and the same protection mechanism, which not only simplifies the system design, but also facilitates users.
(5) The UNIX system contains very rich language processing programs, utility programs and tool software for developing software, providing users with a fairly complete software development environment.
(6) The vast majority of programs in UNIX systems are programmed in C language, and only about 5% of programs are programmed in assembly language. C language is a high-level programming language, which makes the UNIX system easy to understand, modify and expand, and has a very good portability.
(7) The UNIX system also provides a simple communication function between processes.
The
operating system of the module must manage the hardware resources and software resources of the computer system in order to be used by users. Hardware resources generally refer to CPU (Central Processing Unit), memory (memory and external storage), external devices, etc. Software resources refer to system programs and data, that is, operating system, system utility programs and application software, and user programs and data, which are stored in memory in the form of files. The operating system is organically linked by several functional modules to work in coordination. These modules are: processor and process management module, storage management module, device management module, file system and user interface.
Processor and process management module
Because the processor (CPU) is a key resource in the computer, the execution of the process is closely related to the CPU, so the processor and the process management module may be simply referred to as the process management module. We call the job scheduling to determine which jobs will be transferred into memory and evacuated from memory after completion. How to control the transition between three states of a job in the running phase is called process scheduling. Therefore, how to give full play to the utilization of resources to make the response time short and the time for each user's job to wait for execution is the shortest is the principle of formulating the corresponding job scheduling algorithm and process scheduling algorithm. It's just that in different operating systems, there are different focuses on the above goals, so the scheduling algorithm is also different.
Storage management module
Storage management is to manage the storage (including memory and external storage) used by the job from the ready state to the end of the operation. The tasks of the storage management module can be divided into three parts: storage allocation, address mapping and storage protection.
Storage allocation After
a program is compiled and linked, a file called a memory image is obtained. This file describes the amount of memory required by this program when it runs, including the addresses of the code and data areas. These addresses are called logical addresses, and the first address 0 is used as a reference address. Whenever a job is transferred into memory and enters the ready state, the storage management module calculates based on both the available memory space and the memory required by the job, and allocates the corresponding memory space to the job.
Address mapping
loads a job into memory, which means a process will be created. The storage management module will align the first address (zero) of the image file of the job with the first address of the process in memory. The first address or starting address of this process is a physical address in memory, called an offset. The logical address of the image file plus the offset, the address values ​​in the memory are all physical addresses. The conversion of calculating logical addresses to physical addresses is called address mapping. All logical addresses in the image can be converted to physical addresses.
Memory protection
The memory space is always shared by several processes, including the part of the operating system itself that must reside in memory. The task of memory protection is to know which processes they belong to and the areas that each process has the right to access. Whenever a process needs to access an address during execution, the storage management module checks whether the process has the right to access the physical address. Generally, the area of ​​each process in memory is a legal address that the process can access. If the accessed address falls outside the area of ​​the process, illegal access has occurred. Once the illegal access is encountered, the memory protection will deny access and deal with errors.
The
external devices of the device management module include file storage media, such as input and output devices such as magnetic disks, tapes, and optical discs, such as character terminals, graphic terminals, various printers, plotters, and monitors; Image intake device, audio input and output equipment, etc.
The task of the device management module is to provide users with a convenient and unified interface, allocate these resources reasonably according to the application of the equipment to the job, classify the devices according to the performance and role of the device, and then use different drivers to drive these devices To improve the efficiency of the equipment.
File system
File system can also be called information management module, or file management module, which is mainly responsible for the management of software resources. All software resources are stored in the storage medium in the form of files, and the information is transferred in the computer in units of files. Therefore, a document is defined as a set of related information elements. All files form a file system in the computer. Although they have the same name as a management module of the operating system, they can usually be distinguished because of the different occasions and contexts in which they appear.
User interface
User interface (user interface) is also called user interface. The user uses the operating system through the user interface. A good user interface will make users feel the friendliness and convenience of the operating system. The user interface usually includes job control language, operating language and system call.
Different from Linux,
UNIX and Linux have different authorization methods
Fundamentally, the biggest difference between UNIX and Linux is that the former is traditional commercial software that implements intellectual property protection for source code. At the beginning of the development of UNIX, the copyright of UNIX at that time was owned by AT & T. In order to promote the development of UNIX, AT & T licenses the UNIX source code to academic institutions for research or teaching with low or even free licenses. Many institutions expand and improve on this source code to form the so-called UNIX derivatives. These derivatives The version in turn also promoted the development of UNIX.
Later, AT & T realized the commercial value of UNIX, no longer authorized UNIX source code to academic institutions, and declared copyright rights to the previous UNIX and its variants. This has a great impact on the development of UNIX. In the following decades, the development of UNIX was often accompanied by property rights disputes. For UNIX, most widely used distributions are maintained by commercial companies, such as OracleSolaris, IBMAIX, and HPUX.
From the beginning, Linux has followed the GNU General Public License (GNU GPL or GPL). The GPL grants program recipients the freedom to run the program for any purpose, the freedom to redistribute copies, improve the program, and make it public Freedom to post improvements. Therefore, any individual or company can modify the Linux code within the scope of the GPL and redistribute it. In addition, Linux can be used in any field, including commercial applications.
There is no technical inheritance relationship between UNIX and Linux.
Although the design of Linux has been greatly influenced by MINIX, this influence is not technical, but more conceptual. Linux does not use a line of UNIX code. It is an operating system built entirely from scratch. Therefore, Linux is not a derivative of UNIX, it is a brand new operating system.
UNIX and Linux have different hardware requirements
For a long time, UNIX has been maintained by some large companies, so UNIX is usually matched with the hardware produced by these companies. For example, Oracle Solaris has only the SPARC platform version for a long time. HP-UX can run on computers with HP ’s PA-RISC processor and Intel ’s Itanium processor. IBMAlX runs on IBM ’s Power PC architecture. on. Because of this, it has greatly restricted the wide application of UNIX.
UNIX is a very comprehensive operating system. In some respects, it has surpassed Linux in
more than 30 years of continuous development. Some basic technologies of UNIX have become very mature, and some have become common technologies for various operating systems. Numerous practices show that UNIX is one of the few operating systems that can meet the reliability requirements of mainframes. At present, many UNIX large: mainframes and servers are running 24 hours a day in large enterprises at home and abroad. For example, many large enterprises or government departments have established and run their entire enterprise / department information systems on the client / server architecture with UNIX as the main server.
Linux successfully imitates the UNIX system and functions. It can realize all UNIX features on ordinary PC computers and has the ability of multi-tasking and multi-users. More importantly, Linux is an open source product. Any individual or company can modify the source code of the Linux kernel to implement or enhance the functions it wants.
In fact, there are many differences between UNIX and Linux. For example, UNIX has powerful network functions. The TCP / IP protocol, which is the cornerstone of the Internet, was developed and developed on the UNIX system. UNIX is mostly used in supercomputers, minicomputers or workstations. The growth of these technologies is inseparable from UNIX. UNIX is the most influential and successful operating system in history.

Published 14 original articles · Like1 · Visits 477

Guess you like

Origin blog.csdn.net/a1152946932/article/details/104762159