Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

The strongest entry to the operating system popular science (Unix / Linux article)

2025-04-09 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > IT Information >

Share

Shulou(Shulou.com)11/24 Report--

Hello, everyone. I'm Mr. Jujube.

In today's article, let's talk about the operating system (Operating System).

When it comes to operating systems, no one is unfamiliar with them. We are exposed to operating systems every day-desktops or laptops, windows and macOS; phones and tablets, android and iOS.

If you are engaged in the information and communications industry, you will often deal with Linux systems such as ubuntu, CentOS and Fedora.

In fact, there are many kinds of operating systems, far more than we know.

From the perspective of the use scene, the operating system can be roughly divided into desktop operating system, server operating system, mobile terminal operating system, embedded operating system, Internet of things operating system, cloud operating system and other categories.

As shown in the following table:

So, what exactly is the operating system?

In essence, an operating system is actually a set of software.

It belongs to the underlying software, can be said to be a butler, responsible for all the hardware and upper software (middleware, database, applications, etc.) management and connection, and resource deployment to complete the tasks assigned by users.

The operating system does a lot of complex work at the bottom, which greatly simplifies the difficulty of application software development.

For example, when I develop a video player, I don't need to write the underlying hardware code.

The operating system also plays an important role, which is convenient for users to use.

With an operating system, users can better manage their computers and conduct human-computer interaction (giving commands, querying results and status).

When a novice learns an operating system, the most troublesome thing is to recognize names and categories. Next, Xiao Zaojun combs all the operating system relationships from the perspective of the timeline.

The birth of the █ operating system the operating system did not exist when computers were born.

In February 1946, the world's first electronic computer was born at the University of Pennsylvania in the United States. Its name was ENIAC (Enniak).

ENIAC is composed of a large number of electronic tubes (vacuum tubes), which is extremely large, covers an area of 170square meters, weighs 30 tons and consumes 174kW. In terms of computing power, it can achieve 5000 addition operations per second.

This early computer had no monitor, no keyboard, no mouse, all of which were operated manually.

When in use, the full-time operator records the operation information on the punched tape. After the system starts, read the cassette information, then carry on the operation, and finally output the result.

The speed of the punched cassette computer is fast, but the speed of the person is slow. Therefore, the computer is often in a waiting state, waiting for input from the operator.

This seriously delays the efficiency of calculation, a waste of time, and a waste of money (electricity bill). So, in the 1950s, batch processing system (batch processing) began to appear.

In the batch processing system, operators classify the jobs submitted by users and organize a batch of jobs into a "job execution sequence". Each batch of work is automatically handled in turn by a specially designed supervision program (monitor).

This "monitor program" is the embryonic form of the operating system. It marked the birth of the operating system (1955).

The first batch processing system is the second generation of general-purpose computers, representative products are IBM 1401 and 7094 and so on.

Although batch processing improves efficiency, it still has some defects.

For example, when a job performs an I / O (input / output) operation, the host waits for the operation to complete, leaving itself idle. For example, the computer can only run one batch task at the same time, which is still too inefficient.

In the 1960s, with the rapid development of integrated circuit technology, we have faster processors, larger memory, and richer I / O devices. At the same time, channel and interrupt technologies appear and begin to allow the system to perform "suspend" operations.

As a result, there is a "multiprogramming system".

To put it simply, computer systems have changed from serial to parallel, and can run multiple tasks at the same time (multiple programs are put into memory, run alternately in CPU, and share hardware and software resources).

The multiprogramming system has greatly improved the efficiency of the computer. Later, the system supports multiple users to use at the same time. As a result, it becomes a "multi-user + multi-task" system, called "time-sharing system".

"time-sharing" is a bit like "time division multiplexing" in our communication field, which divides the running time of the processor into very short time slices and allocates them to each job in turn.

Later, the technology continued to evolve. Finally, we have a more timely "real-time operating system". This kind of system is very close to the concept of modern operating system.

The birth of █ UNIX in 1964, AT&T, GE and MIT jointly proposed a plan for the development of a super time-sharing operating system.

The plan was named Multics OS. Multics means MULTiplexed Information and Coputing System (Multiplex Information and Computing system).

At the time, they planned to use the system to build a computer that could connect 1000 terminals and meet 300 people online at the same time.

The plan lasted for five years and did not achieve the set goal. So in 1969, Bell Labs, a subsidiary of AT&T, announced its withdrawal.

