The "difficult" part of making an OS after you have your framework done is coding all of the drivers for the million and one different devices out there. I don't suggest trying to write an OS because it's difficult but because it's tedious. I've not seen a book on how to write an OS but you may have some luck modifying an existing *nix kernal to suit your needs, I'm sure that's pretty well documented on the web.