I’d just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux,” and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use.
Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.
Oh sorry for the giant copypasta then, I though you were just joking. Yes, by definition, Linux is not an OS, just the kernel, the base of an OS basically, the thing that decides how many memory each process gets, how much CPU time can one get, communicates with the disk so that programs can access files on the file system and much more. It is however used commonly to refer to an OS with Linux as its kernel (a Linux distribution/distro). You may have heard of some popular Linux distros, such as Debian, Fedora, Ubuntu and Arch Linux. Those are operating systems that use Linux as their kernel, however they are commonly referred to as just “Linux”.
I hope I explained it well, it’s 1 am here right now and I probably should go to sleep.
Linux was originally just the kernel back in the 90’s. Combined with the GNU libraries and all the free software it is now an OS. You can call it GNU/Linux if you like. Much better explained by olenokoVD just here.
i wonder if teaching them to write bare metal embedded software first would prime them to learn about operating systems. i studied mechanical engineering in school so a bit different education than cs. i know i didnt really get what an operating system was for until i worked on some bare metal software in aerospace. nothing teaches you the value of something faster than trying to do without it.
I definitely agree. I have the luxury of coming from an Electrical Engineering / Computer Engineering background. I did microcontroller programming, designed ALUs, and transistor level work before moving into CS.
Nothing helps you understand a computer better then working with a small microcontroller and building up from there.
I think most of normal users don’t even know what an OS is, so they don’t think who is choosing it.
Is Linux an OS or a kernel?
I’d just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux,” and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use.
Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.
… is this a copypasta?
Yes, are you genuinely asking?
Yep. It had the copypasta cadence but I hadn’t seen it before.
Oh sorry for the giant copypasta then, I though you were just joking. Yes, by definition, Linux is not an OS, just the kernel, the base of an OS basically, the thing that decides how many memory each process gets, how much CPU time can one get, communicates with the disk so that programs can access files on the file system and much more. It is however used commonly to refer to an OS with Linux as its kernel (a Linux distribution/distro). You may have heard of some popular Linux distros, such as Debian, Fedora, Ubuntu and Arch Linux. Those are operating systems that use Linux as their kernel, however they are commonly referred to as just “Linux”.
I hope I explained it well, it’s 1 am here right now and I probably should go to sleep.
I’m grateful but I am also not the original commenter - and I wish you much restful sleep!
Haha thank you!
Yep.
It’s fucking beautiful
Linux was originally just the kernel back in the 90’s. Combined with the GNU libraries and all the free software it is now an OS. You can call it GNU/Linux if you like. Much better explained by olenokoVD just here.
Having taught a computer science course on Operating Systems it’s even tough to teach a room full of CS undergrads what one is.
i wonder if teaching them to write bare metal embedded software first would prime them to learn about operating systems. i studied mechanical engineering in school so a bit different education than cs. i know i didnt really get what an operating system was for until i worked on some bare metal software in aerospace. nothing teaches you the value of something faster than trying to do without it.
I definitely agree. I have the luxury of coming from an Electrical Engineering / Computer Engineering background. I did microcontroller programming, designed ALUs, and transistor level work before moving into CS.
Nothing helps you understand a computer better then working with a small microcontroller and building up from there.