You've asked us to give you advice not based on the brand, and yet, all you've really given us for information is the brands. "The OS group" at Microsoft is thousands of people and probably hundreds of projects, ranging from cool glorious shit with smart people to mundane drudgery.
I interned at Microsoft, and later Google. Google absolutely trumped Microsoft in my experience. I think of the atmospheric difference between them as similar to that between university and high school.
If your previous intern experience did not include free food: go to Google. I find it impossible to overstate the mental and material difference that removing any thought of groceries made to my life. It was huge. Unlimited, healthy, and varied. The people at Google were wonderful and the level of support available to you for personal and career growth is immense.
You do need to get a good team, but if you've been accepted by more than one already, your recruiter will have high confidence in placing you and probably be helpful in finding the best fit. They are strongly motivated to get you hired.
Microsoft was not an interesting place to work. I met two or three insanely smart people there who joined years ago when Microsoft was more like Google is now (or, was, a few years ago), and they were all swamped and cramped and not in a position to be good mentors.
I don't know anything about what working at Fog Creek would be like. Trello is nice. Joel Spolsky's old blog posts are pretty good reading. Does that make it a good place to work?
Are you a *nix or a Mac or a Windows person? Even if not for your daily use, what about for your programming environment? What technology do you want to work with in the future?
At Microsoft, you'll probably be writing C# or C++ in Visual Studio on Windows. At Google, you'll be writing C++, Java, Python, or Go, in vim/emacs/sublime, on a Mac or on Ubuntu. I'd imagine Fog Creek would be JS/C#/C++ in Visual Studio in Windows, but I really don't know.
The offer probably won't expire, by the way. People don't invest money and time interviewing and vetting you and then seriously put a pointless clock on it. If they do seriously mean it: don't work there. That level of bullshit should signal a lot of bad HR experiences down the road.
grain of salt, your mileage may vary, all that. Good luck.