Why are linux and unix similar?
The original intention of Linux is to replace UNIX and optimize its functions and user experience. Therefore, Linux imitates UNIX (but does not plagiarize the source code of UNIX), making Linux very similar to UNIX in appearance and interaction. . Therefore, it can be said that "UNIX is the father of Linux". It is precisely because Linux and UNIX are inextricably linked that people call Linux a "UNIX-like system."
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
The relationship between UNIX and Linux is a very interesting topic. Among the current mainstream server-side operating systems, UNIX was born in the late 1960s, Windows was born in the mid-1980s, and Linux was born in the early 1990s. It can be said that UNIX is the "big brother" among operating systems. Later Windows and Linux both referenced UNIX.
Modern Windows systems have developed in the direction of "graphical interfaces", which are hugely different from UNIX systems. On the surface, the relationship between the two cannot even be seen.
The Troubled History of UNIX
The UNIX operating system was created by Ken Thompson and Dennis Ritchie )invention. Part of its technical origins can be traced back to the Multics engineering program started in 1965, which was jointly initiated by Bell Labs, MIT, and General Electric Company. The goal was to develop an interactive, multi-program processing capable time-sharing operating system to replace the widely used batch operating system at the time.
Description: The time-sharing operating system enables one computer to serve multiple users at the same time. The terminal user connected to the computer issues commands interactively, and the operating system uses time slice rotation to process the user's service request. And display the results on the terminal (the operating system divides the CPU time into several segments, called time slices). The operating system takes time slices as units and serves each end user in turn, one time slice at a time.
Unfortunately, because the goal pursued by the Multics engineering plan was so huge and complex that its developers did not know what to do, it ultimately ended in failure.
Bell Labs researchers headed by Ken Thompson learned from the failure of the Multics project plan and implemented a prototype of a time-sharing operating system in 1969. In 1970, the system was officially named UNIX .
Think about the prefixes Multi and Uni in English, and you will understand the hidden meaning of UNIX. Multi means big, big and complex; Uni means small, small and clever. This was the original design intention of UNIX developers, and this concept continues to influence today.
What’s interesting is that Ken Thompson’s original intention to develop UNIX was to run a computer game he wrote called Space Travel. This game simulates the movement of celestial bodies in the solar system. Players drive a spacecraft, enjoy the scenery and try to navigate various Landing on planets and moon. He tried it on multiple systems, but the operating results were not satisfactory, so he decided to develop his own operating system. In this way, UNIX was born.
Since 1970, UNIX systems have gradually become popular among programmers within Bell Labs. From 1971 to 1972, Ken Thompson's colleague Dennis Ritchie invented the legendary C language, a high-level language suitable for writing system software. Its birth was an important milestone in the development of the UNIX system, and it announced In the development of operating systems, assembly language is no longer the dominant language.
By 1973, most of the source code of the UNIX system was rewritten in C language, which laid the foundation for improving the portability of the UNIX system (previously, the operating system mostly used assembly language, which required a lot of effort on the hardware. strong dependence), also creates conditions for improving the development efficiency of system software. It can be said that the UNIX system and the C language are twin brothers and have an inseparable relationship.
In the early 1970s, there was another great invention in the computer industry-TCP/IP protocol, which was a network protocol developed by the U.S. Department of Defense after it took over ARPAnet. The U.S. Department of Defense bundled the TCP/IP protocol with the UNIX system and C language, and AT&T issued non-commercial licenses to various universities in the United States. This kicked off the development of the UNIX system, C language, and TCP/IP protocol. They have influenced the three fields of operating systems, programming languages, and network protocols to this day respectively. Ken Thompson and Dennis Ritchie received the Turing Award, the highest award in computer science, in 1983 for their outstanding contributions to the field of computing.
Picture 1 is a photo of Ken Thompson and Dennis Ritchie. Geniuses are all slovenly...
Various versions of UNIX systems appeared subsequently, and currently Common ones include Sun Solaris, FreeBSD, IBM AIX, HP-UX, etc.
Solaris and FreeBSD
Let’s focus on Solaris, which is an important branch of the UNIX system. In addition to running on the SPARC CPU platform, Solaris can also run on the x86 CPU platform. In the server market, Sun's hardware platform has high availability and high reliability and is the dominant UNIX system in the market.
For users who have difficulty accessing Sun SPARC architecture computers, they can experience the commercial UNIX style of world-renowned manufacturers by using Solaris x86. Of course, Solaris x86 can also be used in servers for actual production applications. Solaris x86 can be used for free for study, research or commercial applications, subject to Sun's relevant licensing terms.
FreeBSD originated from the UNIX version developed by the University of California, Berkeley. It is developed and maintained by volunteers from all over the world, providing varying degrees of support for computer systems of different architectures. FreeBSD is released under the BSD license agreement, which allows anyone to use and distribute it freely while retaining the copyright and license agreement information. It does not restrict the release of FreeBSD code under another agreement, so commercial companies can freely integrate FreeBSD code into in their products. Apple's OS X is an operating system based on FreeBSD.
The user groups of FreeBSD and Linux overlap considerably. The hardware environments supported by the two are also relatively consistent, and the software used is also relatively similar. The biggest feature of FreeBSD is its stability and efficiency, making it a good choice as a server operating system; however, its hardware support is not as complete as Linux, so it is not suitable as a desktop system.
Other UNIX versions will not be introduced too much here due to their relatively limited scope of application.
Those past events of Linux
The Linux kernel was first published by Linus Torvalds while he was studying at the University of Helsinki. It was written as a personal hobby. At that time, he felt that the mini version of the UNIX operating system Minix used for teaching was too difficult to use, so he decided to develop an operating system by himself. Version 1 was released in September 1991 with only 10,000 lines of code.
Linus Torvalds did not retain the copyright of the Linux source code, made the code public, and invited others to improve Linux. Unlike Windows and other proprietary operating systems, Linux is open source and anyone can use it for free.
It is estimated that only 2% of the Linux core code is now written by Linus Torvalds himself, although he still owns the Linux kernel (the core part of the operating system) and retains the option of new code and final authority for new methods that require incorporation. The Linux that everyone is using now, I prefer to say that it was jointly developed by Linus Torvalds and many Linux enthusiasts who joined later.
Linus Torvalds is undoubtedly one of the greatest programmers in the world. What's more, he also created the world's largest programmer dating community GitHub (open source code base and version control system ).
The origin of the Linux Logo is a very interesting topic. It is a penguin.
Why choose a penguin instead of a lion, tiger or little white rabbit? Some people say that Linus Torvalds chose penguins because he is Finnish. Some people say that because all other animal patterns were used up, Linus Torvalds had to choose penguins.
I prefer to believe the following statement. Penguins are the iconic animals of Antarctica. According to international conventions, Antarctica is owned by all mankind and does not belong to any country in the world. However, no country has the right to include Antarctica in its territory. . Linux chose the penguin pattern as its logo, which means: open source Linux is owned by all mankind, but the company has no right to keep it private.
The close relationship between UNIX and Linux
The relationship between the two is not that of elder brother and younger brother. The statement "UNIX is the father of Linux" is more Yidang. The reason why I want to introduce their relationship is to tell readers that Linux and UNIX actually have a lot in common when learning. Simply put, if you have mastered Linux, it will be very easy to start using UNIX. .
There are also two big differences between the two:
UNIX systems are mostly matched with hardware, that is to say, most UNIX systems For example, AIX, HP-UX, etc. cannot be installed on x86 servers and personal computers, while Linux can run on a variety of hardware platforms;
UNIX is commercial software, and Linux It is open source software, free and open source code.
Linux is loved by most computer enthusiasts for two main reasons:
It is open source software. Users can obtain it and its source code without paying any fees, and can make necessary modifications to it according to their own needs, use it free of charge, and continue to spread it without restrictions. ;
It has all the functions of UNIX. Anyone who uses the UNIX operating system or wants to learn the UNIX operating system can benefit from Linux.
Open source software is a model different from commercial software. Literally, it means open source code. You don’t have to worry about any tricks in it. This will bring about software innovation. and safety.
In addition, open source does not actually mean free, but a new software profit model. Currently, many software are open source software, which has a profound impact on the computer industry and the Internet.
Summarize the relationship/difference between Linux and UNIX
Linux is an operating system similar to Unix. Unix is earlier than Linux. The original intention of Linux is to replace UNIX. And optimize functions and user experience, so Linux imitates UNIX (but does not plagiarize UNIX source code), making Linux very similar to UNIX in appearance and interaction.
If you say imitation, you may get criticized. You can also say micro-innovation or improvement.
Compared with UNIX, the biggest innovation of Linux is that it is open source and free, which is the most important reason for its vigorous development; while most of the current UNIX is paid, which is difficult for small companies and individuals to use bear.
It is precisely because Linux and UNIX are inextricably linked that people call Linux a "UNIX-like system".
Related recommendations: "Linux Video Tutorial 》
The above is the detailed content of Why are linux and unix similar?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Have problems uploading files in Google Chrome? This may be annoying, right? Whether you are attaching documents to emails, sharing images on social media, or submitting important files for work or school, a smooth file upload process is crucial. So, it can be frustrating if your file uploads continue to fail in Chrome on Windows PC. If you're not ready to give up your favorite browser, here are some tips for fixes that can't upload files on Windows Google Chrome 1. Start with Universal Repair Before we learn about any advanced troubleshooting tips, it's best to try some of the basic solutions mentioned below. Troubleshooting Internet connection issues: Internet connection

