I/O Management
So far we've learned how hard our kernel works by handling files, managing file storage, juggling all the different processes running on our computer, and allocating memory. Another important task that our kernel handles is managing input and output. We refer to devices that perform input and output as I/O devices. These include our monitors, keyboards, mice, hard disk drives, speakers, Luther's headsets, webcams and network adapters. These I/O devices are all managed by our kernel, the kernel needs to be able to load up drivers that are used so that we can recognize and speak to these different types of hardware. When the kernel is able to start the drivers to communicate with hardware, it also manages the transfer of data in and out of the devices. I/O doesn't just mean the transfer of data between us and our devices. The devices also need to be able to talk to each other. Our kernel handles all the inter communication between devices. It also figures out what the most efficient method of transfer is and it tries its best to make sure our data doesn't have errors during process. When you're troubleshooting or solving a problem with a slow machine it's usually some sort of hardware resource deficiency. If you don't have enough RAM you can't load up as many processes. If you don't have enough CPU you can't execute programs fast enough. If you have too much input coming into the device or too much output going somewhere you'll also block other data from being sent or received. It's slow is one of the most common problems you'll solve in an IT support role. Knowing the potential sources of that slowness is a big help when you're trying to narrow down the cause of the latency. Troubleshooting is such an important part of any IT support role. Beyond desktop support, identifying the source of a resource bottleneck and a server or large IT system like a Web application can unlock performance gains and new heights of responsiveness for your users.