Hey guys. It's been a while since I've been here. Been real busy. I now have some time to tinker with my OS dev project. I am not to the point of implementing task switching, but I found an article on it and for some reason it confused me. Here it is http://hosted.cjmovie.net/TutMultitask.htm.
The part that I'm confused with is why the article uses IRQs for multitasking. I'm a bit rusty on IRQs but I thought they were for hardware, like hard drives, COM ports, etc. It might just be the persons way of getting it working. I'm new to this stuff, so I don't really know. So I guess the question that I'm asking is do you use IRQs for multitasking or something different? Thanks.
Task Switching
IRQ 0 is the PIT, which can be programmed to "fire" an INT every 'X' milliseconds (for example), thus creating the ability to interrupt your process after a certain amount of time. Without any controlled way to interrupt a process, it would just keep executing... and relying on a program to voluntarily surrender its execution (i.e. cooperative multitasking) is... well... highly unreliable.