Chapter 191: Linux

readx;

Lin Hong's recompiled CQCQ software version on the minix platform does not have a graphical interface, which is equivalent to being specially prepared for users with a certain technical foundation, and if you want to query some information, you must use commands to query. Pen × fun × Pavilion www. biquge。 info

He used the command to check the online list, and found that there were three people online at the moment, one was himself, the other was Phyllis, and there was a user with a CQ number of 10002, nicknamed Lucy.

It seems that this Lucy should be Phyllis's sister.

Phyllis, how does the improved version feel?

Chose to speak to Phyllis and sent her a message.

Uncle Stone, are you online? The new version is so much better than the previous one, it's so convenient! My good sister Lucy also used it, and I didn't teach her much, so I got started quickly.

Is it? That's great. Also, I've added a file sharing feature to it, so you can try it out.

See, I just sent Lucy a document! I've been using this software for so long, and I'll know immediately if anything changes. There's also a chat room feature, right? Why don't I open a room and the three of us talk together?

I have something to do right now, next time. You can find a few more friends to use, if they have any suggestions, you can help me collect them, whether good or bad, and send them to me together.

This one is no problem at all, and the current version is easy to use, and I'm sure they'll be happy to join it!

Then I'll go down first, there's something else.

Well! I'll send someone to pick you up tomorrow, but don't forget about it!

Seeing Phyllis's feedback, Lin Hong was also very happy.

It's a good feeling to be able to get the approval of others for something you make yourself. Hackers are constantly exploring the unknown world and then publishing their results for free, in addition to the internal motivation of their own interests, a large factor is to want to be recognized by others.

In a way, it's also a form of vanity, but technods are more subtle, and they satisfy their inner vanity in a way that they may not even realize it.

Since there was still no email client under Minix, Lin Hong could not contact Linus directly, so he had to package the written source code and program together and copy it to a floppy disk. Then switch to the MS-DOS system and send the CQCQ package to Linus by email.

This way, it can be more convenient for them to connect.

Then, Lin Hong logged back into CQCQ and hung up, studying the source code of Minix, while refreshing the online list from time to time.

Phyllis sent a message to ask why he was on again and invited him to join the chat, Lin Hong had to enter the chat room created by Phyllis and chat for a while.

It can be seen that Lucy's personality is more lively than Phyllis, and she has been asking Lin Hong for some information, and the questions are very explicit, and the other party completely treats Lin Hong as Phyllis's boyfriend and asks him, which makes Lin Hong difficult to parry, and can only say some ambiguous words perfunctorily.

After looking at the number of people online again, his eyes couldn't help but light up, because he saw a fourth online member named Linus suddenly appear online.

Finally on!

Lin Hong hurriedly said to the other two girls, withdrew from the chat room, and then took the initiative to say hello to Lus.

Stone: Hello, Linus, I'm Stone.

Linus: Hello, hehe! You really surprised me, I didn't expect that I just sent you the gcc, and you turned around and developed an instant messaging program inside!

Stone: The code is all out of the box, you know, it's not that hard.

Linus: It's nice to talk to you directly under Minix! Stone, that's not all you surprised me.

Linus: I remember that not so long ago, you were a ham with no idea about computers, and now you have the same technology and knowledge as I do.

Stone: There's a lot more to learn.

Linus: You're still so humble! Stone, this CQCQ software, is it announced that you are willing to officially join this operating system project?

Stone: Absolutely! I've totally fallen in love with the system and I love the feeling of knowing everything! I've decided to read through all the source code you've sent me over the next few days.

Linus: That's a nice note! Man, I have a new project now, you know, the minix copyright itself is not completely open source, the author still has some reservations about it, so I want to refactor the kernel of this operating system.

Linus: Have you heard of the GNU project?

stone:gnu? Is it the operating environment in which GCC was born? I've only seen it in books, and it seems to be a free software project, but the specifics are not very well understood.

Linus: GNU is a UNIX-like operating system, driven by the GNU project, with the goal of creating a free software environment that is fully UNIX-compatible, i.e., a completely free operating system. This project, first started by Richard Stallman in 1983, was the first goal of the Free Software Foundation.