After Bell Labs quit, the relevant project team members were idle. One of them is Ken Thompson (Ken Thompson).

Ken Thompson previously developed a game called Space Travel on Multics. After quitting the Multics project, Ken Thompson could not continue to play the game.

So he had a whim and planned to develop a simple operating system to run the game on a spare PDP-7 (a minicomputer made by DEC with low performance).

In August 1969, Ken Thompson spent a month writing a simplified version of the Multics system (including a set of kernel programs, some kernel tools, and a small file system) in assembly language while his wife was home to visit his family.

Colleagues in the lab jokingly call this system Unics. As a prefix, Uni means "single, one". Unics, which corresponds to Multics, means "one-way information and computing system".

Later, people took its homonym and directly called it "Unix".

Ken Thompson, who works while playing chess, wrote Unics based on assembly language, which has poor hardware versatility and can not be transplanted to other machines to run. So Ken Thompson tried to rewrite it in BCPL and PASCAL. However, the effect is not ideal.

At this time, his colleague Dennis. Dennis Ritchie stepped forward.

Denis。 Based on BCPL (B), Ritchie developed a new language, the later booming C language (in alphabetical order, B followed by C).

Soon after, Dennis. Ritchie successfully rewrote Unics in C language. In this way, the Unix operating system was officially born.

Ken Thompson and Dennis, who are operating the DEC PDP-11 computer. In 1973, Dennis Ritchie and Ken Thompson officially published a paper announcing the existence of Unix. The news caused a great response, and many people are looking forward to learning and studying Unix.

After AT&T launched Unix, it could not be sold because of antitrust sanctions imposed by the US government. Therefore, they can only provide Unix to everyone for free.

After a while, AT&T released version 5 of the Unix system and licensed it to educational institutions. In 1975, they licensed Unix version 6 for the first time for $20, 000.

During this period, many enterprises and institutions began to think about Unix.

In 1977, Bill Joy (Bill 喜悦), a graduate student at the University of Berkeley, put the Unix program on tape and released the BSD version. BSD is Berkeley Software Distribution (Berkeley software distribution).

In 1978, SCO, a server system software provider, packaged and released a commercial version of Unix.

Currently recognized as the most perfect version, is the 1979 release of System V7. This version is also called "the last real UNIX" by Unix players.

In 1980, the Defense Advanced Research projects Agency (DARPA) prepared to develop a TCP / IP agreement and chose to cooperate with BSD. This has greatly stimulated the development and popularization of Unix.

Later, Dennis Ritchie and Ken Thompson were known as the fathers of Unix and the C language. In 1983, both of them won the Turing Award.

After the launch of System V7, AT&T issued new terms of use to privatize the Unix source code. Unix began to take the road of commercial closed source.

Many companies have launched their own branches of Unix systems. The more famous ones are Solaris of Sun, AIX of IBM, HP-UX of Hewlett-Packard, and FreeBSD developed from BSD.

Solaris this system, Xiao Zaojun is very familiar with. It was through Solaris that I learned Unix. Its stability is extremely high, mainly used in SUN servers (V240 / V440, etc.), CPU is completely different, called SPARC.

FreeBSD has a much wider range of applications. It is released under the BSD license agreement, developed and maintained by volunteers from around the world, and allows anyone to use and distribute it at will (subject to copyright and license agreement information).

Apple's OS X is based on FreeBSD.

I will not dwell on the details of the closed-source branch of Unix. Send a picture for your reference:

After the birth of █ Linux, Unix began to charge fees and closed the source of business, which caused the dissatisfaction of an uncle. The uncle's name is Richard Matthew Stallman (Richard Matthew Stallman).

Richard Matthew Stallman launched the free software architecture GNU (GNU is not unix) in 1984 to redevelop an open source version that mimics the interface and use of Unix. He also organized and founded FSF (Free Software Foundation, Free Software Foundation) and drafted GPL (GeneralPublicLicense, General Public license).

The practice of GNU's famous bull head logo Stallman is of epoch-making significance. He ushered in the golden age of open source software.

All free software under the GPL agreement must follow the principle of "Copyleft"--

That is, free software that allows users to copy, modify and sell freely. However, any changes to its source code must be made public to all users.

By the early 1990s, the GNU project had developed many high-quality free software, including the famous emacs editing system, bash shell programs, gcc series compilers, gdb debuggers, and so on.

All these created conditions for the later birth of Linux.

