You must purchase your Domain Name/s form a ICANN "Registrant" member.
Internet Corporation for Assigned Names and Numbers.
Most, if not all, Registrants will have a Link to check if your name is available!
You will be required to "Open an Account", provide a User Name, a Password and Credit Card info.
Remember, with this account you can purchase more than one Domain Name.
Each "Registrant" has different Pricing Plans.
Cost varies based on the number of years you wish to purchase.
$8.00 to $10.00 per year is a good budget price.
Think of your Host Server as a computer connected to the WWW, that you are "renting".
I suggest Host Gator.
Hosting Plans vary from Server to Server.
The operating system for servers are normally either Windows based or Unix or other "x" based systems.
Unix or other "x" based systems are by far the most popular!
The Hosting Plan you select should not be based on price, but the purpose of your web page and what content will be on your web page/s. Is your web page mostly content, do you sell goods in a Shoping Cart?
Cost is based on your Hosting Plan AND the number of years of your contract.
$5.00 to $10.00 per month is a good budget range.