Linus: Although GNU has developed well over the years, and there is a lot of excellent software on it, its important component, the kernel hurd of the operating system, has been slow due to its over-complexity.

Linus: I went to a talk last week at a free software advocate and found the GPL license they advocate very interesting, and a friend of mine strongly recommended that I join the GNU free software camp......

Then, Linus explained the details of the open source license GPL (GNU General Public License) to Lin Hong in detail, and consulted Lin Hong's opinion.

Stone: Are you saying you want to make an operating system that anyone can download and install for free?

Linus: Yes. The minix is also very good, but it's only free for education, and you know, I spent a lot of money and time to buy the system.

Linus still haunts that experience, but he waited at least a month and spent more than a hundred dollars to finally install the minix on his computer.

The other systems on the market are all commercial systems, and if you want to use them, you have to pay a lot of money to buy them.

It's an ambitious idea to write a completely free to use but very powerful operating system for all the tech enthusiasts in the world, but it's pretty cool, isn't it?

Lin Hong naturally expressed strong support for this.

So, he and Linus discussed some of the details of redesigning the new operating system on the CQCQ software.

In this regard, Linus is more experienced than Lin Hong, because he has been studying this area for a long time, plus he has minix reference experience, so basically he is telling Lin Hong the basic concepts.

The core of the minix is designed with a microkernel structure.

The microkernel structure consists of a very simple layer of hardware abstraction and a set of more critical instructions or system calls. These instructions include only a few of the parts necessary to create a system, such as thread management, address space, and inter-process communication.

To put it simply, the kernel is very small. The purpose of this design idea is to completely separate the system services and the basic operations of the system, and to minimize the relationship between them.

For example, the file system is also a process in the microkernel, and it doesn't matter if it crashes, just restart it like any other software.

The author of Minix, Tarenbaum, is himself a professor of operating system design, and when designing this system, he absorbed the most advanced design ideas at that time, and the microkernel is a relatively advanced kernel structure.

However, Linus doesn't seem to like the design, arguing that keeping a lot of the system structure and operations outside of the kernel as a component leads to security vulnerabilities that make it vulnerable to attacks. In addition, the microkernel is too simple internally, and its process management and interrupt management capabilities are also very limited, which can indeed meet the requirements compared to a simple toy like the minix, but if you want to implement more complex system functions, it is a bit powerless.

The microkernel structure is more suitable for single-chip microcomputer systems, such systems do not even need a file management system, and the configuration is relatively low, and the smaller the kernel, the better.

The structure that corresponds to the microkernel is the macrokernel.

MS-DOS uses a macro kernel architecture, which is divided into kernel space and user space.

The kernel encapsulates the hardware structure to form a relatively high-level virtual interface for user-space programs to call.

Linus: I prefer to use a macrokernel architecture, so that the code in the operating system is highly tightly knit, and although there may be a bug in one module that crashes the whole system, such problems can be avoided completely if they are carefully designed and improved.

Linus: More importantly, such a kernel will make the operating system code run more efficiently and more securely on the hardware.

When Lin Hong heard him say this, he also felt that there was a certain amount of truth.

In fact, in his opinion, since there have been cases proving that both architectures are feasible, it doesn't matter which kernel is used, the key depends on how to implement it.

Because at the beginning, the project started with Minix, and it may be that Linus wanted to completely avoid the shadow shrouded by Minix, and wanted to fundamentally distinguish the redesigned system from Minix.

Stone: So, let's give the system a name.

Linus: I've been thinking about it for a long time, freax, from the English word freak, which means "whimsical", what do you think?

Stone: Sounds good. Changing to x at the end is a habit of following unix like minix?

Linus: yes, the pronunciation of the x sounds cooler, doesn't it?

Stone: Or, let's just call it Linux, and change the last letter of your name to X. I think the name is a little better than freax.

Linus: That's not good, it's too personal-focused.

Stone: I think that's good, it's just a codename. Besides, you started this project in the first place, so let's use this, "Linax", which is quite easy to read.

Linus: Okay, listen to you, it's called Linux!

……