After the Unix source code is privatized, the Unix source code is no longer allowed in universities.

In 1987, Andrew S. Tanenbaum, a professor of computer science at the Free University of Amsterdam in the Netherlands, decided to develop an operating system compatible with Unix without using any AT&T source code in order to teach operating systems in the classroom.

Andrew Tarenbaum called the system MINIX, which means mini-UNIX (small UNIX).

The main working platform of MINIX is IBM PC and its compatible computers. The PC comes with Intel's 16-bit processor, the Intel 8080.

After developing MINIX, Professor Tarenbaum did not promote it on a large scale. Moreover, he believes that the system is only for educational purposes, so it has not been further developed.

He doesn't even allow others to join the code (probably for fear of infringing Unix), which further limits the development and popularity of MINIX.

In 1991, Linus Torvalds, who was studying at the University of Helsinki in Finland, became interested in Unix and tried to do some daily work with the help of MINIX.

MINIX is too weak to meet Linus' needs. So, using GNU's bash as the development environment and gcc as the compilation tool, he successfully wrote the Linux kernel (Linux kernel) with 10000 lines of code.

Linus at this time is only 21 years old!

Linus Torvaz Linus' Linux kernel is based on the POSIX (Portable Operating System Interface for Computing Systems, Portable operating system Interface) standard and is compatible with most Unix operating systems.

When he released, he chose to follow the GPL protocol and the purpose of GNU, so when it was officially released, it was named "GNU / linux".

Linux's mascot is a penguin (English name: Tux) because Linus was bitten by a penguin when he was a child, so he was very impressed.

The relationship between █ Linux and Unix here, I would like to highlight the relationship between Linux and Unix.

Many people think that Linux is Unix, which is obviously wrong. As can be seen from the above introduction, Linux is open source free software, while Unix is the traditional commercial software that protects the intellectual property rights of the source code. The two are completely different things.

So, is Linux a Unix (Unix-like)-like system?

Technically, no.

Linux is just like Unix in style, but it doesn't contain Unix code. UNIX source code, owned by SCO. The trademark right and standard recognition right of UNIX belong to OPENGROUP.

A real Unix-like system must be officially certified (such as Apple's MacOS). And Linux didn't.

The release of █ Linux, please note that Linus developed not an operating system but a kernel in 1991.

Later, developers around the world (open source community, enterprises, individuals, etc.) made a large number of modifications and supplements to the kernel code, adding GUI (graphical interface), applications and other parts to form the corresponding Linux operating system distribution, that is, the real operating system.

These distributions are divided into community and commercial versions. There are a large number of community versions, and the main body of development and maintenance is the open source community. The commercial version has a small number and is further optimized on the basis of the community version.

It is worth mentioning that there are also complex derivative relationships between distributions. That is, a distribution can be built on top of another distribution.

Some distributions that you may be familiar with, including: Ubuntu, Debian, Centos, Fedora, Redhat Linux, Slackware, Turbolinux, Mandrake, SUSE, Red Flag, Kirin and so on.

Slackware and Debian are the two earliest distributions, created in 1993.

The offspring of Debian have relatively large branches. In addition to Debian itself, the main representatives of this branch are Ubuntu (built on Debian), LinuxMint (built on Ubuntu), and Kali Linux.

Redhat, that is, the red hat series that everyone is familiar with. Its main distribution is Red Hat Enterprise Linux (RHEL), which is aimed at enterprise customers.

CentOS is the product of recompilation of RHEL source code, which modifies a lot of Bug and is more stable.

In addition to RHEL, Redhat offers another free distribution to the community, Fedora.

The specific relationship and release time of these distributions are shown in the following figure:

Xiao Zaojun has basically used all of the above operating systems. When I first worked in 2005, I used Debian, RHEL, and Solaris. Later, I started using Fedora. And then, it was CentOS. At the beginning of the use, very uncomfortable, do not adapt. But once I get used to it, I feel good.

At the end of 2020, Red Hat announced that it would stop maintaining CentOS, and official upgrades and patches would not be available in the future. Although it is a pity, it also brings opportunities for domestic operating systems, which we will talk about later.

█ to be continued. At this point, you should have a basic understanding of the family context of Unix and Linux operating systems.

In the next article, Xiao Zaojun will focus on the line between Windows and macOS. Please follow us!

This article comes from the official account of Wechat: fresh Jujube classroom (ID:xzclasscom), author: Xiaozaojun

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

IT Information

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report