To manage Linux user groups, you need to master the operation of viewing, creating, deleting, modifying, and user attribute adjustment. To view user group information, you can use cat/etc/group or getentgroup, use groups [username] or id [username] to view the group to which the user belongs; use groupadd to create a group, and use groupdel to specify the GID; use groupdel to delete empty groups; use usermod-aG to add users to the group, and use usermod-g to modify the main group; use usermod-g to remove users from the group by editing /etc/group or using the vigr command; use groupmod-n (change name) or groupmod-g (change GID) to modify group properties, and remember to update the permissions of relevant files.

In Linux systems, 1. Use ipa or hostname-I command to view private IP; 2. Use curlifconfig.me or curlipinfo.io/ip to obtain public IP; 3. The desktop version can view private IP through system settings, and the browser can access specific websites to view public IP; 4. Common commands can be set as aliases for quick call. These methods are simple and practical, suitable for IP viewing needs in different scenarios.

Linuxcanrunonmodesthardwarewithspecificminimumrequirements.A1GHzprocessor(x86orx86_64)isneeded,withadual-coreCPUrecommended.RAMshouldbeatleast512MBforcommand-lineuseor2GBfordesktopenvironments.Diskspacerequiresaminimumof5–10GB,though25GBisbetterforad

As a pioneer in the digital world, Bitcoin’s unique code name and underlying technology have always been the focus of people’s attention. Its standard code is BTC, also known as XBT on certain platforms that meet international standards. From a technical point of view, Bitcoin is not a single code style, but a huge and sophisticated open source software project. Its core code is mainly written in C and incorporates cryptography, distributed systems and economics principles, so that anyone can view, review and contribute its code.

