Process vs Thread
Yesterday, Google launched their first web browser application, named Chrome.
And here’s an interesting cartoon that describes Google’s take on web browser.
What’s interesting is the idea of Process vs Thread.
Google’s Chrome uses Process for individual window, tab, and even plug-in.
In contrast, Firefox, the popular open source web browser, utilizes multiple threads for managing its windows, tabs and even plug-ins.
I think some of you remember that Internet Explorer has always been using Process for windows management. Any new windows are launched via new processes, and people did not like this idea, I guess. Firefox, instead, created one process application.
Of course, Internet Explorer 7 uses threads, but only on the tabs.
So, google’s take on web browser application is to use all process and no thread. I find this quite interesting, because as we all know, process takes more memory space than thread does. As we open hundreds of windows/tabs, will it run properly without causing OS failure?
Also, managing process means direct OS interaction. Currently, the Chrome only is supported in Windows. I wonder how well this app will be ported into other OSs such as Linux and OS X. I don’t think there will be much “code sharing” between the different versions of this application since each app version needs to be specific for the different OS that it supports. Due to the way Permissions work on different OSs, I wonder how consistent the Chrome will be on different platforms.
Here’s an interesting article that I found.