I don't know how to organize language … Because my wife always says that my foreword doesn't match my afterword … But she did , My language habits are more in line with English habits , Almost all of them are attributive clauses , There are also many adverbials , It may also be more in line with ancient Chinese , Like this “ Weisi people , no one is like-minded ”,“ Who's with me ” Or something …
I still have some exploration of the operating system (just research, not
research), I've always wanted to talk about the operating system , However, my language is too harsh , It's unpleasant , I can only keep it … Today, I have a whim , Why not use English ? I am used to speaking Chinese in English ( Western culture and history , Chongyang indeed , But I don't flatter foreigners !), Why not use English directly .
A piece of English blog, It's been a long time , have a try ( I've retranslated , It's pretty smooth …).
Do we need an operating system?
Let’s consider a seemingly pointless issue.
What exactly is the meaning of an operating system? In particular, when we’re
stuck with optimization problems all day, think back!
* We optimized the spin lock,
* We optimized the TCP/IP stack,
* So we optimized the slab algorithm?
* We optimize interrupt handling,
* We’ve got interrupt threading,
God damn it! This is all about fucking the operating system!
If we know exactly what a program does, why can’t we just let it do it? Why do
we have to make it run on something regrettable called an operating system?
That’s a shame!
It’s creepy, it’s scary…
Well, let’s face it instead of name-calling: what does an operating system
mean?
Before operating systems were given a proper name, they weren’t taken as
seriously as they are now.
I don’t know any further back, starting with Ken Thompson in 1969.
At the time, UNIX contained the kind of logic that several of them needed for
every application. In other words, UNIX is the largest common divisor.
Beyond this, and even more important than this, UNIX provides an abstraction
of time and space:
* time abstraction: time-sharing using CPU
* spatial abstraction: virtual memory
That’s what operating systems are all about!
Now, who needs this? In other words, who thinks these meanings are meaningful?
Of course, the time-sharing system needs virtual memory applications.
Now, if you just want to run a Web server, who the hell do you need to share
time with? The only fucking application running in your machine, you think its
performance is low, this is the operating system pot!
Don’t use an operating system, just run your application, because your
application doesn’t need time sharing, doesn’t need virtual memory.
All of the machine’s resources are owned by your unique application, and you
don’t need the resources management services provided by the operating system.
To manage these resources, you can do it yourself in your application and do it
your way.
I’ve been focusing on a scene recently, which is my job, but I hate it.
We ran a quic service on our server hardware, and there were too many
performance bottlenecks. When I explored it with perf, I found a lot of Linux
kernel hot spots like spin_lock and memcpy…
I tried to optimize this, it took me a lot of time, I was working all night
fucking, and then, I got mad.
I found that in later versions of the Linux kernel, these issues had been
fixed in exactly the same way as I had. Oh, gosh!
We are all clowns juggling around the Linux kernel!
Go away, Linux kernel! All the performance problems, 90% is because of you,
all the business logic, 90% do not need you!
The operating system provides convenience at the expense of performance.
Why is the TCP/IP stack implemented in the kernel?
Blame the 1970s-1990s bunch of bearded old programmers who treat TCP/IP as
“function” rather than “application.” Function is the responsibility of the
kernel.
In other words, everyone who started out with UNIX, from the bottom up, was a
programmer, not a business logic person, much less a product manager.
Programmers don’t focus on the business, and if the suit wearers focus on UNIX
during the 1070s, then the TCP/IP destined for the 1980s won’t be part of the
kernel, it might just be a user base incorporated into the libc.
【 I don't know how to express the following sentence in English , Who can tell me , Thank you for your kindness !】
Wet leather shoes in Wenzhou, Zhejiang Province , If it rains, you won't get fat .
Technology