I asked it because I want to improve my programming knowledge,
Great idea. Find a medium size project, something with interesting complexity (not "Hello world"), but also something that can be done over a few weekends. For example, keeping track of all your medical and commuting expenses in a nicely formatted way to help with preparing your taxes. Or finding the nearest weather stations on a map (look at Davis' weatherlink.com or the Weather Underground), and doing triangular interpolation to calculate what the weather at your house is. Write down the exact requirements: what is the problem you are wanting to solve, what is the input and output, how will you know when you're done. Then implement a solution (that includes design, implementation, test harness, deployment). If you have no programming knowledge, I would start in a teaching language. That used to be mostly Pascal; today many programming curricula seem to start students in Python, which has the advantages of having interestingly complex language features, a class/inheritance system to learn OOA&D (which is what learning programming is really about), and relatively simple syntax. Leaning one of these simple languages is always a win, since they are very useful for many everyday projects.
Then find a project and implement it in in straight C (). Do the same in C++, then Rust (probably with two other projects, no point solving the same problem multiple times). At that point, you will have some programming knowledge, and can make intelligent statements about which language is appropriate when and where.
Learning a simpler language first and the proceeding to more complex ones is totally not a waste of time, on the contrary. You learn more about programming from the differences between approaches than from a single approach.
Do not even think about approaching an operating system kernel until you have mastered C. And note that I said "mastered", not "tried it once for 10 lines".
but the problem is that if Rust-Lang is a replacement for C\C++
Today, a large fraction of all code is written in C and C++ (the two are often indistinguishable, as there is lots of code that uses a C++ compiler but is not heavily OO). Every serious professional software engineer outside of specialized environments (such as banking or scientific supercomputing) needs to have enough familiarity with C/C++ to function in it, perhaps not be superb. There have been lots of languages that aimed to replace C/C++, including Java, Go, C#, and a lot of others. All these languages continue to be used heavily, and yet C/C++ continues to have a large share of all programming.
There is no replacement, there is only specialization.
When I learned programming (over 40 years ago), the heavily used languages in production were COBOL and Fortran, assemble for systems building and embedded, Pascal for teaching. Today, there is still lots of COBOL code in business production (although few new projects are started in COBOL), Fortran is still the de-facto standard for scientific computing on supercomputers, and C has mostly replaced assembly. What has happened is that there is a whole class of languages (C++, Java, Go, various scripting and web front languages...) that are now used for building applications and glue, and Python/Ruby/... are not just scripting languages but used for large systems. There is much more diversity today.
I like to have a low level knowledge of operating systems.
You are like a 1-year old who wants to run a marathon or compete in 110m hurdles, just because you have just learned to walk from the sofa to their mom without falling over. If you want to learn low level operating systems, first learn programming, software engineering (those are different disciplines!), computer architecture, and basic OS concepts. Long before you worry about which language to use, you need to understand concepts such as "semaphore" or "stream".
You learn a language but nobody need it in the next years and its usage decreased.
If you want to be a professional software engineer, you will be good in 2-3 languages, fluent in 5, and you'll have learned another 10 that are no longer used or not appropriate for your current problems. A friend of mine (very senior engineer at one of those really big computer companies) used to help with a project of implementing the "towers of hanoi" in several hundred programming languages, and he has gone and learned some obscure ones just for the purpose of this. And every time he learns another way of approaching the problem, he gets new insights.
Another problem is that, if developers started rewrite a big project like Linux or BSD in Rust-Lang then they never reveal it and when it done then they surprise users.
You clearly do not understand how FOSS development works. If someone really started it, it would be a giant group ... rewriting a significant project would take lots of people. And there would be discussion all over, and the artifacts would be visible all over. I'm sure "The Register" would report on it. Inside a secretive company, this could happen, but even then the community would find out. For example, if HAL Computers (old joke = IBM with one subtracted from each letter) suddenly hired 50 Rust programmers, we would find out when we see the open positions advertised.
Stop the paranoia, it stems from lack of information. You want to become a computer person? Start working on it.