To enable PHP containers to support automatic construction, the core lies in configuring the continuous integration (CI) process. 1. Use Dockerfile to define the PHP environment, including basic image, extension installation, dependency management and permission settings; 2. Configure CI/CD tools such as GitLabCI, and define the build, test and deployment stages through the .gitlab-ci.yml file to achieve automatic construction, testing and deployment; 3. Integrate test frameworks such as PHPUnit to ensure that tests are automatically run after code changes; 4. Use automated deployment strategies such as Kubernetes to define deployment configuration through the deployment.yaml file; 5. Optimize Dockerfile and adopt multi-stage construction

The shutdown command of Linux/macOS can be shut down, restarted, and timed operations through parameters. 1. Turn off the machine immediately and use sudoshutdownnow or -h/-P parameters; 2. Use the time or specific time point for the shutdown, cancel the use of -c; 3. Use the -r parameters to restart, support timed restart; 4. Pay attention to the need for sudo permissions, be cautious in remote operation, and avoid data loss.

Building an independent PHP task container environment can be implemented through Docker. The specific steps are as follows: 1. Install Docker and DockerCompose as the basis; 2. Create an independent directory to store Dockerfile and crontab files; 3. Write Dockerfile to define the PHPCLI environment and install cron and necessary extensions; 4. Write a crontab file to define timing tasks; 5. Write a docker-compose.yml mount script directory and configure environment variables; 6. Start the container and verify the log. Compared with performing timing tasks in web containers, independent containers have the advantages of resource isolation, pure environment, strong stability, and easy expansion. To ensure logging and error capture