In my knowledge C language does not have the direct explicit framework for multithreading like Java, then how kernel level programs, such as the system drivers and operating system function are multithreaded while they are written in C? How the multithreading is supported at lower level.
In my knowledge C language does not have the direct explicit framework for multithreading
Share
Multithreading is an abstraction. As is, you can’t execute more instructions than the number of cores (with exceptions to a certain extent). Instead, it’s achieved through scheduling and descheduling threads and/or processes.
Basically to get something that looks like its multithreaded, you want to be able to track two different instruction pointers and share memory. In the kernel, you’re just going down an level of abstraction.