I guess its a brand
Well, "brand" probably isn't the best word to use. A lot of times, different brands just mean different labels for the same thing. A factory runs up a whole bunch of blue jeans and then sticks Levi's labels on some and Wrangler labels on some and Store Brand X on some, and so on. All the different brands of milk in your supermarket come from the same cows. The only thing the different servers have in common is that they get you the first part of the way from Point A (some type of physical file stored in some physical location) to Point Z (humans with browsers surfing the web).
afaik, a
physical server is always the same machine, no matter what software you're running on it. But this is not something I know anything about, so I hope it isn't what you were asking.
How do I know if its Apache or something else?
You check the host's public documentation. You could also ask-- but if the information is not readily and publicly available, this is not a host you want to use. If you're asking about the host you're currently with, then you can tell by learning what type of access/config files you can use. If they talk about .htaccess, that's Apache. If the server is IIS or Nginx*, you'll use something else.
Is an operating system different from a web server?
Yes, in kinda the same way that an operating system is different from a browser. Not so much "apples and oranges" as "apples and red". Apache, for example, can run under Windows or under Unix, and possibly
other platforms [httpd.apache.org] as well. (Disclaimer: I get antsy when I have to consult Apache docs for anything other than mod_rewrite and a handful of other familiar areas.) IIS is Windows or is its own platform, depending on how you look at it. Nginx is Nginx, in much the same way that Linux is Linux. If you think I am just making this up off the top of my head, you are absolutely correct.
* Pronounced, I was interested to learn, "engine-X". I would not have guessed this.