Linus torvalds linux kernel

Linus Torvalds

Linus Torvalds is the creator of the Linux kernel. His preferred programming language is C. Linus started out programming in what he assumed to be «assembler» when he was really just hard-coding binaries with 0’s and 1’s. This may be why he is very good at micro-optimizations when coding in C.

Contents

  • 1 Creator of the Linux Kernel
  • 2 Other Notable Projects
  • 3 View on C++
  • 4 Kernel development model
  • 5 Ability to say no
  • 6 Personal Life
  • 7 Videos
  • 8 Notable Quotes
    • 8.1 Announcing Linux 0.01
    • 8.2 On breaking user-space programs
    • 8.3 On Code Which Does Not Compile
    • 8.4 On Build-Testing
    • 8.5 On Critics

    Creator of the Linux Kernel [ edit ]

    Linus Torvalds Otaniemi June 14, 2012.jpg

    Linus Torvalds at Aalto Center for Entrepreneurship (ACE) in Otaniemi on June 14, 2012.

    Torvalds created the Linux kernel because wanted something Unix-like which he could use on a regular computer. He fell in love with regular Unix at the University and wanted something similar on his home computer. There was nothing like that available at the time so he wrote his own Unix-clone.

    Torvalds wrote this in the «Notes for linux release 0.01» when he first released his kernel to the public in 1991:

    » This is a free minix-like kernel for i386(+) based AT-machines. Full source is included, and this source has been used to produce a running kernel on two different machines. Currently there are no kernelbinaries for public viewing, as they have to be recompiled for different machines. You need to compile it with gcc (I use 1.40, don’t know if 1.37.1 will handle all __asm__-directives), after having changed the relevant configuration file(s). «

    Other Notable Projects [ edit ]

    Torvalds is the author of the very popular git version control software which has been adopted by most free software project as well as many commercial projects. The largest source code repository as of 2019 is Microsoft GitHub. It is, as the name implies, based on the git software.

    View on C++ [ edit ]

    Torvalds had this to say about C++ in an e-mail exchange in 2007:

    » C++ is a horrible language. It’s made more horrible by the fact that a lot of substandard programmers use it, to the point where it’s much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C. «

    Kernel development model [ edit ]

    The Linux kernel is known to be very stable. This is in a large part due to Linus policy of «We do NOT break user-space». If a kernel change breaks a user-space program then it is, in his view, a kernel bug — regardless even if it’s because a user-space program relies on some quirk in the kernel.

    Ability to say no [ edit ]

    There are many examples of the importance of saying no to code which would be bad for the kernel.

    David Howells submitted a patch which would allow a secure kernel to add keys willy nilly in 2013.

    Can you pull this patchset please?

    It provides a facility by which keys can be added dynamically to a kernel that is running in secure-boot mode. To permit a key to be loaded under such a condition, we require that the new key be signed by a key that we already have (and trust) — where keys that we «already have» could include those embedded in the kernel, those in the UEFI database and those in cryptographic hardware.

    Now, «keyctl add» will already handle X.509 certificates that are so signed, but Microsoft’s signing service will only sign runnable EFI PE binaries.

    We could require that the user reboot into the BIOS, add the key, and then switch back, but under some circumstances we want to be able to do this whilst the kernel is running. «

    Torvalds had this to say about said patch-set:

    » Not without a lot more discussion first.

    Quite frankly, this is f*cking moronic. The whole thing seems to be designed around stupid interfaces, for completely moronic reasons. Why should we do this?

    I already dislike our existing X.509 parser. And this makes the idiotic complicated interfaces, and now it goes up to 11. «

    Torvalds has known to be a bit harsh when he has had to explain kernel development fundamentals to incompetent people. This resulted in him being sent to a re-education camp and the introduction of a CoC with Linux Kernel 4.19. Many feared that this would hamper his ability to clearly say no to buggy code and foolish design decisions. These fears were unfounded and Linus remains very based.

    Personal Life [ edit ]

    Torvalds lives in the US. Further information about his personal life is not required or desired as it has little to no relevance on his management of the Linux kernel.

    Videos [ edit ]

    Notable Quotes [ edit ]

    Announcing Linux 0.01 [ edit ]

    » This is a free minix-like kernel for i386(+) based AT-machines. Full source is included, and this source has been used to produce a running kernel on two different machines. Currently there are no kernel binaries for public viewing, as they have to be recompiled for different machines. You need to compile it with gcc (I use 1.40, don’t know if 1.37.1 will handle all __asm__-directives), after having changed the relevant configuration file(s). «

    On breaking user-space programs [ edit ]

    » WE DO NOT BREAK USERSPACE!

    Seriously. How hard is this rule to understand? We particularly don’t break user space with TOTAL CRAP. I’m angry, because your whole email was so _horribly_ wrong, and the patch that broke things was so obviously crap. The whole patch is incredibly broken shit. It adds an insane error code (ENOENT), and then because it’s so insane, it adds a few places to fix it up («ret == -ENOENT ? -EINVAL : ret»).

    The fact that you then try to make *excuses* for breaking user space, and blaming some external program that *used* to work, is just shameful. It’s not how we work.

    Fix your f*cking «compliance tool», because it is obviously broken. And fix your approach to kernel programming. «

    On Code Which Does Not Compile [ edit ]

    » > KVM: nVMX: Emulate MTF when performing instruction emulation

    This was committed today, and it’s complete and utter garbage:

    It doesn’t even compile. Just in the patch itself — so this is not a merge issue, I see this:

    +static void vmx_skip_emulated_instruction(struct kvm_vcpu *vcpu) + return skip_emulated_instruction(vcpu); .. — .skip_emulated_instruction = skip_emulated_instruction, + .skip_emulated_instruction = vmx_skip_emulated_instruction,

    ie note how that vmx_skip_emulated_instruction() is a void function, and then you have

    in it, and you assign that garbage to «.skip_emulated_instruction» which is supposed to be returning ‘int’.

    So this clearly never even got a _whiff_ of build-testing. The thing is completely broken.

    Stop sending me garbage.

    You’re now on my shit-list, which means that I want to see only (a) pure fixes and (b) well-tested such. Nothing else will be pulled. «

    On Build-Testing [ edit ]

    » On Wed, Feb 12, 2020 at 11:19 AM [REDACTED] redhat.com> wrote:

    >> So this clearly never even got a _whiff_ of build-testing. > > Oh come on.

    Seriously — if you don’t even _look_ at the warnings the build generates, then it hasn’t been build-tested.

    I don’t want to hear «Oh come on». I’m 100% serious.

    Build-testing is not just «building». It’s the «testing» of the build too. You clearly never did _any_ testing of the build, since the build had huge warnings.

    Without the checking of the result, «build-testing» is just «building», and completely irrelevant.

    If you have problems seeing the warnings, add a «-Werror» to your scripts.

    I do not want to see a _single_ warning in the kernel build. Yes, we have one in the samples code, and even that annoys the hell out of me.

    And exactly because we don’t have any warnings in the default build, it should be really really easy to check for new ones — it’s not like you have to wade through pages of warnings to see if any of them are your new ones.

    So no «Oh come on». You did *zero* testing of this crap, and you need to own that fact instead of making excuses about it.

    On Critics [ edit ]

    » «Honestly, I think those emails are more about Debian culture than they are about me, and you should probably ask the Debian people about them rather than me,» «

    Linux Torvalds does not have anything which resembles a personal website or a blog. What he does have is linux.git at git.kernel.org.

    Источник

    The Linux Kernel Organization

    The Linux Kernel Organization is a California Public Benefit Corporation established in 2002 to distribute the Linux kernel and other Open Source software to the public without charge. We are recognized by the IRS as a 501(c)3 private operating foundation.

    The Linux Kernel Organization is managed by The Linux Foundation, which provides full technical, financial and staffing support for running and maintaining the kernel.org infrastructure.

    Due to U.S. Exports Regulations, all cryptographic software on this site is subject to the following legal notice:

    This site includes publicly available encryption source code which, together with object code resulting from the compiling of publicly available source code, may be exported from the United States under License Exception «TSU» pursuant to 15 C.F.R. Section 740.13(e).

    This legal notice applies to cryptographic software only. Please see the Bureau of Industry and Security for more information about current U.S. regulations.

    Our servers are located in Corvallis, Oregon, USA; Palo Alto and San Francisco, California, USA; Portland, Oregon, USA; and Montréal, Québec, Canada.

    Use in violation of any applicable laws is prohibited.

    Linux is a Registered Trademark of Linus Torvalds. All trademarks are property of their respective owners.

    About Linux Kernel

    What is Linux?

    Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance. It has all the features you would expect in a modern fully-fledged .

    Code of Conduct

    Code of Conduct Committee

    Except where otherwise stated, content on this site is copyright (C) 1997-2014 by The Linux Kernel Organization, Inc. and is made available to you under the Creative Commons Attribution ShareAlike 4.0 International License. Distributed software is copyrighted by their respective contributors and are distributed under their .

    Other resources

    Social

    This site is operated by the Linux Kernel Organization, Inc., a 501(c)3 nonprofit corporation, with support from the following sponsors.

    Источник

    Saved searches

    Use saved searches to filter your results more quickly

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    License

    torvalds/linux

    This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

    Name already in use

    A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

    Sign In Required

    Please sign in to use Codespaces.

    Launching GitHub Desktop

    If nothing happens, download GitHub Desktop and try again.

    Launching GitHub Desktop

    If nothing happens, download GitHub Desktop and try again.

    Launching Xcode

    If nothing happens, download Xcode and try again.

    Launching Visual Studio Code

    Your codespace will open once ready.

    There was a problem preparing your codespace, please try again.

    Latest commit

    Git stats

    Files

    Failed to load latest commit information.

    README

    Linux kernel ============ There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first. In order to build the documentation, use ``make htmldocs`` or ``make pdfdocs``. The formatted documentation can also be read online at: https://www.kernel.org/doc/html/latest/ There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation. Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.

    About

    Источник

    Читайте также:  Линукс установка приложений виндовс
Оцените статью
Adblock
detector