Every system will have holes in it that "hackers" will exploit (Even the OS's engineered with security in mind like Linux and other OS's).
True, but we're not talking about targeted attacks, but viruses. The facts are simple: there are virtually no viruses for Linux/MacOSX right now despite their popularity (a few % are still millions).
Not true, unfortunately. For example, you can browse to web pages that would love to run Java on your machine and despite your OS being well designed, the Java can still read your files as you.
There has to be a Java vulnerability for that, first, because Java don't let applets read contents of the disk.
Second, I never run untrusted java applets - the nice thing about low popularity of Java applets is that I can enable them selectively for the pages I know and I need; and 99% pages don't need them, so default is to disable them).
Third, what would that Java applet do on my system? It can't register into autostart. It can't install a keyboard/screen hook. It might probably read my email; however writing a Linux virus that can reliably read user's emails assuming a huge fragmentation of Linux distros and programs used is much a tougher task than doing it for Windows. And actually it couldn't because it would need to know my password or hijack Gmail session - so it had to exploit some browser vulnerability.
I'm not saying Linux is inherently secure, but that it is enough protected and enough not-popular that nobody has interest in writing Linux viruses. Nobody tries to break into an alarmed house with closed doors/windows if there is a house with open windows next to it.
Because if lets say Linux was the number 1 installed OS in the world, we would be saying the same thing about it.
But which Linux? There is a dozen of active distros and multitude of combinations of various kernel/library versions and configurations. Additionally Linux is patched extremely fast compared to proprietary systems. It is very hard to write one reliable virus to target most of the Linuxes.