为了保证系统的稳定性、安全性,需要在系统中划分内核态、用户态。所有涉及IO操作、内存操作等,均在内核态中完成,因为当这些操作出现差错时,可能会导致整个计算机系统的崩溃。用户写的程序可能是含有导致这些操作出现差错的bug的,所以,用户编写的不涉及IO、内存等操作的程序在用户态中完成,而涉及这些操作时,则需要进行用户态到内核态的切换。将实际操作交付给内核态,内核态完成操作后,将结果传递至用户态。
注意,用户态、内核态之间的切换是十分耗费性能资源的。
为了保证系统的稳定性、安全性,需要在系统中划分内核态、用户态。所有涉及IO操作、内存操作等,均在内核态中完成,因为当这些操作出现差错时,可能会导致整个计算机系统的崩溃。用户写的程序可能是含有导致这些操作出现差错的bug的,所以,用户编写的不涉及IO、内存等操作的程序在用户态中完成,而涉及这些操作时,则需要进行用户态到内核态的切换。将实际操作交付给内核态,内核态完成操作后,将结果传递至用户态。
注意,用户态、内核态之间的切换是十分耗费性能资源的。