So operating systems are huge, they do a lot of things. They require a lot of memory and storage and some of their tasks like connecting to devices and generating images take up resources. They run a lot of programs at any given time to do all these tasks.
The kernel is a computer program but think of it as the MAIN program. It’s at the core of a computer’s operating system. It’s the first program the hardware loads when you turn the computer on and it has complete control over everything in the system. It is the portion of the operating system code that is always running, always in RAM, and closing it crashes the entire computer or shuts it down. The kernel connects the hardware to the software. A full kernel controls all hardware resources (RAM, data from keyboard and mouse, data to graphics card and therefore screen), and manages all the programs running. It gives each program access to memory and the processor and even the internet. The kernel prioritizes programs and those requests.
Yes and no. Technically the BIOS is the first program the hardware loads when the computer is turned on. Then the BIOS calls the bootloader, which would be in charge of loading the OS into memory. Then the bootloader hands over the control of the hardware from the BIOS to the kernel.
The most important job of the kernel is to schedule hardware time (processor cycles, threads, I/O operations and other hardware resources) between the different programs that make up the OS. This is what the GNU/Linux meme copypasta is rambling on about. As the kernel is actually pretty useless without a software stack on top of it to provide most of the services that are later used by the shell to offer a user space.
So operating systems are huge, they do a lot of things. They require a lot of memory and storage and some of their tasks like connecting to devices and generating images take up resources. They run a lot of programs at any given time to do all these tasks.
The kernel is a computer program but think of it as the MAIN program. It’s at the core of a computer’s operating system. It’s the first program the hardware loads when you turn the computer on and it has complete control over everything in the system. It is the portion of the operating system code that is always running, always in RAM, and closing it crashes the entire computer or shuts it down. The kernel connects the hardware to the software. A full kernel controls all hardware resources (RAM, data from keyboard and mouse, data to graphics card and therefore screen), and manages all the programs running. It gives each program access to memory and the processor and even the internet. The kernel prioritizes programs and those requests.
Yes and no. Technically the BIOS is the first program the hardware loads when the computer is turned on. Then the BIOS calls the bootloader, which would be in charge of loading the OS into memory. Then the bootloader hands over the control of the hardware from the BIOS to the kernel.
The most important job of the kernel is to schedule hardware time (processor cycles, threads, I/O operations and other hardware resources) between the different programs that make up the OS. This is what the GNU/Linux meme copypasta is rambling on about. As the kernel is actually pretty useless without a software stack on top of it to provide most of the services that are later used by the shell to offer a user space.
Yes but then it wouldn’t be an ELI5 if I got that advanced.
OP asked for the advanced details though
ELI5 with a CS degree. Certainly a challenge.
Well, the dude you’ve replied to provided a great explanation + the correct details, so it certainly is possible.
Is the computer starting the BIOS first an advsnced topic? I don’t think so. You could at least say when the OS gets booted, the kernel starts first.
You do realize you posted in /c/ExplainLikeImFive right? Not ExplainLikeImTwelve. You’re welcome. If you aren’t happy you can have a refund.
I know. I will delete this post today and reask this question in c/asklemmy.